
  /* ===== Variante 1 · "Küsten-Editorial" =====
     Umsetzung der Review-Empfehlungen:
     - Eine einzige, klare CTA-Hierarchie (gold, gefüllt)
     - Kein Pop-up-Stau: dezentes Deal-Band statt Overlay
     - Sticky-Buchungsleiste MIT Body-Abstand (kein Überlappen)
     - Echter mailto-Link statt mail(at)
     - Reduzierte, gruppierte Navigation
     - Gleich hohe Karten (Flexbox)
     - Trust-Siegel weit oben (direkt unter Hero)
     - Geschärfte Typo-Hierarchie (Serif-Display + Inter)
  */
  :root{
    --sand:#F7F3EC; --sand-2:#EFE7DA; --ink:#2A2622; --muted:#6B6258;
    --gold:#B08D57; --gold-d:#967440; --line:#E2D9C9; --white:#FFFEFB;
    --radius:14px; --maxw:1180px;
    --shadow:0 18px 50px -28px rgba(42,38,34,.45);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',system-ui,sans-serif;color:var(--ink);
    background:var(--sand);line-height:1.65;font-weight:400;
    padding-bottom:76px; /* Platz für Sticky-Bar — verhindert Überlappung */
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:.2px}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d);font-weight:600}

  /* Buttons — EIN konsistentes System */
  .btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Inter',sans-serif;
    font-size:.82rem;font-weight:600;letter-spacing:.04em;padding:.95em 1.7em;border-radius:999px;
    cursor:pointer;border:1.5px solid transparent;transition:.25s ease;text-transform:uppercase}
  .btn-primary{background:var(--gold);color:#fff;box-shadow:0 10px 24px -12px rgba(176,141,87,.8)}
  .btn-primary:hover{background:var(--gold-d);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-d)}
  .btn-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(4px)}
  .btn-light:hover{background:#fff;color:var(--ink)}

  /* Utility bar — schlank, konsolidiert */
  .util{position:sticky;top:0;z-index:70;background:var(--ink);color:#E9E2D6;font-size:.78rem}
  .util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:18px}
  .util a:hover{color:var(--gold)}
  .util .right{display:flex;gap:20px}
  .util .right a{opacity:.85}

  /* Header / Nav — reduziert auf gruppierte Punkte + 1 Primär-CTA */
  header{position:sticky;top:40px;z-index:60;background:rgba(247,243,236,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .logo{height:48px;width:auto;display:block}
  nav{display:flex}
  .menu{display:flex;gap:26px;list-style:none;align-items:center}
  .menu>li{position:relative}
  .menu>li>a{display:flex;align-items:center;gap:7px;font-size:.84rem;font-weight:500;letter-spacing:.02em;padding:20px 0;color:var(--ink);position:relative}
  .caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;opacity:.55;transition:.2s}
  .menu>li:hover .caret{transform:rotate(225deg);margin-top:2px}
  .menu>li>a::after{content:"";position:absolute;left:0;bottom:14px;width:0;height:1.5px;background:var(--gold);transition:.25s}
  .menu>li:hover>a::after{width:100%}
  .mega,.drop{position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px 28px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s ease;z-index:80}
  .menu>li:hover .mega,.menu>li:hover .drop,.menu>li:focus-within .mega,.menu>li:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
  .mega{display:flex;gap:36px}
  .drop{display:flex;flex-direction:column;min-width:212px}
  .has-drop .drop{left:auto;right:0}
  .col{display:flex;flex-direction:column;min-width:174px}
  .col-h{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:13px}
  .mega a,.drop a{font-size:.86rem;color:var(--muted);padding:7px 0;transition:.18s}
  .mega a:hover,.drop a:hover{color:var(--gold-d);transform:translateX(4px)}
  .mega .more{color:var(--ink);font-weight:600;margin-top:8px}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .nav-cta .btn-primary{padding:.6em 1.2em;font-size:.78rem}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
  .burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.active span:nth-child(2){opacity:0}
  .burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-scrim{position:fixed;inset:0;background:rgba(20,16,12,.4);opacity:0;visibility:hidden;transition:.3s;z-index:74}
  .nav-scrim.show{opacity:1;visibility:visible}

  /* Hero */
  .hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;
    background:linear-gradient(120deg,#A9C3C9,#6E8B92 55%,#3f5358)}
  .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;
    transform-origin:center;will-change:transform;animation:heroKen 26s ease-in-out infinite alternate}
  @keyframes heroKen{0%{transform:scale(1.02)}100%{transform:scale(1.12) translate(-1.5%,-1%)}}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,25,27,.42) 0%,rgba(18,25,27,.2) 34%,rgba(18,25,27,.84) 100%)}
  @media(prefers-reduced-motion:reduce){.hero img{animation:none}}
  .hero-inner{position:relative;z-index:2;color:#fff;padding:0 0 64px;max-width:640px}
  .hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);color:#fff;margin:14px 0 18px}
  .hero p{font-size:1.08rem;color:rgba(255,255,255,.92);max-width:480px;margin-bottom:30px;font-weight:300}
  .hero .eyebrow{color:#F1E4CC}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}

  /* Trust bar — bewusst weit oben */
  .trust{background:var(--white);border-bottom:1px solid var(--line)}
  .trust .wrap{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
  .chip{height:70px;width:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 18px;object-fit:contain;box-shadow:0 10px 24px -16px rgba(42,38,34,.4)}
  .chip-seal{height:86px;width:auto;background:transparent;border:0;box-shadow:none;padding:0;object-fit:contain}

  /* Sections */
  section{padding:92px 0}
  .sec-head{text-align:center;max-width:640px;margin:0 auto 56px}
  .sec-head h2{font-size:clamp(2.1rem,4vw,3.1rem);margin:12px 0 10px}
  .sec-head p{color:var(--muted)}
  .divider{width:54px;height:2px;background:var(--gold);margin:0 auto 4px}
  .bestprice{display:inline-flex;align-items:center;gap:11px;background:var(--gold);color:#fff;font-size:.86rem;font-weight:500;letter-spacing:.01em;padding:11px 22px;border-radius:999px;margin-top:18px;box-shadow:0 14px 30px -12px rgba(176,141,87,.85)}
  .bestprice b{font-weight:700}
  .bestprice .pulse{width:9px;height:9px;border-radius:50%;background:#fff;flex:none;animation:bpPulse 2s infinite}
  @keyframes bpPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
  @media(prefers-reduced-motion:reduce){.bestprice .pulse{animation:none}}

  /* Apartment cards — GLEICH HOCH via flex */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
    display:flex;flex-direction:column;transition:.3s;box-shadow:0 1px 0 rgba(0,0,0,.02)}
  .card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .card .ph{aspect-ratio:4/3;position:relative;background:linear-gradient(135deg,#cdd9d4,#9fb0aa)}
  .card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .badge{position:absolute;top:12px;left:12px;background:var(--gold);color:#fff;
    font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:6px 12px;border-radius:999px;text-transform:uppercase;z-index:2;display:inline-flex;align-items:center;gap:6px}
  .price{display:flex;align-items:baseline;gap:9px;margin-bottom:18px;padding-top:16px;border-top:1px solid var(--line)}
  .price .from{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
  .price .now{font-family:'Cormorant Garamond',serif;font-size:1.95rem;font-weight:700;color:var(--ink);line-height:1}
  .price .old{font-size:.95rem;color:#b3a892;text-decoration:line-through}
  .price .unit{font-size:.78rem;color:var(--muted)}
  .card .body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1}
  .card h3{font-size:1.55rem;margin-bottom:4px}
  .card .meta{font-size:.78rem;color:var(--gold-d);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px}
  .card p{font-size:.9rem;color:var(--muted);margin-bottom:22px;flex:1}
  .card .btn{align-self:stretch;justify-content:center;margin-top:auto}
  /* Störer · markante Wunsch-Apartment-Call-out */
  .stoerer{position:relative;margin-top:56px;background:linear-gradient(110deg,var(--ink),#3a352e);color:#fff;
    border-radius:20px;padding:40px 46px;display:flex;align-items:center;justify-content:space-between;gap:30px;
    flex-wrap:wrap;box-shadow:var(--shadow);overflow:hidden}
  .stoerer::before{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;
    background:radial-gradient(circle,rgba(176,141,87,.4),transparent 70%);pointer-events:none}
  .st-burst{position:absolute;top:20px;right:28px;z-index:3;background:var(--gold);color:#fff;font-size:.62rem;
    font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 15px;border-radius:999px;
    transform:rotate(6deg);box-shadow:0 10px 22px -8px rgba(0,0,0,.6)}
  .stoerer .st-text{position:relative;z-index:2;max-width:540px}
  .stoerer .eyebrow{color:var(--gold-l);display:block;margin-bottom:8px}
  .stoerer h3{color:#fff;font-size:clamp(1.6rem,2.7vw,2.2rem);margin-bottom:8px;line-height:1.1}
  .stoerer p{color:rgba(255,255,255,.82);font-size:.92rem}
  .stoerer .st-actions{position:relative;z-index:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .stoerer .st-link{color:#fff;font-size:.84rem;font-weight:500;text-decoration:underline;text-underline-offset:4px;opacity:.85;transition:.18s}
  .stoerer .st-link:hover{opacity:1;color:var(--gold-l)}
  @media(max-width:760px){
    .stoerer{flex-direction:column;align-items:flex-start;padding:34px 26px}
    .st-burst{top:16px;right:18px}
    .stoerer .st-actions{width:100%}
  }

  /* Feature / Resort split */
  .feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .feature .visual{aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;position:relative;
    background:linear-gradient(135deg,#bcae93,#8a9a86)}
  .feature .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .feature h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:12px 0 18px}
  .feature p{color:var(--muted);margin-bottom:18px}
  .flist{list-style:none;display:flex;flex-direction:column;gap:12px;margin:22px 0 30px}
  .flist li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem}
  .flist .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:9px;flex:none}

  /* Angebote — gleich hohe Karten */
  .offers{background:var(--sand-2)}
  .offers .cards{grid-template-columns:repeat(3,1fr)}
  .offer{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
    display:flex;flex-direction:column;overflow:hidden;transition:.3s}
  .offer:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
  .offer .top{padding:28px 26px;border-bottom:1px solid var(--line)}
  .offer .tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);font-weight:700}
  .offer h3{font-size:1.5rem;margin:8px 0 2px}
  .offer .sub{font-size:.82rem;color:var(--muted)}
  .offer .body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
  .offer p{font-size:.88rem;color:var(--muted);margin-bottom:22px;flex:1}
  .offer .btn{align-self:flex-start;margin-top:auto}

  /* Deal-Band — ERSETZT das aufdringliche Pop-up */
  .deal{background:linear-gradient(110deg,var(--ink),#3a352e);color:#fff;text-align:center;padding:64px 0}
  .deal h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:12px}
  .deal p{color:rgba(255,255,255,.82);max-width:520px;margin:0 auto 26px}
  .deal form{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
  .deal input{flex:1;min-width:220px;padding:.95em 1.3em;border-radius:999px;border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.08);color:#fff;font-family:inherit;font-size:.9rem}
  .deal input::placeholder{color:rgba(255,255,255,.6)}

  /* USP-Band · 6 Icons (wie Angebote-Landingpage) */
  .usps{background:var(--gold);color:#fff}
  .usps .wrap{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;padding:16px 28px;gap:12px 8px}
  .usp{display:flex;align-items:center;gap:9px;font-size:.81rem;font-weight:500;letter-spacing:.015em;white-space:nowrap}
  .usp .u-ico{font-size:1rem}

  /* Reviews-Banderole (Google/Booking) */
  .reviews{background:linear-gradient(110deg,var(--ink),#3a352e);color:#fff;padding:84px 0;overflow:hidden}
  .reviews .sec-head{max-width:640px}
  .reviews .sec-head h2{color:#fff}
  .reviews .sec-head p{color:rgba(255,255,255,.78)}
  .reviews .eyebrow{color:#E7C879}
  .reviews .divider{background:var(--gold)}
  .gbadge{display:inline-flex;align-items:center;gap:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:9px 18px;border-radius:999px;margin-top:16px;font-weight:500;font-size:.86rem;color:#fff}
  .gbadge .st{color:var(--gold);letter-spacing:2px}
  .marquee{position:relative;margin-top:46px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .marquee-track{display:flex;width:max-content;animation:scroll-x 70s linear infinite;will-change:transform}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .rcard{flex:0 0 340px;margin-right:22px;background:var(--white);color:var(--ink);border-radius:var(--radius);padding:26px;border:1px solid rgba(226,217,201,.4)}
  .rcard .st{color:var(--gold);font-size:1rem;letter-spacing:1px;margin-bottom:12px;display:block}
  .rcard p{font-size:.92rem;line-height:1.6;color:#4a443c}
  .rauthor{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
  .rauthor .ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff;font-size:.95rem;font-family:'Cormorant Garamond',serif}
  .rauthor .m b{display:block;font-size:.9rem;font-weight:600}
  .rauthor .m span{font-size:.76rem;color:var(--muted)}
  /* Lage / Google Maps */
  .map-frame{aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--sand-2);border:1px solid var(--line)}
  .map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .addr-line{font-size:1.05rem;font-weight:600;color:var(--ink);margin-bottom:6px}
  @media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

  /* Footer (Angebote-Landingpage-Struktur) */
  footer{background:var(--white);border-top:1px solid var(--line);padding:78px 0 30px}
  .fgrid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:46px}
  footer h4{font-family:'Inter',sans-serif;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin:0 0 16px;font-weight:600}
  footer h4:not(:first-child){margin-top:26px}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:4px}
  footer a,footer p{font-size:.88rem;color:var(--muted)}
  footer a:hover{color:var(--gold-d)}
  .fc-name{font-family:'Inter',sans-serif;font-size:1.02rem;font-weight:700;color:var(--ink);margin:14px 0 8px}
  .f-contact p{margin-bottom:10px;line-height:1.7}
  .f-contact a{color:var(--ink);font-weight:500}
  .f-contact a:hover{color:var(--gold-d)}
  .f-hours{display:flex;flex-direction:column;gap:11px}
  .fh b{font-size:.85rem;color:var(--ink);font-weight:600;display:block;margin-bottom:1px}
  .fh span{font-size:.82rem;color:var(--muted);line-height:1.45}
  .social{display:flex;gap:10px;margin-top:20px}
  .social a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:.22s}
  .social a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .social a:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-2px)}
  .legal{border-top:1px solid var(--line);margin-top:52px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--muted)}
  .legal a{color:var(--muted)}
  .legal a:hover{color:var(--gold-d)}

  /* Sticky-Buchungsleiste — schlank, mit Body-Padding kein Überlappen */
  .stickybar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--white);
    border-top:1px solid var(--line);box-shadow:0 -8px 30px -20px rgba(0,0,0,.3)}
  .stickybar .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
  .stickybar .sx{display:flex;flex-direction:column;line-height:1.2}
  .stickybar .sx b{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--ink)}
  .stickybar .sx span{font-size:.74rem;color:var(--muted)}

  @media(max-width:900px){
    .cards{grid-template-columns:1fr 1fr}
    .feature{grid-template-columns:1fr;gap:32px}
    .fgrid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:960px){
    .burger{display:flex}
    nav#nav{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--white);
      transform:translateX(100%);transition:transform .3s ease;box-shadow:-24px 0 70px -30px rgba(0,0,0,.55);
      padding:96px 24px 50px;overflow-y:auto;z-index:75;display:block}
    nav#nav.open{transform:translateX(0)}
    .menu{flex-direction:column;align-items:stretch;gap:0}
    .menu>li{position:static;border-bottom:1px solid var(--line)}
    .menu>li>a{padding:16px 2px;justify-content:space-between}
    .menu>li>a::after{display:none}
    .mega,.drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 2px 16px;min-width:0;display:none}
    .menu>li.open .mega{display:flex;flex-direction:column;gap:18px}
    .menu>li.open .drop{display:flex}
    .menu>li.open .caret{transform:rotate(225deg)}
    .has-drop .drop{right:auto;left:0}
    .nav-cta .btn-primary{padding:.78em 1.15em;font-size:.74rem}
  }
  @media(max-width:620px){
    .util .right{display:none}
    .cards{grid-template-columns:1fr}
    .fgrid{grid-template-columns:1fr}
    .nav{height:70px}
    .stickybar .sx{display:none}
    .stickybar .wrap{justify-content:center}
    section{padding:64px 0}
  }

/* Hero-Bilder: sehr langsamer Ken-Burns-Schwenk (alle Unterseiten-Heros) */
@keyframes bhHeroPan{
  0%  {transform:scale(1.02) translate3d(0,0,0)}
  100%{transform:scale(1.10) translate3d(-1.2%,-1%,0)}
}
@media(prefers-reduced-motion:reduce){
  [class$="-hero"]::before{animation:none !important}
}

/* Gästestimmen mobil site-weit: von Hand wischbar (kein Auto-Lauf, kein Rand-Fade).
   !important, weil einzelne Seiten-CSS (golf/kids/resort/…) .marquee-track nach base.css neu setzen. */
@media(max-width:760px){
  .marquee{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;-webkit-mask-image:none!important;mask-image:none!important;padding-bottom:6px}
  .marquee::-webkit-scrollbar{display:none}
  .marquee-track{width:max-content!important;animation:none!important}
  .rcard{scroll-snap-align:start}
}
