/* ============================================================
   DERMA[skin] – Design Tokens & Base
   ============================================================ */

:root {
  --bg:           #F7F2EC;
  --bg-elev:      #EFE7DD;
  --bg-dark:      #1C1815;
  --text:         #1C1815;
  --text-muted:   #7A6E63;
  --text-light:   #A89F96;
  --accent:       #B8957A;
  --accent-deep:  #8A6B52;
  --accent-pale:  #E8D9CC;
  --line:         #E4D9CC;
  --white:        #FDFAF7;
  --max-width:    1240px;
  --radius:       2px;
  --radius-sm:    1px;
  --transition:   0.3s ease;
  --transition-fast: 0.15s ease;
  --shadow-sm:    0 1px 4px rgba(28,24,21,0.06);
  --shadow-md:    0 4px 20px rgba(28,24,21,0.09);
  --shadow-lg:    0 12px 48px rgba(28,24,21,0.12);
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Typography ─────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
}

.display {
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.heading-xl {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
}

.heading-lg {
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
}

.heading-md {
  font-size: clamp(1.3rem, 2.2vw, 1.9rem);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
}

.eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.body-lg {
  font-size: 1.0625rem;
  line-height: 1.75;
}

.body-sm {
  font-size: 0.875rem;
  line-height: 1.6;
}

p {
  max-width: 68ch;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

/* ── Layout ─────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.section-sm {
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.875rem 1.75rem;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
}

.btn-primary {
  background: var(--text);
  color: var(--white);
  border-color: var(--text);
}

.btn-primary:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--white);
}

.btn-ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--line);
}

.btn-ghost:hover {
  border-color: var(--text);
  color: var(--text);
}

.btn-accent {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
}

.btn-accent:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
}

/* ── Divider ─────────────────────────────────────────────── */
.divider {
  width: 100%;
  height: 1px;
  background: var(--line);
}

.divider-accent {
  width: 2.5rem;
  height: 1px;
  background: var(--accent);
}

/* ── Granatapfel Decorative SVG ──────────────────────────── */
.pomegranate-deco {
  position: absolute;
  pointer-events: none;
  opacity: 0.07;
  z-index: 0;
}

/* ── Utilities ───────────────────────────────────────────── */
.text-accent  { color: var(--accent); }
.text-muted   { color: var(--text-muted); }
.text-white   { color: var(--white); }
.bg-dark      { background-color: var(--bg-dark); }
.bg-elev      { background-color: var(--bg-elev); }

/* ── Focus / A11y ────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* ── Responsive Images ───────────────────────────────────── */
img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ── Selection ───────────────────────────────────────────── */
::selection {
  background: var(--accent-pale);
  color: var(--text);
}

/* ── Scrollbar (Webkit) ──────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* ── prefers-reduced-motion ──────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ============================================================
   DERMA[skin] – Pomegranate Glow Update
   ============================================================ */
:root {
  --pomegranate: #7C746B;
  --pomegranate-soft: #D6CDC3;
  --pomegranate-pale: #EFE7DD;
  --accent: var(--pomegranate);
  --accent-deep: #4B0B16;
  --accent-pale: #EFE7DD;
  --glow: 0 0 0 1px rgba(124,116,107,.22), 0 14px 42px rgba(124,116,107,.10), 0 0 30px rgba(200,91,110,.11);
}
.brand-serif, .hero-headline, .heading-xl, .heading-lg, .heading-md, .service-tile-name, .footer-brand-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  letter-spacing: -0.045em;
}
.heading-xl::first-letter, .heading-lg::first-letter, .hero-headline::first-letter {
  font-style: italic;
  color: var(--pomegranate);
}
.eyebrow { color: var(--pomegranate); }
.nav-logo img { mix-blend-mode: multiply; filter: contrast(1.04); }
.hero-pomegranate, .pomegranate-deco {
  opacity: .13 !important;
}
.hero-pomegranate ellipse, .hero-pomegranate path, .pomegranate-deco ellipse, .pomegranate-deco path {
  stroke: var(--pomegranate) !important;
}
.hero-pomegranate circle, .pomegranate-deco circle { fill: var(--pomegranate) !important; }
.btn, .nav-cta, .lang-toggle, .contact-channel, .service-item, .info-card, .review-card, .glow-card {
  border-color: rgba(124,116,107,.22) !important;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
.btn-primary, .lang-btn.active { background: var(--pomegranate) !important; border-color: var(--pomegranate) !important; }
.btn:hover, .nav-cta:hover, .contact-channel:hover, .service-item:hover, .info-card:hover, .review-card:hover, .glow-card:hover {
  border-color: rgba(124,116,107,.56) !important;
  box-shadow: var(--glow);
}
.service-tile, .bridal-image, .studio-visual, .about-hero-image, .service-category-img, .hero-image img {
  box-shadow: 0 18px 50px rgba(28,24,21,.08);
}
.hero-image-border, .divider-accent, .hero-eyebrow-line, .bridal-includes li::before, .nav-links a::after {
  background: var(--pomegranate) !important;
  border-color: rgba(124,116,107,.42) !important;
}
.hero-image-border {
  background: transparent !important;
  box-shadow: inset 0 0 28px rgba(124,116,107,.11), 0 0 26px rgba(124,116,107,.10);
}
.service-tile::after, .bridal-image::after, .about-hero-image::after, .portfolio-card::after, .gallery-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(124,116,107,.28);
  box-shadow: inset 0 0 32px rgba(124,116,107,.08);
  opacity: .75;
}
.portfolio-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.portfolio-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: var(--bg-elev);
}
.portfolio-card.is-wide { grid-column: span 2; }
.portfolio-card img, .gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s ease, filter .7s ease;
}
.portfolio-card:hover img, .gallery-card:hover img { transform: scale(1.035); filter: saturate(1.04) contrast(1.04); }
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.gallery-card {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  background: var(--bg-elev);
}
.gallery-card figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  color: var(--white);
  background: rgba(28,24,21,.48);
  border: 1px solid rgba(246,211,199,.35);
  padding: .45rem .7rem;
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.gallery-card:nth-child(1), .gallery-card:nth-child(8), .gallery-card:nth-child(13) { grid-column: span 2; }
.gallery-card:nth-child(1), .gallery-card:nth-child(13) { min-height: 520px; }
@media (max-width: 900px) {
  .portfolio-mosaic, .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .portfolio-card.is-wide, .gallery-card:nth-child(1), .gallery-card:nth-child(8), .gallery-card:nth-child(13) { grid-column: span 2; }
}
@media (max-width: 560px) {
  .portfolio-mosaic, .gallery-grid { grid-template-columns: 1fr; }
  .portfolio-card, .gallery-card, .portfolio-card.is-wide, .gallery-card:nth-child(1), .gallery-card:nth-child(8), .gallery-card:nth-child(13) { grid-column: span 1; min-height: 420px; }
}


/* ============================================================
   DERMA[skin] – Refined Editorial Update
   ============================================================ */
html, body, a, button, input, textarea, select,
button, a, .service-tile, .btn, .contact-channel {
  cursor: auto !important;
}
a, button, .btn, .service-tile, .contact-channel, .hamburger, .drawer-close, .lang-btn {
  cursor: pointer !important;
}
.hero-pomegranate, .pomegranate-deco { display: none !important; }

:root {
  --accent: #7C746B;
  --accent-deep: #4B0B16;
  --accent-pale: #F4D6CF;
  --line: rgba(124,116,107,.16);
  --card-border: rgba(124,116,107,.18);
  --soft-card-shadow: 0 18px 55px rgba(28,24,21,.07);
  --soft-card-shadow-hover: 0 26px 70px rgba(124,116,107,.13);
}

/* soft floral accents instead of pomegranate icons */
.section, .section-sm, .portfolio-section, .services-section, .cta-section, .gallery-hero {
  position: relative;
}
.services-section::before,
.portfolio-section::before,
.gallery-hero::after,
.cta-section::before {
  content: '✽';
  position: absolute;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3rem, 8vw, 7rem);
  line-height: 1;
  color: rgba(124,116,107,.13);
  pointer-events: none;
  z-index: 0;
}
.services-section::before { right: 5vw; top: 2.5rem; transform: rotate(14deg); }
.portfolio-section::before { left: 4vw; top: 2rem; transform: rotate(-16deg); }
.gallery-hero::after { right: 7vw; bottom: -2rem; transform: rotate(20deg); }
.cta-section::before { left: 6vw; bottom: 2rem; color: rgba(246,211,199,.18); }
.container { position: relative; z-index: 1; }

/* refined cards / borders: quieter, editorial, no heavy glow */
.btn, .nav-cta, .lang-toggle, .contact-channel, .service-item, .info-card, .review-card, .art-card, .glow-card {
  border: 1px solid var(--card-border) !important;
  box-shadow: none !important;
  background-clip: padding-box;
}
.btn:hover, .nav-cta:hover, .contact-channel:hover, .service-item:hover, .info-card:hover, .review-card:hover, .art-card:hover, .glow-card:hover {
  border-color: rgba(124,116,107,.38) !important;
  box-shadow: var(--soft-card-shadow-hover) !important;
  transform: translateY(-3px);
}
.service-item, .review-card, .info-card, .contact-channel {
  border-left: 3px solid rgba(124,116,107,.34) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.34), rgba(246,211,199,.10));
}
.service-tile::after, .bridal-image::after, .about-hero-image::after, .portfolio-card::after, .gallery-card::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), inset 0 0 0 12px rgba(247,242,236,.05) !important;
  border-color: rgba(124,116,107,.18) !important;
}
.hero-image-border { box-shadow: none !important; }

/* no captions */
.gallery-card figcaption { display: none !important; }

/* dense image arrangement – no visual holes */
.portfolio-mosaic {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  grid-auto-flow: dense !important;
  gap: 0 !important;
  border: 1px solid var(--line);
  background: var(--line);
}
.portfolio-card, .gallery-card {
  margin: 0 !important;
  border: 0 !important;
  min-height: clamp(260px, 35vw, 460px) !important;
  overflow: hidden;
  background: var(--bg-elev);
  position: relative;
}
.portfolio-card { grid-column: span 2; }
.portfolio-card.is-wide { grid-column: span 4; }
.portfolio-card.is-tall { grid-row: span 2; min-height: clamp(520px, 70vw, 760px) !important; }
.portfolio-card img, .gallery-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transform: scale(1.01);
  transition: transform .9s cubic-bezier(.19,1,.22,1), filter .9s ease;
}
.portfolio-card:hover img, .gallery-card:hover img { transform: scale(1.055); filter: contrast(1.04) saturate(1.04); }
.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-flow: dense !important;
  gap: 0 !important;
  border: 1px solid var(--line);
  background: var(--line);
}
.gallery-card { grid-column: span 2; }
.gallery-card.wide { grid-column: span 4; }
.gallery-card.tall { grid-row: span 2; min-height: clamp(560px, 70vw, 760px) !important; }
.gallery-card:nth-child(1), .gallery-card:nth-child(8), .gallery-card:nth-child(13) { grid-column: auto; min-height: clamp(260px,35vw,460px) !important; }
.gallery-card:nth-child(1), .gallery-card:nth-child(13) { min-height: clamp(260px,35vw,460px) !important; }

/* arrange groups/three boxes less rigidly */
.philosophy-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  max-width: 820px;
  margin: 0 auto;
  gap: 1.1rem;
}
.philosophy-item {
  min-width: 0 !important;
  text-align: left !important;
  padding: 1.35rem 1.6rem !important;
  border: 1px solid rgba(246,211,199,.16);
  background: rgba(255,255,255,.035);
}
.philosophy-item:nth-child(2) { margin-left: clamp(0rem, 8vw, 5rem); }
.philosophy-item:nth-child(3) { margin-left: clamp(0rem, 16vw, 10rem); }
.philosophy-item + .philosophy-item::before { display: none !important; }
.reviews-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  gap: 1rem !important;
}
.review-card { max-width: 780px; }
.review-card:nth-child(2) { margin-left: clamp(0rem, 8vw, 5rem); }
.review-card:nth-child(3) { margin-left: clamp(0rem, 16vw, 10rem); }

/* service tiles more editorial instead of flat adjacent blocks */
.services-grid {
  grid-template-columns: 1.1fr .9fr !important;
  gap: 1px !important;
  background: rgba(124,116,107,.15) !important;
}
.service-tile:nth-child(4) { grid-column: span 1 !important; }
.service-tile:nth-child(1) { min-height: 560px; }
.service-tile:nth-child(2) { transform: translateY(2.5rem); }
.service-tile:nth-child(3) { transform: translateY(-1.5rem); }
.service-tile:nth-child(4) { min-height: 520px; }
.service-tile:hover { transform: translateY(-4px) !important; }

/* scroll reveal/floating feel */
.scroll-soft, .portfolio-card, .gallery-card, .service-item, .review-card, .info-card {
  opacity: 0;
  transform: translateY(26px);
}
.scroll-soft.is-visible, .portfolio-card.is-visible, .gallery-card.is-visible, .service-item.is-visible, .review-card.is-visible, .info-card.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .75s ease, transform .75s cubic-bezier(.19,1,.22,1), box-shadow .35s ease, border-color .35s ease;
}

@supports (animation-timeline: view()) {
  .portfolio-card img, .gallery-card img {
    animation: subtleImageDrift linear both;
    animation-timeline: view();
    animation-range: entry 0% exit 100%;
  }
  @keyframes subtleImageDrift {
    from { object-position: center 40%; }
    to { object-position: center 60%; }
  }
}

@media (max-width: 900px) {
  .portfolio-mosaic, .gallery-grid, .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .portfolio-card, .gallery-card, .portfolio-card.is-wide, .gallery-card.wide { grid-column: span 1 !important; }
  .portfolio-card.is-tall, .gallery-card.tall { grid-row: span 1; min-height: 420px !important; }
  .service-tile:nth-child(1), .service-tile:nth-child(4) { min-height: 420px; }
  .service-tile:nth-child(2), .service-tile:nth-child(3) { transform: none; }
}
@media (max-width: 560px) {
  .portfolio-mosaic, .gallery-grid, .services-grid { grid-template-columns: 1fr !important; }
  .portfolio-card, .gallery-card, .portfolio-card.is-wide, .portfolio-card.is-tall, .gallery-card.wide, .gallery-card.tall {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    min-height: 390px !important;
  }
  .philosophy-item:nth-child(2), .philosophy-item:nth-child(3), .review-card:nth-child(2), .review-card:nth-child(3) { margin-left: 0; }
}


/* ============================================================
   DERMA[skin] – Editorial Header + größere Bildflächen
   ============================================================ */
.hero-editorial {
  min-height: clamp(760px, 92vh, 980px) !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr) !important;
  isolation: isolate;
  background: #F7F2EC;
  border-bottom: 1px solid rgba(124,116,107,.16);
}
.hero-bg-stack {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero-bg-stack::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(247,242,236,.96) 0%, rgba(247,242,236,.76) 38%, rgba(247,242,236,.28) 70%, rgba(247,242,236,.42) 100%),
    radial-gradient(circle at 24% 70%, rgba(124,116,107,.18), transparent 34%);
}
.hero-bg-stack img:first-child {
  position: absolute;
  inset: -10% -6% -8% auto;
  width: 72%;
  height: 118%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.04) contrast(1.02);
  opacity: .56;
}
.hero-bg-stack img:nth-child(2) {
  position: absolute;
  left: 0;
  bottom: -14%;
  width: 38%;
  height: 56%;
  object-fit: cover;
  object-position: center;
  opacity: .22;
  filter: blur(.2px) saturate(.9);
}
.hero-glass-card {
  position: relative;
  z-index: 2;
  align-self: end;
  margin-bottom: clamp(3rem, 8vw, 7rem);
  padding-top: clamp(4rem, 9vw, 9rem) !important;
}
.hero-glass-card::before {
  content: '';
  position: absolute;
  left: clamp(1rem, 5vw, 4rem);
  top: clamp(4rem, 9vw, 8rem);
  width: min(680px, 76vw);
  height: calc(100% - clamp(5rem, 10vw, 9rem));
  background: linear-gradient(135deg, rgba(253,250,247,.78), rgba(253,250,247,.42));
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 35px 90px rgba(28,24,21,.08);
  backdrop-filter: blur(12px);
  z-index: -1;
}
.hero-main-frame {
  z-index: 2;
  align-self: end;
  justify-self: end;
  width: min(520px, 42vw);
  height: min(700px, 76vh) !important;
  min-height: 0 !important;
  margin-right: clamp(1rem, 4vw, 4rem);
  margin-bottom: clamp(2rem, 5vw, 5rem);
  box-shadow: 0 40px 90px rgba(28,24,21,.15) !important;
}
.hero-main-frame img {
  object-position: center top !important;
}
.hero-main-frame::before,
.hero-main-frame::after {
  content: '✽';
  position: absolute;
  font-family: 'Cormorant Garamond', serif;
  color: rgba(124,116,107,.20);
  z-index: 4;
  pointer-events: none;
}
.hero-main-frame::before { left: -2.2rem; top: 2rem; font-size: 5rem; transform: rotate(-18deg); }
.hero-main-frame::after { right: -1.7rem; bottom: 1.5rem; font-size: 3.8rem; transform: rotate(18deg); }

/* more embellished diagonal service cards */
.services-section { overflow: hidden; }
.services-section::after {
  content: '';
  position: absolute;
  right: -12vw;
  bottom: 5%;
  width: 44vw;
  height: 44vw;
  border: 1px solid rgba(124,116,107,.10);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,214,207,.30), transparent 58%);
  pointer-events: none;
}
.services-grid {
  gap: clamp(.75rem, 1.5vw, 1.25rem) !important;
  background: transparent !important;
  align-items: start;
}
.service-tile {
  border: 1px solid rgba(124,116,107,.16) !important;
  box-shadow: 0 22px 60px rgba(28,24,21,.08) !important;
}
.service-tile::before {
  content: '';
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(253,250,247,.42);
  z-index: 3;
  pointer-events: none;
}
.service-tile-content::before {
  content: '✽';
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
  color: var(--accent-pale);
  opacity: .88;
  margin-bottom: .25rem;
}
.service-tile:nth-child(2) { margin-top: clamp(2.5rem, 6vw, 5rem); }
.service-tile:nth-child(3) { margin-top: clamp(-2rem, -2vw, -1rem); }
.service-tile:nth-child(4) { margin-top: clamp(1.5rem, 4vw, 3rem); }

/* Bigger image storytelling blocks */
.image-story-section {
  overflow: hidden;
  background: linear-gradient(180deg, var(--bg) 0%, rgba(239,231,221,.62) 100%);
}
.image-story-head {
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.image-story-head .body-lg { color: var(--text-muted); max-width: 56ch; margin-top: 1rem; }
.image-story-wrap { display: grid; gap: clamp(3rem, 7vw, 6rem); }
.image-story-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .62fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  position: relative;
}
.image-story-row--reverse { grid-template-columns: minmax(280px, .62fr) minmax(0, 1.25fr); }
.image-story-row--reverse figure { grid-column: 2; grid-row: 1; }
.image-story-row--reverse .image-story-card { grid-column: 1; grid-row: 1; }
.image-story-row figure {
  margin: 0;
  min-height: clamp(520px, 58vw, 760px);
  overflow: hidden;
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 30px 80px rgba(28,24,21,.10);
}
.image-story-row--wide figure { min-height: clamp(560px, 62vw, 820px); }
.image-story-row img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 1s cubic-bezier(.19,1,.22,1);
}
.image-story-row:hover img { transform: scale(1.035); }
.image-story-card {
  background: rgba(253,250,247,.74);
  border: 1px solid rgba(124,116,107,.17);
  box-shadow: 0 24px 70px rgba(28,24,21,.08);
  backdrop-filter: blur(12px);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  position: relative;
}
.image-story-card::before {
  content: '✽';
  position: absolute;
  right: 1.1rem;
  top: .7rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem;
  color: rgba(124,116,107,.13);
}
.image-story-card span {
  display: inline-flex;
  margin-bottom: .8rem;
  font-size: .65rem;
  letter-spacing: .18em;
  color: var(--accent);
}
.image-story-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1;
  margin: 0 0 1rem;
}
.image-story-card p { color: var(--text-muted); line-height: 1.75; }
.image-story-row:nth-child(2) .image-story-card { transform: translateY(4rem); }
.image-story-row:nth-child(3) .image-story-card { transform: translateY(-3rem); }

/* Portfolio preview as large editorial moments */
.portfolio-feature-layout {
  display: grid;
  grid-template-columns: .78fr .62fr .95fr;
  gap: clamp(1rem, 2.2vw, 2rem);
  align-items: end;
}
.portfolio-feature-card {
  margin: 0;
  min-height: clamp(520px, 55vw, 760px);
  overflow: hidden;
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 30px 80px rgba(28,24,21,.10);
}
.portfolio-feature-card.is-large { min-height: clamp(620px, 68vw, 880px); }
.portfolio-feature-card img { width: 100%; height: 100%; object-fit: cover; display:block; }
.portfolio-feature-copy {
  margin-bottom: clamp(2rem, 7vw, 6rem);
  padding: clamp(1.4rem, 2.5vw, 2rem);
  background: rgba(253,250,247,.78);
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 24px 70px rgba(28,24,21,.08);
}
.portfolio-feature-copy p:last-child { color: var(--text-muted); margin-top: 1rem; }

/* Gallery: bigger heroes and fewer dry rows */
.gallery-hero-big { overflow: hidden; min-height: 420px; display: flex; align-items: end; }
.gallery-hero-bg { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.gallery-hero-bg::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(247,242,236,.96), rgba(247,242,236,.78), rgba(247,242,236,.38)); }
.gallery-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .42; filter: saturate(1.05); }
.gallery-feature-stack { display: grid; gap: clamp(2rem, 6vw, 5rem); }
.gallery-hero-image {
  margin: 0;
  min-height: clamp(560px, 64vw, 860px);
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 30px 80px rgba(28,24,21,.10);
  overflow: hidden;
}
.gallery-hero-image--offset { width: min(820px, 82vw); margin-left: auto; }
.gallery-hero-image img { width:100%; height:100%; object-fit:cover; display:block; }
.gallery-editorial-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-auto-flow: dense;
  gap: clamp(.8rem, 1.5vw, 1.25rem);
}
.gallery-editorial-grid .gallery-card { grid-column: span 2; border: 1px solid rgba(124,116,107,.16) !important; min-height: clamp(360px, 34vw, 520px) !important; }
.gallery-editorial-grid .gallery-card.wide { grid-column: span 4; min-height: clamp(440px, 44vw, 640px) !important; }
.gallery-editorial-grid .gallery-card.tall { grid-row: span 2; min-height: clamp(640px, 72vw, 920px) !important; }
.gallery-editorial-grid .gallery-card img { width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width: 980px) {
  .hero-editorial { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-glass-card { margin-bottom: 0; padding-bottom: 2rem; }
  .hero-main-frame { width: calc(100% - 2.5rem); height: 64vh !important; margin: 0 auto 2.5rem; }
  .hero-bg-stack img:first-child { width: 100%; opacity: .30; }
  .image-story-row, .image-story-row--reverse { grid-template-columns: 1fr; }
  .image-story-row--reverse figure, .image-story-row--reverse .image-story-card { grid-column: 1; grid-row: auto; }
  .image-story-row:nth-child(2) .image-story-card, .image-story-row:nth-child(3) .image-story-card { transform: none; }
  .portfolio-feature-layout { grid-template-columns: 1fr; }
  .portfolio-feature-copy { margin-bottom: 0; }
  .gallery-editorial-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-editorial-grid .gallery-card, .gallery-editorial-grid .gallery-card.wide, .gallery-editorial-grid .gallery-card.tall { grid-column: span 1 !important; grid-row: span 1 !important; min-height: 440px !important; }
}
@media (max-width: 560px) {
  .hero-main-frame { height: 560px !important; }
  .hero-glass-card::before { left: 1rem; width: calc(100% - 2rem); }
  .image-story-row figure, .gallery-hero-image { min-height: 470px; }
  .gallery-hero-image--offset { width: 100%; }
  .gallery-editorial-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   Luxury revision: warmer editorial layout, clean typography
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600&family=Manrope:wght@300;400;500;600&display=swap');
:root{
  --bg:#fbf5ee;
  --bg-elev:#f2e8de;
  --text:#17110f;
  --text-muted:#6f5f55;
  --accent:#7C746B;
  --accent-deep:#4f0b16;
  --accent-pale:#f0d6cf;
  --line:#ead9cd;
  --rose:#c4868b;
  --champagne:#d8b892;
  --sage:#bfc3a3;
  --sky:#bfd3dd;
  --radius:0px;
  --shadow-lg:0 24px 80px rgba(28,24,21,.15);
}
html, body { cursor: auto !important; }
body{
  font-family:'Manrope', Inter, system-ui, sans-serif;
  background:
    radial-gradient(circle at 8% 12%, rgba(196,134,139,.25), transparent 30vw),
    radial-gradient(circle at 92% 20%, rgba(191,211,221,.22), transparent 28vw),
    radial-gradient(circle at 78% 88%, rgba(191,195,163,.22), transparent 34vw),
    var(--bg);
}
h1,h2,h3,h4,h5,h6,.display,.heading-xl,.heading-lg,.heading-md,.hero-headline,.brand-serif,.footer-brand-name{
  font-family:'Bodoni Moda','Cormorant Garamond',Georgia,serif !important;
  letter-spacing:-.015em;
  text-transform:none;
}
.heading-xl,.hero-headline{ line-height:.98; }
.eyebrow{ letter-spacing:.18em; color:var(--accent); }
.section{ position:relative; }
.section::before{ content:''; position:absolute; inset:auto auto 8% -8rem; width:18rem; height:18rem; border-radius:999px; background:rgba(196,134,139,.12); filter:blur(8px); pointer-events:none; }
.btn,.nav-cta,.cta-channel,.contact-channel{
  border-radius:999px !important;
  border:1px solid rgba(124,116,107,.35) !important;
  letter-spacing:.12em !important;
  box-shadow:0 12px 30px rgba(124,116,107,.08);
}
.btn-primary,.nav-cta:hover{
  background:linear-gradient(135deg,var(--accent),#a55b62) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.btn-primary:hover,.btn-ghost:hover{ transform:translateY(-2px); box-shadow:0 18px 42px rgba(124,116,107,.18); }
.btn-ghost{ background:rgba(253,250,247,.55); backdrop-filter:blur(10px); }
.nav-logo img{ height:54px; }
.site-header{ background:rgba(251,245,238,.88); backdrop-filter:blur(18px); }
.nav-links a{ font-family:'Manrope', sans-serif; font-weight:600; }

/* Hero as one full editorial background, no portrait card and no borders */
.hero-editorial{
  min-height:88vh !important;
  display:flex !important;
  align-items:center;
  isolation:isolate;
  background-image:linear-gradient(90deg,rgba(23,17,15,.78),rgba(23,17,15,.38) 48%,rgba(23,17,15,.08)), url('../images/hero-bw.png') !important;
  background-size:cover !important;
  background-position:center 43% !important;
}
.hero-editorial::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 35%,rgba(124,116,107,.28),transparent 35%), linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.28)); z-index:-1; }
.hero-bg-stack,.hero-main-frame,.hero-image-border{ display:none !important; }
.hero-glass-card::before{ display:none !important; }
.hero-content.hero-glass-card{ max-width:760px !important; color:#fff; padding-block:clamp(6rem,11vw,10rem) !important; }
.hero-headline{ color:#fff !important; font-size:clamp(4rem,8vw,8.4rem) !important; text-shadow:0 18px 44px rgba(0,0,0,.28); margin-bottom:1.2rem; }
.hero-sub{ color:rgba(255,255,255,.86) !important; font-size:clamp(1rem,1.25vw,1.25rem); max-width:45ch; }
.hero-eyebrow .eyebrow{ color:rgba(255,255,255,.72) !important; }
.hero-eyebrow-line{ background:rgba(255,255,255,.56) !important; width:4rem; }
.hero-actions .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.46) !important; background:rgba(255,255,255,.10); }
.hero-actions .btn-primary{ background:#fff !important; color:var(--accent-deep) !important; }

/* richer image cards */
.service-tile,.review-card,.about-value,.service-item,.image-story-card,.portfolio-feature-copy,.contact-channel,.form-card{
  border:1px solid rgba(124,116,107,.18) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(242,232,222,.58)) !important;
  box-shadow:0 28px 70px rgba(35,22,18,.10) !important;
}
.service-tile{ border-radius:0 !important; }
.service-tile::before,.image-story-card::before,.hero-main-frame::before,.hero-main-frame::after{ display:none !important; }
.service-tile-content::before{ content:'' !important; display:none !important; }
.service-tile-name{ font-size:clamp(1.7rem,3vw,2.6rem) !important; }
.service-tile-number{ color:#f2d9d0 !important; }
.service-tile-desc{ opacity:1 !important; transform:none !important; color:rgba(255,255,255,.86) !important; }
.services-grid{ grid-template-columns:1.1fr .9fr 1fr !important; gap:clamp(1.2rem,2.2vw,2rem) !important; }
.service-tile:nth-child(1){ min-height:560px; }
.service-tile:nth-child(2){ margin-top:4rem; min-height:500px; }
.service-tile:nth-child(3){ margin-top:1rem; min-height:540px; }
.service-tile:nth-child(4){ grid-column:1 / span 2 !important; min-height:520px; margin-top:-1rem; }

/* price list luxury */
.leistungen-hero{ background:linear-gradient(135deg,rgba(124,116,107,.08),rgba(216,184,146,.22),rgba(191,211,221,.12)); border-bottom:0 !important; }
.service-category{ position:relative; overflow:hidden; }
.service-category:nth-of-type(even){ background:rgba(242,232,222,.42); }
.service-category-inner{ gap:clamp(3rem,7vw,8rem) !important; }
.service-category-img{ border:0 !important; box-shadow:0 34px 80px rgba(35,22,18,.16); min-height:640px; object-fit:cover; }
.service-list{ gap:1rem !important; }
.service-item{ padding:clamp(1.25rem,2.6vw,2rem) !important; align-items:center; }
.service-item-name{ font-family:'Bodoni Moda',serif !important; font-size:clamp(1.35rem,2vw,2rem) !important; }
.service-item-desc{ max-width:58ch; line-height:1.75; }
.service-item-price{ color:var(--accent) !important; font-family:'Bodoni Moda',serif !important; font-size:1.85rem !important; }
.service-item-meta{ min-width:115px; }
.service-item-duration{ color:var(--text-muted) !important; }
.service-item:hover{ transform:translateX(8px); }

/* gallery editorial, no collage feel */
.gallery-editorial-grid{ display:flex !important; flex-direction:column; gap:clamp(4rem,7vw,6rem) !important; }
.gallery-editorial-grid .gallery-card{ width:100%; min-height:clamp(620px,70vw,900px) !important; border:0 !important; box-shadow:0 34px 90px rgba(35,22,18,.14) !important; position:relative; }
.gallery-editorial-grid .gallery-card:nth-child(even){ width:min(860px,86vw); margin-left:auto; }
.gallery-editorial-grid .gallery-card:nth-child(odd){ width:min(980px,92vw); margin-right:auto; }
.gallery-editorial-grid .gallery-card::after{ content:''; position:absolute; inset:1.2rem; border:1px solid rgba(255,255,255,.44); pointer-events:none; }
.gallery-editorial-section::before{ content:'Beauty'; position:absolute; right:4vw; top:1rem; font-family:'Bodoni Moda',serif; font-size:clamp(4rem,14vw,13rem); color:rgba(124,116,107,.06); }
.gallery-hero-big .heading-xl{ color:var(--text); }

/* about steps re-aligned */
.about-values{ display:grid !important; grid-template-columns:1fr !important; gap:1.5rem !important; max-width:980px; margin-left:auto; }
.about-value{ width:min(620px,100%); padding:2rem !important; position:relative; }
.about-value:nth-child(2){ margin-left:auto; }
.about-value:nth-child(3){ margin-left:12%; }
.about-value-title{ font-family:'Bodoni Moda',serif !important; font-size:2rem !important; }
.about-value-num{ color:var(--accent) !important; }

/* reviews */
.reviews-section{ background:linear-gradient(135deg,rgba(191,211,221,.20),rgba(251,245,238,.86),rgba(196,134,139,.16)); }
.review-card{ position:relative; overflow:hidden; }
.review-card::before{ content:''; position:absolute; right:-3rem; top:-3rem; width:9rem; height:9rem; background:rgba(196,134,139,.18); border-radius:999px; }
.review-stars{ color:var(--accent) !important; }
.review-text{ font-family:'Bodoni Moda',serif !important; font-size:1.28rem !important; line-height:1.55 !important; color:var(--text) !important; }

/* manicure image positioning */
img[src='images/nails.png']{ object-position:center center !important; }

@media (max-width: 980px){
  .hero-editorial{ min-height:82vh !important; background-position:center !important; }
  .hero-content.hero-glass-card{ padding-inline:1.25rem !important; }
  .services-grid{ grid-template-columns:1fr !important; }
  .service-tile,.service-tile:nth-child(1),.service-tile:nth-child(2),.service-tile:nth-child(3),.service-tile:nth-child(4){ grid-column:auto !important; margin-top:0 !important; min-height:460px; }
  .service-category-img{ min-height:360px; }
  .about-value:nth-child(2),.about-value:nth-child(3){ margin-left:0; }
  .gallery-editorial-grid .gallery-card,.gallery-editorial-grid .gallery-card:nth-child(even),.gallery-editorial-grid .gallery-card:nth-child(odd){ width:100%; min-height:520px !important; }
}
@media (max-width:560px){
  .hero-headline{ font-size:clamp(3.2rem,18vw,5.2rem) !important; }
  .hero-editorial{ min-height:76vh !important; }
}


/* ============================================================
   Final charm revision: weichere Übergänge, weniger harte Borders
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');
:root{
  --bg:#fbf3ea;
  --bg-elev:#f5e8dc;
  --text:#181210;
  --text-muted:#75645c;
  --accent:#8A8178;
  --accent-deep:#5d1020;
  --accent-pale:#f0d4cf;
  --line:rgba(143,133,121,.10);
  --blush:#dba6a5;
  --cream:#fffaf4;
  --soft-blue:#d6e3e6;
  --soft-sage:#d7d8c0;
}
body{
  font-family:'Plus Jakarta Sans','Manrope',Inter,system-ui,sans-serif !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(219,166,165,.28), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(214,227,230,.33), transparent 28rem),
    linear-gradient(135deg, rgba(255,250,244,.92), rgba(245,232,220,.78) 46%, rgba(255,250,244,.95)),
    var(--bg) !important;
}
body::before, body::after{
  content:'';
  position:fixed;
  z-index:-2;
  pointer-events:none;
  filter:blur(42px);
  opacity:.55;
  border-radius:999px;
}
body::before{ width:44vw; height:44vw; left:-18vw; top:24vh; background:rgba(143,133,121,.14); }
body::after{ width:38vw; height:38vw; right:-16vw; bottom:8vh; background:rgba(191,195,163,.25); }
h1,h2,h3,h4,h5,h6,.display,.heading-xl,.heading-lg,.heading-md,.hero-headline,.brand-serif,.footer-brand-name,.service-item-name,.review-text{
  font-family:'Playfair Display','Bodoni Moda','Cormorant Garamond',Georgia,serif !important;
  letter-spacing:-.01em !important;
}
.heading-xl,.hero-headline{ text-transform:none; }
.eyebrow{ font-family:'Plus Jakarta Sans',sans-serif !important; color:var(--accent) !important; letter-spacing:.16em !important; }
.divider,.divider-accent,.hero-image-border,.pomegranate-deco,.hero-pomegranate{ display:none !important; }
.section{ border:0 !important; }
.section::before{ opacity:.36; background:rgba(219,166,165,.16); filter:blur(20px); }

/* Buttons softer and more premium */
.btn,.nav-cta,.cta-channel,.contact-channel{
  border:0 !important;
  border-radius:999px !important;
  padding:0.95rem 1.75rem;
  background:rgba(255,250,244,.72) !important;
  box-shadow:0 14px 42px rgba(52,31,26,.10), inset 0 0 0 1px rgba(255,255,255,.72) !important;
  backdrop-filter:blur(16px);
}
.btn-primary,.nav-cta:hover{
  background:linear-gradient(135deg,#7d1025,#c78386) !important;
  color:#fff !important;
  box-shadow:0 18px 52px rgba(125,16,37,.24) !important;
}
.btn-ghost:hover,.btn:hover{ transform:translateY(-3px); }
.site-header{ border:0 !important; background:rgba(251,243,234,.80) !important; box-shadow:0 10px 40px rgba(35,22,18,.06); }
.lang-toggle{ border:0 !important; box-shadow:inset 0 0 0 1px rgba(143,133,121,.08); background:rgba(255,250,244,.68) !important; }

/* Hero now feels connected with the whole website, not like a separate black block */
.hero-editorial{
  min-height:92vh !important;
  background-image:
    linear-gradient(90deg,rgba(251,243,234,.96) 0%,rgba(251,243,234,.72) 38%,rgba(251,243,234,.16) 68%,rgba(251,243,234,.06)),
    radial-gradient(circle at 28% 35%,rgba(143,133,121,.18),transparent 28rem),
    url('../images/hero-bw.png') !important;
  background-position:center 44% !important;
  background-size:cover !important;
  color:var(--text) !important;
}
.hero-editorial::before{
  background:linear-gradient(180deg,rgba(255,250,244,.20),rgba(251,243,234,.72)) !important;
  z-index:-1;
}
.hero-content.hero-glass-card{ color:var(--text) !important; max-width:820px !important; }
.hero-headline{ color:var(--text) !important; font-size:clamp(3.6rem,7.4vw,7.8rem) !important; text-shadow:none !important; }
.hero-sub{ color:var(--text-muted) !important; font-size:clamp(1.02rem,1.24vw,1.22rem); }
.hero-eyebrow .eyebrow{ color:var(--accent) !important; }
.hero-eyebrow-line{ background:var(--accent) !important; opacity:.65; width:3.3rem; }
.hero-actions .btn-ghost{ color:var(--text) !important; background:rgba(255,250,244,.62) !important; }
.hero-actions .btn-primary{ background:linear-gradient(135deg,#7d1025,#c78386) !important; color:#fff !important; }

/* Cards flow into the background instead of hard boxes */
.service-tile,.review-card,.about-value,.service-item,.image-story-card,.portfolio-feature-copy,.form-card,.gallery-soft-note{
  border:0 !important;
  background:linear-gradient(145deg,rgba(255,250,244,.82),rgba(245,232,220,.50)) !important;
  box-shadow:0 24px 70px rgba(35,22,18,.09), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}
.service-tile{ border-radius:34px 4px 34px 4px !important; overflow:hidden; }
.service-tile:nth-child(even){ border-radius:4px 34px 4px 34px !important; }
.service-tile-overlay{ background:linear-gradient(to top,rgba(24,18,16,.70),rgba(24,18,16,.18) 55%,transparent) !important; }
.services-grid{ background:transparent !important; gap:clamp(1.4rem,2.6vw,2.4rem) !important; }
.service-tile::after{ content:''; position:absolute; inset:auto 1.2rem 1.2rem auto; width:5.4rem; height:5.4rem; border-radius:999px; background:rgba(219,166,165,.22); filter:blur(4px); pointer-events:none; }

/* Bridal price no longer sits as a harsh circle on the gray white image */
.bridal-section{ background:linear-gradient(135deg,rgba(245,232,220,.78),rgba(214,227,230,.22),rgba(251,243,234,.94)) !important; }
.bridal-image{ overflow:visible; }
.bridal-image img{ border-radius:44px 4px 44px 4px; box-shadow:0 32px 90px rgba(35,22,18,.16); }
.bridal-badge{ display:none !important; }
.bridal-price-panel{
  position:absolute;
  left:clamp(1rem,3vw,2rem);
  bottom:clamp(1rem,3vw,2rem);
  min-width:210px;
  padding:1.25rem 1.35rem;
  border-radius:28px 4px 28px 4px;
  background:rgba(255,250,244,.74);
  backdrop-filter:blur(18px);
  box-shadow:0 22px 58px rgba(35,22,18,.14), inset 0 0 0 1px rgba(255,255,255,.62);
}
.bridal-price-kicker{ display:block; font-size:.62rem; letter-spacing:.17em; text-transform:uppercase; color:var(--accent); margin-bottom:.35rem; }
.bridal-badge-price{ font-family:'Playfair Display',serif !important; color:var(--text) !important; font-size:clamp(2.7rem,5vw,4.6rem) !important; line-height:.9; display:block; }
.bridal-badge-label{ color:var(--text-muted) !important; letter-spacing:.08em !important; text-transform:none !important; font-size:.78rem !important; }
.bridal-includes li::before{ display:none !important; }
.bridal-includes li{ position:relative; padding-left:1.6rem; }
.bridal-includes li::after{ content:'✽'; position:absolute; left:0; top:.05rem; color:var(--accent); opacity:.62; font-size:.8rem; }

/* Price list: luxury menu, not plain table */
.leistungen-hero{ background:linear-gradient(135deg,rgba(251,243,234,.92),rgba(219,166,165,.18),rgba(214,227,230,.18)) !important; }
.service-category{ border:0 !important; }
.service-category::before{ content:''; position:absolute; width:26rem; height:26rem; border-radius:999px; right:-12rem; top:14%; background:rgba(219,166,165,.12); filter:blur(22px); }
.service-category:nth-of-type(even)::before{ left:-12rem; right:auto; background:rgba(214,227,230,.18); }
.service-category-img{ border-radius:42px 4px 42px 4px !important; box-shadow:0 32px 90px rgba(35,22,18,.13) !important; }
.service-list{ background:rgba(255,250,244,.38); border-radius:42px 4px 42px 4px; padding:clamp(.8rem,1.5vw,1.2rem); box-shadow:inset 0 0 0 1px rgba(255,255,255,.42); }
.service-item{ box-shadow:none !important; background:transparent !important; border-radius:0 !important; border-bottom:1px solid rgba(143,133,121,.10) !important; }
.service-item:last-child{ border-bottom:0 !important; }
.service-item:hover{ background:rgba(255,250,244,.64) !important; transform:translateX(6px) !important; border-radius:24px 4px 24px 4px !important; }
.service-item-price{ font-size:clamp(2rem,3vw,3rem) !important; color:var(--accent) !important; }
.service-item-price::after{ content:' ab'; font-family:'Plus Jakarta Sans',sans-serif; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); margin-left:.25rem; }

/* Gallery: designed rhythm instead of thrown-in collage */
.gallery-hero-big{ background:transparent !important; }
.gallery-hero-bg::after{ background:linear-gradient(90deg,rgba(251,243,234,.96),rgba(251,243,234,.68),rgba(251,243,234,.20)) !important; }
.gallery-feature-stack{ position:relative; }
.gallery-feature-stack::before{ content:'✽'; position:absolute; right:4vw; top:-4rem; font-family:'Playfair Display',serif; font-size:8rem; color:rgba(143,133,121,.12); }
.gallery-hero-image{ border:0 !important; border-radius:52px 4px 52px 4px; box-shadow:0 34px 100px rgba(35,22,18,.12) !important; }
.gallery-hero-image:nth-child(even){ border-radius:4px 52px 4px 52px; }
.gallery-rhythm{ display:flex; flex-direction:column; gap:clamp(4rem,8vw,7rem); }
.gallery-rhythm-row{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(260px,.55fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.gallery-rhythm-row--reverse{ grid-template-columns:minmax(260px,.52fr) minmax(0,1fr); }
.gallery-rhythm-row--reverse .gallery-card:first-child{ order:2; }
.gallery-card.art-card{ min-height:clamp(540px,62vw,820px) !important; border:0 !important; border-radius:50px 4px 50px 4px; box-shadow:0 34px 100px rgba(35,22,18,.12) !important; overflow:hidden; }
.gallery-card.art-card.slim{ min-height:clamp(430px,45vw,620px) !important; }
.gallery-card.art-card.wide{ min-height:clamp(580px,62vw,780px) !important; }
.gallery-card.art-card.full{ width:min(980px,100%); margin-inline:auto; min-height:clamp(620px,70vw,900px) !important; }
.gallery-card.art-card:nth-child(even){ border-radius:4px 50px 4px 50px; }
.gallery-card.art-card::after{ display:none !important; }
.gallery-soft-note{ padding:clamp(1.5rem,3vw,2.5rem); border-radius:34px 4px 34px 4px; position:relative; }
.gallery-soft-note::before{ content:'✽'; position:absolute; right:1.2rem; top:.7rem; color:rgba(143,133,121,.22); font-size:2rem; }
.gallery-soft-note span{ display:block; color:var(--accent); letter-spacing:.14em; text-transform:uppercase; font-size:.65rem; margin-bottom:.8rem; }
.gallery-soft-note p{ font-family:'Playfair Display',serif; font-size:clamp(1.3rem,2.2vw,2rem); line-height:1.45; color:var(--text); }

/* About values as a flowing path, not boxes in a row */
.about-values{ position:relative; padding-block:1rem; }
.about-values::before{ content:''; position:absolute; left:16%; top:4rem; bottom:4rem; width:1px; background:linear-gradient(180deg,transparent,rgba(143,133,121,.24),transparent); }
.about-value{ border-radius:36px 4px 36px 4px !important; }
.about-value:nth-child(2){ transform:translateX(8vw); }
.about-value:nth-child(3){ transform:translateX(3vw); }
.about-value-num{ font-family:'Playfair Display',serif !important; font-size:2.7rem !important; opacity:.55; }

/* Reviews with more charm */
.reviews-grid{ gap:clamp(1.2rem,2.4vw,2rem) !important; }
.review-card{ border-radius:36px 4px 36px 4px !important; padding:clamp(1.6rem,3vw,2.5rem) !important; }
.review-card:nth-child(even){ border-radius:4px 36px 4px 36px !important; transform:translateY(1.5rem); }
.review-quote-mark{ color:rgba(143,133,121,.20) !important; }
.review-author{ color:var(--accent-deep) !important; }

/* Legal and contact pages also receive the softer look */
.kontakt-inner,.form-card,.legal-card{ border:0 !important; }
.form-input,.form-select,.form-textarea{ border:0 !important; border-radius:22px !important; background:rgba(255,250,244,.72) !important; box-shadow:inset 0 0 0 1px rgba(143,133,121,.10); font-family:'Plus Jakarta Sans',sans-serif !important; }
.site-footer{ border:0 !important; background:linear-gradient(135deg,#181210,#2A2521) !important; }

@media(max-width:980px){
  .hero-editorial{ min-height:82vh !important; background-position:58% center !important; }
  .gallery-rhythm-row,.gallery-rhythm-row--reverse{ grid-template-columns:1fr !important; }
  .gallery-rhythm-row--reverse .gallery-card:first-child{ order:0; }
  .about-value:nth-child(2),.about-value:nth-child(3){ transform:none; }
  .bridal-price-panel{ position:relative; left:auto; bottom:auto; margin:-4rem 1rem 0; }
}
@media(max-width:560px){
  .hero-editorial{ min-height:76vh !important; background-position:63% center !important; }
  .hero-headline{ font-size:clamp(3.2rem,17vw,5rem) !important; }
  .gallery-card.art-card,.gallery-hero-image{ min-height:440px !important; border-radius:34px 4px 34px 4px; }
  .service-list{ padding:.2rem; }
  .service-item{ grid-template-columns:1fr !important; gap:.6rem; }
  .review-card:nth-child(even){ transform:none; }
}


/* ============================================================
   Client revision: Pool Hero, luxury price list, cleaner gallery
   ============================================================ */
:root{
  --pom-outline: rgba(143,133,121,.115);
  --pom-outline-strong: rgba(143,133,121,.18);
}

/* Pool image in home hero, no weird visible corner marks */
.hero-editorial{
  min-height: 88vh !important;
  background-image:
    linear-gradient(90deg, rgba(251,243,234,.94) 0%, rgba(251,243,234,.82) 28%, rgba(251,243,234,.40) 56%, rgba(251,243,234,.12) 100%),
    radial-gradient(circle at 20% 34%, rgba(143,133,121,.16), transparent 26rem),
    url('../images/editorial6.png') !important;
  background-size: cover !important;
  background-position: 60% 48% !important;
  overflow: hidden !important;
}
.hero-editorial::before{
  background:
    radial-gradient(circle at 10% 18%, rgba(255,250,244,.80), transparent 22rem),
    linear-gradient(180deg, rgba(251,243,234,.08), rgba(251,243,234,.58)) !important;
  z-index: -1 !important;
}
.hero-editorial::after{
  content:'';
  position:absolute;
  right: clamp(1rem, 5vw, 5rem);
  bottom: clamp(1rem, 5vw, 4rem);
  width: clamp(180px, 24vw, 360px);
  aspect-ratio: 1 / 1.15;
  background-image: url("data:image/svg+xml,%3Csvg width='260' height='300' viewBox='0 0 260 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238A8178' stroke-width='2.2' stroke-linecap='round' opacity='.72'%3E%3Cpath d='M130 59c53 0 96 43 96 96 0 70-46 116-96 116S34 225 34 155c0-53 43-96 96-96Z'/%3E%3Cpath d='M104 61c1-23 10-35 26-48 16 13 25 25 26 48'/%3E%3Cpath d='M108 18c14 14 30 14 44 0'/%3E%3Cpath d='M76 128c18-18 39-25 64-20 23 5 39 18 50 39'/%3E%3Cpath d='M69 183c22 12 43 15 64 8 25-8 42-24 53-48'/%3E%3Cpath d='M106 116c-16 31-12 61 12 91'/%3E%3Cpath d='M151 113c11 31 5 61-19 91'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity:.16;
  pointer-events:none;
  filter: blur(.15px);
}
.hero-bg-stack,.hero-main-frame,.hero-image-border,.hero-pomegranate,.pomegranate-deco,
.flower-deco,.gallery-feature-stack::before,.gallery-soft-note::before,
.hero-main-frame::before,.hero-main-frame::after{
  display:none !important;
  content:none !important;
}

/* Subtle pomegranate outline background, not as hard icons */
.section, .section-sm, .service-category, .services-section, .reviews-section, .gallery-editorial-section, .gallery-showcase-section, .leistungen-hero{
  position: relative;
  overflow: hidden;
}
.section::after, .service-category::after, .reviews-section::after, .gallery-editorial-section::after{
  content:'';
  position:absolute;
  width: clamp(220px, 26vw, 420px);
  aspect-ratio: 1 / 1.15;
  right: -7vw;
  top: 8%;
  background-image: url("data:image/svg+xml,%3Csvg width='260' height='300' viewBox='0 0 260 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238A8178' stroke-width='2' stroke-linecap='round' opacity='.75'%3E%3Cpath d='M130 59c53 0 96 43 96 96 0 70-46 116-96 116S34 225 34 155c0-53 43-96 96-96Z'/%3E%3Cpath d='M104 61c1-23 10-35 26-48 16 13 25 25 26 48'/%3E%3Cpath d='M108 18c14 14 30 14 44 0'/%3E%3Cpath d='M76 128c18-18 39-25 64-20 23 5 39 18 50 39'/%3E%3Cpath d='M69 183c22 12 43 15 64 8 25-8 42-24 53-48'/%3E%3Cpath d='M106 116c-16 31-12 61 12 91'/%3E%3Cpath d='M151 113c11 31 5 61-19 91'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat:no-repeat;
  opacity:.09;
  pointer-events:none;
  z-index:0;
}
.service-category:nth-of-type(even)::after{ left:-8vw; right:auto; top:18%; transform:rotate(-12deg); }
.container, .service-category-inner, .gallery-rhythm, .gallery-feature-stack, .reviews-grid{ position:relative; z-index:1; }

/* prevent image/card overlap across all pages */
.services-grid, .gallery-rhythm, .gallery-feature-stack, .portfolio-mosaic, .image-story-grid, .image-story-row, .reviews-grid, .about-values{
  gap: clamp(1.8rem, 4vw, 4.5rem) !important;
}
.service-tile, .gallery-card, .gallery-hero-image, .portfolio-card, .image-story-row figure, .bridal-image, .service-category-img{
  position: relative !important;
  z-index: 1;
  margin-top: 0 !important;
  transform: none !important;
  isolation: isolate;
}
.service-tile:nth-child(2), .service-tile:nth-child(3), .service-tile:nth-child(4){ margin-top:0 !important; }
.gallery-rhythm-row, .gallery-rhythm-row--reverse{
  align-items: center !important;
  gap: clamp(2rem,4.5vw,5rem) !important;
}

/* More luxurious price list */
.service-category-inner{
  display:grid !important;
  grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr) !important;
  align-items:start !important;
}
.service-category-sticky{
  position: sticky;
  top: 110px;
  align-self:start;
}
.service-category-img{
  min-height: clamp(480px, 55vw, 700px) !important;
  width:100%;
  object-fit:cover !important;
  border-radius: 60px 8px 60px 8px !important;
  box-shadow: 0 36px 110px rgba(35,22,18,.16) !important;
}
.service-list{
  display:flex !important;
  flex-direction:column !important;
  background: linear-gradient(145deg, rgba(255,250,244,.72), rgba(245,232,220,.42)) !important;
  border-radius: 54px 8px 54px 8px !important;
  padding: clamp(1rem,2.2vw,2rem) !important;
  box-shadow: 0 30px 90px rgba(35,22,18,.08), inset 0 0 0 1px rgba(255,255,255,.70) !important;
}
.service-item{
  display:grid !important;
  grid-template-columns: 1fr auto !important;
  gap: clamp(1rem, 3vw, 3rem) !important;
  padding: clamp(1.35rem,2.8vw,2.45rem) clamp(1rem,2.4vw,2rem) !important;
  border-bottom: 1px solid rgba(143,133,121,.12) !important;
  min-height:auto !important;
}
.service-item:hover{
  border-radius: 34px 6px 34px 6px !important;
  transform: translateX(0) translateY(-2px) !important;
  background: rgba(255,250,244,.74) !important;
}
.service-item-name{
  font-size: clamp(1.6rem, 2.6vw, 2.45rem) !important;
  letter-spacing:-.015em !important;
  line-height:1.05 !important;
}
.service-item-desc{
  margin-top:.55rem !important;
  color: rgba(117,100,92,.92) !important;
  font-size:.98rem !important;
}
.service-item-meta{
  min-width: 138px !important;
  text-align:right !important;
  align-self:center;
  padding-left:1rem;
}
.service-item-price{
  display:block;
  font-size: clamp(2.25rem, 3.9vw, 4rem) !important;
  line-height:.9 !important;
  color: var(--accent-deep) !important;
}
.service-item-price::after{
  content:' ab' !important;
  display:block;
  margin-top:.6rem;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.63rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--accent) !important;
}
.service-item-duration{
  display:block;
  margin-top:.35rem;
  font-size:.72rem !important;
  letter-spacing:.08em;
}

/* Gallery: smaller, premium, no header image and no stray symbols */
.gallery-hero-bg{ display:none !important; }
.gallery-hero-big{
  min-height: 300px !important;
  background:
    radial-gradient(circle at 16% 24%, rgba(143,133,121,.12), transparent 24rem),
    linear-gradient(135deg, rgba(251,243,234,.96), rgba(214,227,230,.24), rgba(251,243,234,.86)) !important;
}
.gallery-showcase-section{ padding-block: clamp(3rem,6vw,5rem) !important; }
.gallery-feature-stack{
  display:grid !important;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: clamp(1.2rem, 2.6vw, 2.2rem) !important;
  align-items: end;
}
.gallery-hero-image{
  min-height: clamp(300px, 38vw, 520px) !important;
  border-radius: 34px 6px 34px 6px !important;
  overflow:hidden !important;
  box-shadow: 0 28px 80px rgba(35,22,18,.10) !important;
}
.gallery-feature-stack .gallery-hero-image:nth-child(1){ grid-column:1 / span 7; }
.gallery-feature-stack .gallery-hero-image:nth-child(2){ grid-column:7 / span 6; margin-top:5rem !important; }
.gallery-feature-stack .gallery-hero-image:nth-child(3){ grid-column:3 / span 8; }
.gallery-hero-image img, .gallery-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.gallery-rhythm{ gap: clamp(3rem,6vw,5rem) !important; }
.gallery-rhythm-row, .gallery-rhythm-row--reverse{
  display:grid !important;
  grid-template-columns: minmax(0,.95fr) minmax(260px,.62fr) !important;
}
.gallery-rhythm-row--reverse{ grid-template-columns:minmax(260px,.62fr) minmax(0,.95fr) !important; }
.gallery-card.art-card{
  min-height: clamp(340px, 42vw, 560px) !important;
  border-radius: 38px 6px 38px 6px !important;
  box-shadow: 0 30px 86px rgba(35,22,18,.10) !important;
}
.gallery-card.art-card.tall{ min-height: clamp(430px, 52vw, 640px) !important; }
.gallery-card.art-card.slim{ min-height: clamp(330px, 38vw, 490px) !important; }
.gallery-card.art-card.wide{ min-height: clamp(390px, 45vw, 600px) !important; }
.gallery-card.art-card.full{ min-height: clamp(420px, 48vw, 640px) !important; width:min(860px,100%) !important; }
.gallery-soft-note{
  border-radius: 38px 6px 38px 6px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(143,133,121,.12), transparent 11rem),
    rgba(255,250,244,.64) !important;
}
.gallery-soft-note p{ font-size: clamp(1.2rem, 1.8vw, 1.65rem) !important; }

@media(max-width: 980px){
  .hero-editorial{ background-position:62% center !important; min-height:82vh !important; }
  .service-category-inner{ grid-template-columns:1fr !important; }
  .service-category-sticky{ position:relative !important; top:auto !important; }
  .service-category-img{ min-height:420px !important; }
  .gallery-feature-stack{ display:flex !important; flex-direction:column !important; }
  .gallery-feature-stack .gallery-hero-image{ width:100% !important; margin-top:0 !important; }
  .gallery-rhythm-row,.gallery-rhythm-row--reverse{ grid-template-columns:1fr !important; }
  .gallery-rhythm-row--reverse .gallery-card:first-child{ order:0 !important; }
}
@media(max-width: 560px){
  .hero-editorial{ background-position:70% center !important; }
  .hero-editorial::after{ right:-20vw; bottom:1rem; opacity:.10; }
  .service-item{ grid-template-columns:1fr !important; }
  .service-item-meta{ text-align:left !important; padding-left:0; }
  .gallery-card.art-card,.gallery-hero-image{ min-height:360px !important; }
}

/* Remove all old flower/star symbols after final pomegranate-outline revision */
.services-section::before,
.portfolio-section::before,
.gallery-hero::after,
.cta-section::before,
.service-tile-content::before,
.image-story-card::before,
.bridal-includes li::after,
.gallery-feature-stack::before,
.gallery-soft-note::before,
.hero-main-frame::before,
.hero-main-frame::after{
  content:none !important;
  display:none !important;
}


/* ============================================================
   Final client revision: silk hero, interactive image stack,
   logo-pomegranate outlines, pomegranate cursor trail
   ============================================================ */
:root{
  --pomegranate-ink:#8A8178;
  --pomegranate-glow:rgba(143,133,121,.26);
  --pomegranate-wash:rgba(143,133,121,.08);
  --luxury-cream:#FBF3EA;
  --logo-pomegranate: url("data:image/svg+xml,%3Csvg width='260' height='300' viewBox='0 0 260 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238A8178' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M130 58c52 0 96 42 96 96 0 70-46 118-96 118S34 224 34 154c0-54 44-96 96-96Z'/%3E%3Cpath d='M103 60c2-23 10-37 27-50 17 13 25 27 27 50'/%3E%3Cpath d='M108 18c12 12 32 12 44 0'/%3E%3Cpath d='M91 126c14-17 34-25 58-20 24 5 41 20 52 43'/%3E%3Cpath d='M70 184c23 13 47 16 70 8 24-8 42-25 54-49'/%3E%3Cpath d='M105 116c-15 32-10 65 14 94'/%3E%3Cpath d='M153 114c11 34 4 65-21 95'/%3E%3C/g%3E%3Cg fill='%238A8178' opacity='.72'%3E%3Ccircle cx='86' cy='154' r='3.2'/%3E%3Ccircle cx='116' cy='138' r='3.2'/%3E%3Ccircle cx='143' cy='148' r='3.2'/%3E%3Ccircle cx='169' cy='169' r='3.2'/%3E%3Ccircle cx='111' cy='177' r='3.2'/%3E%3Ccircle cx='141' cy='190' r='3.2'/%3E%3C/g%3E%3C/svg%3E");
}

/* Hero uses silk image, no last revision pool hero */
.hero-editorial{
  min-height:88vh !important;
  display:flex !important;
  align-items:center !important;
  background-image:
    linear-gradient(90deg, rgba(251,243,234,.96) 0%, rgba(251,243,234,.87) 31%, rgba(251,243,234,.45) 58%, rgba(251,243,234,.20) 100%),
    radial-gradient(circle at 18% 26%, rgba(143,133,121,.13), transparent 26rem),
    url('../images/bridal.png') !important;
  background-size:cover !important;
  background-position:64% center !important;
  overflow:hidden !important;
}
.hero-editorial .hero-content{ max-width:760px !important; }
.hero-editorial .hero-glass-card{
  margin-left:clamp(0rem,2vw,2rem) !important;
  background:linear-gradient(135deg, rgba(255,250,244,.74), rgba(255,250,244,.34)) !important;
  backdrop-filter: blur(10px);
  border-radius:54px 8px 54px 8px;
  padding:clamp(2rem,5vw,4.8rem) !important;
  box-shadow:0 36px 120px rgba(35,22,18,.10);
}
.hero-editorial::after,
.section::after,
.section-sm::after,
.service-category::after,
.gallery-stack-section::after,
.gallery-flow-section::after,
.leistungen-hero::after{
  background-image:var(--logo-pomegranate) !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  opacity:.10 !important;
  filter:none !important;
}
.hero-editorial::after{
  content:'' !important;
  display:block !important;
  position:absolute;
  width:clamp(220px,28vw,440px);
  aspect-ratio:1/1.15;
  right:clamp(-2rem,4vw,4rem);
  bottom:clamp(-4rem,2vw,1rem);
  pointer-events:none;
  z-index:0;
  opacity:.13 !important;
}
.hero-bg-stack,.hero-main-frame,.hero-image-border,.hero-pomegranate,.pomegranate-deco{display:none!important;}

/* restore elegant pomegranate outlines as background, not random symbols */
.section::after,.section-sm::after,.service-category::after,.gallery-stack-section::after,.gallery-flow-section::after,.leistungen-hero::after{
  content:'' !important;
  display:block !important;
  position:absolute;
  width:clamp(170px,22vw,350px);
  aspect-ratio:1/1.15;
  pointer-events:none;
  z-index:0;
}
.section::after{ right:-7vw; top:8%; }
.section-sm::after{ right:6vw; bottom:-6rem; }
.service-category::after{ left:-8vw; top:18%; transform:rotate(-10deg); }
.gallery-stack-section::after{ right:-5vw; top:8%; transform:rotate(8deg); opacity:.12 !important; }
.gallery-flow-section::after{ left:-4vw; bottom:4%; transform:rotate(-14deg); opacity:.09 !important; }
.container,.hero-content,.gallery-stack,.gallery-flow{ position:relative; z-index:1; }

/* Interactive gallery stack */
.gallery-stack-hero{
  min-height:310px !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(143,133,121,.10), transparent 24rem),
    linear-gradient(135deg, rgba(251,243,234,.98), rgba(245,232,220,.68)) !important;
}
.gallery-stack-intro{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(260px,.62fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:end;
  margin-bottom:clamp(2rem,5vw,4rem);
}
.gallery-stack-intro p:last-child{
  color:var(--text-muted);
  font-size:1rem;
  line-height:1.8;
}
.gallery-stack{
  position:relative;
  min-height:clamp(620px,74vw,900px);
  border-radius:70px 10px 70px 10px;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.84), transparent 20rem),
    linear-gradient(135deg, rgba(255,250,244,.72), rgba(239,221,206,.46));
  box-shadow:0 38px 130px rgba(35,22,18,.10), inset 0 0 0 1px rgba(255,255,255,.55);
  overflow:hidden;
  padding:clamp(2rem,5vw,4rem);
}
.gallery-stack::before{
  content:'';
  position:absolute;
  left:clamp(1.5rem,4vw,4rem);
  top:clamp(1.5rem,4vw,4rem);
  width:clamp(120px,16vw,230px);
  aspect-ratio:1/1.15;
  background-image:var(--logo-pomegranate);
  background-size:contain;
  background-repeat:no-repeat;
  opacity:.11;
  pointer-events:none;
}
.gallery-stack-toggle{
  position:absolute;
  right:clamp(1.5rem,4vw,4rem);
  top:clamp(1.5rem,4vw,3.5rem);
  z-index:7;
  border:0;
  border-radius:999px;
  padding:.95rem 1.25rem;
  color:#fff;
  background:linear-gradient(135deg, var(--pomegranate-ink), #5F5851);
  box-shadow:0 16px 42px rgba(143,133,121,.24);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
}
.gallery-stack-toggle:hover{ transform:translateY(-2px); box-shadow:0 20px 54px rgba(143,133,121,.30); }
.gallery-stack-grid{
  position:relative;
  height:100%;
  min-height:clamp(560px,67vw,820px);
}
.stack-photo{
  position:absolute;
  left:50%; top:50%;
  width:min(360px,34vw);
  aspect-ratio:4/5;
  margin:0;
  transform:translate(-50%,-50%) rotate(var(--r));
  transition:transform .75s cubic-bezier(.2,.8,.18,1), width .75s cubic-bezier(.2,.8,.18,1), box-shadow .35s ease, filter .35s ease;
  transform-origin:center;
  z-index:var(--z,1);
  filter:saturate(.98) contrast(1.02);
}
.stack-photo:nth-child(1){--z:8}.stack-photo:nth-child(2){--z:7}.stack-photo:nth-child(3){--z:6}.stack-photo:nth-child(4){--z:5}.stack-photo:nth-child(5){--z:4}.stack-photo:nth-child(6){--z:3}.stack-photo:nth-child(7){--z:2}.stack-photo:nth-child(8){--z:1}
.stack-photo button{
  display:block;
  width:100%; height:100%;
  padding:0; border:0; background:transparent;
  border-radius:34px 6px 34px 6px;
  overflow:hidden;
  box-shadow:0 28px 82px rgba(35,22,18,.18);
  cursor:pointer;
}
.stack-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.stack-photo:hover{ z-index:12; }
.stack-photo:hover img{ transform:scale(1.035); }
.gallery-stack.is-open .stack-photo{ width:min(270px,20vw); transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)); }
.gallery-stack.is-open .stack-photo:nth-child(1){ left:17%; top:35%; }
.gallery-stack.is-open .stack-photo:nth-child(2){ left:38%; top:28%; }
.gallery-stack.is-open .stack-photo:nth-child(3){ left:62%; top:34%; }
.gallery-stack.is-open .stack-photo:nth-child(4){ left:82%; top:42%; }
.gallery-stack.is-open .stack-photo:nth-child(5){ left:25%; top:70%; }
.gallery-stack.is-open .stack-photo:nth-child(6){ left:48%; top:67%; }
.gallery-stack.is-open .stack-photo:nth-child(7){ left:70%; top:72%; }
.gallery-stack.is-open .stack-photo:nth-child(8){ left:86%; top:74%; }
.gallery-stack.is-open .gallery-stack-toggle{ background:linear-gradient(135deg,#2A2521,var(--pomegranate-ink)); }
.gallery-stack.is-open .gallery-stack-toggle::after{ content:' '; }

.gallery-flow{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(260px,.55fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
}
.gallery-flow-image{
  min-height:clamp(360px,45vw,560px);
  border-radius:44px 8px 44px 8px;
  overflow:hidden;
  box-shadow:0 32px 100px rgba(35,22,18,.12);
}
.gallery-flow-image.is-wide{ grid-column:span 2; min-height:clamp(380px,46vw,620px); }
.gallery-flow-image img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-flow-copy{
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:42px 8px 42px 8px;
  background:rgba(255,250,244,.62);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.50), 0 24px 70px rgba(35,22,18,.07);
}
.gallery-flow-copy p:last-child{ color:var(--text-muted); line-height:1.8; margin-top:1rem; }

.gallery-lightbox{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(1rem,4vw,4rem);
  background:rgba(28,24,21,.84);
  opacity:0; visibility:hidden;
  transition:opacity .28s ease, visibility .28s ease;
}
.gallery-lightbox.is-active{ opacity:1; visibility:visible; }
.gallery-lightbox img{ max-width:min(92vw,1180px); max-height:86vh; object-fit:contain; border-radius:32px 6px 32px 6px; box-shadow:0 40px 120px rgba(0,0,0,.36); }
.gallery-lightbox-close{ position:absolute; right:2rem; top:1.5rem; width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,255,255,.90); color:var(--pomegranate-ink); font-size:2rem; line-height:1; cursor:pointer; }

/* Pomegranate dot cursor with soft trail */
@media (pointer:fine){
  html.has-pom-cursor, html.has-pom-cursor *{ cursor:none !important; }
  .pom-cursor{
    position:fixed; left:0; top:0; width:10px; height:10px;
    border-radius:50%; background:var(--pomegranate-ink);
    pointer-events:none; z-index:10000;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 6px rgba(143,133,121,.08), 0 0 22px rgba(143,133,121,.22);
    transition:width .18s ease, height .18s ease, opacity .18s ease;
  }
  .pom-cursor.is-hover{ width:18px; height:18px; background:#7C746B; box-shadow:0 0 0 10px rgba(143,133,121,.10), 0 0 34px rgba(143,133,121,.34); }
  .pom-trail{
    position:fixed; width:7px; height:7px; border-radius:50%;
    background:rgba(143,133,121,.30); pointer-events:none; z-index:9999;
    transform:translate(-50%,-50%);
    animation:pomTrail .7s ease forwards;
  }
  @keyframes pomTrail{ to{ opacity:0; transform:translate(-50%,-50%) scale(2.8); } }
}

/* mobile safety */
@media(max-width:980px){
  .hero-editorial{ min-height:82vh !important; background-position:68% center !important; }
  .hero-editorial .hero-glass-card{ margin:clamp(1rem,4vw,2rem) !important; padding:clamp(1.5rem,6vw,3rem) !important; }
  .gallery-stack-intro,.gallery-flow{ grid-template-columns:1fr !important; }
  .gallery-stack{ min-height:auto; padding-top:6rem; }
  .gallery-stack-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; min-height:auto; }
  .stack-photo,.gallery-stack.is-open .stack-photo{ position:relative; left:auto !important; top:auto !important; width:100% !important; transform:none !important; }
  .gallery-flow-image.is-wide{ grid-column:auto; }
}
@media(max-width:560px){
  .hero-editorial{ background-position:72% center !important; }
  .hero-editorial .hero-glass-card{ border-radius:34px 6px 34px 6px; }
  .gallery-stack-grid{ grid-template-columns:1fr; }
  .gallery-stack-toggle{ left:1rem; right:auto; }
  .stack-photo button,.gallery-flow-image,.gallery-lightbox img{ border-radius:28px 6px 28px 6px; }
}


/* ============================================================
   CLIENT REVISION · beaubox inspired calm premium polish
   ============================================================ */
:root{
  --bg:#F7F4EF;
  --bg-elev:#EEE8DF;
  --text:#1E1B18;
  --text-muted:#736A62;
  --accent:#9B8F82;
  --accent-deep:#6F655D;
  --accent-pale:#DDD3C8;
  --line:rgba(132,120,108,.20);
  --luxury-blush:#ECE2DC;
  --luxury-sage:#DDE0D6;
  --luxury-greige:#D9D1C7;
  --shadow-sm:0 8px 24px rgba(37,29,24,.045);
  --shadow-md:0 18px 52px rgba(37,29,24,.08);
  --shadow-lg:0 32px 90px rgba(37,29,24,.11);
}
html, body{ cursor:auto !important; }
.lang-toggle,.drawer-lang,.pom-cursor,.pom-trail{ display:none !important; }
html.has-pom-cursor, html.has-pom-cursor *{ cursor:auto !important; }
body{
  background:
    radial-gradient(circle at 18% 8%, rgba(236,226,220,.82), transparent 32rem),
    radial-gradient(circle at 88% 28%, rgba(221,224,214,.70), transparent 26rem),
    linear-gradient(180deg,#F9F6F1 0%,#F7F4EF 48%,#F4EEE7 100%) !important;
}
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:linear-gradient(120deg, rgba(255,255,255,.55), transparent 38%, rgba(222,213,202,.24));
  opacity:.78;
}
.site-header{
  background:rgba(249,246,241,.82) !important;
  backdrop-filter:blur(20px) saturate(120%);
  border-bottom:1px solid rgba(132,120,108,.13) !important;
  box-shadow:0 10px 34px rgba(35,25,20,.045);
}
.nav-logo img{ filter:grayscale(1) contrast(1.08); height:52px; }
.nav-links{ gap:clamp(1rem,2vw,1.8rem); }
.nav-links a{ letter-spacing:.16em; color:rgba(30,27,24,.62); }
.nav-links a:hover,.nav-links a[aria-current="page"]{ color:var(--text); }
.nav-cta,.btn{
  border-radius:999px !important;
  letter-spacing:.14em;
  box-shadow:none;
}
.btn-primary,.nav-cta{
  background:linear-gradient(135deg,#2B2521,#6F655D) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  box-shadow:0 16px 42px rgba(37,29,24,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.btn-primary:hover,.nav-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 58px rgba(37,29,24,.22), 0 0 0 6px rgba(155,143,130,.12) !important;
}
.btn-ghost{
  background:rgba(255,255,255,.36) !important;
  border:1px solid rgba(132,120,108,.22) !important;
  color:var(--text) !important;
}
.btn-ghost:hover{ background:rgba(255,255,255,.65) !important; box-shadow:0 14px 38px rgba(37,29,24,.08); }
h1,h2,h3,.heading-xl,.heading-lg,.heading-md,.hero-headline,.display{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:500 !important;
  letter-spacing:-.025em;
  text-transform:none !important;
}
.eyebrow{ color:rgba(30,27,24,.52) !important; letter-spacing:.22em; }
.hero-editorial{
  min-height:88vh !important;
  display:flex !important;
  align-items:center;
  background-image:linear-gradient(90deg, rgba(249,246,241,.96) 0%, rgba(249,246,241,.82) 35%, rgba(249,246,241,.26) 62%, rgba(249,246,241,.10) 100%), url('../images/bridal.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  overflow:hidden;
}
.hero-editorial::before{
  content:''; position:absolute; inset:auto -8vw -15vh auto; width:42vw; height:42vw; border-radius:50%;
  background:radial-gradient(circle, rgba(222,213,202,.48), transparent 67%); pointer-events:none;
}
.hero-editorial::after{
  content:''; position:absolute; left:-12vw; top:16%; width:42vw; height:42vw; border-radius:50%;
  background:radial-gradient(circle, rgba(236,226,220,.55), transparent 66%); pointer-events:none;
}
.hero-bg-stack,.hero-main-frame,.hero-image,.hero-image-border{ display:none !important; }
.hero-glass-card{
  max-width:min(650px,calc(100% - 2rem)) !important;
  margin-left:clamp(1rem,5vw,4rem) !important;
  padding:clamp(2rem,5vw,4.4rem) !important;
  border-radius:46px 8px 46px 8px !important;
  background:linear-gradient(135deg, rgba(255,252,247,.82), rgba(247,244,239,.58)) !important;
  box-shadow:0 34px 100px rgba(37,29,24,.12), inset 0 1px 0 rgba(255,255,255,.72) !important;
  backdrop-filter:blur(13px);
}
.hero-headline{ font-size:clamp(3.3rem,7vw,6.8rem) !important; line-height:.95 !important; margin-bottom:1.2rem !important; }
.hero-sub{ color:rgba(30,27,24,.72) !important; font-size:1.08rem !important; line-height:1.78 !important; }
.section,.section-sm,.services-section,.studio-section,.bridal-section,.reviews-section,.portfolio-section,.gallery-stack-section,.gallery-flow-section,.service-category{
  position:relative; overflow:hidden;
}
.section::before,.service-category::before,.reviews-section::before,.gallery-stack-section::before{
  content:''; position:absolute; width:34rem; height:34rem; border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle, rgba(255,255,255,.55), rgba(221,211,200,.18) 45%, transparent 70%);
  right:-18rem; top:-12rem;
}
.container{ position:relative; z-index:1; }
.services-grid{
  gap:clamp(1rem,2vw,1.5rem) !important;
  background:transparent !important;
}
.service-tile,.review-card,.about-value,.contact-channel,.service-item,.gallery-flow-copy{
  border:0 !important;
  background:linear-gradient(145deg, rgba(255,252,247,.64), rgba(238,232,223,.48)) !important;
  box-shadow:0 18px 54px rgba(37,29,24,.075), inset 0 1px 0 rgba(255,255,255,.62) !important;
  border-radius:34px 8px 34px 8px !important;
}
.service-tile{ aspect-ratio:4/5 !important; }
.service-tile:nth-child(4){ min-height:420px; }
.service-tile img{ filter:saturate(.96) contrast(1.02); }
.service-tile-overlay{ background:linear-gradient(to top, rgba(30,27,24,.64), rgba(30,27,24,.10), transparent) !important; }
.service-category-inner{
  align-items:start !important;
  gap:clamp(2rem,6vw,6rem) !important;
}
.service-category-img{
  border-radius:42px 8px 42px 8px !important;
  box-shadow:0 26px 72px rgba(37,29,24,.10) !important;
  border:0 !important;
}
.service-list{ gap:1rem !important; }
.service-item{
  padding:clamp(1.25rem,2.5vw,2rem) !important;
  align-items:center !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
.service-item:hover{ transform:translateY(-3px); box-shadow:0 24px 68px rgba(37,29,24,.11), inset 0 1px 0 rgba(255,255,255,.7) !important; }
.service-item-name{ font-size:clamp(1.28rem,2vw,1.7rem) !important; }
.service-item-desc{ max-width:58ch; color:rgba(30,27,24,.62) !important; }
.service-item-meta{
  min-width:130px; min-height:96px;
  border-radius:50% 50% 48% 52%;
  background:linear-gradient(145deg, rgba(255,255,255,.76), rgba(221,211,200,.40));
  display:flex !important; align-items:center !important; justify-content:center !important; flex-direction:column !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.54), 0 14px 38px rgba(37,29,24,.08);
}
.service-item-price{ font-family:'Cormorant Garamond',serif !important; font-size:2rem !important; color:#2B2521 !important; }
.service-item-duration{ color:rgba(30,27,24,.52) !important; letter-spacing:.08em; text-transform:uppercase; font-size:.58rem !important; }
.bridal-badge{
  border-radius:999px !important;
  background:linear-gradient(135deg,#F9F6F1,#D9D1C7) !important;
  box-shadow:0 20px 60px rgba(37,29,24,.16), inset 0 1px 0 rgba(255,255,255,.70) !important;
}
.bridal-badge-price{ color:#2B2521 !important; }
.bridal-badge-label{ color:rgba(30,27,24,.55) !important; }
.about-values{
  display:grid !important;
  grid-template-columns:1.2fr .9fr 1.05fr !important;
  gap:clamp(1rem,2.4vw,2rem) !important;
  align-items:start !important;
}
.about-value:nth-child(2){ margin-top:clamp(2rem,5vw,4rem); }
.about-value:nth-child(3){ margin-top:clamp(1rem,3vw,2rem); }
.gallery-stack-hero{ background:transparent !important; }
.gallery-stack-intro{ align-items:end !important; }
.gallery-stack{
  background:linear-gradient(145deg, rgba(255,252,247,.72), rgba(238,232,223,.42)) !important;
  border:0 !important;
  min-height:560px !important;
  box-shadow:0 30px 90px rgba(37,29,24,.09), inset 0 1px 0 rgba(255,255,255,.68) !important;
}
.stack-photo{ width:min(250px,20vw) !important; }
.stack-photo button{
  border:0 !important;
  border-radius:28px 7px 28px 7px !important;
  box-shadow:0 22px 58px rgba(37,29,24,.16) !important;
}
.gallery-stack.is-open .stack-photo{ width:min(220px,18vw) !important; }
.gallery-flow{ grid-template-columns:1fr .72fr !important; }
.gallery-flow-image{ min-height:clamp(300px,34vw,470px) !important; border-radius:38px 8px 38px 8px !important; box-shadow:0 24px 66px rgba(37,29,24,.09) !important; }
.gallery-flow-image.is-wide{ min-height:clamp(320px,36vw,500px) !important; }
.footer-brand-name{text-transform:none!important;letter-spacing:.04em;}
@media(max-width:980px){
  .hero-editorial{ min-height:76vh !important; background-position:58% center !important; }
  .hero-glass-card{ margin:clamp(1rem,5vw,2rem) !important; }
  .service-category-inner,.bridal-inner,.studio-inner,.about-hero,.kontakt-inner{ grid-template-columns:1fr !important; }
  .about-values{ grid-template-columns:1fr !important; }
  .about-value:nth-child(n){ margin-top:0 !important; }
  .services-grid{ grid-template-columns:1fr 1fr !important; }
}
@media(max-width:640px){
  .hero-editorial{ background-position:62% center !important; }
  .hero-headline{ font-size:clamp(2.8rem,16vw,4.6rem) !important; }
  .hero-glass-card{ border-radius:34px 7px 34px 7px !important; }
  .services-grid{ grid-template-columns:1fr !important; }
  .service-item{ grid-template-columns:1fr !important; align-items:start !important; }
  .service-item-meta{ min-width:106px; min-height:82px; margin-top:1rem; }
  .gallery-stack{ min-height:auto !important; padding:5rem 1rem 1rem !important; }
  .gallery-stack-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:.85rem !important; }
  .stack-photo,.gallery-stack.is-open .stack-photo{ position:relative !important; width:100% !important; left:auto !important; top:auto !important; transform:none !important; }
}

/* ============================================================
   FINAL CLIENT LOGO HERO REVISION
   Kundin: Logo als Hero, darunter Bedeutung von Logo und Name
   ============================================================ */
.hero-logo-page{
  position:relative !important;
  min-height:88vh !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.72), transparent 32%),
    radial-gradient(circle at 82% 70%, rgba(143,133,121,.11), transparent 34%),
    linear-gradient(135deg, #f7f2ec 0%, #efe7dd 52%, #f8f3ee 100%) !important;
}
.hero-logo-page::before,
.hero-logo-page::after{
  content:'';
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.055;
  background-image:url('../images/logo.svg');
  background-repeat:no-repeat;
  background-size:contain;
  filter:grayscale(1) contrast(1.2);
}
.hero-logo-page::before{
  width:min(72vw,900px);
  height:min(32vw,390px);
  right:-12vw;
  top:5vh;
  transform:rotate(-6deg);
}
.hero-logo-page::after{
  width:min(55vw,680px);
  height:min(25vw,310px);
  left:-12vw;
  bottom:2vh;
  transform:rotate(8deg);
}
.hero-logo-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg, rgba(247,242,236,.96), rgba(247,242,236,.78) 44%, rgba(247,242,236,.42)),
    url('../images/bridal.png');
  background-size:cover;
  background-position:68% center;
  opacity:.30;
  mix-blend-mode:multiply;
}
.hero-logo-content{
  position:relative;
  z-index:1;
  max-width:1120px !important;
  display:grid;
  grid-template-columns:minmax(280px,520px) minmax(0,1fr);
  gap:clamp(2rem,5vw,5.5rem);
  align-items:center;
  padding-block:clamp(5rem,9vw,8rem);
}
.hero-logo-kicker{
  grid-column:1 / -1;
  margin-bottom:-1.5rem;
  color:rgba(28,24,21,.55) !important;
}
.hero-brand-mark{
  width:min(100%,560px);
  height:auto;
  display:block;
  filter:grayscale(1) contrast(1.16);
  opacity:.96;
  transform:translateY(-.5rem);
}
.hero-name-meaning{
  position:relative;
  padding:clamp(1.4rem,3vw,2.8rem);
  border-radius:42px 8px 42px 8px;
  background:linear-gradient(135deg, rgba(255,252,248,.72), rgba(255,255,255,.38));
  box-shadow:0 34px 100px rgba(55,43,34,.10), inset 0 1px 0 rgba(255,255,255,.65);
  backdrop-filter:blur(10px);
}
.hero-name-meaning::before{
  content:'';
  position:absolute;
  inset:1rem;
  border-radius:34px 6px 34px 6px;
  border:1px solid rgba(143,133,121,.10);
  pointer-events:none;
}
.hero-logo-page .hero-headline{
  font-size:clamp(2.6rem,5.4vw,5.7rem) !important;
  line-height:1.02 !important;
  color:#1c1815 !important;
  margin:0 0 1.2rem !important;
}
.hero-logo-page .hero-sub{
  font-size:clamp(1rem,1.3vw,1.13rem) !important;
  line-height:1.85 !important;
  color:rgba(28,24,21,.72) !important;
  max-width:58ch !important;
  margin-bottom:1rem !important;
}
.hero-logo-page .hero-sub-secondary{
  color:rgba(28,24,21,.62) !important;
}
.hero-logo-page .hero-actions{ margin-top:1.75rem; }
.about-logo-meaning{
  background:linear-gradient(180deg, rgba(255,255,255,.26), rgba(239,231,221,.42));
}
.logo-meaning-inner{
  display:grid;
  grid-template-columns:minmax(220px,360px) minmax(0,1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.logo-meaning-mark{
  padding:clamp(1.5rem,4vw,2.5rem);
  border-radius:42px 8px 42px 8px;
  background:rgba(255,255,255,.45);
  box-shadow:0 24px 70px rgba(37,29,24,.08);
}
.logo-meaning-mark img{
  width:100%;
  height:auto;
  filter:grayscale(1) contrast(1.14);
  opacity:.92;
}
@media (max-width: 860px){
  .hero-logo-page{ min-height:auto !important; }
  .hero-logo-content{
    grid-template-columns:1fr;
    gap:1.6rem;
    padding-block:5.5rem 4rem;
  }
  .hero-logo-kicker{ margin-bottom:0; }
  .hero-brand-mark{ max-width:360px; margin-inline:auto; }
  .hero-name-meaning{ padding:1.5rem; border-radius:32px 7px 32px 7px; }
  .hero-logo-bg{ background-position:62% center; opacity:.22; }
  .logo-meaning-inner{ grid-template-columns:1fr; }
  .logo-meaning-mark{ max-width:320px; }
}


/* ============================================================
   CLIENT FINAL CLEANUP: Greyish Beige palette, centered logo hero,
   German only, full gallery stack with arrows
   ============================================================ */
:root{
  --bg:#F7F3EE;
  --bg-elev:#EEE9E2;
  --text:#1E1C19;
  --text-muted:#736C64;
  --accent:#8A8178;
  --accent-deep:#625B53;
  --accent-pale:#DDD4CA;
  --line:#E4DDD4;
  --pomegranate-ink:#8A8178;
  --pomegranate-glow:rgba(143,133,121,.24);
  --pomegranate-wash:rgba(143,133,121,.09);
  --logo-pomegranate:url("data:image/svg+xml,%3Csvg width='260' height='300' viewBox='0 0 260 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238A8178' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M130 58c52 0 96 42 96 96 0 70-46 118-96 118S34 224 34 154c0-54 44-96 96-96Z'/%3E%3Cpath d='M103 60c2-23 10-37 27-50 17 13 25 27 27 50'/%3E%3Cpath d='M108 18c12 12 32 12 44 0'/%3E%3Cpath d='M91 126c14-17 34-25 58-20 24 5 41 20 52 43'/%3E%3Cpath d='M70 184c23 13 47 16 70 8 24-8 42-25 54-49'/%3E%3Cpath d='M105 116c-15 32-10 65 14 94'/%3E%3Cpath d='M153 114c11 34 4 65-21 95'/%3E%3C/g%3E%3Cg fill='%238A8178' opacity='.44'%3E%3Ccircle cx='86' cy='154' r='3.2'/%3E%3Ccircle cx='116' cy='138' r='3.2'/%3E%3Ccircle cx='143' cy='148' r='3.2'/%3E%3Ccircle cx='169' cy='169' r='3.2'/%3E%3Ccircle cx='111' cy='177' r='3.2'/%3E%3Ccircle cx='141' cy='190' r='3.2'/%3E%3C/g%3E%3C/svg%3E");
}
html,body{ background:var(--bg); }
.lang-toggle,.drawer-lang{ display:none !important; }
.nav-right{ gap:.75rem !important; }
.nav-logo img{ filter:grayscale(1) contrast(1.08); }

.hero-logo-page{
  min-height:88vh !important;
  background:linear-gradient(180deg,#FFFFFF 0%,#FDFBF8 42%,#F4EFE8 100%) !important;
  display:flex !important;
  align-items:center !important;
  text-align:center !important;
}
.hero-logo-page::before,
.hero-logo-page::after{
  background-image:var(--logo-pomegranate) !important;
  filter:none !important;
  opacity:.075 !important;
}
.hero-logo-bg{
  background:
    radial-gradient(circle at 16% 25%,rgba(143,133,121,.12),transparent 28rem),
    radial-gradient(circle at 85% 68%,rgba(221,212,202,.30),transparent 30rem) !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.hero-logo-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(1.25rem,3vw,2.35rem) !important;
  max-width:1040px !important;
  padding-block:clamp(5.5rem,9vw,8rem) !important;
}
.hero-logo-kicker{ margin:0 !important; color:rgba(30,28,25,.56) !important; }
.hero-brand-mark{
  width:min(86vw,720px) !important;
  max-height:280px !important;
  object-fit:contain !important;
  margin:0 auto !important;
  display:block !important;
  filter:grayscale(1) contrast(1.12) !important;
  opacity:1 !important;
  transform:none !important;
}
.hero-name-meaning{
  max-width:780px !important;
  padding:0 !important;
  margin:0 auto !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
}
.hero-name-meaning::before{ display:none !important; }
.hero-logo-page .hero-headline{
  font-size:clamp(2.35rem,5vw,5.1rem) !important;
  line-height:1.04 !important;
  margin-bottom:1rem !important;
  color:#161412 !important;
}
.hero-logo-page .hero-sub{
  margin-inline:auto !important;
  color:rgba(30,28,25,.73) !important;
}
.hero-actions{ justify-content:center !important; }
.services-subtitle{
  margin-top:1rem;
  color:var(--text-muted);
  font-size:clamp(1rem,1.4vw,1.12rem);
  line-height:1.78;
  max-width:72ch;
}
.services-header{ align-items:flex-start !important; }

.gallery-stack-section{ padding-top:clamp(2.5rem,5vw,4.5rem) !important; }
.gallery-stack-intro{
  max-width:920px;
  margin:0 auto clamp(2rem,4vw,3.25rem) !important;
  text-align:center;
  display:block !important;
}
.gallery-stack-intro p:last-child{ margin:1rem auto 0 !important; max-width:58ch !important; }
.gallery-stack{
  min-height:clamp(520px,58vw,760px) !important;
  padding:clamp(7rem,10vw,9rem) clamp(1rem,3vw,2rem) clamp(2rem,4vw,3rem) !important;
  overflow:visible !important;
  background:
    radial-gradient(circle at center,rgba(255,255,255,.74),rgba(238,233,226,.48) 60%,rgba(238,233,226,.2)),
    linear-gradient(145deg,rgba(255,255,255,.58),rgba(238,233,226,.40)) !important;
  border-radius:46px 12px 46px 12px !important;
}
.gallery-stack::before{
  width:210px !important;
  height:244px !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) rotate(-8deg) !important;
  opacity:.10 !important;
}
.gallery-stack-toggle{
  left:50% !important;
  right:auto !important;
  top:clamp(1.6rem,3vw,2.4rem) !important;
  transform:translateX(-50%) !important;
  padding:1.05rem 2.2rem !important;
  min-width:220px !important;
  text-align:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#8A8178,#625B53) !important;
  box-shadow:0 18px 48px rgba(98,91,83,.24) !important;
  font-size:.72rem !important;
  letter-spacing:.18em !important;
}
.gallery-stack-toggle:hover{ transform:translateX(-50%) translateY(-2px) !important; box-shadow:0 24px 62px rgba(98,91,83,.28) !important; }
.gallery-stack-grid{ min-height:520px !important; }
.stack-photo{ width:min(230px,17vw) !important; transition:left .55s cubic-bezier(.16,1,.3,1), top .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1), opacity .25s ease !important; }
.stack-photo button{ border-radius:26px 8px 26px 8px !important; box-shadow:0 22px 62px rgba(45,38,33,.16) !important; background:#fff; }
.stack-photo img{ filter:saturate(.96) contrast(1.02); }
.gallery-stack:not(.is-open) .stack-photo{ left:50% !important; top:52% !important; }
.gallery-stack.is-open .gallery-stack-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr)) !important;
  gap:clamp(.9rem,1.8vw,1.35rem) !important;
  min-height:auto !important;
  align-items:start !important;
}
.gallery-stack.is-open .stack-photo{
  position:relative !important;
  width:100% !important;
  left:auto !important;
  top:auto !important;
  transform:rotate(var(--r)) !important;
  aspect-ratio:4/5 !important;
}
.gallery-stack.is-open .stack-photo button{ height:100%; }
.gallery-stack.is-open .stack-photo:hover{ transform:rotate(0deg) translateY(-4px) !important; }
.gallery-stack.is-open .gallery-stack-toggle{ background:linear-gradient(135deg,#625B53,#8A8178) !important; }
.gallery-lightbox{ background:rgba(28,25,22,.72) !important; backdrop-filter:blur(14px); }
.gallery-lightbox-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#302B27;
  font-size:2.5rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.gallery-lightbox-prev{ left:clamp(1rem,3vw,2.5rem); }
.gallery-lightbox-next{ right:clamp(1rem,3vw,2.5rem); }
.gallery-lightbox-close{ color:#302B27 !important; }

@media (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.has-pom-cursor, html.has-pom-cursor *{ cursor:none !important; }
  .pom-cursor{ background:#8A8178 !important; box-shadow:0 0 0 6px rgba(143,133,121,.09),0 0 24px rgba(143,133,121,.25) !important; display:block !important; }
  .pom-cursor.is-hover{ background:#625B53 !important; box-shadow:0 0 0 10px rgba(143,133,121,.12),0 0 34px rgba(143,133,121,.32) !important; }
  .pom-trail{ background:rgba(143,133,121,.25) !important; display:block !important; }
}
@media (max-width:860px){
  .hero-brand-mark{ width:min(88vw,440px) !important; }
  .hero-logo-content{ padding-block:5rem 4rem !important; }
  .gallery-stack{ min-height:auto !important; padding-top:6.5rem !important; }
  .gallery-stack-grid{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.9rem !important; min-height:auto !important; }
  .stack-photo,.gallery-stack.is-open .stack-photo{ position:relative !important; left:auto !important; top:auto !important; width:100% !important; transform:none !important; }
  .gallery-lightbox-arrow{ width:44px; height:44px; font-size:2rem; }
}
@media (max-width:560px){
  .gallery-stack-grid,.gallery-stack.is-open .gallery-stack-grid{ grid-template-columns:1fr !important; }
  .gallery-stack-toggle{ min-width:190px !important; }
  .gallery-lightbox img{ max-width:86vw !important; }
}

/* ============================================================
   CLIENT PATCH · requested cleanup only
   Removes added pomegranate motifs, fixes service spacing,
   contact labels, gallery stack sharpness and portfolio crops.
   ============================================================ */
.hero-logo-page::before,
.hero-logo-page::after,
.hero-editorial::after,
.section::after,
.section-sm::after,
.service-category::after,
.gallery-stack-section::after,
.gallery-flow-section::after,
.leistungen-hero::after,
.gallery-stack::before{
  content:none !important;
  display:none !important;
  background-image:none !important;
}

/* four homepage service images: keep shapes, align symmetrically with equal gaps */
.services-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(1.35rem,2.4vw,2.15rem) !important;
  align-items:stretch !important;
}
.service-tile,
.service-tile:nth-child(2),
.service-tile:nth-child(3),
.service-tile:nth-child(4){
  margin-top:0 !important;
  transform:none !important;
}
.service-tile{ min-height:clamp(360px,36vw,520px) !important; }
.service-tile:nth-child(4){ min-height:clamp(360px,36vw,520px) !important; }

/* bottom editorial images: remove unfilled white rectangles, make images fully fill */
.portfolio-feature-card{
  display:flex !important;
  background:transparent !important;
  line-height:0 !important;
}
.portfolio-feature-card img{
  width:100% !important;
  height:auto !important;
  min-height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* Leistungen: keep clear spacing between heading/image and readable centered price bubbles */
.service-category{ padding-block:clamp(4rem,7vw,6.5rem) !important; }
.service-category-inner{ gap:clamp(2.5rem,6vw,6.5rem) !important; align-items:start !important; }
.service-category-sticky .heading-lg{ margin-bottom:clamp(1.4rem,2.8vw,2.3rem) !important; }
.service-category-sticky .service-category-img{ margin-top:0 !important; display:block !important; }
.service-list{ gap:clamp(1rem,2vw,1.4rem) !important; }
.service-item{ column-gap:clamp(1.4rem,3vw,3.2rem) !important; }
.service-item-meta{
  text-align:center !important;
  padding:0 .85rem !important;
  gap:.15rem !important;
  line-height:1.1 !important;
}
.service-item-price{
  width:100% !important;
  text-align:center !important;
  line-height:1 !important;
}
.service-item-price::after{
  margin:.22rem auto .1rem !important;
  text-align:center !important;
  width:100% !important;
  line-height:1 !important;
}
.service-item-duration{
  text-align:center !important;
  max-width:9.5rem !important;
  line-height:1.25 !important;
  white-space:normal !important;
}

/* Gallery stack: sharper card edges before opening; no fuzzy/white card bleed */
.gallery-stack{
  overflow:hidden !important;
  box-shadow:0 24px 70px rgba(37,29,24,.08), inset 0 0 0 1px rgba(255,255,255,.66) !important;
}
.stack-photo{
  filter:none !important;
  backface-visibility:hidden !important;
  -webkit-font-smoothing:antialiased;
}
.stack-photo button{
  background:transparent !important;
  border:1px solid rgba(132,120,108,.18) !important;
  box-shadow:0 16px 42px rgba(37,29,24,.13) !important;
}
.stack-photo img{
  transform:translateZ(0) !important;
  filter:contrast(1.02) saturate(.98) !important;
}

@media(max-width:980px){
  .services-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .service-category{ padding-block:clamp(3rem,7vw,5rem) !important; }
}
@media(max-width:640px){
  .services-grid{ grid-template-columns:1fr !important; }
  .service-item-meta{ align-self:flex-start !important; }
}

/* ============================================================
   CLIENT PATCH 2 · prices, red accents and privacy checkbox only
   ============================================================ */
:root{
  --accent:#8A8178 !important;
  --accent-deep:#625B53 !important;
  --accent-pale:#EFE7DD !important;
  --pomegranate:#8A8178 !important;
  --pomegranate-ink:#8A8178 !important;
  --pomegranate-soft:#D6CDC3 !important;
  --pomegranate-pale:#EFE7DD !important;
}

/* remove remaining red/pink UI accents, keep all image colors untouched */
.btn-primary,
.nav-cta,
.nav-cta:hover,
.hero-actions .btn-primary,
.gallery-stack.is-open .gallery-stack-toggle,
.gallery-stack-toggle:hover,
.cta-channel,
.contact-channel:hover,
.lang-btn.active{
  background:linear-gradient(135deg,#8A8178,#625B53) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 18px 52px rgba(98,91,83,.18) !important;
}
.btn-primary:hover,
.hero-actions .btn-primary:hover,
.nav-cta:hover{
  background:linear-gradient(135deg,#726A62,#4F4942) !important;
  color:#fff !important;
  box-shadow:0 18px 46px rgba(98,91,83,.22) !important;
}
.btn-ghost:hover,
.btn:hover{
  border-color:rgba(98,91,83,.38) !important;
}
.section::before,
.service-tile::after,
.review-card::before,
.service-category::before,
.reviews-section::before{
  background:rgba(143,133,121,.14) !important;
}
body,
.hero-logo-page,
.leistungen-hero,
.reviews-section{
  background-color:var(--bg) !important;
}

/* Leistungen: AB belongs above the price, centered and consistent */
.service-item{
  align-items:center !important;
}
.service-item-meta{
  min-width:clamp(122px,10vw,150px) !important;
  min-height:clamp(88px,7.5vw,112px) !important;
  padding:.75rem .9rem !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:.22rem !important;
}
.service-item-price{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  text-align:center !important;
  line-height:.95 !important;
  font-size:clamp(1.75rem,2.55vw,2.35rem) !important;
  color:#2B2521 !important;
}
.service-item-price::before{
  content:'AB' !important;
  display:block !important;
  order:-1 !important;
  width:100% !important;
  margin:0 0 .18rem !important;
  font-family:'Inter','Plus Jakarta Sans',sans-serif !important;
  font-size:.56rem !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:rgba(30,27,24,.48) !important;
}
.service-item-price::after{
  content:none !important;
  display:none !important;
}
.service-item-duration{
  width:100% !important;
  max-width:9.6rem !important;
  margin:0 auto !important;
  text-align:center !important;
  line-height:1.18 !important;
  white-space:normal !important;
  font-size:clamp(.55rem,.68vw,.68rem) !important;
  letter-spacing:.09em !important;
}
.service-category-sticky .heading-lg{
  margin-bottom:clamp(1.65rem,3vw,2.6rem) !important;
}
.service-category-sticky .service-category-img{
  margin-top:0 !important;
}

/* Datenschutz checkbox: no harsh black box, only a clean dark curved check */
.form-check{
  align-items:center !important;
  gap:.85rem !important;
}
.form-check input[type="checkbox"]{
  position:relative !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:999px !important;
  border:1px solid rgba(30,27,24,.28) !important;
  background:rgba(255,250,244,.78) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.70), 0 8px 22px rgba(30,27,24,.08) !important;
  cursor:pointer !important;
}
.form-check input[type="checkbox"]:checked{
  background:rgba(255,250,244,.90) !important;
  border-color:rgba(30,27,24,.42) !important;
}
.form-check input[type="checkbox"]:checked::after{
  content:'✓' !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-58%) rotate(-7deg) !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:1.35rem !important;
  line-height:1 !important;
  font-weight:600 !important;
  color:#14110F !important;
}
.form-check-label a{
  color:#625B53 !important;
  text-decoration-color:rgba(98,91,83,.45) !important;
}
.form-input.error,
.form-select.error,
.form-textarea.error{
  border-color:#8A8178 !important;
  box-shadow:inset 0 0 0 1px rgba(138,129,120,.42) !important;
}
input[type="checkbox"].error{
  outline:2px solid rgba(138,129,120,.45) !important;
  outline-offset:3px !important;
}

@media(max-width:760px){
  .service-item-meta{
    min-width:118px !important;
    min-height:86px !important;
    align-self:flex-start !important;
  }
}

/* ============================================================
   CLIENT PATCH 3 · hero spacing, homepage treatment grid, price bubbles
   Only requested adjustments; existing layout/palette remains intact.
   ============================================================ */

/* Homepage logo: first viewport should breathe, with all text moved below the initial logo view */
.hero-logo-page{
  min-height:145vh !important;
  align-items:flex-start !important;
}
.hero-logo-content{
  justify-content:flex-start !important;
  min-height:145vh !important;
  padding-top:clamp(7.5rem,16vh,12rem) !important;
  padding-bottom:clamp(4rem,8vw,7rem) !important;
  gap:0 !important;
}
.hero-brand-mark{
  order:1 !important;
  margin:0 auto !important;
}
.hero-logo-kicker{
  order:2 !important;
  margin-top:clamp(22vh,28vh,32vh) !important;
  margin-bottom:clamp(1rem,2vw,1.4rem) !important;
}
.hero-name-meaning{
  order:3 !important;
}

/* Behandlungen: keep scroll reveal, but arrange the four cards in a clean symmetric square */
.services-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(1.4rem,3vw,2.4rem) !important;
  max-width:980px !important;
  margin-inline:auto !important;
  align-items:stretch !important;
}
.service-tile,
.service-tile:nth-child(1),
.service-tile:nth-child(2),
.service-tile:nth-child(3),
.service-tile:nth-child(4){
  grid-column:auto !important;
  margin-top:0 !important;
  min-height:clamp(420px,42vw,560px) !important;
  aspect-ratio:4/5 !important;
  transform:none !important;
}
.service-tile:hover{
  transform:translateY(-4px) !important;
}
.service-tile:nth-child(1),
.service-tile:nth-child(2){ align-self:stretch !important; }
.service-tile:nth-child(3),
.service-tile:nth-child(4){ align-self:stretch !important; }

/* Leistungen price bubbles: same shape, centered content, AB above price on every item */
.service-item{
  grid-template-columns:minmax(0,1fr) clamp(132px,11vw,158px) !important;
  align-items:center !important;
}
.service-item-meta{
  width:clamp(132px,11vw,158px) !important;
  height:clamp(102px,8.4vw,122px) !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:.78rem .95rem !important;
  border-radius:999px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.18rem !important;
  text-align:center !important;
  background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(221,211,200,.42)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.66), 0 16px 42px rgba(37,29,24,.075) !important;
}
.service-item-price{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  font-size:clamp(1.72rem,2.35vw,2.2rem) !important;
  line-height:.96 !important;
  text-align:center !important;
  letter-spacing:-.02em !important;
  color:#2B2521 !important;
  white-space:nowrap !important;
}
.service-item-price::before{
  content:'AB' !important;
  display:block !important;
  order:-1 !important;
  width:100% !important;
  margin:0 0 .22rem !important;
  font-family:'Inter','Plus Jakarta Sans',sans-serif !important;
  font-size:.56rem !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:rgba(30,27,24,.48) !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.service-item-price::after{
  content:none !important;
  display:none !important;
}
.service-item-duration{
  display:block !important;
  width:100% !important;
  max-width:7.8rem !important;
  margin:0 auto !important;
  text-align:center !important;
  line-height:1.18 !important;
  white-space:normal !important;
  font-size:clamp(.56rem,.66vw,.66rem) !important;
  letter-spacing:.085em !important;
  color:rgba(30,27,24,.52) !important;
  text-transform:uppercase !important;
}

@media(max-width:980px){
  .hero-logo-page{ min-height:130vh !important; }
  .hero-logo-content{ min-height:130vh !important; padding-top:clamp(6rem,14vh,8rem) !important; }
  .hero-logo-kicker{ margin-top:20vh !important; }
  .service-item{ grid-template-columns:1fr !important; }
  .service-item-meta{ margin-top:1rem !important; justify-self:start !important; }
}
@media(max-width:640px){
  .services-grid{ grid-template-columns:1fr !important; max-width:480px !important; }
  .hero-logo-page{ min-height:122vh !important; }
  .hero-logo-kicker{ margin-top:16vh !important; }
}

/* ============================================================
   CLIENT PATCH 4 · Start logo-only first viewport + duration text cleanup
   Only requested adjustments; no layout/palette rebuild.
   ============================================================ */

/* Startseite: beim ersten Öffnen soll nur das Logo sichtbar sein; Text bleibt unverändert, beginnt erst darunter */
.hero-logo-page{
  min-height:185vh !important;
}
.hero-logo-content{
  min-height:185vh !important;
  padding-top:clamp(7.2rem,15vh,11rem) !important;
}
.hero-logo-kicker{
  margin-top:clamp(52vh,58vh,66vh) !important;
}
.hero-name-meaning{
  margin-top:0 !important;
}

/* Leistungen: Dauer-/Infozeile unter dem Preis sauber, gleich und mittig in jeder Bubble */
.service-item-meta{
  width:clamp(146px,12vw,172px) !important;
  height:clamp(118px,9vw,138px) !important;
  padding:.92rem 1rem !important;
  gap:.22rem !important;
  overflow:visible !important;
}
.service-item-price{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}
.service-item-price::before{
  margin-bottom:.18rem !important;
}
.service-item-duration{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:8.8rem !important;
  min-height:1.15rem !important;
  margin:.2rem auto 0 !important;
  padding:0 .08rem !important;
  text-align:center !important;
  line-height:1.12 !important;
  font-family:'Inter','Plus Jakarta Sans',sans-serif !important;
  font-size:clamp(.6rem,.7vw,.72rem) !important;
  font-weight:500 !important;
  letter-spacing:.095em !important;
  text-transform:uppercase !important;
  color:rgba(30,27,24,.58) !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

@media(max-width:980px){
  .hero-logo-page{ min-height:170vh !important; }
  .hero-logo-content{ min-height:170vh !important; padding-top:clamp(6.5rem,13vh,9rem) !important; }
  .hero-logo-kicker{ margin-top:clamp(50vh,56vh,62vh) !important; }
  .service-item-meta{
    justify-self:start !important;
    width:clamp(146px,38vw,172px) !important;
    height:clamp(118px,30vw,138px) !important;
  }
}
@media(max-width:640px){
  .hero-logo-page{ min-height:165vh !important; }
  .hero-logo-content{ min-height:165vh !important; padding-top:clamp(5.8rem,12vh,7rem) !important; }
  .hero-logo-kicker{ margin-top:clamp(48vh,54vh,60vh) !important; }
  .service-item-meta{
    width:152px !important;
    height:122px !important;
  }
}

/* ============================================================
   CLIENT PATCH 5 · Home logo true center on first viewport
   Only moves the logo down inside the existing logo-only hero.
   ============================================================ */
.hero-logo-content{
  padding-top:clamp(12rem, calc(50vh - 13.25rem), 17rem) !important;
}

@media(max-width:980px){
  .hero-logo-content{
    padding-top:clamp(10.5rem, calc(50vh - 11rem), 15.5rem) !important;
  }
}
@media(max-width:640px){
  .hero-logo-content{
    padding-top:clamp(9.5rem, calc(50vh - 9.5rem), 15.5rem) !important;
  }
}

/* ============================================================
   CLIENT PATCH 6 · premium-soft upgrade against plain/empty feel
   Goal: preserve structure/colors, add depth, editorial softness,
   clearer section rhythm, and more premium card/button treatment.
   ============================================================ */

body{
  background:
    radial-gradient(1200px 600px at 8% 10%, rgba(255,255,255,.66) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(900px 520px at 92% 18%, rgba(232,217,204,.32) 0%, rgba(232,217,204,0) 58%),
    linear-gradient(180deg, #FBF8F4 0%, #F7F2EC 28%, #F5EEE7 60%, #F7F2EC 100%) !important;
  position:relative;
}
body::before,
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
body::before{
  background:
    radial-gradient(780px 420px at 18% 22%, rgba(255,255,255,.60) 0%, rgba(255,255,255,0) 72%),
    radial-gradient(900px 500px at 82% 40%, rgba(184,149,122,.075) 0%, rgba(184,149,122,0) 72%),
    radial-gradient(720px 360px at 52% 88%, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 70%);
  opacity:.95;
}
body::after{
  opacity:.11;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

main,
.section,
.section-sm,
.site-footer,
.hero,
.philosophy-strip,
.bridal-section,
.reviews-section,
.cta-section,
.portfolio-section,
.image-story-section,
.studio-section{
  position:relative;
  isolation:isolate;
}

.site-header{
  background:rgba(247,242,236,.78) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(228,217,204,.72) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.55);
}
.site-header.scrolled{
  box-shadow:0 16px 36px rgba(32,26,22,.07), 0 1px 0 rgba(255,255,255,.58) !important;
}

.hero-logo-page{
  background:
    radial-gradient(900px 420px at 50% 14%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 25%, rgba(232,217,204,.10) 100%) !important;
}
.hero-logo-page::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:160px;
  background:linear-gradient(to bottom, rgba(247,242,236,0), rgba(247,242,236,.94));
  pointer-events:none;
}
.hero-brand-mark{
  filter:drop-shadow(0 20px 40px rgba(35,28,23,.07));
}
.hero-name-meaning{
  position:relative;
}
.hero-name-meaning::before{
  content:'';
  display:block;
  width:62px;
  height:1px;
  margin:0 auto 1.4rem;
  background:linear-gradient(90deg, rgba(184,149,122,0), rgba(184,149,122,.6), rgba(184,149,122,0));
}

.philosophy-strip{
  background:
    linear-gradient(180deg, rgba(16,13,11,.98), rgba(28,24,21,.96)),
    linear-gradient(135deg, rgba(184,149,122,.08), rgba(184,149,122,0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(255,255,255,.05);
}

.image-story-section,
.services-section,
.studio-section,
.portfolio-section{
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0)) !important;
}
.bridal-section,
.reviews-section{
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.10)),
    var(--bg-elev) !important;
}

.image-story-head,
.services-header{
  position:relative;
}
.image-story-head::after,
.services-header::after{
  content:'';
  display:block;
  width:84px;
  height:1px;
  margin-top:1.5rem;
  background:linear-gradient(90deg, rgba(184,149,122,.72), rgba(184,149,122,0));
}

.service-tile,
.image-story-row figure,
.review-card,
.image-story-card,
.portfolio-feature-card,
.portfolio-feature-copy,
.studio-image,
.bridal-image,
.cta-channel,
.contact-channel,
.form-card{
  box-shadow:0 18px 54px rgba(37,29,24,.07), 0 1px 0 rgba(255,255,255,.72) inset !important;
}

.service-tile,
.image-story-row figure,
.portfolio-feature-card,
.studio-image,
.bridal-image{
  overflow:hidden;
}
.service-tile::after,
.image-story-row figure::after,
.portfolio-feature-card::after,
.studio-image::after,
.bridal-image::after{
  content:'';
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.42);
  pointer-events:none;
}
.service-tile:hover,
.image-story-row:hover figure,
.portfolio-feature-card:hover,
.studio-image:hover,
.bridal-image:hover{
  box-shadow:0 24px 68px rgba(37,29,24,.10), 0 1px 0 rgba(255,255,255,.8) inset !important;
}
.service-tile img,
.image-story-row img,
.portfolio-feature-card img,
.studio-image img,
.bridal-image img{
  transform:scale(1.01);
}

.image-story-card,
.portfolio-feature-copy,
.review-card,
.cta-channel,
.form-card,
.contact-channel{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(249,244,238,.88)) !important;
  border:1px solid rgba(228,217,204,.8) !important;
}
.image-story-card::before,
.portfolio-feature-copy::before,
.review-card::before{
  background:linear-gradient(180deg, rgba(184,149,122,.7), rgba(184,149,122,.2)) !important;
}

.review-card{
  padding:2.15rem !important;
}
.review-card:hover,
.image-story-card:hover,
.portfolio-feature-copy:hover,
.cta-channel:hover,
.contact-channel:hover,
.form-card:hover{
  transform:translateY(-4px);
}
.review-stars{
  margin-bottom:1.15rem !important;
}
.review-quote-mark{
  opacity:.7;
}

.portfolio-feature-layout{
  align-items:stretch;
}
.portfolio-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.studio-image,
.bridal-image,
.portfolio-feature-card,
.image-story-row figure{
  background:rgba(255,255,255,.38);
}

.btn,
.nav-cta,
.cta-channel,
.contact-channel{
  box-shadow:0 10px 28px rgba(37,29,24,.06), 0 1px 0 rgba(255,255,255,.55) inset !important;
}
.btn:hover,
.nav-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(37,29,24,.10), 0 1px 0 rgba(255,255,255,.5) inset !important;
}
.btn-ghost,
.nav-cta{
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(239,231,221,.82)) !important;
  border-color:rgba(204,189,176,.9) !important;
}
.btn-primary{
  background:linear-gradient(180deg, #28211D, #181412) !important;
  border-color:#201A17 !important;
}
.btn-primary:hover{
  background:linear-gradient(180deg, #362E29, #221C18) !important;
  border-color:#2B2521 !important;
}

.services-grid{
  position:relative;
}
.services-grid::before{
  content:'';
  position:absolute;
  inset:-1.1rem;
  border:1px solid rgba(228,217,204,.55);
  pointer-events:none;
}
.service-tile-content{
  background:linear-gradient(to top, rgba(22,18,15,.30) 0%, rgba(22,18,15,.06) 58%, rgba(22,18,15,0) 100%);
}
.service-tile-number{
  color:#E9D7C8 !important;
}

.service-item{
  background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(249,244,238,.48)) !important;
  border:1px solid rgba(228,217,204,.64) !important;
  padding:clamp(1.45rem,2.8vw,2.1rem) !important;
}
.service-item:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(249,244,238,.66)) !important;
  transform:translateY(-3px) !important;
  border-radius:0 !important;
}
.service-item-name{
  margin-bottom:.4rem;
}

.cta-section{
  background:
    radial-gradient(500px 260px at 50% 18%, rgba(184,149,122,.15) 0%, rgba(184,149,122,0) 70%),
    linear-gradient(135deg, #171310 0%, #231E1A 48%, #181411 100%) !important;
}
.cta-channels{
  gap:1.1rem !important;
}
.cta-channel{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.cta-channel-icon{
  background:rgba(255,255,255,.06);
}
.cta-form-link{
  display:inline-block;
  margin-top:2.2rem;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.18);
  padding-bottom:.15rem;
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(135deg,#181210,#2A2521) !important;
}
.footer-inner{
  position:relative;
}
.footer-inner::before{
  content:'';
  position:absolute;
  inset:auto 0 calc(100% + 1.2rem) 0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.16), rgba(255,255,255,0));
}

@media(max-width:980px){
  .services-grid::before{ inset:-.7rem; }
  .hero-name-meaning::before{ margin-bottom:1.1rem; }
  .review-card,
  .image-story-card,
  .portfolio-feature-copy,
  .cta-channel{ transform:none !important; }
}

@media(max-width:640px){
  body::after{ opacity:.07; }
  .services-grid::before{ display:none; }
  .hero-name-meaning::before,
  .image-story-head::after,
  .services-header::after{ width:68px; }
  .service-item{ padding:1.25rem !important; }
}

/* ============================================================
   CLIENT PATCH 7 · requested image/content swaps only
   - remove homepage Bridal spotlight section via HTML
   - use client brows image for Lashes & Brows
   - replace lower black-white bridal editorial image with two product images
   ============================================================ */
.portfolio-product-layout{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:clamp(1.4rem,3vw,2.4rem) !important;
}
.portfolio-product-card,
.portfolio-product-card.is-large{
  min-height:clamp(360px,42vw,560px) !important;
  height:auto !important;
  aspect-ratio:4/5 !important;
  transform:none !important;
}
.portfolio-product-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.portfolio-product-copy{
  grid-column:1 / -1 !important;
  max-width:720px !important;
  margin:0 auto !important;
  text-align:center !important;
}
.service-category-img[src*="lashes-brows-closeup-client"],
.service-tile img[src*="lashes-brows-closeup-client"]{
  object-position:center center !important;
}
@media(max-width:760px){
  .portfolio-product-layout{ grid-template-columns:1fr !important; }
  .portfolio-product-copy{ text-align:left !important; }
}


/* V8 Galerie: zwei Produktmotive statt unterem Editorial-Block */
.gallery-product-section { padding-top: clamp(2.5rem, 6vw, 5rem); }
.gallery-product-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2rem);
  align-items: stretch;
}
.gallery-product-image {
  margin: 0;
  min-height: clamp(420px, 34vw, 560px);
  overflow: hidden;
  border: 1px solid rgba(124,116,107,.16);
  box-shadow: 0 28px 76px rgba(28,24,21,.10);
  background: rgba(253,250,247,.72);
}
.gallery-product-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scroll-right { opacity: 0; transform: translateX(42px); transition: opacity .82s ease, transform .82s cubic-bezier(.19,1,.22,1); }
.scroll-right.is-visible { opacity: 1; transform: translateX(0); }
@media (max-width: 760px) {
  .gallery-product-flow { grid-template-columns: 1fr; }
  .gallery-product-image { min-height: 360px; }
}


/* Google Maps consent / contact location */
.map-section{padding-top:0;border-top:1px solid var(--line);}
.map-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;align-items:stretch;background:rgba(255,255,255,.72);border:1px solid rgba(138,129,120,.20);border-radius:28px;padding:1.15rem;box-shadow:0 24px 70px rgba(47,43,39,.08);backdrop-filter:blur(14px);}
.map-copy{padding:2.25rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;}
.map-consent{min-height:360px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,rgba(244,239,232,.95),rgba(250,247,243,.78));border:1px solid rgba(138,129,120,.18);display:flex;align-items:center;justify-content:center;position:relative;}
.map-consent::before{content:"";position:absolute;inset:1.25rem;border:1px solid rgba(138,129,120,.16);border-radius:18px;pointer-events:none;}
.map-consent-inner{position:relative;max-width:430px;text-align:center;padding:2rem;color:var(--text-muted);line-height:1.7;}
.map-consent-title{font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:var(--text);margin-bottom:.6rem;}
.map-consent .btn{margin-top:1.25rem;}
.map-consent iframe{width:100%;height:100%;min-height:360px;border:0;display:block;}
@media (max-width: 860px){.map-card{grid-template-columns:1fr;padding:.85rem}.map-copy{padding:1.35rem}.map-consent{min-height:300px}.map-consent iframe{min-height:300px}}


/* ============================================================
   CLIENT PATCH 10 · final name/hero CTA/logo warmth
   - Replace light hero nav CTA with a dark visible button.
   - Give the hero logo a subtle sunkissed shadow only.
   ============================================================ */
.site-header .nav-cta,
.site-header .nav-cta:visited{
  background:linear-gradient(180deg,#2D2925,#171411) !important;
  color:#fff !important;
  border:1px solid rgba(45,41,37,.96) !important;
  box-shadow:0 14px 32px rgba(23,20,17,.18), 0 1px 0 rgba(255,255,255,.18) inset !important;
}
.site-header .nav-cta:hover,
.site-header .nav-cta:focus-visible{
  background:linear-gradient(180deg,#3A342F,#211D19) !important;
  color:#fff !important;
  border-color:rgba(33,29,25,.98) !important;
  box-shadow:0 18px 42px rgba(23,20,17,.24), 0 1px 0 rgba(255,255,255,.18) inset !important;
}
.hero-brand-mark{
  filter:
    drop-shadow(0 24px 42px rgba(184,149,122,.24))
    drop-shadow(0 8px 18px rgba(96,72,50,.12))
    drop-shadow(0 1px 0 rgba(255,248,238,.72)) !important;
}
.hero-logo-page::before{
  opacity:.09 !important;
}


/* ============================================================
   CLIENT PATCH 11 · logo glow, maps and gallery cleanup
   ============================================================ */
.hero-logo-content{ position:relative !important; }
.hero-logo-content::before{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:min(82vw,760px);
  height:min(34vw,300px);
  transform:translate(-50%,-78%);
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center, rgba(202,166,132,.34) 0%, rgba(202,166,132,.20) 34%, rgba(202,166,132,.08) 58%, transparent 74%),
    radial-gradient(ellipse at center, rgba(255,246,232,.62) 0%, transparent 66%);
  filter:blur(18px);
}
.hero-logo-kicker,
.hero-brand-mark,
.hero-name-meaning{ position:relative; z-index:1; }
.hero-brand-mark{
  filter:
    drop-shadow(0 34px 58px rgba(176,135,102,.46))
    drop-shadow(0 16px 30px rgba(96,72,50,.26))
    drop-shadow(0 0 34px rgba(222,190,158,.34)) !important;
}
.logo-meaning-text{
  display:grid;
  gap:1rem;
}
.logo-meaning-text .body-lg{
  margin:0;
  line-height:1.82;
}
.map-section{
  padding-top:0 !important;
  padding-bottom:clamp(4rem,7vw,6rem) !important;
}
.map-card{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1rem,2.5vw,2rem);
  align-items:stretch;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(138,129,120,.18);
  border-radius:34px 8px 34px 8px;
  padding:clamp(.85rem,1.8vw,1.15rem);
  box-shadow:0 26px 78px rgba(37,29,24,.08);
}
.map-copy{
  padding:clamp(1.4rem,3.4vw,2.4rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.95rem;
}
.map-consent{
  min-height:360px;
  border-radius:28px 8px 28px 8px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(244,239,232,.94),rgba(255,252,248,.76));
  border:1px solid rgba(138,129,120,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.map-consent::before{
  content:'';
  position:absolute;
  inset:1.15rem;
  border:1px solid rgba(138,129,120,.14);
  border-radius:22px 6px 22px 6px;
  pointer-events:none;
}
.map-consent-inner{
  position:relative;
  max-width:430px;
  text-align:center;
  padding:2rem;
  color:var(--text-muted);
  line-height:1.72;
}
.map-consent-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.45rem,2.4vw,1.8rem);
  color:var(--text);
  margin:0 0 .65rem;
}
.map-consent .btn{ margin-top:1.25rem; }
.map-consent iframe{
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  display:block;
}
@media(max-width:860px){
  .hero-logo-content::before{ transform:translate(-50%,-105%); width:min(92vw,520px); height:220px; }
  .map-card{ grid-template-columns:1fr; }
  .map-copy{ padding:1.25rem; }
  .map-consent,.map-consent iframe{ min-height:300px; }
}


/* CLIENT PATCH 11B · stronger visible sunkissed logo shadow anchored directly behind hero logo */
.hero-logo-content::before{ display:none !important; }
.hero-brand-wrap{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(86vw,720px) !important;
  max-width:720px !important;
  z-index:1 !important;
}
.hero-brand-wrap::before{
  content:'';
  position:absolute;
  inset:-28% -18%;
  z-index:-1;
  background:url('../images/logo.svg') center/contain no-repeat;
  opacity:.54;
  transform:translate(14px,22px) scale(1.035);
  filter:blur(16px) sepia(1) saturate(1.15) hue-rotate(-12deg) brightness(1.28);
}
.hero-brand-wrap::after{
  content:'';
  position:absolute;
  inset:-34% -20%;
  z-index:-2;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(205,164,128,.30), rgba(205,164,128,.12) 42%, transparent 72%);
  filter:blur(20px);
}
.hero-brand-mark{
  width:100% !important;
  filter:drop-shadow(0 16px 28px rgba(92,67,46,.24)) drop-shadow(0 0 18px rgba(216,177,142,.24)) !important;
}
@media(max-width:860px){
  .hero-brand-wrap{ width:min(88vw,440px) !important; }
  .hero-brand-wrap::before{ opacity:.48; transform:translate(10px,16px) scale(1.035); filter:blur(13px) sepia(1) saturate(1.15) hue-rotate(-12deg) brightness(1.25); }
}


/* DERMA COOKIE CONSENT */
.cookie-consent{
  position:fixed;
  left:clamp(1rem,3vw,2rem);
  right:clamp(1rem,3vw,2rem);
  top:clamp(.85rem,2vw,1.35rem);
  bottom:auto;
  z-index:9999;
  display:none;
  justify-content:center;
  pointer-events:none;
}
.cookie-consent.is-visible{display:flex}
.cookie-card{
  max-width:940px;
  width:100%;
  background:rgba(248,245,239,.97);
  border:1px solid rgba(56,48,42,.14);
  box-shadow:0 22px 70px rgba(42,36,31,.18);
  backdrop-filter:blur(18px);
  border-radius:28px;
  padding:1.15rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  pointer-events:auto;
}
.cookie-kicker{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .35rem}
.cookie-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:var(--text);margin:0 0 .25rem}
.cookie-text{font-size:.86rem;line-height:1.65;color:var(--text-muted);margin:0}
.cookie-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.cookie-btn{appearance:none;border:1px solid rgba(56,48,42,.16);border-radius:999px;padding:.75rem 1.05rem;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;background:rgba(255,255,255,.54);color:var(--text)}
.cookie-btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(42,36,31,.12)}
.cookie-btn-primary{background:#332d29;color:#fff;border-color:#332d29}
.cookie-link{color:var(--text);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .cookie-consent{top:.75rem;left:.75rem;right:.75rem}
  .cookie-card{grid-template-columns:1fr;border-radius:22px;padding:1rem}
  .cookie-actions{justify-content:flex-start}
  .cookie-btn{width:100%;justify-content:center}
}


/* Footer cookie settings link */
.footer-cookie-link{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-decoration:none;
}
.footer-cookie-link:hover{
  opacity:.72;
}

/* ============================================================
   CLIENT PATCH 14 · Footer cookie settings visible + centered footer
   - Cookie settings are a normal visible footer item on every page.
   - Footer legal links stay centered; brand and copy do not pull them left.
   ============================================================ */
.site-footer .footer-inner{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(1rem,2.5vw,2rem) !important;
  text-align:center !important;
}
.site-footer .footer-brand{
  justify-self:start !important;
  align-items:flex-start !important;
  text-align:left !important;
}
.site-footer .footer-links{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(.9rem,2vw,1.45rem) !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
}
.site-footer .footer-copy{
  justify-self:end !important;
  text-align:right !important;
}
.site-footer .footer-links a,
.site-footer .footer-links .footer-cookie-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:.6875rem !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.46) !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  min-height:auto !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  opacity:1 !important;
}
.site-footer .footer-links a:hover,
.site-footer .footer-links .footer-cookie-link:hover,
.site-footer .footer-links .footer-cookie-link:focus-visible{
  color:rgba(255,255,255,.82) !important;
}
.site-footer .footer-links .footer-cookie-link{
  position:relative !important;
}
.site-footer .footer-links .footer-cookie-link::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-.35rem;
  height:1px;
  background:rgba(255,255,255,.24);
  transform:scaleX(.92);
  transform-origin:center;
}
@media(max-width:900px){
  .site-footer .footer-inner{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:1.2rem !important;
  }
  .site-footer .footer-brand,
  .site-footer .footer-copy{
    justify-self:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .site-footer .footer-links{
    max-width:100% !important;
  }
}
@media(max-width:520px){
  .site-footer .footer-links{
    flex-direction:column !important;
    gap:.95rem !important;
  }
}

/* ============================================================
   CLIENT PATCH v16 · cookies bottom + mobile gallery/contact fix
   Only requested changes.
   ============================================================ */

/* Cookie banner must open at the bottom on desktop and mobile */
.cookie-consent{
  top:auto !important;
  bottom:clamp(.85rem,2vw,1.35rem) !important;
  left:clamp(1rem,3vw,2rem) !important;
  right:clamp(1rem,3vw,2rem) !important;
  align-items:flex-end !important;
}
@media(max-width:760px){
  .cookie-consent{
    top:auto !important;
    bottom:.75rem !important;
    left:.75rem !important;
    right:.75rem !important;
  }
  .cookie-card{
    max-height:calc(100vh - 1.5rem);
    overflow:auto;
  }
}

/* Galerie: closed stack stays centered, open stack falls cleanly downward */
.gallery-stack{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.gallery-stack-grid{
  position:relative !important;
  width:100% !important;
}
.gallery-stack:not(.is-open) .gallery-stack-grid{
  display:block !important;
  min-height:clamp(360px,46vw,520px) !important;
}
.gallery-stack:not(.is-open) .stack-photo{
  position:absolute !important;
  left:50% !important;
  top:54% !important;
  width:min(250px,28vw) !important;
  transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)) !important;
  transform-origin:center center !important;
}
@media(max-width:860px){
  .gallery-stack{
    overflow:hidden !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .gallery-stack:not(.is-open) .gallery-stack-grid{
    display:block !important;
    min-height:430px !important;
  }
  .gallery-stack:not(.is-open) .stack-photo{
    position:absolute !important;
    left:50% !important;
    top:55% !important;
    width:min(245px,70vw) !important;
    transform:translate(calc(-50% + (var(--x) * .32)), calc(-50% + (var(--y) * .32))) rotate(var(--r)) !important;
  }
  .gallery-stack.is-open .gallery-stack-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
    min-height:auto !important;
  }
  .gallery-stack.is-open .stack-photo{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:420px !important;
    margin-inline:auto !important;
    transform:none !important;
  }
}

/* Kontakt mobile: prevent right overflow, center cards and form */
.kontakt-inner{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.contact-channels,
.contact-form{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.contact-channel{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.contact-channel-value{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.form-input,
.form-select,
.form-textarea{
  max-width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:860px){
  .kontakt-inner{
    grid-template-columns:1fr !important;
    gap:2.5rem !important;
    justify-items:center !important;
    text-align:center !important;
    overflow:hidden !important;
  }
  .kontakt-inner > *{
    width:100% !important;
    max-width:560px !important;
    min-width:0 !important;
    margin-inline:auto !important;
  }
  .contact-channels{
    width:100% !important;
    margin-inline:auto !important;
    align-items:stretch !important;
  }
  .contact-channel{
    justify-content:flex-start !important;
    text-align:left !important;
    width:100% !important;
  }
  .contact-form{
    width:100% !important;
    margin-inline:auto !important;
    text-align:left !important;
  }
  .form-row{
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}
@media(max-width:480px){
  .contact-channel{
    gap:.85rem !important;
    padding-inline:.15rem !important;
  }
  .contact-channel-icon{
    width:38px !important;
    height:38px !important;
  }
  .contact-channel-value{
    font-size:1rem !important;
    line-height:1.25 !important;
  }
}


/* ============================================================
   CLIENT PATCH v20 · requested final content/image adjustments
   Only requested changes.
   ============================================================ */

/* Startseite: Abstand zwischen Hero-Logo und darunterliegendem Text leicht reduzieren */
.hero-logo-kicker{
  margin-top:clamp(45vh,50vh,56vh) !important;
}

/* Über uns: Inhaberin-Bild rechts platzieren und website-ready ausrichten */
.about-hero{
  align-items:center !important;
}
.about-hero-image img{
  object-fit:cover !important;
  object-position:center top !important;
}
@media(min-width:861px){
  .about-hero > .about-hero-image{
    order:2 !important;
  }
  .about-hero > div:not(.about-hero-image){
    order:1 !important;
  }
}

/* ============================================================
   CLIENT PATCH v21 · requested correction only
   - correct Über-uns portrait image placement
   - image left of owner text
   - reduce hero logo/text spacing slightly
   ============================================================ */

/* Startseite: Abstand zwischen Hero-Logo und Text darunter etwas verringern */
.hero-logo-content{
  row-gap:clamp(.9rem, 1.8vw, 1.6rem) !important;
}
.hero-name-meaning{
  margin-top:clamp(-2.2rem, -2.2vw, -1rem) !important;
}
@media(max-width:860px){
  .hero-logo-content{
    gap:1rem !important;
  }
  .hero-name-meaning{
    margin-top:-1.15rem !important;
  }
}

/* Über uns: Portrait links, Text rechts; nur diese Seite nutzt das Inhaberin-Bild */
.about-hero{
  align-items:center !important;
}
@media(min-width:861px){
  .about-hero > .about-hero-image{
    order:1 !important;
  }
  .about-hero > div:not(.about-hero-image){
    order:2 !important;
  }
}
.about-hero-image img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* ============================================================
   CLIENT PATCH v22 · Hero logo/text spacing deutlich verringern
   Only requested change.
   ============================================================ */
.hero-logo-kicker{
  margin-top:clamp(12vh,16vh,20vh) !important;
}
.hero-name-meaning{
  margin-top:0 !important;
}
@media(max-width:860px){
  .hero-logo-kicker{
    margin-top:clamp(10vh,14vh,18vh) !important;
  }
}

/* v30 performance polish: faster reveal, less perceived lag, same layout */
.scroll-soft,
.scroll-right,
.portfolio-card,
.gallery-card,
.service-item,
.review-card,
.info-card,
.image-story-row,
.portfolio-feature-card,
.portfolio-feature-copy,
.gallery-hero-image{
  transition-duration:.42s !important;
  transition-delay:0ms !important;
  will-change:opacity,transform;
}
.service-item,
.review-card,
.info-card,
.portfolio-card,
.gallery-card,
.btn-primary,
.btn-secondary,
.nav-cta,
.cta-channel{
  backface-visibility:hidden;
  transform:translateZ(0);
}
@media (max-width: 767px){
  .scroll-soft,
  .scroll-right,
  .portfolio-card,
  .gallery-card,
  .service-item,
  .review-card,
  .info-card,
  .image-story-row,
  .portfolio-feature-card,
  .portfolio-feature-copy,
  .gallery-hero-image{
    transition-duration:.28s !important;
    transition-delay:0ms !important;
  }
}


/* CLIENT PATCH v35 · Über-uns-Portrait Mobile-Abstände korrigieren
   Nur Mobile: Bild bleibt oben sauber geschnitten, aber hat links/rechts gleiche Abstände. */
@media(max-width:860px){
  .about-hero{
    width:100% !important;
    overflow:hidden !important;
  }

  .about-hero-image{
    width:calc(100% - 2rem) !important;
    max-width:calc(100% - 2rem) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    min-height:clamp(520px, 138vw, 720px) !important;
    aspect-ratio:3 / 4.35 !important;
    overflow:hidden !important;
  }

  .about-hero-image img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center 8% !important;
  }
}
