:root {
  --cream: #f7f5f2;
  --paper: #ffffff;
  --ink: #262123;
  --orange: #c63f69;
  --sun: #d8c2a2;
  --aqua: #274f68;
  --mint: #f0ede8;
  --berry: #91415a;
  --pink: #f1ece9;
  --line: rgba(57, 43, 47, .14);
  --brand-dark: #171315;
  --brand-muted: #6b6263;
  --brand-pink: #c63f69;
  --brand-rose: #91415a;
  --brand-stone: #f0ede8;
  --brand-sand: #cbb38f;
  --brand-navy: #173247;
  --brand-blue: #315f78;
  --brand-blue-soft: #e4edf1;
}

body { background: var(--cream); color: var(--ink); font-weight: 400; }
.nav { background: rgba(247,245,242,.95); border-color: rgba(57,43,47,.1); }
.brand i { width: 7px; height: 7px; background: var(--brand-pink); box-shadow: none; }
.nav-wa { background: var(--brand-pink); }
.nav-wa span { color: #fff; }
.nav-right { gap:clamp(14px,2vw,27px); }
.nav-right .nav-link { position:relative; }
.nav-right .nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--brand-pink); transition:right .2s ease; }
.nav-right .nav-link:hover::after { right:0; }
.kicker { color: var(--brand-pink); font-weight: 500; }

.hero { min-height: 100svh; background:linear-gradient(118deg,var(--brand-dark) 0%,var(--brand-dark) 58%,var(--brand-navy) 100%); color: #fff; grid-template-columns:minmax(0,.9fr) minmax(440px,.7fr); }
.hero::before { inset: 76px 0 0; background:radial-gradient(circle at 23% 34%,rgba(232,64,122,.14),transparent 32%),radial-gradient(circle at 84% 70%,rgba(49,95,120,.28),transparent 31%); }
.sun-orbit { border-color: rgba(232,64,122,.18); }
.hero-copy { max-width: 850px; }
.hero h1 { font-size: clamp(4rem,7.5vw,8rem); text-transform:none; line-height:.92; letter-spacing:-.035em; }
.hero h1 em { color: var(--brand-pink); font-weight: 400; }
.hero h1 em::after { display:none; }
.hero-text { color: rgba(255,255,255,.72); font-family:var(--sans); font-size:clamp(1.05rem,1.5vw,1.28rem); font-weight:300; max-width:610px; line-height:1.7; }
.btn { border-radius:0; font-weight:500; }
.btn-hot { background:var(--brand-pink); box-shadow:none; }
.text-link { color:rgba(255,255,255,.72); }
.hero-photo { transform:none; height:min(74vh,760px); }
.hero-photo::before { inset:18px -18px -18px 18px; background:var(--brand-blue); }
.hero-photo img { filter:saturate(.92); }
.photo-stamp { left:-32px; bottom:42px; width:134px; height:134px; background:var(--brand-pink); color:#fff; transform:none; box-shadow:0 18px 45px rgba(0,0,0,.22); }
.place-tag { transform:none; color:var(--ink); }
.place-tag span { background:var(--brand-pink); }
.hero-sideword { color:rgba(255,255,255,.28); }

.scroll-progress { position:fixed; z-index:220; top:0; left:0; right:0; height:2px; pointer-events:none; }
.scroll-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--brand-sand),var(--brand-pink)); transition:width .08s linear; }
.credibility-strip { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-bottom:1px solid var(--line); }
.credibility-strip span { min-height:112px; padding:25px clamp(18px,3vw,42px); display:flex; flex-direction:column; justify-content:center; color:var(--brand-muted); font-size:.72rem; line-height:1.4; border-right:1px solid var(--line); }
.credibility-strip span:last-child { border-right:0; }
.credibility-strip b { margin-bottom:4px; color:var(--ink); font-family:var(--serif); font-size:1.25rem; font-weight:600; }
.credibility-strip span:nth-child(2) { background:var(--brand-blue-soft); }
.credibility-strip span:nth-child(2) b { color:var(--brand-navy); }

.freedom-health { padding:clamp(90px,11vw,165px) clamp(22px,7vw,115px); display:grid; grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr); gap:clamp(55px,9vw,150px); background:var(--cream); border-bottom:1px solid var(--line); }
.freedom-health-lead,.freedom-health-copy { max-width:720px; }
.freedom-health h2 { margin:0; font-family:var(--serif); font-weight:600; font-size:clamp(3rem,5.1vw,5.6rem); line-height:.98; letter-spacing:-.035em; }
.freedom-health-copy { align-self:end; color:var(--brand-muted); font-size:1.04rem; }
.freedom-health-accent { margin-top:28px; padding-top:26px; border-top:1px solid var(--line); color:var(--ink); font-family:var(--serif); font-size:1.55rem; line-height:1.35; }
.freedom-health-accent strong { color:var(--brand-pink); font-weight:600; }
.freedom-pillars { display:flex; align-items:center; gap:15px; margin-top:28px; color:var(--brand-rose); font-size:.68rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.freedom-pillars i { width:28px; height:1px; background:var(--brand-pink); }

.routes { background:#fff; }
.routes-head { grid-template-columns:.55fr 1.25fr .8fr; }
.routes h2 { font-size:clamp(3.1rem,5vw,5.5rem); line-height:.95; }
.route-grid { gap:16px; grid-auto-rows:minmax(300px,auto); }
.route { border:1px solid var(--line); background:#fff; color:var(--ink); box-shadow:none; }
.route:hover { border-color:rgba(232,64,122,.55); box-shadow:0 18px 45px rgba(69,20,40,.08); }
.route-health { background:var(--brand-dark); color:#fff; }
.route-business { background:var(--brand-navy); color:#fff; }
.route-shop { background:#f7e7ed; }
.route-insta,.route-wa { background:#fff; }
.route::after { border-color:var(--brand-pink); }
.route-emoji { color:var(--brand-pink); }
.route-health .route-emoji,.route-business .route-emoji { color:#fff; }

.story { background:var(--brand-stone); }
.mini-sun { color:var(--brand-pink); font-size:1.4rem; }
.story-quote em { color:var(--brand-pink); }
.story-copy>p:not(.kicker) { color:var(--brand-muted); }
.story-copy .story-accent { border-left:3px solid var(--brand-pink); }
.story-photo { transform:none; }
.story-photo::before { inset:-14px 14px 14px -14px; background:linear-gradient(145deg,var(--brand-sand),var(--brand-blue-soft)); }
.scribble { background:var(--brand-pink); transform:none; }

.camper-bridge { background:var(--brand-navy); grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); }
.camper-bridge-photo::after { background:linear-gradient(90deg,transparent 72%,rgba(23,50,71,.42)); }
.camper-sticker { background:var(--brand-pink); color:#fff; transform:none; }
.camper-bridge-copy>p:not(.kicker) { color:rgba(255,255,255,.68); }
.camper-values { color:#d9e8ef; font-size:1.25rem; }
.camper-values i { color:var(--brand-pink); }

.fitline { background:var(--brand-rose); }
.fresh-tag { background:#fff; color:var(--brand-rose); transform:none; }
.kicker.light { color:#ffc0d6; }
.fitline-copy>p:not(.kicker) { color:rgba(255,255,255,.76); }
.btn-sun { background:#fff; color:var(--brand-rose); }
.btn-outline-light { border-color:rgba(255,255,255,.7); }

.work { background:var(--cream); }
.work-copy>p:not(.kicker) { color:var(--brand-muted); }
.btn-dark { background:var(--brand-navy); box-shadow:none; }
.work-photo::before { background:var(--brand-blue-soft); }
.work-note { background:var(--brand-navy); color:#fff; transform:none; }

.closing { background:linear-gradient(115deg,var(--brand-dark),var(--brand-navy)); }
.closing .kicker { color:#f3b6cb; }
.closing h2 em { color:var(--brand-pink); }
.closing>p:not(.kicker) { color:rgba(255,255,255,.7); }
.closing-mark { color:rgba(126,174,199,.07); }
footer { background:#0e1720; }

.route-health,.route-kids,.route-business,.route-shop,.route-insta,.route-wa { grid-column:span 4; }
.route-kids { background:var(--brand-stone); }

/* Kompakte, ruhige Hauptauswahl */
.routes { padding-top:clamp(75px,8vw,115px); padding-bottom:clamp(75px,8vw,115px); }
.routes-head { margin-bottom:clamp(35px,4vw,55px); }
.route-grid { grid-template-columns:repeat(3,1fr); grid-auto-rows:auto; gap:10px; }
.route-health,.route-kids,.route-business,.route-shop,.route-insta,.route-wa { grid-column:auto; }
.route { min-height:150px; padding:24px; display:grid; grid-template-columns:32px minmax(0,1fr) 38px; grid-template-rows:auto auto; column-gap:15px; align-content:center; align-items:center; border-radius:0; }
.route::after { display:none; }
.route-no { display:none; }
.route-emoji { grid-column:1; grid-row:1 / span 2; align-self:center; margin:0; font-size:1.15rem; }
.route strong { grid-column:2; grid-row:1; align-self:end; font-size:clamp(1.45rem,2vw,2rem); line-height:1.05; }
.route small { grid-column:2; grid-row:2; align-self:start; max-width:none; margin:7px 0 0; font-size:.75rem; }
.route i { position:static; grid-column:3; grid-row:1 / span 2; width:36px; height:36px; font-size:.8rem; }
.route:hover { transform:translateY(-3px); }

.transformations { padding:clamp(90px,11vw,160px) clamp(20px,6vw,95px); background:var(--brand-dark); color:#fff; }
.transformations-head { max-width:1520px; margin:0 auto clamp(50px,6vw,80px); display:grid; grid-template-columns:1.1fr .8fr; gap:clamp(45px,8vw,130px); align-items:end; }
.transformations h2 { margin:0; font-family:var(--serif); font-size:clamp(3.4rem,5.6vw,6rem); font-weight:600; letter-spacing:-.04em; line-height:.92; }
.transformations-intro { color:rgba(255,255,255,.66); max-width:600px; }
.transformation-grid { max-width:1520px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.transformation-card { padding:12px 12px 20px; margin:0; background:#fff; color:var(--ink); }
.transformation-pair { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.transformation-pair figure { position:relative; margin:0; height:clamp(250px,26vw,410px); overflow:hidden; background:#eee; }
.transformation-pair img { height:100%; object-fit:cover; object-position:center top; }
.transformation-pair figcaption { position:absolute; left:7px; bottom:7px; padding:5px 8px; background:rgba(26,10,18,.78); color:#fff; font-size:.56rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }
.transformation-card h3 { margin:15px 6px 0; font-family:var(--serif); font-size:1.7rem; font-weight:600; }
.transformations-foot { max-width:1520px; margin:24px auto 0; display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.transformations-foot p { margin:0 auto 0 0; color:rgba(255,255,255,.43); font-size:.72rem; }
.transformations-foot .text-link { color:#fff; }

.more-paths { padding:clamp(90px,11vw,160px) clamp(20px,6vw,95px); background:var(--brand-stone); }
.more-paths-head { max-width:1100px; margin:0 auto clamp(48px,6vw,75px); text-align:center; }
.more-paths h2 { margin:0; font-family:var(--serif); font-size:clamp(3.2rem,5.2vw,5.6rem); font-weight:600; letter-spacing:-.04em; line-height:.95; }
.more-paths-grid { max-width:1420px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.path-card { min-height:440px; padding:clamp(28px,3.5vw,52px); display:flex; flex-direction:column; text-decoration:none; border:1px solid var(--line); transition:.28s; }
.path-card:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(75,25,45,.09); }
.path-label { color:var(--brand-pink); font-size:.64rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.path-card h3 { margin:auto 0 20px; font-family:var(--serif); font-size:clamp(2.2rem,3.3vw,3.6rem); font-weight:600; letter-spacing:-.035em; line-height:.95; }
.path-card p { color:var(--brand-muted); }
.path-card strong { margin-top:26px; font-size:.68rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase; }
.path-card strong i { float:right; font-style:normal; }
.path-kids { background:#fff; }
.path-guide { background:var(--brand-navy); color:#fff; border-color:var(--brand-navy); }
.path-guide p { color:rgba(255,255,255,.66); }
.path-program { background:#e8dfd1; }

.btn span,.route i,.path-card strong i,.text-link span { transition:transform .2s ease; }
.btn:hover span,.path-card:hover strong i,.text-link:hover span { transform:translateX(3px); }
.reveal-section { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal-section.is-visible { opacity:1; transform:none; }

@media(max-width:1050px) {
  .hero { grid-template-columns:1fr; }
  .freedom-health { grid-template-columns:1fr; }
  .freedom-health-copy { max-width:760px; }
  .routes-head { grid-template-columns:1fr; }
  .transformation-grid { grid-template-columns:1fr 1fr; }
  .transformation-pair figure { height:48vw; max-height:520px; }
  .more-paths-grid { grid-template-columns:1fr; }
  .path-card { min-height:360px; }
  .nav-right { gap:12px; }
  .nav-right a { font-size:.64rem; }
}

@media(max-width:900px) {
  .nav-right .nav-link { display:none; }
}

@media(max-width:720px) {
  .hero { padding-top:105px; }
  .hero h1 { font-size:clamp(3.5rem,16vw,5.2rem); }
  .hero-actions .btn-hot { display:inline-flex; width:100%; }
  .hero-actions .text-link { display:none; }
  .mobile-routes::before { content:"Oder direkt zu deinem Thema"; grid-column:span 2; margin:5px 0 2px; color:rgba(255,255,255,.48); font-size:.62rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
  .mobile-routes a { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:#fff; }
  .mobile-routes a:first-child { background:var(--brand-rose); border-color:var(--brand-rose); }
  .mobile-routes b,.mobile-routes a:first-child b { color:#f5bfd1; }
  .hero-photo { height:520px; }
  .credibility-strip { grid-template-columns:1fr 1fr; }
  .credibility-strip span { min-height:92px; padding:18px; }
  .credibility-strip span:nth-child(2) { border-right:0; }
  .credibility-strip span:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .photo-stamp { width:105px; height:105px; left:-10px; }
  .freedom-health { padding:82px 20px; gap:45px; }
  .freedom-health h2 { font-size:3.25rem; }
  .freedom-pillars { align-items:flex-start; flex-direction:column; gap:8px; }
  .freedom-pillars i { width:1px; height:18px; margin-left:4px; }
  .routes { padding:68px 15px; }
  .routes-head { margin-bottom:30px; }
  .routes h2 { font-size:2.85rem; }
  .route-grid { grid-template-columns:1fr; grid-auto-rows:auto; gap:7px; }
  .route-health,.route-kids,.route-business,.route-shop,.route-insta,.route-wa { grid-column:auto; }
  .route { min-height:88px; padding:15px 16px; grid-template-columns:24px minmax(0,1fr) 31px; column-gap:11px; }
  .route strong { font-size:1.28rem; }
  .route small { margin-top:3px; font-size:.68rem; line-height:1.35; }
  .route-emoji { font-size:.95rem; }
  .route i { width:30px; height:30px; right:auto; bottom:auto; }
  .transformations { padding:82px 16px; }
  .transformations-head { grid-template-columns:1fr; gap:30px; }
  .transformation-grid { grid-template-columns:1fr; gap:9px; }
  .transformation-pair { grid-template-columns:1fr 1fr; }
  .transformation-pair figure { height:76vw; max-height:470px; }
  .transformation-card { padding:7px 7px 15px; }
  .transformation-card h3 { font-size:1.35rem; margin-top:10px; }
  .more-paths { padding:82px 16px; }
  .path-card { min-height:390px; padding:28px; }
  .camper-bridge-photo::after { background:linear-gradient(0deg,rgba(26,10,18,.3),transparent 35%); }
  .footer-links { grid-template-columns:1fr 1fr; }
}

@media(prefers-reduced-motion:reduce) {
  .reveal-section,.reveal-section.is-visible { opacity:1; transform:none; transition:none; }
  .scroll-progress span { transition:none; }
}
