

.page-kreuzfahrten{
  --accent:#4fb391;
  --accent-d:#3a8d71;
  --accent-l:#e7f6f0;
  --navy:#0a1b1e;
  --navy-2:#10282b;
  --navy-3:#17383c;
  --line:rgba(255,255,255,.09);
}

.page-kreuzfahrten{background:var(--navy)}
.page-kreuzfahrten .btn-accent{background:var(--accent);color:#08181a}
.page-kreuzfahrten .btn-accent:hover{background:#62c5a3;box-shadow:0 6px 24px rgba(79,179,145,.4)}
.page-kreuzfahrten .tag-mint{border-color:rgba(79,179,145,.3);background:rgba(79,179,145,.12);color:#a3e2c8}
.page-kreuzfahrten .finput:focus{border-color:var(--accent)}
.page-kreuzfahrten .ctype:hover,
.page-kreuzfahrten .ctype[aria-checked="true"]{border-color:var(--accent);background:var(--accent-l);color:var(--accent-d)}
.page-kreuzfahrten .ctype[aria-checked="true"]{box-shadow:0 0 0 1px var(--accent) inset}
.page-kreuzfahrten .sdot-active{background:var(--accent);color:#08181a}
.page-kreuzfahrten .sline-done{background:var(--accent)}
.page-kreuzfahrten .sstep-label.on{color:var(--accent-d)}

.kf-kicker{
  display:flex;align-items:center;gap:.875rem;
  font-size:.6875rem;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;
}
.kf-kicker-line{display:block;width:2.5rem;height:1px;background:var(--accent);flex-shrink:0}
.kf-kicker-dark{color:var(--accent-d)}

.kf-hero{position:relative;min-height:92vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.kf-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kf-hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,27,30,.72) 0%,rgba(10,27,30,.25) 35%,rgba(10,27,30,.95) 100%),
    radial-gradient(120% 80% at 50% 100%,rgba(79,179,145,.18) 0%,transparent 60%);
}
.kf-hero-inner{position:relative;padding:11rem 1.5rem 4rem;width:100%}
.kf-title{
  color:#fff;font-size:clamp(2.6rem,7.5vw,6.4rem);line-height:.96;
  letter-spacing:-.02em;margin-bottom:1.75rem;
}
.kf-title em{font-style:italic;color:var(--accent)}
.kf-hero-sub{color:rgba(255,255,255,.72);font-size:1.0625rem;line-height:1.7;max-width:44ch;margin-bottom:2.5rem}
.kf-hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

.kf-hero-strip{position:relative;border-top:1px solid var(--line);background:rgba(10,27,30,.72);backdrop-filter:blur(10px)}
.kf-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:1.75rem;padding-bottom:1.75rem}
.kf-stat{display:flex;align-items:baseline;gap:.75rem}
.kf-stat strong{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--accent);line-height:1}
.kf-stat span{font-size:.8125rem;color:rgba(255,255,255,.5);line-height:1.4}

.kf-intro{background:var(--navy)}
.kf-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}
.kf-intro h2{color:#fff}
.kf-intro h2 em{font-style:italic;color:var(--accent)}
.kf-intro-text p{color:rgba(255,255,255,.62);font-size:1rem;line-height:1.8;margin-bottom:1.25rem}

.kf-sec-head{max-width:46rem;margin-bottom:3.5rem}
.kf-sec-head h2{color:#fff}
.kf-sec-head h2 em{font-style:italic;color:var(--accent)}
.kf-sec-head-light h2{color:var(--navy)}
.kf-sec-head-light h2 em{color:var(--accent-d)}

.kf-sec-dark{background:var(--navy-2);padding:5rem 0;border-top:1px solid var(--line)}
.kf-reederei-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.kf-card{
  background:var(--navy-3);border:1px solid var(--line);
  border-radius:1.25rem;overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.kf-card:hover{border-color:rgba(79,179,145,.45);transform:translateY(-3px);box-shadow:0 16px 44px rgba(0,0,0,.4)}
.kf-card-wide{grid-column:span 3}
.kf-card-wide{flex-direction:row}
.kf-card-wide img{width:42%;object-fit:cover;flex-shrink:0}
.kf-card-body{padding:2rem}
.kf-card-tag{
  font-size:.625rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.625rem;
}
.kf-card h3{color:#fff;font-size:1.5rem;margin-bottom:.875rem}
.kf-card p{color:rgba(255,255,255,.6);font-size:.9375rem;line-height:1.7}
.kf-card-list{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.625rem}
.kf-card-list li{display:flex;align-items:flex-start;gap:.625rem;color:rgba(255,255,255,.75);font-size:.875rem;line-height:1.5}
.kf-card-list svg{color:var(--accent);flex-shrink:0;margin-top:.15rem}

.kf-cabins{background:#f7fbf9}
.kf-cabins-note{color:#5f7169;font-size:.9375rem;line-height:1.7;margin-top:1rem;max-width:52ch}
.kf-cabin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;align-items:stretch}
.kf-cabin{
  position:relative;background:#fff;border:1px solid #e0eae5;
  border-radius:1.25rem;padding:2rem 1.5rem;
  display:flex;flex-direction:column;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.kf-cabin:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 36px rgba(13,45,44,.1)}
.kf-cabin-num{
  font-family:'DM Serif Display',serif;font-size:1.75rem;
  color:#c6d8cf;line-height:1;margin-bottom:1rem;
}
.kf-cabin h3{color:var(--navy);font-size:1.25rem;margin-bottom:.375rem}
.kf-cabin-for{font-size:.75rem;font-weight:600;color:var(--accent-d);margin-bottom:.875rem}
.kf-cabin p{color:#5f7169;font-size:.875rem;line-height:1.65}
.kf-cabin-featured{background:var(--navy);border-color:var(--navy)}
.kf-cabin-featured .kf-cabin-num{color:rgba(255,255,255,.25)}
.kf-cabin-featured h3{color:#fff}
.kf-cabin-featured p{color:rgba(255,255,255,.65)}
.kf-cabin-featured .kf-cabin-for{color:var(--accent)}
.kf-cabin-badge{
  position:absolute;top:-.6rem;left:1.5rem;
  background:var(--accent);color:#08181a;
  font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:9999px;
}

.kf-steps-sec{background:var(--navy);padding:5rem 0}
.kf-steps-panel{background:var(--navy-2);border:1px solid var(--line);border-radius:2rem;padding:3.5rem}
.kf-steps-head{margin-bottom:2.5rem}
.kf-steps-head h2{color:#fff}
.kf-steps-head h2 em{font-style:italic;color:var(--accent)}
.kf-steps{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 3rem}
.kf-steps li{display:flex;gap:1.25rem;align-items:flex-start}
.kf-step-num{
  width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:9999px;
  border:1px solid var(--accent);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:.8125rem;font-weight:600;
}
.kf-steps h3{color:#fff;font-size:1.0625rem;margin-bottom:.375rem;font-family:'DM Sans',sans-serif;font-weight:600}
.kf-steps p{color:rgba(255,255,255,.55);font-size:.875rem;line-height:1.65}

.page-kreuzfahrten #anfrage{background:#f7fbf9}
.page-kreuzfahrten #anfrage h2{color:var(--navy)}
.page-kreuzfahrten #anfrage h2 em{color:var(--accent-d)}

@media(max-width:1000px){
  .kf-reederei-grid{grid-template-columns:repeat(2,1fr)}
  .kf-card-wide{grid-column:span 2}
  .kf-cabin-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .kf-intro-grid{grid-template-columns:1fr;gap:1.75rem}
  .kf-steps{grid-template-columns:1fr;gap:1.75rem}
  .kf-steps-panel{padding:2.25rem 1.5rem}
}
@media(max-width:700px){
  .kf-hero{min-height:78vh}
  .kf-hero-inner{padding:8rem 1.5rem 2.5rem}
  .kf-strip-inner{grid-template-columns:1fr;gap:.875rem}
  .kf-stat strong{font-size:1.5rem}
  .kf-reederei-grid{grid-template-columns:1fr}
  .kf-card-wide{grid-column:span 1;flex-direction:column}
  .kf-card-wide img{width:100%;height:200px}
  .kf-cabin-grid{grid-template-columns:1fr}
  .kf-card-body{padding:1.5rem}
}

.page-kreuzfahrten #nav.scrolled{background:rgba(10,27,30,.93);box-shadow:0 1px 0 rgba(255,255,255,.09)}
.page-kreuzfahrten #nav.scrolled .logo{color:#fff}
.page-kreuzfahrten #nav.scrolled .nav-links a{color:rgba(255,255,255,.92)}
.page-kreuzfahrten #nav.scrolled .nav-links a.nav-active{color:var(--accent)}
.page-kreuzfahrten #nav.scrolled .nav-links a.nav-active::after{background:var(--accent)}
.page-kreuzfahrten #nav.scrolled .nav-cta{color:var(--beige);border-bottom-color:rgba(233,223,209,.5)}
.page-kreuzfahrten #nav.scrolled .nav-cta:hover{color:#fff;border-bottom-color:#fff}
.page-kreuzfahrten #nav.scrolled #mbtn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
