  :root{
    --sea-dark:#0b3d5c;
    --sea:#145a7d;
    --sea-light:#3d8bb0;
    --sky:#eaf5fa;
    --chalk:#fbfaf6;
    --sand:#e8dcc4;
    --sand-dark:#c9a876;
    --ink:#132a35;
    --ink-soft:#4a6270;
    --line:#d9e6ec;
    --white:#ffffff;
    --radius:14px;
    --shadow:0 10px 30px rgba(11,61,92,0.10);
    --shadow-soft:0 4px 14px rgba(11,61,92,0.08);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    color:var(--ink);
    background:var(--chalk);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Playfair Display',Georgia,serif;
    color:var(--sea-dark);
    line-height:1.2;
    font-weight:700;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 24px;
  }
  section{padding:88px 0;}
  .section-head{
    text-align:center;
    max-width:680px;
    margin:0 auto 52px;
  }
  .eyebrow{
    display:inline-block;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--sea-light);
    background:rgba(20,90,125,0.08);
    padding:6px 16px;
    border-radius:999px;
    margin-bottom:16px;
  }
  .section-head h2{
    font-size:clamp(1.8rem,3.2vw,2.5rem);
    margin-bottom:14px;
  }
  .section-head p{
    color:var(--ink-soft);
    font-size:1.05rem;
  }

  /* ===== HEADER ===== */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(251,250,246,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 24px;
    max-width:1180px;
    margin:0 auto;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:1.25rem;
    color:var(--sea-dark);
  }
  .logo .wave-icon{
    width:34px;height:34px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--sea),var(--sea-light));
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.05rem;
    flex-shrink:0;
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:30px;
  }
  nav a{
    font-size:0.92rem;
    font-weight:600;
    color:var(--ink);
    position:relative;
    padding:6px 0;
    white-space:nowrap;
  }
  nav a:hover{color:var(--sea);}
  #nav-toggle{display:none;}
  .burger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    background:none;
    border:none;
    padding:8px;
  }
  .burger span{
    width:24px;height:2px;background:var(--sea-dark);border-radius:2px;
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:linear-gradient(160deg,var(--sea-dark) 0%,var(--sea) 55%,var(--sea-light) 100%);
    color:#fff;
    padding:90px 0 130px;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 15% 20%, rgba(255,255,255,0.08) 0%, transparent 40%),
      radial-gradient(circle at 85% 75%, rgba(255,255,255,0.06) 0%, transparent 45%);
  }
  .hero-inner{
    position:relative;
    max-width:720px;
    margin:0 auto;
    text-align:center;
  }
  .hero .eyebrow{
    background:rgba(255,255,255,0.15);
    color:#fff;
  }
  .hero h1{
    color:#fff;
    font-size:clamp(2.2rem,5vw,3.4rem);
    margin-bottom:20px;
  }
  .hero p{
    font-size:1.15rem;
    color:rgba(255,255,255,0.88);
    max-width:560px;
    margin:0 auto 34px;
  }
  .hero-ctas{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .btn{
    display:inline-block;
    padding:14px 30px;
    border-radius:999px;
    font-weight:600;
    font-size:0.95rem;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn-primary{
    background:#fff;
    color:var(--sea-dark);
    box-shadow:0 8px 20px rgba(0,0,0,0.15);
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-outline{
    border:1.5px solid rgba(255,255,255,0.6);
    color:#fff;
  }
  .btn-outline:hover{background:rgba(255,255,255,0.1);}
  .wave-divider{
    position:absolute;
    bottom:-1px;left:0;right:0;
    line-height:0;
  }
  .wave-divider svg{width:100%;height:auto;display:block;}

  /* ===== STATS (Section 1) ===== */
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:56px;
  }
  .stat-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 20px;
    text-align:center;
    box-shadow:var(--shadow-soft);
  }
  .stat-card .num{
    font-family:'Playfair Display',serif;
    font-size:1.9rem;
    font-weight:700;
    color:var(--sea);
    display:block;
  }
  .stat-card .label{
    font-size:0.85rem;
    color:var(--ink-soft);
    margin-top:4px;
  }
  .info-columns{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:start;
  }
  .info-columns p{margin-bottom:16px;color:var(--ink-soft);}
  .fact-list{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:var(--shadow-soft);
  }
  .fact-list h3{font-size:1.1rem;margin-bottom:16px;}
  .fact-list ul{list-style:none;}
  .fact-list li{
    display:flex;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
    font-size:0.95rem;
    color:var(--ink-soft);
  }
  .fact-list li:last-child{border-bottom:none;}
  .fact-list li .ico{color:var(--sea);flex-shrink:0;}

  /* ===== ALT SECTION BG ===== */
  .alt-bg{background:var(--sky);}

  /* ===== CARD GRID ===== */
  .card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
  }
  .card{
    background:var(--white);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow-soft);
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
  }
  .card-media{
    height:170px;
    background:linear-gradient(135deg,var(--sea-light),var(--sea));
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2.1rem;
    color:rgba(255,255,255,0.9);
    position:relative;
    overflow:hidden;
  }
  .card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
  }
  .card:hover .card-media img{transform:scale(1.05);}
  .card-media.sand{background:linear-gradient(135deg,#dfc99a,var(--sand-dark));}
  .card-media.cliff{background:linear-gradient(135deg,#7d8f97,#3f5560);}
  .card-media.landmark{background:linear-gradient(135deg,#2f6f8f,var(--sea-dark));}
  .card-media.placeholder{
    flex-direction:column;
    gap:6px;
    background:repeating-linear-gradient(135deg,#dce8ee,#dce8ee 10px,#d2e1e8 10px,#d2e1e8 20px);
  }
  .card-media.placeholder .cam{font-size:1.5rem;opacity:0.5;color:var(--sea-dark);}
  .card-media.placeholder .lbl{
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--sea-dark);
    opacity:0.6;
  }
  .photo-credit{
    position:absolute;
    bottom:6px;right:8px;
    font-size:0.62rem;
    color:rgba(255,255,255,0.85);
    background:rgba(11,61,92,0.45);
    padding:2px 7px;
    border-radius:999px;
    letter-spacing:0.02em;
  }
  .card-body{
    padding:22px 22px 26px;
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .card-body h3{font-size:1.12rem;margin-bottom:8px;}
  .card-body p{
    color:var(--ink-soft);
    font-size:0.93rem;
    flex:1;
  }
  .tag{
    display:inline-block;
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--sea);
    margin-bottom:8px;
  }

  /* ===== FERIENWOHNUNGEN placeholder ===== */
  .fewo-note{
    background:#fff7e8;
    border:1px solid #f0dfb3;
    color:#7a5c14;
    border-radius:var(--radius);
    padding:16px 20px;
    font-size:0.9rem;
    margin-bottom:40px;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .fewo-card{position:relative;}
  .fewo-card .card-media{height:170px;}
  .placeholder-badge{
    position:absolute;
    top:12px;right:12px;
    background:rgba(255,255,255,0.92);
    color:var(--sea-dark);
    font-size:0.68rem;
    font-weight:700;
    padding:4px 10px;
    border-radius:999px;
    text-transform:uppercase;
    letter-spacing:0.03em;
  }
  .price-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--line);
  }
  .price-row .price{font-weight:700;color:var(--sea-dark);}
  .price-row .price small{font-weight:500;color:var(--ink-soft);font-size:0.8rem;}
  .mini-btn{
    font-size:0.82rem;
    font-weight:600;
    color:#fff;
    background:var(--sea);
    padding:8px 16px;
    border-radius:999px;
  }
  .mini-btn:hover{background:var(--sea-dark);}

  /* ===== TIPP SECTION ===== */
  .tipp{
    background:linear-gradient(160deg,var(--sea-dark),var(--sea));
    color:#fff;
    border-radius:24px;
    padding:56px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center;
  }
  .tipp .eyebrow{background:rgba(255,255,255,0.15);color:#fff;}
  .tipp h2{color:#fff;font-size:2rem;margin-bottom:16px;}
  .tipp p{color:rgba(255,255,255,0.86);margin-bottom:14px;}
  .tipp ul{list-style:none;margin:20px 0 26px;}
  .tipp li{
    padding:8px 0 8px 28px;
    position:relative;
    font-size:0.95rem;
    color:rgba(255,255,255,0.9);
  }
  .tipp li::before{
    content:"⛵";
    position:absolute;left:0;top:8px;
    font-size:0.9rem;
  }
  .tipp-visual{
    position:relative;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.2);
    border-radius:18px;
    height:260px;
    overflow:hidden;
  }
  .tipp-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .tipp-visual-caption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:36px 24px 18px;
    text-align:center;
    background:linear-gradient(to top, rgba(11,40,58,0.85), rgba(11,40,58,0));
  }
  .tipp-visual strong{font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;display:block;}
  .tipp-visual span{color:rgba(255,255,255,0.8);font-size:0.85rem;margin-top:4px;display:block;}

  /* ===== FOOTER ===== */
  footer{
    background:var(--sea-dark);
    color:rgba(255,255,255,0.75);
    padding:50px 0 26px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:36px;
  }
  .footer-grid h4{color:#fff;font-size:1rem;margin-bottom:14px;font-family:'Inter',sans-serif;font-weight:600;}
  .footer-grid p, .footer-grid a{
    color:rgba(255,255,255,0.72);
    font-size:0.9rem;
    display:block;
    margin-bottom:8px;
  }
  .footer-grid a:hover{color:#fff;}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.15);
    padding-top:20px;
    text-align:center;
    font-size:0.82rem;
    color:rgba(255,255,255,0.55);
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width:900px){
    .card-grid{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .info-columns{grid-template-columns:1fr;}
    .tipp{grid-template-columns:1fr;padding:40px 28px;}
    .footer-grid{grid-template-columns:1fr;gap:26px;}
  }
  @media (max-width:680px){
    nav ul{
      position:absolute;
      top:100%;left:0;right:0;
      background:var(--chalk);
      flex-direction:column;
      gap:0;
      border-bottom:1px solid var(--line);
      max-height:0;
      overflow:hidden;
      transition:max-height .25s ease;
    }
    #nav-toggle:checked ~ nav ul{max-height:400px;}
    nav ul li{border-top:1px solid var(--line);}
    nav a{display:block;padding:14px 24px;}
    .burger{display:flex;}
    .card-grid{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    section{padding:60px 0;}
  }

  /* ===== LEGAL PAGES (Impressum / Datenschutz) ===== */
  .legal-hero{
    background:linear-gradient(160deg,var(--sea-dark) 0%,var(--sea) 100%);
    color:#fff;
    padding:70px 0 46px;
    text-align:center;
  }
  .legal-hero .eyebrow{background:rgba(255,255,255,0.15);color:#fff;}
  .legal-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.6rem);}
  .legal-hero p{color:rgba(255,255,255,0.85);margin-top:10px;}
  .back-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:0.88rem;
    font-weight:600;
    color:rgba(255,255,255,0.85);
    margin-bottom:18px;
  }
  .back-link:hover{color:#fff;}
  .legal-content{
    max-width:760px;
    margin:0 auto;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:44px 48px;
    box-shadow:var(--shadow-soft);
  }
  .legal-content h2{
    font-size:1.3rem;
    margin-top:38px;
    margin-bottom:14px;
  }
  .legal-content h2:first-child{margin-top:0;}
  .legal-content h3{
    font-family:'Inter',sans-serif;
    font-size:1.02rem;
    font-weight:700;
    color:var(--sea-dark);
    margin-top:24px;
    margin-bottom:8px;
  }
  .legal-content p{color:var(--ink-soft);margin-bottom:14px;}
  .legal-content ul{margin:0 0 14px 22px;color:var(--ink-soft);}
  .legal-content li{margin-bottom:6px;}
  .legal-content a{color:var(--sea);text-decoration:underline;}
  .legal-content strong{color:var(--ink);}
  .fill-note{
    background:#fff7e8;
    border:1px solid #f0dfb3;
    color:#7a5c14;
    border-radius:var(--radius);
    padding:16px 20px;
    font-size:0.9rem;
    max-width:760px;
    margin:0 auto 36px;
    text-align:center;
  }
  .placeholder-field{
    background:#fde7d8;
    color:#9a4a12;
    padding:1px 7px;
    border-radius:5px;
    font-weight:600;
    white-space:nowrap;
  }
  @media (max-width:600px){
    .legal-content{padding:30px 24px;}
  }
