  :root{
    /* dark theme — bg tokens are dark, ink tokens are light text */
    --paper:#0E0E10;
    --paper-2:#161618;
    --panel:#1B1B1E;
    --ink:#F2F1ED;
    --ink-2:#CBCAC5;
    --steel:#8B8A84;
    --steel-2:#B7B6B0;
    --line:rgba(255,255,255,.12);
    --line-strong:rgba(255,255,255,.26);
    --safety:#E11D2A;
    --tape:#E11D2A;
    --gutter: clamp(20px, 4vw, 56px);
    --display: "Geist", system-ui, sans-serif;
    --mono: "Geist Mono", ui-monospace, monospace;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--paper);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  html{scroll-behavior:smooth}
  body{overflow-x:hidden;font-feature-settings:"ss01","cv11";font-size:16px;line-height:1.45}
  ::selection{background:var(--ink);color:var(--paper)}
  a{color:inherit;text-decoration:none}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
  img{max-width:100%;display:block}

  /* very faint grain */
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.07;mix-blend-mode:screen;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  /* ---------- TOP STRIP / NAV ---------- */
  .topstrip{
    border-bottom:1px solid var(--line);
    background:rgba(14,14,16,.82);
    backdrop-filter:saturate(120%) blur(10px);
    -webkit-backdrop-filter:saturate(120%) blur(10px);
  }
  .topstrip .row{
    display:flex;align-items:center;gap:24px;
    padding:10px var(--gutter);
    font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-2);
    text-transform:uppercase;white-space:nowrap;
  }
  .topstrip .row .sep{flex:0 0 1px;height:14px;background:var(--line-strong)}
  .topstrip .row .grow{flex:1}
  .live-dot{
    display:inline-flex;align-items:center;gap:8px;
  }
  .live-dot .d{width:8px;height:8px;border-radius:50%;background:#11A767;box-shadow:0 0 0 0 rgba(17,167,103,.55);animation:pulse 1.6s ease-out infinite}
  .live-dot.closed .d{background:#C84A20;animation:none}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(17,167,103,.55)}80%{box-shadow:0 0 0 10px rgba(17,167,103,0)}100%{box-shadow:0 0 0 0 rgba(17,167,103,0)}}

  nav.main{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px var(--gutter);
    border-bottom:1px solid var(--line);
    background:rgba(14,14,16,.82);
    backdrop-filter:saturate(120%) blur(10px);
    -webkit-backdrop-filter:saturate(120%) blur(10px);
  }
  .topbar{position:fixed;top:0;left:0;right:0;z-index:60}
  .brand{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
  .brand .mark{
    width:36px;height:36px;border-radius:8px;background:var(--panel);color:var(--ink);
    border:1px solid var(--line);
    display:grid;place-items:center;overflow:hidden;
  }
  .brand .mark img{width:30px;height:30px;object-fit:contain;filter:brightness(1.05)}
  .brand .meta{line-height:1.1}
  .brand .meta b{display:block;font-family:var(--display);font-weight:700;letter-spacing:-.01em;text-transform:none;font-size:15px;color:var(--ink);white-space:nowrap}
  .brand .meta span{color:var(--steel);white-space:nowrap}
  .navlinks{display:flex;gap:6px;align-items:center}
  .navlinks a{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
    padding:8px 12px;border-radius:999px;color:var(--ink-2);
    transition:background .25s,color .25s;
  }
  .navlinks a:hover{background:var(--ink);color:var(--paper)}
  .cta{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--safety);color:#fff;
    padding:11px 16px 11px 18px;border-radius:999px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
    transition:transform .25s, background .25s;
  }
  .cta .arrow{display:inline-block;transition:transform .25s}
  .cta:hover{background:#fff;color:var(--paper)}
  .cta:hover .arrow{transform:translateX(4px)}

  main{padding-top:104px}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;background:#09090A;color:var(--ink);
    min-height:min(820px, 92vh);
    border-bottom:1px solid #000;
    overflow:hidden;isolation:isolate;
  }
  .hero-bg{position:absolute;inset:0;z-index:0;
    background:
      radial-gradient(ellipse at 70% 30%, rgba(225,29,42,.16), transparent 60%),
      repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 28px),
      #09090A;
  }
  .hero-bg image-slot{width:100%;height:100%;display:block;border-radius:0;border:0;background:transparent}
  .hero-overlay{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.9) 100%),
      linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 55%);
  }
  /* stronger overlay once an image is actually present */
  .hero:has(image-slot[data-filled]) .hero-overlay{
    background:
      linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,0,.94) 100%),
      linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 55%);
  }
  .hero-content{
    position:relative;z-index:2;
    padding:64px var(--gutter) 56px;
    min-height:inherit;
    display:flex;flex-direction:column;justify-content:flex-end;gap:24px;
  }
  .hero-label{
    display:flex;align-items:center;gap:16px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--steel-2);text-transform:uppercase;
  }
  .hero-label .badge{
    display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--safety);color:#fff;font-weight:500;
  }
  .hero-label .dash{width:36px;height:1px;background:rgba(255,255,255,.25)}
  h1.hero-h{
    font-family:var(--display);font-weight:800;
    font-size:clamp(56px, 11vw, 168px);
    line-height:.86;letter-spacing:-.045em;
    color:#fff;
    max-width:14ch;
  }
  h1.hero-h .row{display:block;overflow:hidden}
  h1.hero-h .row span{display:inline-block;transform:translateY(110%);animation:rise .9s cubic-bezier(.2,.7,.1,1) forwards}
  h1.hero-h .row.r2 span{animation-delay:.08s}
  h1.hero-h .row.r3 span{animation-delay:.16s}
  h1.hero-h em{font-style:normal;color:var(--safety);font-weight:800}
  h1.hero-h .slash{font-weight:300;color:rgba(255,255,255,.35);margin:0 .04em}
  @keyframes rise{to{transform:translateY(0)}}
  .hero-sub{
    max-width:560px;
    font-size:clamp(16px,1.5vw,19px);line-height:1.45;color:rgba(255,255,255,.78);
    font-weight:400;
  }
  .hero-sub b{font-weight:600;color:#fff}
  .hero-foot{
    margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  }
  .ctaXL{
    display:inline-flex;align-items:center;gap:14px;
    background:var(--safety);color:#fff;
    padding:18px 22px 18px 26px;border-radius:999px;
    font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.01em;
    transition:transform .25s, background .25s, color .25s;
  }
  .ctaXL:hover{background:#fff;color:var(--paper);transform:translateY(-1px)}
  .ctaXL .arrow-circle{
    width:30px;height:30px;border-radius:50%;background:#fff;color:var(--safety);
    display:grid;place-items:center;font-family:var(--mono);font-weight:600;transition:background .25s,color .25s;
  }
  .ctaXL:hover .arrow-circle{background:var(--safety);color:#fff}
  .ctaPhone{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff;
    font-family:var(--mono);font-size:13px;letter-spacing:.04em;
    transition:background .25s,border-color .25s,color .25s;
  }
  .ctaPhone:hover{background:#fff;color:var(--paper);border-color:#fff}

  /* hero stats strip — sits below the hero on paper */
  .hero-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-bottom:1px solid var(--line);
    background:var(--paper);
  }
  .hero-stats > div{
    padding:18px 22px;border-left:1px solid var(--line);
  }
  .hero-stats > div:first-child{border-left:0}
  .hero-stats .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
  .hero-stats .v{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;margin-top:6px}
  .hero-stats .v small{font-family:var(--mono);font-size:14px;color:var(--steel);font-weight:500;margin-left:6px;letter-spacing:0}

  /* ---------- MARQUEE / TAPE ---------- */
  .tape{
    overflow:hidden;background:var(--tape);color:var(--ink);
    border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  }
  .tape .track{display:flex;gap:48px;padding:14px 0;animation:slide 38s linear infinite;width:max-content;font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
  .tape .track span{display:inline-flex;align-items:center;gap:48px}
  .tape .track span::after{content:"●";color:var(--ink);opacity:.6}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ---------- PHOTO STRIP ---------- */
  .photo-strip{overflow:hidden;background:var(--paper-2);border-bottom:1px solid var(--line)}
  .photo-strip .ptrack{display:flex;gap:14px;padding:14px;width:max-content;animation:pslide 45s linear infinite}
  .photo-strip:hover .ptrack{animation-play-state:paused}
  .photo-strip .pimg{
    width:clamp(220px,26vw,340px);aspect-ratio:4/3;flex:0 0 auto;
    border-radius:12px;overflow:hidden;border:1px solid var(--line-strong);
  }
  .photo-strip .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  .photo-strip .pimg:hover img{transform:scale(1.05)}
  @keyframes pslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ---------- SECTIONS COMMON ---------- */
  section.block{padding:96px var(--gutter);border-bottom:1px solid var(--line);position:relative}
  .eyebrow{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);
    display:flex;align-items:center;gap:12px;margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--ink)}
  .eyebrow .num{color:var(--ink);font-weight:600}
  h2.head{
    font-family:var(--display);font-weight:700;font-size:clamp(36px,5.6vw,76px);letter-spacing:-.035em;line-height:1;
    max-width:18ch;
  }
  h2.head em{font-style:normal;color:var(--safety)}
  .lede{margin-top:22px;max-width:62ch;color:var(--ink-2);font-size:clamp(16px,1.4vw,18px);line-height:1.5}

  /* ---------- MANIFEST ---------- */
  .manifest{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;
  }
  .manifest .right p{font-size:clamp(18px,1.8vw,22px);line-height:1.4;color:var(--ink-2)}
  .manifest .right p + p{margin-top:22px}
  .manifest .right strong{color:var(--ink);font-weight:600;background:linear-gradient(transparent 70%, rgba(225,29,42,.45) 70%)}
  .manifest .stamp{
    margin-top:32px;display:inline-flex;align-items:center;gap:14px;
    padding:14px 16px;border:1px dashed var(--line-strong);border-radius:6px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  }
  .manifest .stamp .sig{font-family:var(--display);font-weight:600;text-transform:none;letter-spacing:-.01em;font-size:14px}
  .tool-chips{margin-top:26px}
  .tool-chips .tc-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:12px}
  .tool-chips .tc-list{display:flex;flex-wrap:wrap;gap:8px}
  .tool-chips .tc-list span{
    font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ink-2);
    padding:7px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--panel);
  }
  .tool-chips .tc-list span.more{color:var(--safety);border-color:var(--safety)}

  /* ---------- SERVICE CATALOG (compact icon grid) ---------- */
  .catalog{
    margin-top:40px;display:grid;gap:14px;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .svc{
    display:flex;align-items:center;gap:14px;
    padding:14px 16px;border:1px solid var(--line);border-radius:12px;
    background:var(--panel);
    transition:border-color .25s, background .25s;
  }
  .svc:hover{border-color:var(--safety);background:#202023}
  .svc-num{display:none}
  .svc-icon{
    flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:10px;
    display:grid;place-items:center;color:var(--safety);
    transition:background .25s, border-color .25s, color .25s;
  }
  .svc-icon svg{width:22px;height:22px;display:block}
  .svc:hover .svc-icon{background:var(--safety);border-color:var(--safety);color:#fff}
  .svc-body{display:flex;flex-direction:column;gap:2px;min-width:0}
  .svc-title{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.2}
  .svc-desc{font-family:var(--mono);font-size:11px;color:var(--steel);line-height:1.35;letter-spacing:.01em}
  .svc-arrow{display:none}

  /* ---------- PRICING (compact gadget) ---------- */
  .pricing{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;margin-top:36px;max-width:680px}
  .ticket{
    border:1px solid var(--line-strong);border-radius:14px;background:var(--panel);color:var(--ink);
    padding:22px;position:relative;overflow:hidden;
  }
  .ticket::before, .ticket::after{
    content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:var(--paper);
    left:-10px;top:50%;transform:translateY(-50%);
  }
  .ticket::after{left:auto;right:-10px}
  .ticket h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-2)}
  .ticket .total{
    margin-top:8px;display:flex;align-items:baseline;gap:4px;
    font-family:var(--display);font-weight:700;font-size:clamp(48px,7vw,72px);letter-spacing:-.04em;line-height:.9;
  }
  .ticket .total .cur{font-size:.4em;color:var(--safety);font-weight:600;letter-spacing:0;transform:translateY(-.6em)}
  .ticket .total .ct{color:var(--steel-2);font-size:.32em;font-weight:500;letter-spacing:0;margin-left:4px}
  .ticket .rows{margin-top:18px;border-top:1px dashed rgba(255,255,255,.18);padding-top:14px;display:grid;gap:8px}
  .ticket .rows .r{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--steel-2);text-transform:uppercase}
  .ticket .rows .r b{color:var(--ink);font-weight:500}

  .slider-card{
    border:1px solid var(--line-strong);border-radius:14px;padding:22px;background:var(--panel);
  }
  .slider-card h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
  .hours-display{
    display:flex;align-items:baseline;gap:10px;margin-bottom:14px;
    font-family:var(--display);font-weight:700;letter-spacing:-.03em;
  }
  .hours-display .big{font-size:44px;line-height:1;color:var(--safety)}
  .hours-display .lbl{font-family:var(--mono);font-size:11px;color:var(--steel);text-transform:uppercase;letter-spacing:.08em}
  .hr-slider{position:relative;height:36px;display:flex;align-items:center}
  .hr-slider input[type=range]{
    -webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;
    position:relative;z-index:2;
  }
  .hr-slider .track{position:absolute;left:0;right:0;height:6px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);z-index:0}
  .hr-slider .fill{position:absolute;left:0;height:6px;border-radius:999px;background:var(--safety);pointer-events:none;z-index:1}
  .hr-slider input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none;width:28px;height:28px;background:var(--safety);border-radius:50%;
    border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink);cursor:grab;
  }
  .hr-slider input[type=range]::-moz-range-thumb{
    width:28px;height:28px;background:var(--safety);border-radius:50%;
    border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink);cursor:grab;
  }
  .ticks{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--mono);font-size:10.5px;color:var(--steel);letter-spacing:.06em}
  .hint{margin-top:22px;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--steel);letter-spacing:.02em}
  .hint b{color:var(--ink);font-weight:600}

  /* ---------- HEBEBÜHNEN (simple line) ---------- */
  .lifts-banner{
    position:relative;margin-top:28px;border-radius:16px;overflow:hidden;
    border:1px solid var(--line-strong);
    background:#000 url("/uploads/hebebuehne.png") center/cover no-repeat;
  }
  .lifts-banner::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.46) 48%, rgba(0,0,0,.14) 100%);
  }
  .lifts-banner-inner{position:relative;z-index:1;padding:clamp(26px,4vw,48px)}
  .lifts-line{display:flex;align-items:center;gap:32px}
  .lifts-num{
    font-family:var(--display);font-weight:800;font-size:clamp(78px,12vw,150px);
    line-height:.8;letter-spacing:-.05em;color:var(--safety);flex:0 0 auto;
  }
  .lifts-text{min-width:0}

  /* ---------- WEEK / OPENING HOURS ---------- */
  .week{margin-top:40px;display:grid;gap:8px}
  .day{
    display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;
    padding:10px 0;border-top:1px solid var(--line);
  }
  .day:last-child{border-bottom:1px solid var(--line)}
  .day .name{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em}
  .day .name small{display:block;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--steel);text-transform:uppercase;letter-spacing:.06em}
  .day .bar{position:relative;height:14px}
  .day .bar .grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(24,1fr);pointer-events:none}
  .day .bar .grid > i{border-left:1px solid var(--line)}
  .day .bar .open{position:absolute;top:0;bottom:0;background:var(--ink);border-radius:3px}
  .day .bar .now{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--safety);opacity:0}
  .day.today .name{color:var(--safety)}
  .day.today .bar .now{opacity:1}
  .day.today .bar .now::after{content:"JETZT";position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;color:var(--safety);letter-spacing:.1em}
  .day .hours{font-family:var(--mono);font-size:13px;color:var(--steel);min-width:140px;text-align:right;letter-spacing:.04em}
  .day.closed .hours{color:var(--steel)}
  .ax{display:grid;grid-template-columns:120px 1fr auto;gap:18px;margin-top:10px}
  .ax .axis{display:grid;grid-template-columns:repeat(24,1fr);font-family:var(--mono);font-size:10px;color:var(--steel);letter-spacing:.04em}
  .ax .axis > i{text-align:left}
  .ax .axis > i:nth-child(odd){visibility:hidden}

  /* ---------- GALLERY ---------- */
  .gal{margin-top:40px;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:140px;gap:14px}
  .gal image-slot{
    display:block;width:100%;height:100%;
    border-radius:10px;overflow:hidden;border:1px solid var(--line-strong);
    --placeholder-bg: var(--paper-2);
    --placeholder-fg: var(--steel);
  }
  .g1{grid-column:span 7;grid-row:span 3}
  .g2{grid-column:span 5;grid-row:span 3}
  .g3{grid-column:span 4;grid-row:span 2}
  .g4{grid-column:span 4;grid-row:span 2}
  .g5{grid-column:span 4;grid-row:span 2}
  .g6{grid-column:span 6;grid-row:span 2}
  .g7{grid-column:span 6;grid-row:span 2}

  /* ---------- CONTACT ---------- */
  .contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:18px;align-items:stretch}
  .contact-left{display:flex;flex-direction:column;gap:18px}
  .map-embed{
    position:relative;border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;
    background:var(--panel);min-height:300px;
  }
  .map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) invert(.92) hue-rotate(180deg) contrast(.9)}
  .map-open{
    position:absolute;right:14px;bottom:14px;z-index:2;
    background:var(--safety);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
    padding:8px 12px;border-radius:999px;
  }
  .map-open:hover{background:#fff;color:var(--paper)}

  .contact-info{display:flex;flex-direction:column;gap:18px}
  .info-card{border:1px solid var(--line-strong);border-radius:14px;padding:22px;background:var(--panel)}
  .info-card h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:10px}
  .info-card .val{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.01em;line-height:1.25}
  .info-card .val a{border-bottom:1px solid var(--line-strong)}
  .info-card .val a:hover{color:var(--safety);border-color:var(--safety)}
  .info-card .sub{margin-top:8px;font-family:var(--mono);font-size:12.5px;color:var(--steel);letter-spacing:.04em}

  /* ---------- CONTACT FORM ---------- */
  .contact-form{
    border:1px solid var(--line-strong);border-radius:14px;padding:28px;background:var(--panel);
  }
  .contact-form h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:18px}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{display:flex;flex-direction:column;gap:7px}
  .field.full{grid-column:1 / -1}
  .field label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
  .field input,.field textarea{
    font-family:var(--display);font-size:15px;color:var(--ink);
    background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;
    padding:13px 14px;width:100%;transition:border-color .2s;
  }
  .field textarea{resize:vertical;min-height:120px;line-height:1.5}
  .field input::placeholder,.field textarea::placeholder{color:var(--steel)}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--safety)}
  .form-foot{margin-top:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .btn-submit{
    display:inline-flex;align-items:center;gap:12px;
    background:var(--safety);color:#fff;border-radius:999px;
    padding:15px 22px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;
    transition:transform .2s, background .2s, color .2s;
  }
  .btn-submit:hover{background:#fff;color:var(--paper);transform:translateY(-1px)}
  .form-note{font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.03em}

  /* ---------- BEWERTUNGEN ---------- */
  .reviews{
    margin-top:32px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
    border:1px solid var(--line-strong);border-radius:16px;padding:clamp(24px,3.5vw,40px);background:var(--panel);
  }
  .reviews-score{display:flex;flex-direction:column;gap:12px;max-width:62ch}
  .rv-stars{color:var(--safety);font-size:30px;letter-spacing:5px;line-height:1}
  .rv-text{font-family:var(--display);font-size:clamp(18px,1.8vw,22px);color:var(--ink);line-height:1.4}
  .rv-text b{font-weight:700}
  .rv-btn{
    display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);
    font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
    padding:14px 22px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s;
  }
  .rv-btn:hover{background:var(--safety);color:#fff}
  .rv-marquee{
    margin-top:24px;overflow:hidden;
    -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  }
  .rv-track{display:flex;gap:14px;width:max-content;animation:rv-scroll 75s linear infinite}
  .rv-marquee:hover .rv-track{animation-play-state:paused}
  @keyframes rv-scroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  .rv-card{
    flex:0 0 296px;height:228px;box-sizing:border-box;
    border:1px solid var(--line-strong);border-radius:14px;padding:20px;background:var(--panel);
    display:flex;flex-direction:column;gap:10px;
  }
  .rv-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .rv-card-stars{color:var(--safety);font-size:13px;letter-spacing:2.5px;line-height:1}
  .rv-g{font-family:var(--mono);font-size:10px;color:var(--steel);letter-spacing:.06em}
  .rv-card-text{
    font-family:var(--display);font-size:13px;line-height:1.5;color:var(--ink-2);
    display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;
  }
  .rv-card-author{display:flex;align-items:center;gap:9px;margin-top:auto}
  .rv-card-name{font-weight:600;color:var(--ink);font-size:13px}
  .rv-card-badge{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border:1px solid var(--line-strong);border-radius:999px;padding:3px 7px}
  @media (prefers-reduced-motion: reduce){
    .rv-track{animation:none;overflow-x:auto;max-width:100%;padding-bottom:8px}
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:#09090A;color:var(--ink);padding:96px var(--gutter) 36px;position:relative;
    border-top:1px solid var(--line);
  }
  footer .big{
    font-family:var(--display);font-weight:800;font-size:clamp(60px,12vw,200px);line-height:.85;letter-spacing:-.05em;
  }
  footer .big em{font-style:normal;color:var(--safety)}
  footer .foot-grid{
    margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid rgba(255,255,255,.12);padding-top:36px;
  }
  footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-2);margin-bottom:14px}
  footer a.l{display:block;padding:4px 0;color:var(--ink);opacity:.85;font-size:15px}
  footer a.l:hover{color:var(--safety);opacity:1}
  footer .meta{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--steel-2);letter-spacing:.04em}
  footer .botline{
    margin-top:48px;display:flex;justify-content:space-between;gap:18px;align-items:center;
    font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-2);
    padding-top:18px;border-top:1px solid rgba(255,255,255,.12);
  }
  footer .botline a:hover{color:var(--safety)}

  /* reveal on scroll */
  .reveal{
    opacity:0;transform:translateY(28px);
    transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.1,1);
    transition-delay:var(--rd,0ms);will-change:opacity,transform;
  }
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .tape .track,.photo-strip .ptrack{animation:none}
  }

  /* utility */
  .row-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
  .hide-sm{display:initial}

  /* ---------- responsive ---------- */
  @media (max-width: 1180px){
    .brand .meta span{display:none}
    .topstrip .row .addr{display:none}
  }
  @media (max-width: 1080px){
    .hero-grid{grid-template-columns:1fr;gap:32px}
    .hero-stats{grid-template-columns:repeat(2,1fr)}
    .hero-stats > div:nth-child(3){border-left:0;border-top:1px solid var(--line)}
    .hero-stats > div:nth-child(4){border-top:1px solid var(--line)}
    .manifest{grid-template-columns:1fr;gap:24px}
    .pricing{grid-template-columns:1fr;gap:24px}
    .gal{grid-auto-rows:120px;gap:10px}
    .g1,.g6{grid-column:span 12}
    .g2,.g3,.g4,.g5,.g7,.g8{grid-column:span 6}
    .contact{grid-template-columns:1fr;gap:24px}
    .contact-cards{grid-template-columns:1fr;gap:14px}
    .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
    footer .foot-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 900px){
    .navlinks a:not(.cta){display:none}
  }
  @media (max-width: 700px){
    .topstrip .row span.hide-sm{display:none}
    .hero-label{flex-direction:column;align-items:flex-start;gap:10px}
    .hero-label .dash{display:none}
    .hero-label .badge{padding:6px 14px}
    .navlinks{display:none}
    .catalog{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .lifts-line{flex-direction:column;align-items:flex-start;gap:14px}
    .day{grid-template-columns:80px 1fr auto;gap:10px}
    .day .name{font-size:14px}
    .day .hours{font-size:11px;min-width:auto}
    .ax{grid-template-columns:80px 1fr auto}
    .ax .axis{font-size:9px}
    .hero-stats{grid-template-columns:1fr 1fr}
    .ticket .total{font-size:84px}
    footer .foot-grid{grid-template-columns:1fr 1fr}
  }
  /* ---------- ROTER AMBIENTE-GLOW (echter Hintergrund, dezent, lebendig) ---------- */
  .glow-bg {
    position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
  }
  .glow-bg::before, .glow-bg::after, .glow-bg span {
    content: ""; position: absolute; border-radius: 50%; filter: blur(110px); will-change: transform;
  }
  .glow-bg::before {
    width: 72vw; height: 72vw; top: -22%; left: -18%;
    background: radial-gradient(circle, rgba(225,29,42,0.32), transparent 62%);
    animation: glow-a 32s ease-in-out infinite;
  }
  .glow-bg::after {
    width: 66vw; height: 66vw; bottom: -25%; right: -18%;
    background: radial-gradient(circle, rgba(225,29,42,0.24), transparent 62%);
    animation: glow-b 38s ease-in-out infinite;
  }
  .glow-bg span {
    display: block; width: 58vw; height: 58vw; top: 28%; left: 22%;
    background: radial-gradient(circle, rgba(225,29,42,0.16), transparent 60%);
    animation: glow-c 44s ease-in-out infinite;
  }
  @keyframes glow-a {
    0%,100% { transform: translate(0,0) scale(1); }
    33%     { transform: translate(6vw, 4vw) scale(1.08); }
    66%     { transform: translate(-3vw, 7vw) scale(0.94); }
  }
  @keyframes glow-b {
    0%,100% { transform: translate(0,0) scale(1); }
    33%     { transform: translate(-5vw, -4vw) scale(1.05); }
    66%     { transform: translate(4vw, -6vw) scale(0.96); }
  }
  @keyframes glow-c {
    0%,100% { transform: translate(0,0) scale(0.92); }
    50%     { transform: translate(8vw, -5vw) scale(1.10); }
  }
  /* Sections leicht durchscheinend, damit der Glow tatsächlich durchschimmert */
  .hero, .hero-stats, .block, footer, .photo-strip { position: relative; z-index: 1; }
  .hero        { background-color: rgba(9,9,10,0.93) !important; }
  .hero-stats  { background-color: rgba(14,14,16,0.94) !important; }
  .block       { background-color: rgba(14,14,16,0.92) !important; }
  .block[style*="paper-2"] { background-color: rgba(22,22,24,0.90) !important; }
  footer       { background-color: rgba(9,9,10,0.93) !important; }
  .photo-strip { background-color: rgba(22,22,24,0.90) !important; }

  @media (prefers-reduced-motion: reduce) {
    body::before, body::after { animation: none; }
  }

/* ==================== SERVICE-UNTERSEITEN ==================== */
.svc-hero{padding:clamp(54px,8vw,104px) var(--gutter) clamp(30px,4vw,52px);max-width:1280px;margin:0 auto}
.crumbs{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:26px}
.crumbs a{color:var(--steel);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--line-strong)}
.crumbs span{margin:0 8px;opacity:.5}
h1.svc-h{font-family:var(--display);font-weight:800;font-size:clamp(38px,6.4vw,82px);line-height:.96;letter-spacing:-.035em;max-width:17ch}
h1.svc-h em{font-style:normal;color:var(--safety)}
.svc-sub{margin-top:24px;max-width:60ch;color:var(--ink-2);font-size:clamp(16px,1.5vw,19px);line-height:1.55}
.svc-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.svc-fact{display:inline-flex;align-items:baseline;gap:9px;border:1px solid var(--line-strong);border-radius:999px;padding:9px 17px;background:var(--panel);font-family:var(--mono);font-size:12px;letter-spacing:.04em}
.svc-fact b{color:var(--safety);font-weight:600}
.svc-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.prose{max-width:68ch}
.prose h3{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.4vw,27px);letter-spacing:-.02em;margin:40px 0 14px}
.prose h3:first-child{margin-top:0}
.prose p{color:var(--ink-2);font-size:16.5px;line-height:1.68;margin-bottom:15px}
.prose strong{color:var(--ink);font-weight:600}
.prose ul,.prose ol{margin:0 0 17px 0;padding-left:21px;color:var(--ink-2);font-size:16.5px;line-height:1.68}
.prose li{margin-bottom:9px}
.prose li::marker{color:var(--safety)}
.prose a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--safety)}
.prose a:hover{color:var(--safety)}

.note{border-left:3px solid var(--safety);background:var(--panel);border-radius:0 12px 12px 0;padding:18px 22px;margin:26px 0}
.note p{margin:0;font-size:15.5px}
.note .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--safety);display:block;margin-bottom:7px;font-weight:600}

.steps{counter-reset:s;list-style:none;padding:0;margin:22px 0}
.steps li{counter-increment:s;position:relative;padding:0 0 20px 50px;border-left:1px solid var(--line);margin-left:15px}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li::before{content:counter(s);position:absolute;left:-15px;top:-3px;width:30px;height:30px;border-radius:50%;background:var(--safety);color:#fff;font-family:var(--mono);font-size:13px;font-weight:600;display:grid;place-items:center}
.steps b{display:block;color:var(--ink);font-weight:600;margin-bottom:5px;font-size:16.5px}
.steps span{color:var(--ink-2);font-size:15.5px;line-height:1.6}

table.spec{width:100%;border-collapse:collapse;margin:22px 0;font-size:15.5px}
table.spec th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-weight:500;padding:0 14px 11px 0;border-bottom:1px solid var(--line-strong)}
table.spec td{padding:13px 14px 13px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
table.spec td:first-child{color:var(--ink);font-weight:500}
table.spec tr:last-child td{border-bottom:0}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

.faq{margin-top:10px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:19px 40px 19px 0;position:relative;font-weight:600;font-size:17px;color:var(--ink);transition:color .15s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--safety)}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:300;color:var(--safety);line-height:1}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 0 21px;color:var(--ink-2);font-size:16px;line-height:1.68;max-width:66ch}
.faq .ans p{margin-bottom:12px}
.faq .ans p:last-child{margin-bottom:0}

.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));gap:14px;margin-top:26px}
.svc-tile{display:block;text-decoration:none;border:1px solid var(--line-strong);border-radius:14px;padding:22px;background:var(--panel);transition:border-color .16s,transform .16s,background .16s}
.svc-tile:hover{border-color:var(--safety);transform:translateY(-2px);background:#202024}
.svc-tile .k{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:9px}
.svc-tile .t{font-weight:700;font-size:18.5px;color:var(--ink);letter-spacing:-.01em;display:block;margin-bottom:7px}
.svc-tile .d{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.svc-tile .go{font-family:var(--mono);font-size:12px;color:var(--safety);margin-top:13px;display:inline-block}

.svc-split{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:clamp(30px,5vw,62px);align-items:start}
.aside-card{border:1px solid var(--line-strong);border-radius:16px;padding:26px;background:var(--panel);position:sticky;top:96px}
.aside-card h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:15px}
.aside-card .price{font-family:var(--display);font-weight:800;font-size:46px;line-height:1;letter-spacing:-.035em;color:var(--ink)}
.aside-card .price small{font-size:16px;font-weight:500;color:var(--steel);letter-spacing:0}
.aside-card .sub{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin-top:11px}
.aside-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.aside-card .li{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;padding:7px 0;color:var(--ink-2)}
.aside-card .li b{color:var(--ink);font-weight:600;white-space:nowrap}
@media (max-width:900px){
  .svc-split{grid-template-columns:1fr}
  .aside-card{position:static}
}

/* ==================== MOBILE-MENÜ ==================== */
.burger{
  display:none;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:10px;
  background:var(--panel);cursor:pointer;padding:0;align-items:center;justify-content:center;
  flex-direction:column;gap:5px;transition:border-color .15s,background .15s;flex:0 0 auto;
}
.burger:hover{border-color:var(--safety)}
.burger i{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .22s cubic-bezier(.2,.7,.2,1),opacity .18s}
body.menu-open .burger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0}
body.menu-open .burger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobnav{
  position:fixed;inset:0;z-index:9000;background:rgba(10,10,12,.97);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:flex;flex-direction:column;padding:92px var(--gutter) 32px;
  overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .24s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility .24s;
}
body.menu-open .mobnav{opacity:1;visibility:visible;transform:none}
.mobnav::before{
  content:"";position:absolute;left:50%;top:-8%;width:min(620px,110vw);height:min(620px,110vw);
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(225,29,42,.20),transparent 62%);filter:blur(54px);
}
.mobnav .grp{position:relative;z-index:1}
.mobnav .lbl{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel);margin:26px 0 10px;display:block;
}
.mobnav .grp:first-child .lbl{margin-top:0}
.mobnav a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:23px;letter-spacing:-.02em;
  padding:13px 0;border-bottom:1px solid var(--line);transition:color .15s,padding-left .18s;
}
.mobnav a:hover,.mobnav a:active{color:var(--safety);padding-left:7px}
.mobnav a span{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--steel);letter-spacing:.03em}
.mobnav .foot{position:relative;z-index:1;margin-top:auto;padding-top:34px;display:grid;gap:11px}
.mobnav .foot .ctaXL,.mobnav .foot .ctaPhone{width:100%;justify-content:center}
body.menu-open{overflow:hidden}

@media (max-width: 900px){
  .burger{display:flex}
  nav.main{gap:12px}
}
@media (min-width: 901px){
  .mobnav{display:none}
}

/* Zweispalter auf schmalen Displays untereinander statt gequetscht */
@media (max-width: 760px){
  .row-2{grid-template-columns:1fr;gap:18px}
  .row-2 .lede{max-width:none}
}

/* ==================== TIEFERER HINTERGRUND & ATMOSPHÄRE ==================== */
:root{
  --paper:#08080A;
  --paper-2:#0C0C0F;
  --panel:#141418;
}

/* Glow kräftiger — er soll die Fläche tragen, nicht nur andeuten */
.glow-bg::before{background:radial-gradient(circle,rgba(225,29,42,.42),transparent 62%)}
.glow-bg::after {background:radial-gradient(circle,rgba(225,29,42,.32),transparent 62%)}
.glow-bg span   {background:radial-gradient(circle,rgba(214,32,80,.22),transparent 60%)}

/* Korn etwas präsenter — nimmt dem Schwarz das Digitale */
body::before{opacity:.085}

/* Sektionen durchlässiger, damit der Glow wirklich durchkommt */
.hero       {background-color:rgba(6,6,8,.87) !important}
.hero-stats {background-color:rgba(8,8,10,.90) !important}
footer      {background-color:rgba(6,6,8,.90) !important}
.photo-strip{background-color:rgba(10,10,13,.86) !important}

.block{
  background-color:rgba(8,8,10,.84) !important;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.022), transparent 16%),
    radial-gradient(130% 62% at 50% 0%, rgba(225,29,42,.055), transparent 60%);
  background-repeat:no-repeat;
}

/* Die abgesetzten Abschnitte (Tarif, Öffnungszeiten, Bewertungen, FAQ):
   statt flachem Grau ein von oben angeleuchteter, tieferer Raum */
.block[style*="paper-2"]{
  background-color:rgba(10,10,14,.78) !important;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 20%),
    radial-gradient(135% 76% at 50% -4%, rgba(225,29,42,.13), transparent 62%),
    radial-gradient(90% 60% at 88% 108%, rgba(225,29,42,.07), transparent 64%);
  background-repeat:no-repeat;
  border-top:1px solid rgba(225,29,42,.17);
}

/* Karten heben sich vom tieferen Grund ab */
.info-card,.aside-card,.svc-tile{
  background:linear-gradient(170deg, rgba(28,28,34,.88), rgba(16,16,20,.92));
  box-shadow:0 1px 0 rgba(255,255,255,.045) inset, 0 18px 40px -26px rgba(0,0,0,.9);
}
.svc-tile:hover{
  background:linear-gradient(170deg, rgba(38,38,46,.92), rgba(20,20,25,.94));
  box-shadow:0 1px 0 rgba(255,255,255,.07) inset, 0 22px 46px -24px rgba(225,29,42,.35);
}

/* Dritte Tarifkarte */
.pricing{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1020px}
.rate-card{
  border:1px solid var(--line-strong);border-radius:14px;padding:22px;
  background:linear-gradient(170deg,rgba(28,28,34,.88),rgba(16,16,20,.92));
  box-shadow:0 1px 0 rgba(255,255,255,.045) inset,0 18px 40px -26px rgba(0,0,0,.9);
  display:flex;flex-direction:column;
}
.rate-card h3{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);font-weight:500;margin-bottom:15px}
.rate{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.rate b{color:var(--ink);font-weight:600;white-space:nowrap;font-size:15px}
.rate:last-of-type{border-bottom:0}
.incl{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-strong)}
.incl-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--safety);display:block;margin-bottom:10px;font-weight:600}
.incl ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.incl li{font-size:13.5px;color:var(--ink-2);line-height:1.4;padding-left:16px;position:relative}
.incl li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--safety)}
.rate-note{margin-top:22px;max-width:70ch;color:var(--steel-2);font-size:14.5px;line-height:1.6}
@media (max-width:1000px){ .pricing{grid-template-columns:1fr 1fr} .rate-card{grid-column:span 2} }
@media (max-width:760px){ .pricing{grid-template-columns:1fr} .rate-card{grid-column:span 1} }

/* ==================== ZWEI WEGE: SELBST ODER SERVICE ==================== */
.options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0 4px}
.opt{
  border:1px solid var(--line-strong);border-radius:16px;padding:26px;
  background:linear-gradient(170deg,rgba(28,28,34,.88),rgba(16,16,20,.92));
  box-shadow:0 1px 0 rgba(255,255,255,.045) inset,0 18px 40px -26px rgba(0,0,0,.9);
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.opt.hl{border-color:rgba(225,29,42,.45)}
.opt.hl::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,transparent,var(--safety),transparent);
}
.opt .tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--steel);margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.opt.hl .tag{color:var(--safety)}
.opt .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.opt h3{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin-bottom:10px;color:var(--ink)}
.opt p{color:var(--ink-2);font-size:15px;line-height:1.6;margin-bottom:16px}
.opt ul{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}
.opt li{font-size:14.5px;color:var(--ink-2);line-height:1.45;padding-left:18px;position:relative}
.opt li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--safety)}
.opt .foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-top:16px;border-top:1px solid var(--line)}
.opt .foot .p{font-family:var(--display);font-weight:800;font-size:27px;letter-spacing:-.03em;color:var(--ink)}
.opt .foot .p small{font-size:13px;font-weight:500;color:var(--steel);letter-spacing:0}
.opt .foot a{font-family:var(--mono);font-size:12.5px;color:var(--safety);text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.opt .foot a:hover{border-bottom-color:var(--safety)}
@media (max-width:760px){ .options{grid-template-columns:1fr} }

/* Menü offen: Seite komplett einfrieren, kein Verschieben mehr */
body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
.mobnav{overflow-x:hidden;overscroll-behavior:contain}
.mobnav a{word-break:break-word}
.mobclose{
  position:absolute;top:18px;right:var(--gutter);z-index:3;
  width:46px;height:46px;border:1px solid var(--line-strong);border-radius:12px;
  background:rgba(28,28,34,.9);color:var(--ink);display:grid;place-items:center;
  cursor:pointer;padding:0;transition:border-color .15s,color .15s,background .15s;
}
.mobclose:hover,.mobclose:active{border-color:var(--safety);color:var(--safety);background:rgba(38,38,46,.95)}
.mobclose svg{width:21px;height:21px;display:block}

/* ==================== GLOW GEHÖRT HINTER DEN INHALT ==================== */
/* Ohne z-index legte sich der fixierte Glow ÜBER Kopfbereich und Laufband
   der Unterseiten und färbte Text und Buttons rot ein. */
.svc-hero,.tape{position:relative;z-index:1}

/* Buttons und Chips bekommen einen eigenen dunklen Grund,
   damit der Glow nicht durch sie hindurchscheint */
.ctaPhone{background:rgba(10,10,14,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ctaPhone:hover{background:#fff;color:var(--paper);border-color:#fff}
.svc-fact{background:#101014}
.crumbs{position:relative;z-index:1}
