
    /* ===== CSS RESET & BASE ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --gold:        #b5924c;
      --gold-light:  #d4aa6a;
      --gold-dark:   #8a6d38;
      --cream:       #f7f3ee;
      --cream-dark:  #ede8e0;
      --bg-light:    #f2f2f2;
      --text-dark:   #1a1a1a;
      --text-mid:    #3d3d3d;
      --text-light:  #6b6b6b;
      --black:       #111111;
      --white:       #ffffff;
    }

    html { scroll-behavior: smooth; }
    body { color: var(--text-dark); background: var(--white); line-height: 1.7; }
    img { max-width: 100%; height: auto; display: block; }
    a { text-decoration: none; color: inherit; }

    /* ===== HERO ===== */
    .hero {
      position: relative;
      height: 100vh;
      min-height: 600px;
      max-height: 900px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .hero__bg {
      position: absolute;
      inset: 0;
      background-image: url('https://emp3r48hp8z.exactdn.com/wp-content/uploads/Hochzeit-14-scaled-1.jpg?strip=all');
      background-size: cover;
      background-position: center 30%;
    }
    .hero__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.25) 0%,
        rgba(0,0,0,0.55) 60%,
        rgba(0,0,0,0.75) 100%
      );
    }
    .hero__content {
      position: relative;
      z-index: 2;
      padding: 0 20px;
      max-width: 860px;
      margin-top: 100px;
    }
    .hero__eyebrow {
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold-light);
      margin-bottom: 16px;
    }
    .hero__title {
      color: var(--white);
      font-size: 30px;
      line-height: 1.1;
      margin-bottom: 20px;
      text-shadow: 0 2px 20px rgba(0,0,0,0.4);
    }
    .hero__subtitle {
      color: rgba(255,255,255,0.9);
      margin-bottom: 40px;
      max-width: 640px;
      margin-left: auto;
      margin-right: auto;
    }
    .hero__ctas {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }
    .btn-primary {
      background: var(--gold);
      color: var(--white);
      padding: 16px 36px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      border: 2px solid var(--gold);
      cursor: pointer;
      transition: background 0.25s, border-color 0.25s, transform 0.2s;
      display: inline-block;
    }
    .btn-primary:hover {
      background: var(--gold-dark);
      border-color: var(--gold-dark);
      color: var(--white);
      transform: translateY(-2px);
    }
    .btn-outline {
      background: transparent;
      color: var(--white);
      padding: 16px 36px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      border: 2px solid rgba(255,255,255,0.7);
      cursor: pointer;
      transition: background 0.25s, border-color 0.25s, transform 0.2s;
      display: inline-block;
    }
    .btn-outline:hover {
      background: rgba(255,255,255,0.12);
      border-color: var(--white);
      color: var(--white);
      transform: translateY(-2px);
    }
    .hero__scroll {
      position: absolute;
      bottom: 32px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      color: rgba(255,255,255,0.6);
      letter-spacing: 0.15em;
      text-transform: uppercase;
    }
    .hero__scroll::after {
      content: '';
      width: 1px;
      height: 40px;
      background: rgba(255,255,255,0.4);
      animation: scrollLine 2s ease-in-out infinite;
    }
    @keyframes scrollLine {
      0%   { transform: scaleY(0); transform-origin: top; }
      50%  { transform: scaleY(1); transform-origin: top; }
      51%  { transform: scaleY(1); transform-origin: bottom; }
      100% { transform: scaleY(0); transform-origin: bottom; }
    }

    /* ===== SECTION HELPERS ===== */
    .section { padding: 90px 20px; }
    .section--cream { background: var(--cream); }
    .section--bg { background: var(--bg-light); }
    .section--dark { background: var(--black); color: var(--white); }

    .container { max-width: 1160px; margin: 0 auto; }

    .section-label {
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
    }
    .section-label--white { color: var(--gold-light); }
    .section-title { line-height: 1.15; margin-bottom: 20px; color: var(--text-dark); }
    .section-title--white { color: var(--white); }
    .section-intro { color: var(--text-mid); max-width: 680px; line-height: 1.8; }

    .text-center { text-align: center; }
    .mx-auto { margin-left: auto; margin-right: auto; }

    /* ===== INTRO SECTION ===== */
    .intro-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }
    .intro-grid__image { position: relative; }
    .intro-grid__image img { width: 100%; height: 520px; object-fit: cover; }
    .intro-grid__image::before {
      content: '';
      position: absolute;
      top: -16px; left: -16px; right: 16px; bottom: 16px;
      border: 2px solid var(--gold);
      z-index: -1;
    }
    .intro-grid__text .label {
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 16px;
      display: block;
    }
    .intro-grid__text p { color: var(--text-mid); margin-bottom: 18px; line-height: 1.8; }
    .intro-grid__text .cta-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--gold);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-top: 8px;
      transition: gap 0.2s;
    }
    .intro-grid__text .cta-link:hover { gap: 14px; }

    /* ===== HIGHLIGHTS / ICONS ===== */
    .highlights-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
      margin-top: 60px;
    }
    .highlight-card {
      text-align: center;
      padding: 40px 24px;
      background: var(--white);
      border-bottom: 3px solid transparent;
      transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
    }
    .highlight-card:hover {
      border-color: var(--gold);
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.08);
    }
    .highlight-card__icon {
      width: 52px;
      height: 52px;
      margin: 0 auto 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold);
    }
    .highlight-card__icon svg { width: 100%; height: 100%; }
    .highlight-card__title { color: var(--text-dark); margin-bottom: 10px; }
    .highlight-card__text { color: var(--text-light); line-height: 1.7; }

    /* ===== LOCATIONS ===== */
    .locations-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 56px;
    }
    .location-card {
      position: relative;
      overflow: hidden;
      background: var(--white);
      box-shadow: 0 4px 24px rgba(0,0,0,0.08);
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .location-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 48px rgba(0,0,0,0.14);
    }
    .location-card__img {
      width: 100%;
      height: 260px;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .location-card:hover .location-card__img { transform: scale(1.05); }
    .location-card__body { padding: 28px 28px 32px; }
    .location-card__tag {
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
      display: block;
    }
    .location-card__title { color: var(--text-dark); margin-bottom: 12px; line-height: 1.2; }
    .location-card__text { color: var(--text-mid); line-height: 1.75; margin-bottom: 20px; }
    .location-card__detail {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--text-light);
      margin-bottom: 6px;
    }
    .location-card__detail svg { flex-shrink: 0; }

    /* ===== GALLERY ===== */
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 48px;
    }
    .gallery-grid__item { overflow: hidden; position: relative; }
    .gallery-grid__item--wide { grid-column: span 2; }
    .gallery-grid__item img { width: 100%; height: 280px; object-fit: cover; transition: transform 0.5s ease; }
    .gallery-grid__item--wide img { height: 380px; }
    .gallery-grid__item:hover img { transform: scale(1.04); }

    /* ===== PROCESS / STEPS ===== */
    .steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
      margin-top: 56px;
      position: relative;
    }
    .steps-grid::before {
      content: '';
      position: absolute;
      top: 32px;
      left: 12.5%;
      right: 12.5%;
      height: 1px;
      background: var(--gold);
      opacity: 0.3;
    }
    .step-card { text-align: center; position: relative; }
    .step-card__num {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: var(--gold);
      color: var(--white);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 20px;
      position: relative;
      z-index: 1;
    }
    .step-card__title { color: var(--white); margin-bottom: 10px; }
    .step-card__text { color: rgba(255,255,255,0.75); line-height: 1.7; }

    /* ===== TESTIMONIALS ===== */
    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 56px;
    }
    .testimonial-card {
      background: var(--white);
      padding: 36px 32px;
      position: relative;
      box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    }
    .testimonial-card::before {
      content: '\201C';
      color: var(--gold);
      opacity: 0.25;
      position: absolute;
      top: 8px;
      left: 20px;
      line-height: 1;
      font-size: 5rem;
    }
    .testimonial-card__stars {
      color: var(--gold);
      margin-bottom: 14px;
      letter-spacing: 2px;
    }
    .testimonial-card__text {
      color: var(--text-mid);
      line-height: 1.8;
      font-style: italic;
      margin-bottom: 20px;
    }
    .testimonial-card__author { color: var(--text-dark); }
    .testimonial-card__date { color: var(--text-light); margin-top: 2px; }

    /* ===== SPLIT IMAGE TEXT ===== */
    .split-section { display: grid; grid-template-columns: 1fr 1fr; }
    .split-section__image img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
    .split-section__content {
      padding: 80px 60px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .split-section__content .section-label { margin-bottom: 10px; }
    .split-section__content h2 { color: var(--text-dark); margin-bottom: 20px; }
    .split-section__content p { color: var(--text-mid); line-height: 1.8; margin-bottom: 16px; }
    .checklist { list-style: none; margin: 20px 0 32px; }
    .checklist li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: var(--text-mid);
      margin-bottom: 10px;
      line-height: 1.6;
    }
    .checklist li::before {
      content: '✓';
      color: var(--gold);
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* ===== FAQ ===== */
    .faq-list {
      margin-top: 48px;
      max-width: 820px;
      margin-left: auto;
      margin-right: auto;
    }
    details.faq-item {
      border-bottom: 1px solid var(--cream-dark);
      padding: 24px 0;
    }
    details.faq-item:first-child { border-top: 1px solid var(--cream-dark); }
    details.faq-item summary {
      color: var(--text-dark);
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
    }
    details.faq-item summary::-webkit-details-marker { display: none; }
    details.faq-item summary::after {
      content: '+';
      color: var(--gold);
      flex-shrink: 0;
      transition: transform 0.25s;
      font-size: 1.5rem;
      line-height: 1;
    }
    details.faq-item[open] summary::after { transform: rotate(45deg); }
    details.faq-item .faq-answer {
      padding-top: 16px;
      color: var(--text-mid);
      line-height: 1.8;
    }

    /* ===== CTA SECTION ===== */
    .cta-section {
      padding: 100px 20px;
      background: var(--black);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cta-section__bg {
      position: absolute;
      inset: 0;
      background-image: url('https://emp3r48hp8z.exactdn.com/wp-content/uploads/Burggarten-69.jpg?strip=all');
      background-size: cover;
      background-position: center;
      opacity: 0.18;
    }
    .cta-section__content { position: relative; z-index: 1; }
    .cta-section h2 { color: var(--white); margin-bottom: 16px; }
    .cta-section p { color: rgba(255,255,255,0.8); max-width: 580px; margin: 0 auto 40px; line-height: 1.75; }
    .cta-contact-row {
      display: flex;
      justify-content: center;
      gap: 24px;
      flex-wrap: wrap;
      margin-top: 20px;
    }
    .cta-contact-item {
      display: flex;
      align-items: center;
      gap: 10px;
      color: rgba(255,255,255,0.7);
    }
    .cta-contact-item a {
      color: var(--gold-light);
      transition: color 0.2s;
    }
    .cta-contact-item a:hover { color: var(--white); }

    /* ===== STICKY CTA BAR ===== */
    .sticky-cta {
      position: fixed;
      bottom: 0; left: 0; right: 0;
      z-index: 999;
      background: var(--gold);
      padding: 14px 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      flex-wrap: wrap;
      box-shadow: 0 -4px 24px rgba(0,0,0,0.2);
      transform: translateY(100%);
      transition: transform 0.4s ease;
    }
    .sticky-cta.visible { transform: translateY(0); }
    .sticky-cta__text { color: var(--white); letter-spacing: 0.05em; }
    .sticky-cta .btn-white {
      background: var(--white);
      color: var(--gold-dark);
      padding: 10px 28px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      transition: background 0.2s;
      display: inline-block;
    }
    .sticky-cta .btn-white:hover { background: var(--cream); }
    .sticky-cta .btn-phone {
      display: flex;
      align-items: center;
      gap: 6px;
      color: var(--white);
    }

    /* ===== DIVIDER ===== */
    .gold-divider { width: 60px; height: 2px; background: var(--gold); margin: 20px auto 0; }
    .gold-divider--left { margin-left: 0; }

    /* ===== RESPONSIVE ===== */

    /* Tablet (≤1024px) */
    @media (max-width: 1024px) {
      .highlights-grid   { grid-template-columns: repeat(2, 1fr); }
      .locations-grid    { grid-template-columns: repeat(2, 1fr); }
      .steps-grid        { grid-template-columns: repeat(2, 1fr); }
      .steps-grid::before { display: none; }
      .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
      .intro-grid        { grid-template-columns: 1fr; gap: 40px; }
      .intro-grid__image::before { display: none; }
      .intro-grid__image img { height: 380px; }
      .split-section     { grid-template-columns: 1fr; }
      .split-section__content { padding: 56px 40px; }
      .split-section__image img { min-height: 360px; }
    }

    /* Mobile (≤768px) */
    @media (max-width: 768px) {
      /* Hero */
      .hero { min-height: 100svh; max-height: none; }
      .hero__content { margin-top: 60px; padding: 0 24px; }
      .hero__subtitle { display: none; }
      .hero__ctas { flex-direction: column; align-items: center; gap: 12px; }
      .btn-primary, .btn-outline { width: 100%; max-width: 340px; text-align: center; padding: 14px 24px; }
      .hero__scroll { display: none; }

      /* Hero H1 */
      .hero__title { font-size: 52px !important; }

      /* Sections */
      .section { padding: 56px 16px; }
      .section-title { line-height: 1.2; }

      /* Intro */
      .intro-grid { grid-template-columns: 1fr; gap: 32px; }
      .intro-grid__image img { height: 260px; }

      /* Highlights */
      .highlights-grid { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
      .highlight-card { padding: 28px 16px; }
      .highlight-card__icon { width: 40px; height: 40px; margin-bottom: 14px; }

      /* Locations */
      .locations-grid { grid-template-columns: 1fr; gap: 20px; }
      .location-card__img { height: 220px; }
      .location-card__body { padding: 20px 20px 24px; }

      /* Split sections */
      .split-section { grid-template-columns: 1fr; }
      .split-section__content { padding: 40px 20px; }
      .split-section__image { order: -1; }
      .split-section__image img { min-height: 260px; max-height: 320px; }

      /* Gallery */
      .gallery-grid { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 28px; }
      .gallery-grid__item--wide { grid-column: span 2; }
      .gallery-grid__item img { height: 180px; }
      .gallery-grid__item--wide img { height: 240px; }

      /* Steps */
      .steps-grid { grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 36px; }

      /* Testimonials */
      .testimonials-grid { grid-template-columns: 1fr; gap: 20px; }
      .testimonial-card { padding: 28px 20px; }

      /* FAQ */
      .faq-list { margin-top: 32px; }
      details.faq-item { padding: 18px 0; }

      /* CTA Section */
      .cta-section { padding: 72px 20px; }
      .cta-contact-row { flex-direction: column; align-items: center; gap: 14px; }

      /* Sticky CTA */
      .sticky-cta { padding: 12px 16px; gap: 10px; }
      .sticky-cta__text { display: none; }
      .sticky-cta .btn-white { padding: 10px 20px; }
    }

    /* Small Mobile (≤480px) */
    @media (max-width: 480px) {
      .hero__content { margin-top: 40px; }
      .hero__title { font-size: 48px !important; }
      .highlights-grid { grid-template-columns: 1fr; }
      .steps-grid { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: 1fr; }
      .gallery-grid__item--wide { grid-column: span 1; }
      .gallery-grid__item img, .gallery-grid__item--wide img { height: 220px; }
      .split-section__image img { min-height: 220px; max-height: 260px; }
    }
  