@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/nunito-sans-v19-latin-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/nunito-sans-v19-latin-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/nunito-sans-v19-latin-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/nunito-sans-v19-latin-800.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --blue: #011b55;
  --blue-dark: #001642;
  --orange: #f59100;
  --light: #f7f6f3;
  --text: #171717;
  --white: #ffffff;
  --container-max: 1200px;
  --section-space: clamp(2.25rem, 4vw, 3.25rem);
  --transition: 180ms ease;
}

html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Nunito Sans", Arial, sans-serif; color: var(--text); background: var(--white); font-size: 18px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--orange); }
h1,h2,h3 { color: var(--blue); font-weight: 800; line-height: 1.08; margin-top: 0; }
h1 { font-size: clamp(2.25rem, 4vw, 3.35rem); }
h2 { font-size: clamp(1.8rem, 3vw, 2.35rem); margin-bottom: 1.25rem; }
p:last-child { margin-bottom: 0; }
.site-container { width: min(100% - 3rem, var(--container-max)); max-width: var(--container-max); }
.section-space { padding-block: var(--section-space); }
.content-layer { z-index: 2; }

/* Header */
.site-header { background: rgba(255,255,255,.98); border-bottom: 1px solid transparent; transition: box-shadow var(--transition), border-color var(--transition), background-color var(--transition); }
.site-header.is-scrolled { border-bottom-color: rgba(1,27,85,.08); box-shadow: 0 8px 24px rgba(1,27,85,.07); }
.navbar { min-height: 84px; padding-block: .25rem; transition: min-height var(--transition), padding var(--transition); }
.navbar-brand { padding-block: 0; margin-block: -10px; }
.site-logo { display: block; width: 205px; height: auto; transition: width var(--transition); }
.site-header.is-scrolled .navbar { min-height: 64px; padding-block: .2rem; }
.site-header.is-scrolled .site-logo { width: 132px; }
.nav-link { position: relative; color: var(--blue); font-weight: 700; font-size: 1rem; padding-inline: 0 !important; }
.nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:-.1rem; height:3px; background:var(--orange); transition:right var(--transition); }
.nav-link:hover,.nav-link:focus,.nav-link.active { color:var(--blue); }
.nav-link:hover::after,.nav-link:focus::after,.nav-link.active::after { right:0; }
.navbar-toggler { border:0; box-shadow:none !important; padding:.25rem; }
.navbar-toggler:focus { box-shadow:none; outline:none; }

/* Hero */
.hero-section { padding-bottom:0; }
.hero-grid { position:relative; min-height:410px; overflow:hidden; background-image: linear-gradient(90deg, rgba(1,27,85,1) 0%, rgba(1,27,85,1) 24%, rgba(1,27,85,.94) 31%, rgba(1,27,85,.63) 39%, rgba(1,27,85,.22) 48%, rgba(1,27,85,0) 58%), url("../img/start-hero-new.jpg"); background-size:100% 100%, cover; background-position:center, calc(50% + 50px) center; background-repeat:no-repeat; background-color:var(--blue); }
.hero-copy { position:relative; z-index:3; width:49%; min-height:410px; display:flex; flex-direction:column; justify-content:center; padding:clamp(2.5rem,5vw,4.5rem); padding-right:clamp(2rem,4vw,3.5rem); color:var(--white); }
.hero-copy h1 { color:var(--white); margin-bottom:1.35rem; }
.hero-copy p { max-width:34rem; font-size:18px; }
.hero-handwriting { position:absolute; z-index:3; right:8.1%; top:4.5%; width:min(350px,31%); height:auto; }
.hero-b { position:absolute; z-index:2; right:1.35%; bottom:2.1rem; width:150px; opacity:.43; pointer-events:none; }

/* Intro */
.intro-section { background:var(--light); overflow:hidden; }
.deco-b { position:absolute; pointer-events:none; user-select:none; }
.deco-b-intro { width:clamp(220px,27vw,360px); left:-2.7rem; top:-2rem; opacity:.80; }
.handwriting { display:block; height:auto; }
.handwriting-feeling { width:min(330px,90%); margin:0; }
.intro-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"feeling quote" "description spirit"; column-gap:clamp(2.5rem,6vw,5.5rem); row-gap:1.7rem; padding-inline:clamp(1.25rem,4.8vw,4.1rem); }
.intro-feeling { grid-area:feeling; align-self:end; transform:translate(-2rem,-3.6rem); }
.intro-quote { grid-area:quote; }
.intro-description { grid-area:description; position:relative; z-index:2; }
.intro-spirit { grid-area:spirit; }
.intro-grid p { margin:0; }
.quote-text { margin:0; color:var(--blue); font-weight:800; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.42; }
.quote-swoosh { display:block; width:min(185px,42%); height:auto; margin:.7rem auto 0; }

/* About */
.about-section { position:relative; background:var(--blue); overflow:hidden; }
.about-section h2 { color:var(--white); }
.deco-b-about { width:clamp(180px,22vw,290px); left:-.8rem; bottom:-2.2rem; opacity:.65; }
.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"title figure" "text figure"; column-gap:clamp(2rem,5vw,4rem); align-items:center; }
.about-title { grid-area:title; align-self:end; transform:translateY(-.65rem); }
.about-text { grid-area:text; align-self:start; }
.about-text p { max-width:38rem; }
.about-figure { grid-area:figure; margin-left:auto; max-width:560px; transform:translateY(.8rem); }
.about-figure figcaption { width:min(320px,72%); margin:1rem auto 0; position:relative; z-index:2; text-align:center; }

/* Initiator */
.initiator-section { position:relative; background:var(--white); overflow:hidden; }
.initiator-grid { display:grid; grid-template-columns:5fr 7fr; grid-template-areas:"image title" "image copy"; column-gap:clamp(2rem,5vw,4rem); align-items:start; }
.initiator-title { grid-area:title; align-self:end; }
.initiator-image { grid-area:image; }
.initiator-copy { grid-area:copy; }
.initiator-name { margin-top:-.15rem; margin-bottom:.65rem; }
.initiator-photo { width:100%; aspect-ratio:1 / 1; max-height:450px; object-fit:cover; object-position:center center; }
.deco-b-initiator { width:clamp(210px,25vw,330px); right:-1.4rem; top:.6rem; opacity:.55; }
.handwriting-spielraum { width:min(340px,90%); margin-top:1.75rem; }

/* Adventures intro */
.adventures-intro { position:relative; background:var(--light); overflow:hidden; }
.deco-b-adventures { display:none; }
.adventures-grid { display:grid; grid-template-columns:7fr 5fr; grid-template-areas:"title mark" "copy mark"; column-gap:clamp(2rem,5vw,4rem); align-items:center; }
.adventures-title { grid-area:title; align-self:end; }
.adventures-copy { grid-area:copy; }
.adventure-mark { grid-area:mark; display:flex; align-items:center; justify-content:center; gap:1rem; }
.mountain-icon { width:min(255px,48%); }
.handwriting-start { width:min(320px,55%); }

/* CTA */
.adventure-cta { padding-block:24px; background:var(--white); }
.adventure-cta-inner { position:relative; min-height:350px; display:flex; align-items:center; padding:clamp(1.5rem,4vw,2.75rem); overflow:hidden; background-image: linear-gradient(90deg, rgba(1,27,85,.96) 0%, rgba(1,27,85,.82) 22%, rgba(1,27,85,.48) 40%, rgba(1,27,85,.10) 66%, rgba(1,27,85,0) 82%), url("../img/start-abenteuer.jpg"); background-size:cover; background-position:center, calc(42% + 20px) center; }
.adventure-cta-content { position:relative; z-index:3; width:min(430px,45%); display:flex; flex-direction:column; align-items:flex-start; gap:1.7rem; }
.cta-handwriting { width:min(390px,100%); height:auto; }
.btn-primary-site { border:0; border-radius:9px; background:var(--orange); color:var(--blue); font-weight:900; font-size:18px; padding:.95rem 1.5rem; line-height:1; box-shadow:none; transition:transform var(--transition),background-color var(--transition); }
.btn-primary-site:hover,.btn-primary-site:focus { color:var(--blue); background:#df8300; transform:translateY(-1px); }
.btn-arrow { display:inline-block; margin-left:.45rem; font-size:1.28em; font-weight:900; line-height:.8; color:var(--blue); transition:transform 200ms ease; }
.btn-primary-site:hover .btn-arrow,.btn-primary-site:focus .btn-arrow { transform:translateX(6px); }

/* Footer */
.site-footer { background:var(--blue); color:var(--white); padding-block:1.55rem; scroll-margin-top:110px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:2.5rem; }
.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:.3rem; min-width:0; }
.footer-contact-line { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem .65rem; }
.footer-separator { opacity:.55; }
.site-footer a { color:var(--white); text-decoration:none; font-weight:700; }
.site-footer a:hover,.site-footer a:focus { color:var(--orange); }
.footer-links { display:flex; flex-direction:column; align-items:flex-end; gap:.3rem; flex:0 0 auto; }

@media (max-width:991.98px) {
  .site-container { width:min(100% - 2.2rem,var(--container-max)); }
  .navbar { min-height:68px; padding-block:.2rem; }
  .site-logo { width:180px; }
  .site-header.is-scrolled .navbar { min-height:60px; padding-block:.15rem; }
  .site-header.is-scrolled .site-logo { width:122px; }
  .navbar-collapse { padding:1rem 0 .5rem; }
  .nav-link { display:inline-block; padding-block:.55rem !important; }
  .hero-grid { min-height:640px; background-image: linear-gradient(180deg, rgba(1,27,85,.99) 0%, rgba(1,27,85,.96) 36%, rgba(1,27,85,.68) 48%, rgba(1,27,85,.12) 66%), url("../img/start-hero-new.jpg"); background-size:100% 100%, auto 72%; background-position:center, 60% bottom; }
  .hero-copy { width:100%; min-height:0; justify-content:flex-start; padding:3rem; padding-right:40%; }
  .hero-copy p { font-size:18px; }
  .hero-handwriting { right:4%; top:auto; bottom:1.8rem; width:min(310px,35%); }
  .hero-b { display:none; }
  .deco-b-intro { left:-2rem; top:-.5rem; }
}

@media (max-width:767.98px) {
  :root { --section-space:2.125rem; }
  body { font-size:17px; }
  .site-container { width:min(100% - 1.5rem,var(--container-max)); }
  .hero-grid { min-height:660px; background-color:var(--blue); background-image: linear-gradient(180deg, rgba(1,27,85,1) 0%, rgba(1,27,85,1) 40%, rgba(1,27,85,.94) 45%, rgba(1,27,85,.56) 53%, rgba(1,27,85,.08) 63%), url("../img/start-hero-new.jpg"); background-size:100% 100%, auto 58%; background-position:center, 62% bottom; background-repeat:no-repeat; }
  .hero-copy { padding:2.05rem 1.6rem; padding-right:1.6rem; max-width:100%; text-align:center; align-items:center; }
  .hero-copy p { max-width:31rem; font-size:17px; margin-inline:auto; }
  .hero-handwriting { top:auto; bottom:2.25rem; right:50%; width:min(265px,61%); transform:translateX(50%); }

  /* Mobil: Beschreibung zuerst; „Vielleicht …“ direkt vor dem Zitat. */
  .intro-grid { grid-template-columns:1fr; grid-template-areas:"description" "feeling" "quote" "spirit"; row-gap:1.45rem; padding-inline:0; }
  .intro-feeling { transform:none; margin-top:.25rem; }
  .handwriting-feeling { width:min(320px,86%); margin-inline:auto; }
  .deco-b-intro { width:185px; left:-2rem; top:1.5rem; opacity:.90; }
  .quote-text { text-align:center; }
  .quote-swoosh { margin-top:.55rem; }

  /* Bilder/Grafiken direkt nach der jeweiligen Überschrift. */
  .about-grid { grid-template-columns:1fr; grid-template-areas:"title" "figure" "text"; row-gap:1.55rem; }
  .about-title { margin-bottom:0; text-align:center; transform:none; }
  .about-figure { margin-inline:auto; max-width:100%; transform:none; }
  .about-figure figcaption { width:min(320px,84%); margin:1rem auto 0; }
  .deco-b-about { opacity:.90; }

  .initiator-grid { grid-template-columns:1fr; grid-template-areas:"title" "image" "copy"; row-gap:1.55rem; }
  .initiator-title { margin-bottom:0; text-align:center; }
  .initiator-image { text-align:center; }
  .initiator-photo { width:min(100%,430px); max-height:none; aspect-ratio:1 / 1; object-fit:cover; object-position:center center; margin-inline:auto; }
  .initiator-copy { display:flex; flex-direction:column; }
  .initiator-name { text-align: center; }
  .initiator-copy p:nth-child(1) { order:1; }
  .initiator-copy p:nth-child(2) { order:2; }
  .handwriting-spielraum { order:3; display:block; margin:.5rem auto 1rem; }
  .initiator-copy p:nth-child(3) { order:4; }
  .deco-b-initiator { width:190px; right:-1rem; top:auto; bottom:2.5rem; opacity:.82; }

  .adventures-grid { grid-template-columns:1fr; grid-template-areas:"title" "mark" "copy"; row-gap:1.55rem; }
  .adventures-title { margin-bottom:0; text-align:center; }
  .adventure-mark { justify-content:center; gap:.8rem; }
  .mountain-icon { width:min(250px,47%); }
  .handwriting-start { width:min(300px,50%); }
  .deco-b-adventures { display:none; }

  /* Mobil: Text bekommt oben eine ruhige dunkelblaue Fläche; das Foto beginnt darunter. */
  .adventure-cta-inner { min-height:420px; align-items:flex-start; padding:1.35rem; background-color:var(--blue); background-image: linear-gradient(180deg, rgba(1,27,85,1) 0%, rgba(1,27,85,1) 28%, rgba(1,27,85,.94) 38%, rgba(1,27,85,.66) 48%, rgba(1,27,85,.28) 59%, rgba(1,27,85,0) 71%), url("../img/start-abenteuer-mobile.jpg"); background-size:100% 100%, 136% auto; background-position:center, 55% bottom; background-repeat:no-repeat; }
  .adventure-cta-content { width:100%; gap:1rem; align-items:center; text-align:center; }
  .cta-handwriting { width:min(315px,100%); }
  .btn-primary-site { font-size:17px; padding:.85rem 1.15rem; }

  .footer-inner,.footer-contact,.footer-links { align-items:center; }
  .footer-inner { flex-direction:column; gap:1rem; text-align:center; }
  .footer-contact { flex-direction:column; gap:.3rem; }
  .footer-contact-line { justify-content:center; }
  .footer-links { justify-content:center; width:100%; }
}

@media (max-width:479.98px) {
  .site-logo { width:168px; }
  .site-header.is-scrolled .site-logo { width:112px; }
  .hero-copy h1 { font-size:2rem; }
  .hero-grid { min-height:635px; background-size:100% 100%, auto 56%; background-position:center, 63% bottom; }
  .hero-copy { max-width:100%; padding-right:1.25rem; }
  .hero-copy p { max-width:19rem; }
  .hero-handwriting { width:min(235px,62%); bottom:2rem; }
  .adventure-mark { flex-direction:column; align-items:center; }
  .mountain-icon,.handwriting-start { width:min(270px,76%); }
  .adventure-cta-inner { min-height:410px; background-size:100% 100%, 145% auto; background-position:center, 50% bottom; }
  .adventure-cta-content { width:100%; }
  .footer-links { flex-wrap:wrap; gap:.75rem 1.25rem; }
}

/* Rechtliche Seiten */
.legal-main { padding-block:var(--section-space); }
.legal-content { width:75%; margin-inline:auto; padding:clamp(2rem,4vw,3.25rem); background:var(--light); border-radius:18px; }
.legal-content h1 { margin-bottom:2rem; }
.legal-content h3 { font-size:1.45rem; margin-top:2.25rem; margin-bottom:1rem; }
.legal-content h4 { font-size:1.25rem; margin-top:2rem; margin-bottom:.85rem; }
.legal-content h5 { color:var(--blue); font-size:1.05rem; font-weight:800; margin-top:1.35rem; margin-bottom:.55rem; }
.legal-content p,.legal-content ul { margin-bottom:1.15rem; }
.legal-content .legal-back { margin-top:2.25rem; margin-bottom:0; font-weight:800; }
@media (max-width:991.98px) { .legal-content { width:88%; } }
@media (max-width:767.98px) { .legal-main { padding-block:1.5rem; } .legal-content { width:100%; padding:1.5rem 1.25rem; border-radius:14px; } .legal-content h1 { margin-bottom:1.5rem; } }


/* ============================================================
   Unterseite: Die ersten Abenteuer
   ============================================================ */
.adventures-page { background:var(--white); }
.places-hero { padding-top:0; }
.places-hero-image {
  position:relative;
  overflow:hidden;
}
.places-hero-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  height:clamp(300px,34vw,470px);
  background:var(--white);
}
.places-hero-panel {
  position:relative;
  min-width:0;
  overflow:hidden;
  background:var(--white);
}
.places-hero-panel img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.places-hero-panel-left img {
  object-position:center 60%;
}
.places-hero-panel-right img {
  object-position:center 52%;
}
.places-hero-title-wrap {
  position:absolute;
  z-index:2;
  left:50%;
  top:5.5%;
  transform:translateX(-50%);
  width:min(360px,34%);
  pointer-events:none;
}
.places-hero-glow {
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:82%;
  height:112%;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.82) 28%,
    rgba(255,255,255,.34) 54%,
    rgba(255,255,255,0) 76%);
  filter:blur(3px);
}
.places-hero-title {
  display:block;
  width:100%;
  height:auto;
  position:relative;
  z-index:2;
}
.places-hero-swoosh {
  display:block;
  width:82%;
  height:auto;
  margin:-.4rem auto 0;
  position:relative;
  z-index:2;
}
.places-caption-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:1rem 0 0;
  font-size:16px;
}
.places-caption-grid p { margin:0; }

.places-intro { padding-top:.85rem; }
.places-intro-copy { width:min(940px,90%); margin:0 auto 2.2rem; text-align:center; }
.places-lead { font-size:16px; line-height:1.55; margin-bottom:2.15rem; text-align:center; }
.places-intro-copy h1 { font-size:clamp(1.4rem,1.8vw,1.75rem); margin:0; }
.personal-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); }
.personal-card { display:grid; grid-template-columns:minmax(160px,36%) 1fr; gap:1.35rem; align-items:start; }
.personal-photo { width:100%; aspect-ratio:4 / 5; object-fit:cover; object-position:center; }
.personal-card p { margin:0; }

.offers-section { background:var(--white); }
.offers-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.2rem,2.5vw,2.2rem); align-items:stretch; }
.offer-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:clamp(1.6rem,3vw,2.3rem);
  border-radius:18px;
  overflow:hidden;
}
.offer-relax { background:#eaf4fb; }
.offer-aktiv { background:#f8efe4; }
.offer-card::after {
  content:"";
  position:absolute;
  right:1.1rem;
  bottom:1.8rem;
  width:165px;
  height:235px;
  background:url("../img/b-deko-hellgrau.png") center/contain no-repeat;
  opacity:.58;
  pointer-events:none;
}
.offer-icon { width:58px; height:58px; object-fit:contain; margin:0 auto .65rem; position:relative; z-index:1; }
.offer-card h2 { text-align:center; font-size:clamp(1.45rem,2vw,1.9rem); margin-bottom:.25rem; position:relative; z-index:1; }
.offer-date { text-align:center; color:var(--orange); font-weight:900; margin-bottom:1.35rem; position:relative; z-index:1;  font-size:20px; }
.offer-copy,.offer-price { position:relative; z-index:1; }
.offer-copy { flex:1 0 auto; }
.offer-price { margin-top:.6rem; }
.offer-price ul { padding-left:1.25rem; margin-bottom:1.2rem; }
.thumb-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.45rem;
  position:relative;
  z-index:2;
  margin:1rem 0 1.2rem;
}
.thumb {
  border:0;
  padding:0;
  background:none;
  border-radius:3px;
  overflow:hidden;
  cursor:zoom-in;
  aspect-ratio:1 / 1;
}
.thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 180ms ease, opacity 180ms ease;
}
.thumb:hover img,.thumb:focus-visible img { transform:scale(1.045); opacity:.92; }
.thumb:focus-visible { outline:3px solid var(--orange); outline-offset:2px; }
.gallery-hint {
  margin:-.65rem 0 1.15rem;
  text-align:center;
  font-size:.84rem;
  line-height:1.35;
  font-style:italic;
  opacity:.78;
}

.typical-day { position:relative; overflow:hidden; background:linear-gradient(135deg,#f2f8fd 0%,#fffaf3 100%); }
.day-heading { width:min(880px,94%); margin-inline:auto; position:relative; z-index:1; }
.day-heading h2 { margin-bottom:.4rem; }
.day-slogan { color:var(--orange); font-weight:800; margin-bottom:.15rem; }
.day-frame { margin-top:0; }
.day-steps {
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.4rem;
  margin-top:3.2rem;
}
.day-steps::before {
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:33px;
  height:3px;
  background:var(--orange);
  z-index:0;
}
.day-step {
  position:relative;
  z-index:1;
  text-align:center;
  padding:1.15rem .9rem 1.25rem;
  background:rgba(255,255,255,.82);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(1,27,85,.07);
  border-top:3px solid var(--orange);
}
.day-step img { width:68px; height:68px; object-fit:contain; margin:-2.15rem auto .8rem; background:#fff; border-radius:50%; box-shadow:0 4px 12px rgba(1,27,85,.08); }
.day-step h3 { font-size:1rem; font-weight:900; margin-bottom:.55rem; }
.day-step p { font-size:15px; line-height:1.45; margin:0; }

.adventure-contact { padding-block:24px; background:var(--white); }
.adventure-contact-inner {
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(1.8rem,4vw,3rem);
  background-image:
    linear-gradient(90deg, rgba(1,27,85,.96) 0%, rgba(1,27,85,.86) 28%, rgba(1,27,85,.53) 48%, rgba(1,27,85,.12) 72%, rgba(1,27,85,0) 88%),
    url("../img/abenteuer-u5.jpg");
  background-size:100% 100%, cover;
  background-position:center, center;
  background-repeat:no-repeat;
}
.adventure-contact-copy { position:relative; z-index:2; width:min(470px,48%); color:var(--orange); }
.adventure-contact-title {
  display:block;
  width:min(390px,100%);
  height:auto;
  margin-bottom:1.1rem;
}
.adventure-contact-b { position:absolute; z-index:1; right:4%; top:8%; width:180px; opacity:.45; }

.lightbox {
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:3rem 5rem;
  background:rgba(0,0,0,.82);
}
.lightbox.is-open { display:flex; }
.lightbox-image {
  max-width:min(1200px,88vw);
  max-height:86vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 16px 60px rgba(0,0,0,.35);
}
.lightbox-close,.lightbox-prev,.lightbox-next {
  position:absolute;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  line-height:1;
}
.lightbox-close { right:1.3rem; top:.8rem; font-size:3rem; }
.lightbox-prev,.lightbox-next { top:50%; transform:translateY(-50%); font-size:4rem; padding:.5rem; }
.lightbox-prev { left:1rem; }
.lightbox-next { right:1rem; }
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,
.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible { color:var(--orange); }
body.lightbox-open { overflow:hidden; }
.thumb-mobile-only { display:none; }
.lightbox-only { display:none !important; }


@media (min-width:992px) {
  .places-intro.section-space { padding-bottom:calc(var(--section-space) - 40px); }
  .places-hero-glow { width:125%; height:112%; }
  .offer-card { padding-bottom:calc(clamp(1.6rem,3vw,2.3rem) - 15px); }
  .typical-day.section-space { padding-top:calc(var(--section-space) - 5px); }
  .adventure-contact-title { width:min(390px,100%); }
}

@media (min-width:768px) and (max-width:991.98px) {
  .places-hero-glow { width:96%; height:112%; }
}

@media (max-width:991.98px) {
  .places-hero-title-wrap { width:min(320px,39%); }
  .personal-grid { gap:1.8rem; }
  .personal-card { grid-template-columns:1fr; }
  .personal-photo { aspect-ratio:16 / 10; max-height:300px; }
  .offers-grid { grid-template-columns:1fr; }
  .offer-card { max-width:760px; width:100%; margin-inline:auto; }
  .day-steps { grid-template-columns:repeat(3,1fr); }
  .day-steps::before { display:none; }
  .adventure-contact-copy { width:min(500px,58%); }
}

@media (max-width:767.98px) {
  .places-hero-pair { height:290px; gap:4px; }
  .places-hero-panel-left img { object-position:46% center; }
  .places-hero-panel-right img { object-position:54% center; }
  .places-hero-title-wrap { top:3.2%; left:53%; width:min(270px,56%); }
  .places-hero-glow { width:92%; height:118%; }
  .places-hero-swoosh { width:73%; margin-top:-.85rem; transform:translateX(4%); }
  .places-caption-grid {
    grid-template-columns:1fr 1fr;
    gap:.8rem;
    padding:.85rem .15rem 0;
    font-size:14px;
    line-height:1.4;
  }
  .places-intro { padding-top:1.8rem; }
  .offers-section.section-space { padding-top:calc(var(--section-space) - 30px); }
  .places-intro-copy { width:100%; margin-bottom:1.6rem; }
  .places-intro-copy h1 { text-align:center; }
  .personal-grid { grid-template-columns:1fr; }
  .personal-card { gap:1rem; }
  .personal-photo { aspect-ratio:4 / 3; max-height:none; object-position:center top; }
  .offer-card { padding:1.4rem 1.15rem; padding-bottom:calc(1.4rem - 10px); border-radius:14px; }
  .offer-card::after { width:145px; height:210px; bottom:5.5rem; opacity:.5; }
  .thumb-grid { grid-template-columns:repeat(3,1fr); gap:.4rem; }
  .offer-copy .thumb-grid { margin-top:calc(1rem + 10px); }
  .thumb-mobile-only { display:block; }
  .day-steps { grid-template-columns:1fr 1fr; gap:1.8rem 1rem; }
  .day-step:last-child { grid-column:1 / -1; width:min(330px,100%); margin-inline:auto; }
  .day-step p { font-size:15px; }
  .adventure-contact-inner {
    min-height:390px;
    align-items:flex-start;
    padding:1.5rem 1.3rem;
    background-image:
      linear-gradient(180deg, rgba(1,27,85,.98) 0%, rgba(1,27,85,.90) 34%, rgba(1,27,85,.58) 53%, rgba(1,27,85,.08) 72%, rgba(1,27,85,0) 82%),
      url("../img/abenteuer-u5.jpg");
    background-size:100% 100%, auto 72%;
    background-position:center, center bottom;
  }
  .adventure-contact-copy { width:100%; text-align:center; font-size:16px; }
  .adventure-contact-title {
    width:min(330px,86%);
    margin:.05rem auto .85rem;
  }
  .adventure-contact-copy p { line-height:1.28; margin-bottom:0; }
  .adventure-contact-copy .btn { display:none; }
  .adventure-contact-b { width:105px; right:-2%; top:auto; bottom:.6rem; opacity:.5; }
  .lightbox { padding:3rem .8rem; }
  .lightbox-image { max-width:96vw; max-height:78vh; }
  .lightbox-prev,.lightbox-next { font-size:3rem; }
  .lightbox-prev { left:.1rem; }
  .lightbox-next { right:.1rem; }
}

@media (max-width:479.98px) {
  .places-hero-pair { height:285px; gap:3px; }
  .places-hero-title-wrap { width:min(235px,62%); }
  .places-caption-grid { gap:.55rem; font-size:13px; }
  .thumb-grid { grid-template-columns:repeat(3,1fr); }
  .day-steps { grid-template-columns:1fr; }
  .day-step:last-child { grid-column:auto; width:auto; }
}

.adventure-contact-copy p { color:var(--orange); font-weight:700; }
.adventure-contact-copy .btn { margin-top:1.25rem; }


