:root {
      --rose: #c96f86;
      --rose-dark: #9f4f66;
      --rose-soft: #fff1f4;
      --gold: #d8a36b;
      --ink: #222024;
      --muted: #6f6268;
      --bg: #fffaf8;
      --card: #ffffff;
      --line: #f0dbe1;
      --shadow: 0 22px 60px rgba(130, 69, 84, .13);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background: var(--bg);
      line-height: 1.6;
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(255, 250, 248, .88);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(201, 111, 134, .18);
    }

    .nav {
      height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-family: Georgia, serif;
      letter-spacing: .04em;
    }

    .brand-mark {
      width: 54px;
      height: 54px;
      border: 2px solid var(--rose);
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--rose);
      font-size: 26px;
      background: #fff;
      box-shadow: 0 10px 25px rgba(201, 111, 134, .14);
    }

    .brand strong { display: block; font-size: 24px; line-height: 1; color: var(--rose); }
    .brand span span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .16em; }

    .nav-links { display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
    .nav-links a:hover { color: var(--rose); }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 13px 20px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 800;
      font-size: 14px;
      transition: .2s ease;
      cursor: pointer;
    }
    .btn-primary { background: var(--rose); color: #fff; box-shadow: 0 14px 30px rgba(201, 111, 134, .28); }
    .btn-primary:hover { background: var(--rose-dark); transform: translateY(-1px); }
    .btn-outline { border-color: var(--rose); color: var(--rose); background: #fff; }
    .btn-outline:hover { background: var(--rose-soft); }

    .hero {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 10% 10%, rgba(216, 163, 107, .16), transparent 34%),
        linear-gradient(110deg, #fff 0%, #fff7f8 52%, #f3cbd4 100%);
      border-bottom: 1px solid var(--line);
    }

	.hero-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

    .hero-grid {
      min-height: 620px;
      display: grid;
      grid-template-columns: 1.4fr .6fr;
      align-items: center;
      gap: 40px;
      padding: 70px 0;
    }

    .eyebrow {
      font-family: Georgia, serif;
      color: var(--rose);
      font-style: italic;
      font-size: 28px;
      margin: 0 0 4px;
    }

    h1, h2, h3 { line-height: 1.08; margin: 0; }
    h1 { font-family: Georgia, serif; font-size: clamp(48px, 8vw, 86px); letter-spacing: -.04em; }
    .lead { font-size: 20px; color: var(--muted); max-width: 600px; margin: 22px 0 28px; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }

    .trust {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin-top: 34px;
    }
    .trust-item {
      background: rgba(255,255,255,.7);
      border: 1px solid rgba(201,111,134,.18);
      border-radius: 18px;
      padding: 14px;
      font-size: 13px;
      color: var(--muted);
    }
    .trust-item strong { display: block; color: var(--ink); }

    .hero-visual {
      position: relative;
      min-height: 460px;
      border-radius: 48px;
      background:
        linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.1)),
        url('FW/bild3.jpg') center / cover;
      box-shadow: var(--shadow);
      overflow: hidden;
      border: 10px solid rgba(255,255,255,.55);
    }
    .hero-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(130deg, rgba(255,241,244,.65), transparent 50%);
    }
    .floating-card {
      position: absolute;
      left: -22px;
      bottom: 26px;
      z-index: 2;
      background: #fff;
      border-radius: 22px;
      padding: 18px 20px;
      box-shadow: var(--shadow);
      max-width: 280px;
    }
    .stars { color: #dca44e; letter-spacing: 2px; }

    section { padding: 84px 0; }
    .section-head { text-align: center; margin-bottom: 38px; }
    .script { font-family: Georgia, serif; font-style: italic; color: var(--rose); font-size: 25px; }
    .section-head h2 { font-family: Georgia, serif; font-size: clamp(34px, 5vw, 52px); margin-top: 4px; }
    .section-head p { color: var(--muted); max-width: 640px; margin: 14px auto 0; }

    .services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .service-card, .price-card, .review-card, .contact-card {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 28px;
      box-shadow: 0 10px 35px rgba(130, 69, 84, .07);
    }
    .service-icon { font-size: 34px; margin-bottom: 18px; color: var(--rose); }
    .service-card h3 { font-size: 20px; margin-bottom: 10px; }
    .service-card p { color: var(--muted); margin: 0; }

    .split {
      background: #fff;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 0;
    }
    .split-grid { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 450px; }
    .split-image {
      background: url('FW/IMG_3095.JPG') center / cover;
      min-height: 360px;
    }
    .split-copy { padding: 70px min(8vw, 80px); display: flex; flex-direction: column; justify-content: center; }
    .split-copy h2 { font-family: Georgia, serif; font-size: clamp(32px, 4vw, 48px); }
    .checklist { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 10px; }
    .checklist li::before { content: "✓"; color: var(--rose); font-weight: 900; margin-right: 10px; }

    .prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .price-row { display: flex; justify-content: space-between; border-bottom: 1px dashed var(--line); padding: 12px 0; gap: 16px; }
    .price-row:last-child { border-bottom: 0; }
    .price { color: var(--rose); font-weight: 800; white-space: nowrap; }
    .small-note { text-align: center; color: var(--muted); font-size: 13px; margin-top: 18px; }

    .gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
    .gallery img { height: 190px; width: 100%; object-fit: cover; border-radius: 20px; box-shadow: 0 12px 30px rgba(130,69,84,.12); }

    .reviews-wrap { background: linear-gradient(120deg, #fff1f4, #fffaf8); }
    .reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .review-card p { margin-top: 12px; color: var(--muted); }

    .contact-section { background: #211d20; color: #fff; }
    .contact-section .section-head p { color: rgba(255,255,255,.65); }
    .contact-grid { display: grid; grid-template-columns: .9fr 1.1fr .8fr; gap: 22px; align-items: stretch; }
    .contact-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); box-shadow: none; }
    .contact-card h3 { margin-bottom: 18px; color: #fff; }
    .contact-line { display: flex; gap: 12px; margin: 14px 0; color: rgba(255,255,255,.78); }
    .map { border: 0; width: 100%; height: 100%; min-height: 280px; border-radius: 24px; filter: saturate(.8); }
    .footer { padding: 24px 0; background: #171517; color: rgba(255,255,255,.62); font-size: 13px; }
    .footer-inner { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

    .mobile-call {
      display: none;
      position: fixed;
      left: 16px;
      right: 16px;
      bottom: 16px;
      z-index: 30;
    }

    @media (max-width: 940px) {
      .nav { height: auto; padding: 14px 0; }
      .nav-links { display: none; }
      .hero-grid, .split-grid, .contact-grid { grid-template-columns: 1fr; }
      .hero-grid { min-height: auto; padding: 44px 0; }
      .trust, .services, .prices, .reviews { grid-template-columns: 1fr; }
      .gallery { grid-template-columns: repeat(2, 1fr); }
      .hero-visual { min-height: 320px; aspect-ratio: 9 / 16;}
      .floating-card { left: 18px; right: 18px; max-width: none; }
      .mobile-call { display: block; }
    }

    @media (max-width: 540px) {
      h1 { font-size: 48px; }
      section { padding: 56px 0; }
      .gallery { grid-template-columns: 1fr; }
      .hero-actions .btn { width: 100%; }
    }
	
	.gallery {
	  display: grid;
	  grid-template-columns: repeat(4, 1fr);
	  gap: 14px;
	}

	.gallery-item {
	  border: 0;
	  padding: 0;
	  background: none;
	  cursor: zoom-in;
	  border-radius: 20px;
	  overflow: hidden;
	  box-shadow: 0 12px 30px rgba(130,69,84,.12);
	}

	.gallery-item img {
	  height: 210px;
	  width: 100%;
	  object-fit: cover;
	  transition: transform .25s ease;
	}

	.gallery-item:hover img {
	  transform: scale(1.05);
	}

	.lightbox {
	  position: fixed;
	  inset: 0;
	  z-index: 999;
	  background: rgba(20, 16, 18, .92);
	  display: none;
	  align-items: center;
	  justify-content: center;
	  padding: 24px;
	}

	.lightbox.is-open {
	  display: flex;
	}

	.lightbox img {
	  max-width: min(1100px, 92vw);
	  max-height: 82vh;
	  object-fit: contain;
	  border-radius: 22px;
	  box-shadow: 0 30px 80px rgba(0,0,0,.45);
	}

	.lightbox-close,
	.lightbox-nav {
	  position: absolute;
	  border: 0;
	  background: rgba(255,255,255,.14);
	  color: #fff;
	  cursor: pointer;
	  backdrop-filter: blur(10px);
	}

	.lightbox-close {
	  top: 22px;
	  right: 22px;
	  width: 46px;
	  height: 46px;
	  border-radius: 50%;
	  font-size: 32px;
	}

	.lightbox-nav {
	  top: 50%;
	  transform: translateY(-50%);
	  width: 54px;
	  height: 70px;
	  border-radius: 999px;
	  font-size: 54px;
	}

	.lightbox-prev {
	  left: 22px;
	}

	.lightbox-next {
	  right: 22px;
	}

	.lightbox-counter {
	  position: absolute;
	  bottom: 22px;
	  color: rgba(255,255,255,.82);
	  font-size: 14px;
	}

	@media (max-width: 940px) {
	  .gallery {
		grid-template-columns: repeat(2, 1fr);
	  }

	  .lightbox-nav {
		width: 44px;
		height: 58px;
		font-size: 42px;
	  }
	}

	@media (max-width: 540px) {
	  .gallery {
		grid-template-columns: 1fr;
	  }

	  .gallery-item img {
		height: 260px;
	  }

	  .lightbox {
		padding: 12px;
	  }

	  .lightbox-close {
		top: 14px;
		right: 14px;
	  }
	}
	
	.review-action{
		margin-top:60px;
		text-align:center;
		background:#fff;
		border-radius:32px;
		padding:48px 32px;
		box-shadow:var(--shadow);
	}

	.review-rating h3{
		margin:16px 0 12px;
		font-size:28px;
	}

	.review-rating p{
		max-width:620px;
		margin:0 auto 30px;
		color:var(--muted);
		line-height:1.7;
	}

	.stars.big{
		font-size:34px;
		color:#D4AF37;
	}

	.review-action .btn{
		font-size:18px;
		padding:16px 34px;
	}