/* ═══════════════════════════════════════════════════════════
   Clu:Media — styles.css
   Struktur:
   01 Basis & Tokens
   02 Reveal-System
   03 Navigation
   04 Hero
   05 Schweizerkreuz-Badge
   06 About
   07 Pricing
   08 Services (Editorial List)
   09 Statement-Band
   10 Why Choose Us (Bento)
   11 Kontakt
   12 Referenzen
   13 Footer
   14 Modal
   15 Back to Top
   16 Cookie-Banner
   17 Reduced Motion
   ═══════════════════════════════════════════════════════════ */

/* ── 01 BASIS & TOKENS ─────────────────────────────────────── */
@font-face{font-family:'Publica';src:url('../publica/Publica.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:swap;}
@font-face{font-family:'Publica';src:url('../publica/Publica-Slant.woff2') format('woff2');font-weight:normal;font-style:italic;font-display:swap;}

:root{
  --g:#C0001A;
  --gold:#D4AF37;
  --bg:#FFFFFF;
  --bg2:#F5F5F5;
  --bg3:#EBEBEB;
  --tx:#0D0D0D;
  --black:#080808;
  --dark:#111111;
  --dark-mid:#1a1a1a;
  --grey:#2a2a2a;
  --grey-mid:#3a3a3a;
  --muted:#707070;
  --dim:#a0a0a0;
  --white:#ffffff;
  --off-white:#e8e8e8;
  --font-sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-grotesk:'Space Grotesk',sans-serif;
  --font-mono:'DM Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
/* Reset: Browser-Default «groove»-Rahmen von fieldsets (erscheint als weisse Umrandung) */
fieldset{border:0;padding:0;margin:0;min-inline-size:auto;min-block-size:auto;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{background:#000;color:var(--tx);font-family:var(--font-sans);overflow-x:hidden;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-thumb{background:#555;}
::selection{background:var(--g);color:#fff;}
::-moz-selection{background:var(--g);color:#fff;}
:focus-visible{outline:2px solid var(--g);outline-offset:3px;border-radius:4px;}
.mono{font-family:var(--font-mono);}

/* Barrierefreiheit */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{position:fixed;top:-60px;left:16px;z-index:3000;background:var(--g);color:#fff;padding:10px 18px;font-size:13px;text-decoration:none;border-radius:6px;transition:top .25s ease;}
.skip-link:focus{top:12px;}

/* ── 02 REVEAL-SYSTEM ─────────────────────────────────────── */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.rv.in{opacity:1;transform:none;}
.rv-l{opacity:0;transform:translateX(-34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.rv-l.in{opacity:1;transform:none;}
.r-up{opacity:0;transform:translateY(34px) scale(.97);filter:blur(4px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1);}
.r-up.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
.r-left{opacity:0;transform:translateX(-40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.r-left.in{opacity:1;transform:translateX(0);}
.r-right{opacity:0;transform:translateX(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.r-right.in{opacity:1;transform:translateX(0);}
.r-scale{opacity:0;transform:scale(.85);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.r-scale.in{opacity:1;transform:scale(1);}
.r-peel{opacity:0;transform:perspective(800px) rotateY(-18deg) scale(.92);transform-origin:left center;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.r-peel.in{opacity:1;transform:perspective(800px) rotateY(0) scale(1);}
.r-width{overflow:hidden!important;max-width:0!important;transition:max-width 1.2s cubic-bezier(.16,1,.3,1) .3s;}
.r-width.in{max-width:100%!important;}
.r-d1{transition-delay:.05s!important;}
.r-d2{transition-delay:.1s!important;}
.r-d3{transition-delay:.15s!important;}
.r-d4{transition-delay:.2s!important;}
.r-d5{transition-delay:.25s!important;}
.r-d6{transition-delay:.3s!important;}
.r-d7{transition-delay:.35s!important;}
.r-d8{transition-delay:.4s!important;}
[data-stagger] > *{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
[data-stagger].in > *{opacity:1;transform:translateY(0);}
[data-stagger] > *:nth-child(1){transition-delay:.04s;}
[data-stagger] > *:nth-child(2){transition-delay:.08s;}
[data-stagger] > *:nth-child(3){transition-delay:.12s;}
[data-stagger] > *:nth-child(4){transition-delay:.16s;}
[data-stagger] > *:nth-child(5){transition-delay:.2s;}
[data-stagger] > *:nth-child(6){transition-delay:.24s;}
[data-stagger] > *:nth-child(7){transition-delay:.28s;}
[data-stagger] > *:nth-child(8){transition-delay:.32s;}
[data-stagger] > *:nth-child(9){transition-delay:.36s;}
[data-stagger] > *:nth-child(10){transition-delay:.4s;}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}

/* Sektions-Headline (früher Typewriter, jetzt statisch + Reveal) */
.type-title{font-family:var(--font-sans);font-weight:200;font-size:clamp(34px,5vw,68px);color:#0D0D0D;line-height:1.06;display:block;letter-spacing:-.01em;}
.type-title--dark{color:#fff;font-size:clamp(28px,4vw,56px);}

/* ── 03 NAVIGATION ────────────────────────────────────────── */
#sticky-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 52px;display:flex;align-items:center;justify-content:space-between;transform:translateY(-100%);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease,background .3s ease;backdrop-filter:blur(0px);background:transparent;}
#sticky-nav.visible{transform:translateY(0);opacity:1;backdrop-filter:blur(16px);background:rgba(8,8,8,.75);border-bottom:1px solid rgba(255,255,255,.06);}
#sticky-nav .nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
#sticky-nav .nav-logo img{height:36px;width:auto;}
#sticky-nav .nav-logo span{font-family:var(--font-sans);font-weight:300;font-size:14px;letter-spacing:.08em;color:rgba(255,255,255,.8);text-transform:uppercase;}
#sticky-nav .nav-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;}
#sticky-nav .nav-links a{font-family:var(--font-grotesk);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;position:relative;padding:4px 0;transition:color .3s ease;}
#sticky-nav .nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--g);transition:width .3s cubic-bezier(.16,1,.3,1);border-radius:1px;}
#sticky-nav .nav-links a:hover{color:#fff;}
#sticky-nav .nav-links a:hover::after{width:100%;}
#sticky-nav .nav-links a.active{color:#fff;}
#sticky-nav .nav-links a.active::after{width:100%;}
#sticky-nav .nav-cta{font-family:var(--font-grotesk);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:10px 24px;border-radius:100px;border:1px solid rgba(255,255,255,.2);color:#fff;background:transparent;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;}
#sticky-nav .nav-cta:hover{background:var(--g);border-color:var(--g);box-shadow:0 4px 20px rgba(192,0,26,.3);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:none;background:none;z-index:1001;}
.nav-hamburger span{display:block;width:22px;height:2px;background:#fff;transition:all .3s ease;border-radius:1px;}
.nav-hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-hamburger.active span:nth-child(2){opacity:0;}
.nav-hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
#mobile-menu{display:none;position:fixed;inset:0;z-index:999;background:rgba(8,8,8,.95);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;transition:opacity .3s ease;}
#mobile-menu.open{display:flex;opacity:1;}
#mobile-menu a{font-family:var(--font-sans);font-size:28px;font-weight:200;color:#fff;text-decoration:none;letter-spacing:.02em;transition:color .3s;}
#mobile-menu a:hover{color:var(--g);}
@media(max-width:768px){
  #sticky-nav .nav-links,#sticky-nav .nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  #sticky-nav{padding:16px 24px;}
}

/* ── 04 HERO ──────────────────────────────────────────────── */
#hero{position:relative;width:100%;min-height:100vh;overflow:hidden;background:#080808;perspective:800px;}
@media(max-width:768px){
  #hero{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;padding:128px 24px 56px;text-align:center;}
}
@media(max-width:380px){#hero{padding:112px 16px 44px;}}

#hero-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 20% 80%, rgba(192,0,26,.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(192,0,26,.06) 0%, transparent 50%),
    radial-gradient(ellipse 100% 80% at 50% 50%, rgba(30,30,30,.4) 0%, transparent 70%);
  animation:meshPulse 12s ease-in-out infinite alternate;}
@keyframes meshPulse{0%{opacity:.7;transform:scale(1);}100%{opacity:1;transform:scale(1.05);}}

/* Logo & Kontakt (oben im Hero) */
.hero-logo{position:absolute;top:24px;left:52px;z-index:10;cursor:pointer;border:none;background:none;padding:0;display:flex;align-items:center;opacity:0;transform:translateY(-12px);animation:logoDrop .7s cubic-bezier(.16,1,.3,1) .1s forwards;}
.hero-logo img{height:116px;width:auto;display:block;transition:transform .4s cubic-bezier(.16,1,.3,1),filter .4s ease;}
.hero-logo:hover img{transform:scale(1.06);filter:brightness(1.3);}
.hero-contact{position:absolute;top:24px;right:52px;z-index:10;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-family:var(--font-sans);font-weight:300;font-size:24px;letter-spacing:.08em;padding:20px 44px;cursor:pointer;text-transform:uppercase;opacity:0;transform:translateY(-12px);animation:logoDrop .7s cubic-bezier(.16,1,.3,1) .2s forwards;}
.hero-contact:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.5);transform:translateY(-2px);box-shadow:0 4px 20px rgba(255,255,255,.04);}
@keyframes logoDrop{to{opacity:1;transform:translateY(0);}}
@media(max-width:768px){
  .hero-contact{right:20px;padding:8px 16px;font-size:11px;}
  .hero-logo{top:18px;}.hero-logo img{height:68px;}
}

/* Hero-Titel */
.hero-title-block{position:absolute;left:52px;right:340px;bottom:120px;z-index:3;animation:heroCinematic 2.8s cubic-bezier(.16,1,.3,1) .15s both;}
@keyframes heroCinematic{
  0%{opacity:0;transform:translateY(-50px) rotateX(10deg);filter:blur(10px);}
  30%{opacity:1;filter:blur(3px);transform:translateY(6px) rotateX(0);}
  50%{transform:translateY(-4px);filter:blur(0);}
  70%{transform:translateY(2px);}
  85%{transform:translateY(-1px);}
  100%{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0);}
}
.hero-reveal-block{display:inline-block;clip-path:inset(0 100% 0 0);animation:heroClipReveal .8s cubic-bezier(.16,1,.3,1) .15s forwards;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);}
@keyframes heroClipReveal{to{clip-path:inset(0 0 0 0);}}
.hero-h1{font-family:var(--font-sans);font-weight:200;font-size:clamp(32px,5vw,72px);line-height:1.1;letter-spacing:-.02em;}
.hero-h1 strong{font-weight:700;}

.hero-cta-btn-wrap{position:relative;display:inline-flex;align-items:center;gap:18px;margin-top:44px;opacity:0;transform:translateY(10px);transition:opacity .9s ease,transform .9s ease;}
.hero-cta-btn-wrap.visible{opacity:1;transform:translateY(0);}
.hero-cta-solid{font-family:var(--font-grotesk);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;padding:16px 30px;border-radius:100px;background:var(--g);border:1px solid var(--g);transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-block;}
.hero-cta-solid:hover{background:#a00016;border-color:#a00016;transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,0,26,.35);}
.hero-cta-ghost{font-family:var(--font-grotesk);font-size:12px;font-weight:500;letter-spacing:.06em;color:rgba(255,255,255,.75);text-decoration:none;padding:16px 24px;border:1px solid rgba(255,255,255,.15);border-radius:100px;transition:all .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(4px);background:rgba(255,255,255,.03);}
.hero-cta-ghost:hover{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06);transform:translateY(-2px);}
#hero-bar{position:absolute;bottom:0;left:0;height:2px;width:0;background:linear-gradient(to right,transparent,var(--g),var(--g));z-index:5;}

@media(max-width:1024px){.hero-title-block{right:240px;}}
@media(max-width:768px){
  .hero-title-block{position:relative;left:auto;right:auto;bottom:auto;width:100%;order:1;text-align:center;}
  .hero-title-block > div{display:flex;justify-content:center;}
}
/* Berg-Szene */
.mountain-scene{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;animation:mountainEnter 1.4s cubic-bezier(.16,1,.3,1) .35s both,mountainFloat 9s ease-in-out 2s infinite;}
.mountain-stage{width:clamp(720px,76vw,1200px);position:relative;}
.mountain-svg{display:block;width:100%;height:auto;overflow:visible;}
.m-path{stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;fill:none;}
.m-path.m-peak-back{animation:mountainDraw 1.6s cubic-bezier(.16,1,.3,1) .55s forwards;}
.m-path.m-ridge-back{animation:mountainDraw 1.3s cubic-bezier(.16,1,.3,1) 1s forwards;}
.m-path.m-peak-mid{animation:mountainDraw 1.5s cubic-bezier(.16,1,.3,1) 1.25s forwards;}
.m-path.m-ridge-mid{animation:mountainDraw 1.2s cubic-bezier(.16,1,.3,1) 1.7s forwards;}
.m-path.m-peak-front{animation:mountainDraw 1.6s cubic-bezier(.16,1,.3,1) 2s forwards;}
.m-path.m-ridge-front{animation:mountainDraw 1.2s cubic-bezier(.16,1,.3,1) 2.5s forwards;}
.m-path.m-facet-front,.m-path.m-facet-mid{stroke:rgba(255,255,255,.45);}
.m-snow-flake{fill:#fff;opacity:0;animation:snowFall var(--sd,7s) linear infinite;}
.mountain-stage .m-snow-flake:nth-child(13){animation-delay:.5s;--sd:8s;}
.mountain-stage .m-snow-flake:nth-child(14){animation-delay:1.4s;--sd:7s;}
.mountain-stage .m-snow-flake:nth-child(15){animation-delay:.2s;--sd:9s;}
.mountain-stage .m-snow-flake:nth-child(16){animation-delay:2.1s;--sd:7.5s;}
.mountain-stage .m-snow-flake:nth-child(17){animation-delay:1s;--sd:8.5s;}
.mountain-stage .m-snow-flake:nth-child(18){animation-delay:.8s;--sd:7.2s;}
.mountain-stage .m-snow-flake:nth-child(19){animation-delay:1.8s;--sd:8.8s;}
@keyframes mountainDraw{to{stroke-dashoffset:0;}}
@keyframes mountainEnter{0%{transform:translateY(calc(-50% - 20px + 40px));opacity:0;}60%{opacity:1;}100%{transform:translateY(calc(-50% - 20px));opacity:1;}}
@keyframes mountainFloat{0%,100%{transform:translateY(calc(-50% - 20px));}50%{transform:translateY(calc(-50% - 28px));}}
@keyframes snowFall{0%{transform:translate(0,-10px);opacity:0;}10%{opacity:1;}50%{transform:translate(14px,220px) rotate(180deg);}90%{opacity:1;}100%{transform:translate(-6px,420px) rotate(360deg);opacity:0;}}
@media(max-width:1024px){.mountain-stage{width:clamp(300px,36vw,440px);}}
@media(max-width:768px){
  .mountain-scene{position:relative!important;top:auto!important;right:auto!important;left:auto!important;transform:none!important;margin:40px auto 0!important;order:3;animation:mountainEnterMobile 1.2s cubic-bezier(.16,1,.3,1) .25s both,mountainFloatMobile 8s ease-in-out 2s infinite!important;}
  .mountain-stage{width:min(72vw,360px)!important;}
  .mountain-stage .m-snow-flake{display:none;}
}
@media(max-width:480px){.mountain-stage{width:min(80vw,300px)!important;}}
@keyframes mountainEnterMobile{0%{transform:translateY(34px);opacity:0;}60%{opacity:1;}100%{transform:translateY(0);opacity:1;}}
@keyframes mountainFloatMobile{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* ── 05 SCHWEIZERKREUZ-BADGE ──────────────────────────────── */
#swiss-badge-wrap{position:absolute;top:40%;left:24%;transform:translate(-50%,-50%) scale(1);z-index:4;transform-origin:center center;pointer-events:none;will-change:transform;opacity:0;transition:opacity .5s ease;}
#swiss-badge-wrap.in{opacity:1;}
#swiss-badge-wrap .badge-stage{position:relative;width:clamp(170px,20vw,250px);aspect-ratio:1/1;animation:badgeFloat 7s ease-in-out infinite;}
#swiss-badge-wrap svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 22px rgba(192,0,26,.35));animation:badgeGlow 3.4s ease-in-out infinite;}
.badge-halo{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(192,0,26,.55),rgba(192,0,26,.14) 55%,transparent 72%);animation:badgePulse 3.4s ease-in-out infinite;z-index:-1;}
.badge-beam{position:absolute;inset:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0 78%,rgba(255,255,255,.9) 92%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:beamRotate 5s linear infinite;pointer-events:none;}
.swiss-svg .sc-path{stroke-dasharray:600;stroke-dashoffset:600;stroke:#FFF;stroke-width:1.5;fill-opacity:0;}
.swiss-svg.draw .sc-path{animation:badgeDraw 1.5s cubic-bezier(.65,0,.35,1) forwards,badgeFill 1.1s ease .8s forwards;}
.sc-plate-sheen{opacity:0;}
.swiss-svg.draw .sc-plate-sheen{animation:sheenIn 1.4s ease .2s forwards;}
@keyframes badgeFill{to{fill-opacity:1;}}
@keyframes sheenIn{to{opacity:.9;}}
.swiss-svg .sc-shine-bar{animation:badgeSweep 4s ease-in-out infinite;}
@keyframes badgeSweep{0%{transform:translateX(0);opacity:0;}10%{opacity:1;}28%{transform:translateX(160px);opacity:0;}100%{transform:translateX(160px);opacity:0;}}
.badge-sparks{position:absolute;inset:0;overflow:visible;pointer-events:none;}
.badge-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;opacity:0;animation:spark 3.6s ease-in-out infinite;}
.badge-spark--r{background:#ff8a97;}
@keyframes badgeDraw{to{stroke-dashoffset:0;}}
@keyframes beamRotate{to{transform:rotate(360deg);}}
@keyframes badgePulse{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:1;transform:scale(1.08);}}
@keyframes badgeGlow{0%,100%{filter:drop-shadow(0 0 16px rgba(192,0,26,.3));}50%{filter:drop-shadow(0 0 34px rgba(192,0,26,.6));}}
@keyframes spark{0%{opacity:0;transform:translateY(0) scale(.5);}15%{opacity:1;transform:translateY(-6px) scale(1);}80%{opacity:0;transform:translateY(-22px) scale(.6);}100%{opacity:0;transform:translateY(-26px) scale(.4);}}
@keyframes badgeFloat{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-14px) rotate(2deg);}}
@media(max-width:768px){
  /* Mobil: Badge liegt im Hero-Flow zwischen Titel und Berg (kein Überlappen mit CTA) */
  #swiss-badge-wrap{position:relative;top:auto;left:auto;transform:none;margin:30px auto 0;order:2;}
  #swiss-badge-wrap .badge-stage{width:clamp(120px,34vw,160px);}
}

/* Hero im Querformat (Landscape-Handy): gleiche vertikale Struktur wie Portrait, kompakter */
@media(max-height:520px) and (orientation:landscape){
  #hero{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;padding:72px 24px 32px;text-align:center;}
  .hero-title-block{position:relative;left:auto;right:auto;bottom:auto;width:100%;order:1;text-align:center;}
  .hero-title-block > div{display:flex;justify-content:center;}
  .hero-h1{font-size:clamp(24px,3.5vw,36px);}
  .hero-cta-btn-wrap{margin-top:18px;gap:12px;}
  .hero-cta-solid,.hero-cta-ghost{padding:12px 22px;}
  .hero-contact{right:20px;padding:8px 16px;font-size:11px;}
  .hero-logo{top:14px;left:20px;}.hero-logo img{height:56px;}
  #swiss-badge-wrap{position:relative;top:auto;left:auto;transform:none;margin:16px auto 0;order:2;}
  #swiss-badge-wrap .badge-stage{width:clamp(90px,12vw,110px);}
  .mountain-scene{display:none!important;}
}

/* ── 06 ABOUT ─────────────────────────────────────────────── */
.about{padding:120px 56px 100px;border-top:1px solid #EBEBEB;background:#FFFFFF;position:relative;overflow:hidden;}
.about::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(192,0,26,.03),transparent 60%);}
.about-inner{max-width:1280px;margin:0 auto;}
.about-statement-wrap{margin-bottom:80px;padding-bottom:80px;border-bottom:1px solid var(--grey);position:relative;overflow:visible;}
.about-stmt-upper,.about-stmt-divider,.about-stmt-lower{position:relative;z-index:1;}
.about-tag{display:flex;justify-content:space-between;font-family:var(--font-sans);font-weight:200;font-size:13px;letter-spacing:0.32em;text-transform:uppercase;color:#333;margin-bottom:52px;}
.about-stmt-upper{font-family:var(--font-sans);font-weight:200;font-size:clamp(52px,7vw,112px);letter-spacing:-0.025em;line-height:1.0;color:#1a1a1a;text-align:right;}
.about-stmt-divider{width:100%;height:1px;background:rgba(0,0,0,0.12);margin:22px 0;border:none;}
.about-stmt-lower{font-family:var(--font-sans);font-weight:200;font-size:clamp(56px,8vw,128px);letter-spacing:-0.025em;line-height:0.9;color:#1a1a1a;text-align:right;}
.about-body{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:72px;}
.about-para{font-size:15px;line-height:1.8;color:#333;}
.about-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:40px;border-top:1px solid var(--grey);}
.stat-outer{width:100%;aspect-ratio:6/5;border-radius:10px;padding:1px;background:radial-gradient(circle 230px at 0% 0%,#ffffff,#0c0d0d);position:relative;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.stat-dot{width:5px;aspect-ratio:1;position:absolute;background-color:#fff;box-shadow:0 0 10px #ffffff;border-radius:100px;z-index:2;right:10%;top:10%;animation:statDotMove 6s linear infinite;}
.stat-outer:nth-child(2) .stat-dot{animation-delay:-1.5s;}
.stat-outer:nth-child(3) .stat-dot{animation-delay:-3s;}
.stat-outer:nth-child(4) .stat-dot{animation-delay:-4.5s;}
@keyframes statDotMove{0%,100%{top:10%;right:10%;}25%{top:10%;right:calc(100% - 35px);}50%{top:calc(100% - 30px);right:calc(100% - 35px);}75%{top:calc(100% - 30px);right:10%;}}
.stat-card{z-index:1;width:100%;height:100%;border-radius:9px;border:solid 1px #202222;background:radial-gradient(circle 280px at 0% 0%,#444444,#0c0d0d);display:flex;align-items:center;justify-content:center;position:relative;flex-direction:column;gap:6px;}
.stat-ray{width:220px;height:45px;border-radius:100px;position:absolute;background-color:#c7c7c7;opacity:0.4;box-shadow:0 0 50px #fff;filter:blur(10px);transform-origin:10%;top:0%;left:0;transform:rotate(40deg);pointer-events:none;}
.stat-num{font-family:var(--font-sans);font-weight:200;font-size:clamp(28px,3.5vw,52px);line-height:1;letter-spacing:-0.03em;color:#ffffff;position:relative;z-index:1;}
.stat-lbl{font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.75);position:relative;z-index:1;font-family:var(--font-sans);}
.stat-outer:hover{transform:scale(1.05);}
.stat-outer:hover .stat-card{box-shadow:0 0 40px rgba(192,0,26,.3),0 0 80px rgba(192,0,26,.1);}
.stat-line{width:100%;height:1px;position:absolute;background-color:#2c2c2c;}
.stat-topl{top:10%;background:linear-gradient(90deg,#888888 30%,#1d1f1f 70%);}
.stat-bottoml{bottom:10%;}
.stat-leftl{left:10%;width:1px;height:100%;background:linear-gradient(180deg,#747474 30%,#222424 70%);}
.stat-rightl{right:10%;width:1px;height:100%;}
@media(max-width:1024px){
  .about-body{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .about{padding:80px 24px 60px;}
  .about-body{grid-template-columns:1fr;}
  .about-metrics{grid-template-columns:1fr 1fr;}
}
@media(max-width:767px){
  .about{padding:72px 20px 52px;}
  .about-tag{margin-bottom:32px;font-size:9px;letter-spacing:0.16em;}
  .about-statement-wrap{margin-bottom:44px;padding-bottom:44px;}
  .about-stmt-upper{font-size:clamp(34px,9vw,56px);}
  .about-stmt-lower{font-size:clamp(32px,8.5vw,56px);line-height:0.92;}
  .about-body{grid-template-columns:1fr;gap:24px;margin-bottom:40px;}
  .about-para{font-size:14px;line-height:1.75;}
  .about-metrics{grid-template-columns:1fr 1fr;gap:8px;}
  .stat-num{font-size:clamp(22px,6vw,38px);}
  .stat-lbl{font-size:8px;}
}
@media(max-width:380px){
  .about{padding:60px 16px 44px;}
  .about-stmt-upper{font-size:32px;}
  .about-stmt-lower{font-size:30px;}
}

/* ── 07 PRICING ───────────────────────────────────────────── */
#pricing{background:#0A0A0A;padding:120px 52px;position:relative;overflow:hidden;}
#pricing::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 1px);background-size:28px 28px;}
.pricing-inner{max-width:1200px;margin:0 auto;position:relative;}
.pricing-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:64px;}
.pricing-note{font-family:var(--font-sans);font-weight:200;font-size:14px;color:rgba(255,255,255,.6);max-width:320px;line-height:1.7;letter-spacing:.02em;}
.pricing-table-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1);}
.price-card{padding:44px 36px;border-right:1px solid rgba(255,255,255,.1);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease;transform-style:preserve-3d;position:relative;}
.price-card:last-child{border-right:none;}
.price-card--featured{position:relative;}
.price-card--featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--g);}
.price-name{font-family:var(--font-sans);font-weight:300;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:26px;display:flex;align-items:center;gap:10px;}
.price-card--featured .price-name{color:var(--g);}
.price-badge{background:var(--g);color:#fff;font-size:8px;padding:3px 9px;letter-spacing:1.5px;border-radius:3px;}
.price-amount{font-family:var(--font-sans);font-weight:200;font-size:clamp(30px,2.8vw,42px);color:#fff;letter-spacing:-.01em;margin-bottom:4px;}
.price-card--custom .price-amount{font-size:clamp(24px,2.2vw,34px);line-height:1.1;}
.price-once{font-family:var(--font-sans);font-weight:300;font-size:8px;color:rgba(255,255,255,.45);letter-spacing:2px;margin-bottom:26px;text-transform:uppercase;}
.price-rule{height:1px;background:rgba(255,255,255,.08);margin-bottom:26px;}
.price-card--featured .price-rule{background:rgba(192,0,26,.3);}
.price-desc{font-size:12.5px;line-height:1.85;margin-bottom:26px;font-family:var(--font-sans);font-weight:300;color:rgba(255,255,255,.5);}
.price-card--featured .price-desc{color:rgba(255,255,255,.65);}
.price-list{list-style:none;margin-bottom:36px;display:flex;flex-direction:column;gap:11px;}
.price-list li{font-size:11.5px;display:flex;align-items:baseline;gap:10px;font-family:var(--font-sans);font-weight:300;color:rgba(255,255,255,.55);}
.price-card--featured .price-list li{color:rgba(255,255,255,.8);}
.price-list li .tick{color:#C0001A;font-weight:700;flex-shrink:0;}
.price-cta{width:100%;padding:13px;font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:100px;color:rgba(255,255,255,.75);cursor:pointer;transition:all .25s;}
.price-cta:hover{border-color:#fff;color:#fff;}
.price-cta--solid{background:var(--g);border-color:var(--g);color:#fff;}
.price-cta--solid:hover{background:#a00016;border-color:#a00016;}
@media(hover:hover){
  .pricing-table-grid > .price-card:hover{transform:perspective(800px) rotateX(2deg) rotateY(-2deg) translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 30px rgba(192,0,26,.08);}
}
@media(max-width:1024px){.pricing-table-grid > .price-card{padding:36px 28px;}}
@media(max-width:768px){
  #pricing{padding:80px 24px;}
  .pricing-table-grid{grid-template-columns:1fr;}
  .pricing-table-grid > .price-card{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:32px 20px;}
  .pricing-table-grid > .price-card:last-child{border-bottom:none;}
}
@media(max-width:380px){.pricing-table-grid > .price-card{padding:28px 16px;}}

/* ── 08 SERVICES (EDITORIAL LIST) ─────────────────────────── */
.services-section{background:#070707;padding:100px 52px;overflow:hidden;position:relative;}
.services-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(192,0,26,.3),transparent);}
.services-list{max-width:1200px;margin:0 auto;}
.services-section-title{font-family:var(--font-sans);font-weight:200;font-size:clamp(32px,4.4vw,66px);color:#fff;line-height:1.05;letter-spacing:-.01em;margin-bottom:64px;}
.service-row{opacity:.45;padding:14px 0;border-top:1px solid rgba(255,255,255,.15);cursor:pointer;transition:opacity .35s ease,background .35s ease,padding-left .35s cubic-bezier(.16,1,.3,1);position:relative;border-radius:8px;}
.service-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--g);border-radius:2px;opacity:0;transform:scaleY(0);transition:opacity .3s ease,transform .3s cubic-bezier(.16,1,.3,1);transform-origin:center;}
.service-row:last-of-type{border-bottom:1px solid rgba(255,255,255,.15);}
.services-list:hover .service-row{opacity:.2;}
.services-list:hover .service-row:hover{opacity:1;background:rgba(255,255,255,.02);padding-left:16px;}
.services-list:hover .service-row:hover::before{opacity:1;transform:scaleY(1);}
.services-list.touch-engaged .service-row{opacity:.2;}
.service-row.active{opacity:1!important;background:rgba(255,255,255,.03);padding-left:16px;}
.service-row.active::before{opacity:1;transform:scaleY(1);}
.service-row:focus-visible{outline:2px solid var(--g);outline-offset:4px;opacity:1;}
.service-name{font-weight:300;font-size:clamp(2.2rem,4.5vw,4.5rem);color:#fff;line-height:1.1;letter-spacing:-.02em;font-family:'DM Sans',sans-serif;transition:color .3s ease;}
.service-row:hover .service-name{color:rgba(255,255,255,.95);}
.service-description{max-height:0;overflow:hidden;transition:max-height .4s ease,color .3s ease;font-size:clamp(.85rem,1.1vw,1.05rem);line-height:1.6;font-family:'DM Sans',sans-serif;font-weight:300;color:rgba(255,255,255,.6);}
.service-row:hover .service-description,.service-row.active .service-description{max-height:120px;}
.service-cta{display:block;margin:56px auto 0;padding:15px 52px;font-family:var(--font-sans);font-size:11px;letter-spacing:2px;font-weight:500;text-transform:uppercase;background:transparent;border:1.5px solid rgba(255,255,255,.3);color:rgba(255,255,255,.75);cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1);border-radius:100px;position:relative;overflow:hidden;}
.service-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--g),#a00016);opacity:0;transition:opacity .3s ease;border-radius:100px;}
.service-cta:hover{border-color:var(--g);color:#fff;transform:scale(1.03) translateY(-2px);box-shadow:0 8px 30px rgba(192,0,26,.25);}
.service-cta:hover::before{opacity:1;}
.service-cta span{position:relative;z-index:1;}
@media(max-width:768px){
  .services-section{padding:72px 24px;}
  .services-section-title{margin-bottom:40px;}
  .service-row{padding:12px 0;}
  .service-name{font-size:clamp(1.6rem,7vw,2.4rem);}
  .service-description{font-size:.85rem;}
  .service-cta{margin-top:40px;padding:14px 36px;width:100%;}
}
@media(max-width:480px){.services-section{padding:60px 16px;}.service-row{padding:10px 0;}}
@media(max-width:380px){.services-section{padding:50px 14px;}.service-row{padding:8px 0;}}

/* ── 09 STATEMENT-BAND ────────────────────────────────────── */
.statement-band{background:var(--black);border-top:1px solid var(--grey);border-bottom:1px solid var(--grey);padding:100px 56px;text-align:center;}
.statement-text{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,4.5vw,68px);font-weight:300;line-height:1.15;letter-spacing:.01em;color:var(--white);max-width:900px;margin:0 auto;}
.statement-text em{font-style:italic;font-weight:300;color:var(--white);}
@media(max-width:768px){
  .statement-band{padding:72px 20px;}
  .statement-text{font-size:clamp(20px,5.5vw,30px);line-height:1.35;}
}
@media(max-width:380px){
  .statement-band{padding:60px 16px;}
  .statement-text{font-size:19px;}
}

/* ── 10 WHY CHOOSE US (BENTO) ─────────────────────────────── */
.wcus-section{padding:120px 52px;background:#f7f7f7;position:relative;overflow:hidden;}
.wcus-section::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(192,0,26,.04),transparent 70%);pointer-events:none;}
.wcus-header{max-width:1280px;margin:0 auto 72px;}
.wcus-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:20px;}
.wcus-card{position:relative;border-radius:24px;padding:40px 36px;overflow:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);cursor:default;}
.wcus-card::before{content:'';position:absolute;inset:0;border-radius:24px;opacity:0;transition:opacity .4s ease;pointer-events:none;}
.wcus-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .4s ease;}
.wcus-card--feature{grid-row:1/3;background:#0D0D0D;color:#fff;display:flex;flex-direction:column;justify-content:space-between;}
.wcus-card--feature::before{background:linear-gradient(135deg,rgba(192,0,26,.08),transparent 60%);}
.wcus-card--dark{background:#1A1A1A;color:#fff;}
.wcus-card--dark::before{background:linear-gradient(135deg,rgba(192,0,26,.06),transparent);}
.wcus-card--light{background:#fff;color:#0D0D0D;border:1px solid rgba(0,0,0,.06);}
.wcus-card--light::before{background:linear-gradient(135deg,rgba(192,0,26,.04),transparent);}
.wcus-card--accent{background:#C0001A;color:#fff;}
.wcus-card--accent::before{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);}
@media(hover:hover){
  .wcus-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,0,0,.15);}
  .wcus-card:hover::before{opacity:1;}
  .wcus-card:hover::after{opacity:1;}
  .wcus-card:hover .wcus-icon svg{transform:scale(1.1);}
  .wcus-card:hover .wcus-num{opacity:.12;}
  .wcus-card--accent:hover{box-shadow:0 24px 64px rgba(192,0,26,.3);}
}
.wcus-num{position:absolute;top:24px;right:28px;font-family:var(--font-sans);font-weight:200;font-size:clamp(48px,5vw,72px);opacity:.06;line-height:1;transition:opacity .4s ease;pointer-events:none;}
.wcus-card--accent .wcus-num{color:rgba(255,255,255,.15);}
.wcus-card--feature .wcus-num{color:rgba(255,255,255,.1);}
.wcus-tag{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:6px 14px;font-family:var(--font-grotesk);font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:28px;width:fit-content;}
.wcus-card--dark .wcus-tag{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);}
.wcus-card--light .wcus-tag{border:1px solid rgba(0,0,0,.15);color:#555;}
.wcus-card--accent .wcus-tag{border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.9);}
.wcus-card--feature .wcus-tag{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.65);}
.wcus-icon{margin-bottom:24px;}
.wcus-icon svg{width:48px;height:48px;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.wcus-card--feature .wcus-icon svg{width:56px;height:56px;}
.wcus-icon .icon-stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.wcus-icon .icon-fill{fill:currentColor;}
.wcus-title{font-family:var(--font-grotesk);font-weight:700;font-size:clamp(22px,2vw,32px);line-height:1.15;margin-bottom:12px;}
.wcus-card--feature .wcus-title{font-size:clamp(28px,3vw,42px);}
.wcus-desc{font-size:13px;line-height:1.75;font-family:var(--font-grotesk);font-weight:400;}
.wcus-card--dark .wcus-desc{color:rgba(255,255,255,.6);}
.wcus-card--light .wcus-desc{color:#555;}
.wcus-card--accent .wcus-desc{color:rgba(255,255,255,.85);}
.wcus-card--feature .wcus-desc{color:rgba(255,255,255,.65);max-width:400px;}
.wcus-feature-title{font-family:var(--font-sans);font-weight:200;font-size:clamp(36px,4vw,64px);line-height:1.05;letter-spacing:-.02em;margin-bottom:20px;}
.wcus-feature-title strong{font-weight:700;color:#ff4d5e;}
@keyframes iconDraw{from{stroke-dashoffset:200;}to{stroke-dashoffset:0;}}
.wcus-icon .icon-stroke.animated{stroke-dasharray:200;stroke-dashoffset:200;animation:iconDraw 1.2s cubic-bezier(.16,1,.3,1) forwards;}
@media(max-width:1024px){
  .wcus-grid{grid-template-columns:1fr 1fr;}
  .wcus-card--feature{grid-row:auto;}
}
@media(max-width:768px){
  .wcus-section{padding:80px 24px;}
  .wcus-grid{grid-template-columns:1fr;gap:16px;}
  .wcus-card--feature{padding:36px 28px;}
}

/* ── 11 KONTAKT ───────────────────────────────────────────── */
.m-contact{background:var(--black);padding:140px 56px;}
.contact-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start;}
.section-eyebrow{font-family:var(--font-sans);font-weight:200;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:20px;}
.contact-title{font-family:var(--font-sans);font-weight:200;font-size:clamp(36px,4vw,64px);line-height:1.05;letter-spacing:-.02em;color:var(--white);margin-top:24px;margin-bottom:32px;}
.contact-desc{font-size:15px;line-height:1.8;color:rgba(255,255,255,.8);margin-bottom:48px;}
.contact-info{display:flex;flex-direction:column;gap:20px;}
.contact-info-item{display:flex;flex-direction:column;gap:4px;}
.contact-info-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.contact-info-value{font-size:15px;color:var(--white);text-decoration:none;transition:color .25s;}
a.contact-info-value:hover{color:#ff8a97;text-decoration:underline;}
.contact-right{padding-top:60px;}
.contact-form{display:flex;flex-direction:column;gap:0;}
.fc{position:relative;width:100%;padding:32px 0 14px;border-bottom:1px solid var(--grey);}
.fc:first-child{border-top:1px solid var(--grey);}
.fc-input{background:transparent;border:none;outline:none;display:block;width:100%;padding:10px 0 4px;font-size:18px;color:#fff;font-family:var(--font-sans);caret-color:#7aa7ff;}
.fc-label{position:absolute;top:38px;left:0;pointer-events:none;line-height:1;}
.fc-label span{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;min-width:5px;color:rgba(255,255,255,.5);transition:.3s cubic-bezier(.68,-.55,.265,1.55);}
.fc-input:focus + .fc-label span,.fc-input:valid + .fc-label span{color:#7aa7ff;transform:translateY(-26px);}
.form-field{display:flex;flex-direction:column;gap:10px;padding:28px 0;border-bottom:1px solid var(--grey);}
.form-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.form-textarea{background:transparent;border:none;outline:none;color:var(--white);font-family:var(--font-sans);font-size:16px;padding:4px 0;width:100%;caret-color:#7aa7ff;resize:none;height:110px;line-height:1.7;}
.form-textarea::placeholder{color:#5a5a5a;}
.form-submit{margin-top:40px;display:flex;align-items:center;gap:20px;}
.submit-btn{display:inline-flex;align-items:center;padding:18px 48px;background:var(--white);color:var(--black);font-family:var(--font-sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;border:none;cursor:pointer;transition:background .25s;}
.submit-btn:hover{background:var(--off-white);}
.submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.submit-note{font-size:12px;color:rgba(255,255,255,.55);}
.form-field--wheel{align-items:flex-start;}
.wheel-selector{position:relative;display:flex;justify-content:flex-start;align-items:center;margin-top:6px;}
/* Barrierefreiheit: Radios bleiben fokussierbar, sind nur visuell unsichtbar */
.radio-input{position:relative;height:160px;width:240px;background:#111;border:1px solid #333;border-radius:20px;overflow:hidden;display:flex;align-items:center;box-shadow:0 20px 50px rgba(0,0,0,.5),inset 0 0 10px rgba(0,0,0,.8);cursor:pointer;}
/* Fokus-Zustand ohne farbiges Umranden: das blaue Signal-Punkt leuchtet auf (Maus + Tastatur) */
.radio-input:focus-within::before{width:8px;height:8px;box-shadow:0 0 14px #7aa7ff,0 0 34px #7aa7ff;}
/* Versteckte Radios: kein Browser-Fokus-Ring (sonst erscheint ein roter Kasten) */
.radio-input input{outline:none!important;}
.radio-input::after{content:"";position:absolute;right:-120px;width:240px;height:240px;background:repeating-conic-gradient(from 0deg,#1a1a1a 0deg 10deg,#1e1e1e 10deg 20deg);border-radius:50%;z-index:1;opacity:.6;}
.radio-input::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#7aa7ff;border-radius:50%;z-index:30;box-shadow:0 0 12px #7aa7ff,0 0 24px #7aa7ff88;pointer-events:none;transition:width .25s ease,height .25s ease,box-shadow .25s ease;}
.radio-input input{position:absolute;opacity:0;width:44px;height:44px;margin:0;left:8px;top:50%;transform:translateY(-50%);cursor:pointer;z-index:35;}
.glass-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 50%,rgba(0,0,0,.2) 100%);z-index:25;pointer-events:none;}
/* Inaktive Optionen: klein, dezent, in festen Park-Positionen – keine Überlappung mit der aktiven Option */
.wheel-label{position:absolute;display:flex;flex-direction:column;transition:all .7s cubic-bezier(.19,1,.22,1);z-index:5;}
.wheel-label .w-num{font-family:'Publica',sans-serif;font-size:8px;font-weight:700;color:#7aa7ff;letter-spacing:.1em;margin-bottom:-2px;}
.wheel-label .w-text{font-family:'Publica',sans-serif;font-size:.7rem;color:rgba(255,255,255,.55);letter-spacing:.02em;text-transform:uppercase;}
/* Park-Positionen (fix je Option – funktioniert ohne :has() in allen Browsern) */
.wheel-label[for="m-wv-1"]{left:44px;top:18px;}
.wheel-label[for="m-wv-2"]{left:44px;bottom:18px;}
.wheel-label[for="m-wv-3"]{right:18px;bottom:18px;left:auto;top:auto;transform:none;}
/* Aktive Option: gross, links, scharf */
.radio-input input:checked + .wheel-label{left:36px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);opacity:1;z-index:10;}
.radio-input input:checked + .wheel-label .w-num{font-size:9px;}
.radio-input input:checked + .wheel-label .w-text{font-size:2rem;color:#fff;letter-spacing:-.04em;}
.next-trigger{position:absolute;inset:0;z-index:-1;cursor:pointer;}
.radio-input:has(#m-wv-1:checked) #m-wtrigger-1,.radio-input:has(#m-wv-2:checked) #m-wtrigger-2,.radio-input:has(#m-wv-3:checked) #m-wtrigger-3{z-index:100;}
.wheel-hint{font-family:var(--font-sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);line-height:1.6;margin-left:18px;align-self:center;}
@media(max-width:768px){
  .m-contact{padding:72px 20px;}
  .contact-inner{grid-template-columns:1fr;gap:48px;}
  .contact-title{font-size:clamp(26px,7vw,42px);margin-top:14px;margin-bottom:20px;}
  .contact-desc{font-size:14px;margin-bottom:28px;}
  .contact-right{padding-top:0;}
  .form-submit{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px;}
  .submit-btn{width:100%;justify-content:center;text-align:center;padding:18px 24px;}
  .submit-note{text-align:center;}
  .radio-input{width:200px;height:140px;}
  .wheel-label[for="m-wv-1"]{left:40px;top:14px;}
  .wheel-label[for="m-wv-2"]{left:40px;bottom:14px;}
  .wheel-label[for="m-wv-3"]{right:14px;bottom:14px;}
  .radio-input input:checked + .wheel-label .w-text{font-size:1.6rem;}
}
@media(max-width:380px){
  .wheel-selector{flex-direction:column;align-items:flex-start;gap:10px;}
  .wheel-hint{margin-left:0;}
  .radio-input{width:160px;height:120px;}
  .wheel-label[for="m-wv-1"]{left:36px;top:12px;}
  .wheel-label[for="m-wv-2"]{left:36px;bottom:12px;}
  .wheel-label[for="m-wv-3"]{right:12px;bottom:12px;}
  .radio-input input:checked + .wheel-label .w-text{font-size:1.4rem;}
}

/* ── 12 REFERENZEN ────────────────────────────────────────── */
.ref-section{padding:140px 52px;background:#fff;border-top:1px solid #EBEBEB;position:relative;overflow:hidden;}
.ref-section::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.05) 1px,transparent 0);background-size:34px 34px;z-index:0;}
.ref-header{position:relative;z-index:1;max-width:820px;margin:0 auto 72px;text-align:center;}
.ref-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border-radius:100px;border:1px solid #EBEBEB;background:#fafafa;font-family:var(--font-grotesk);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#C0001A;margin-bottom:24px;}
.ref-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--g);}
.ref-title{font-family:var(--font-sans);font-weight:200;font-size:clamp(34px,4.5vw,60px);color:#0D0D0D;letter-spacing:-.02em;line-height:1.1;margin-bottom:20px;}
.ref-title strong{font-weight:700;color:#C0001A;}
.ref-dot-blink{display:inline-block;animation:refBlink 1.3s ease-in-out infinite;}
@keyframes refBlink{0%,100%{opacity:1;}50%{opacity:.05;}}
.ref-subline{font-family:var(--font-sans);font-weight:300;font-size:15px;color:#666;line-height:1.8;letter-spacing:.01em;max-width:640px;margin:0 auto;}
.ref-subline strong{color:#C0001A;font-weight:600;}
.ref-grid{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:24px;align-items:stretch;}
.ref-card{position:relative;flex:1 1 300px;max-width:390px;min-width:0;background:#FAFAFA;border:1px solid #EBEBEB;border-radius:24px;padding:48px 36px 40px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .45s ease;overflow:hidden;}
.ref-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(192,0,26,.06),transparent 70%);opacity:0;transition:opacity .45s ease;pointer-events:none;}
.ref-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0;transition:opacity .45s ease;}
.ref-logo-frame{position:relative;width:fit-content;margin-bottom:26px;background:rgba(212,175,55,.5);border-radius:14px;padding-block:15px;padding-inline:calc(15px * var(--ar,1));transition:transform .45s cubic-bezier(.16,1,.3,1);}
.ref-logo-link{display:inline-block;width:fit-content;text-decoration:none;cursor:pointer;}
.ref-logo-link:focus-visible{outline:2px solid var(--g);outline-offset:3px;border-radius:14px;}
.ref-card .ref-logo{position:relative;display:block;height:60px;width:auto;object-fit:contain;filter:grayscale(100%) opacity(.65);transition:filter .45s cubic-bezier(.16,1,.3,1);}
.ref-card .ref-title-sm{position:relative;font-family:var(--font-grotesk);font-weight:700;font-size:18px;letter-spacing:.01em;color:#0D0D0D;text-transform:uppercase;margin-bottom:8px;}
.ref-card .ref-branch{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-grotesk);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#777;margin-bottom:24px;}
.ref-card .ref-branch::before{content:'';width:14px;height:1px;background:var(--g);}
.ref-divider{position:relative;width:100%;height:1px;background:repeating-linear-gradient(90deg,#E4E4E4 0 6px,transparent 6px 12px);margin-bottom:26px;}
.ref-leitmotiv{position:relative;font-family:var(--font-grotesk);font-style:italic;font-weight:600;font-size:20px;line-height:1.4;color:#C0001A;margin-bottom:24px;}
.ref-h2e{position:relative;display:flex;flex-direction:column;gap:14px;}
.ref-h2e .he{font-family:var(--font-grotesk);font-size:12.5px;line-height:1.7;color:#444;font-weight:400;}
.ref-h2e .he strong{color:#0D0D0D;font-weight:600;}
.ref-h2e .he .lh{color:#C0001A;font-weight:700;}
.ref-h2e .he .arr{color:#C0001A;font-weight:700;margin-right:4px;}
@media(hover:hover){
  .ref-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.09),0 0 0 1px rgba(192,0,26,.12);}
  .ref-card:hover::before{opacity:1;}
  .ref-card:hover::after{opacity:1;}
  .ref-card:hover .ref-logo-frame{transform:scale(1.05);}
  .ref-card:hover .ref-logo{filter:grayscale(0%) opacity(1);}
  .ref-card:hover .ref-title-sm{color:#C0001A;}
  .ref-card:hover .ref-branch{color:#0D0D0D;}
}
@media(max-width:1060px){.ref-card{flex:1 1 46%;}}
@media(max-width:768px){
  .ref-section{padding:90px 24px;}
  .ref-card{flex:1 1 100%;max-width:100%;padding:36px 26px;}
  .ref-title{font-size:clamp(28px,7vw,40px);}
  .ref-subline{font-size:14px;}
}

/* ── 13 FOOTER ────────────────────────────────────────────── */
footer{background:#040404;border-top:1px solid #0e0e0e;position:relative;}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.2fr;gap:56px;padding:76px 52px;border-bottom:1px solid #0e0e0e;}
.ft-top.in > *{opacity:1;transform:translateY(0);}
.ft-top > *{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.ft-top > *:nth-child(1){transition-delay:.08s;}
.ft-top > *:nth-child(2){transition-delay:.16s;}
.ft-top > *:nth-child(3){transition-delay:.24s;}
.ft-top > *:nth-child(4){transition-delay:.32s;}
.f-logo{cursor:pointer;border:none;background:none;padding:0;margin-bottom:14px;display:flex;align-items:center;}
.f-logo img{height:84px;width:auto;display:block;}
.f-tag{font-size:12px;color:#aaa;line-height:1.8;max-width:230px;margin-bottom:28px;}
.f-hd{font-family:var(--font-mono);font-size:9px;letter-spacing:4px;color:rgba(192,0,26,.8);text-transform:uppercase;margin-bottom:22px;}
.fl{display:block;font-size:13px;color:#ccc;text-decoration:none;margin-bottom:12px;transition:color .3s;background:none;border:none;text-align:left;font-family:var(--font-grotesk);cursor:pointer;font-weight:300;padding:0;}
.fl:hover{color:var(--g);}
.f-ci{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.f-ci-icon{color:rgba(192,0,26,.8);flex-shrink:0;}
.f-ci-txt{font-size:13px;color:#ccc;font-weight:300;}
.socials{display:flex;gap:8px;margin-top:8px;}
.soc{width:32px;height:32px;border:1px solid #2a2a2a;display:flex;align-items:center;justify-content:center;color:#aaa;cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1);text-decoration:none;}
.soc:hover{border-color:var(--g);color:var(--g);box-shadow:0 0 12px rgba(192,0,26,.25);transform:translateY(-4px);}
.ft-bot{padding:20px 52px;display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
.ft-bot.in{opacity:1;transform:translateY(0);}
.f-copy{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:#aaa;}
.f-legal{display:flex;gap:24px;}
.f-legal a{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:#aaa;text-decoration:none;transition:color .3s;text-transform:uppercase;cursor:pointer;}
.f-legal a:hover{color:var(--g);}
@media(max-width:1024px){
  .ft-top{grid-template-columns:1fr 1fr;gap:36px;}
  .ft-top > div:first-child{grid-column:span 2;}
}
@media(max-width:768px){
  .ft-top{gap:32px;padding:48px 20px;}
  .ft-bot{padding:18px 20px;flex-direction:column;gap:10px;text-align:center;}
  .f-legal{flex-wrap:wrap;justify-content:center;gap:14px;}
}
@media(max-width:480px){
  .ft-top{grid-template-columns:1fr;}
  .ft-top > div:first-child{grid-column:span 1;}
}

/* ── 14 MODAL ─────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;padding:20px;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:#FFFFFF;border:1px solid rgba(192,0,26,.18);max-width:740px;width:100%;max-height:88vh;overflow-y:auto;padding:52px;position:relative;scrollbar-width:thin;scrollbar-color:var(--g) #F5F5F5;}
.modal-box::-webkit-scrollbar{width:3px;}
.modal-box::-webkit-scrollbar-thumb{background:var(--g);}
.modal-close{position:absolute;top:18px;right:20px;background:none;border:1px solid #222;color:#555;font-size:14px;cursor:pointer;transition:all .3s;width:32px;height:32px;display:flex;align-items:center;justify-content:center;}
.modal-close:hover{border-color:var(--g);color:var(--g);}
.modal-ttl{font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:2px;color:#0D0D0D;margin-bottom:6px;line-height:1;}
.modal-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:4px;color:var(--g);text-transform:uppercase;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #161616;}
.modal-body{font-size:13px;color:#555;line-height:1.95;font-weight:300;}
.modal-body h3{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#222;margin:28px 0 10px;}
.modal-body h3:first-child{margin-top:0;}
.modal-body p{margin-bottom:12px;}
.modal-body strong{color:#444;font-weight:600;}
@media(max-width:768px){
  .modal-box{padding:32px 20px;}
  .modal-ttl{font-size:36px;}
}

/* ── 15 BACK TO TOP ───────────────────────────────────────── */
#back-to-top{position:fixed;bottom:32px;right:32px;z-index:900;width:48px;height:48px;border-radius:50%;border:none;padding:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;box-shadow:0 4px 20px rgba(192,0,26,.3);background:conic-gradient(var(--g) calc(var(--prog,0)*360deg),rgba(192,0,26,.18) 0);}
#back-to-top .bt-core{width:100%;height:100%;border-radius:50%;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;}
#back-to-top.visible{opacity:1;transform:translateY(0);}
#back-to-top:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(192,0,26,.45);}
#back-to-top svg{width:20px;height:20px;}

/* ── 16 COOKIE-BANNER ─────────────────────────────────────── */
#cookie-banner{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:2000;width:min(680px,calc(100vw - 32px));background:#111;border:1px solid #2a2a2a;border-radius:16px;padding:22px 26px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 64px rgba(0,0,0,.5);transition:transform .6s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(14px);}
#cookie-banner.open{transform:translate(-50%,0);}
.cookie-head{display:flex;align-items:center;gap:10px;font-family:var(--font-grotesk);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;}
.cookie-head svg{color:var(--g);flex-shrink:0;}
.cookie-text{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.7;}
.cookie-text a{color:rgba(255,255,255,.85);text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-btn{font-family:var(--font-grotesk);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;border-radius:100px;cursor:pointer;transition:all .25s;}
.cookie-btn--primary{background:var(--g);border:1px solid var(--g);color:#fff;}
.cookie-btn--primary:hover{background:#a00016;}
.cookie-btn--ghost{background:transparent;border:1px solid #3a3a3a;color:rgba(255,255,255,.8);}
.cookie-btn--ghost:hover{border-color:#666;color:#fff;}
@media(max-width:520px){
  #cookie-banner{padding:18px 20px;bottom:16px;}
  .cookie-actions{flex-direction:column;}
  .cookie-btn{width:100%;text-align:center;}
}

/* ── 18 CURSOR GLOW ───────────────────────────────────────── */
#cursor-glow{position:fixed;top:0;left:0;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(192,0,26,.55),rgba(192,0,26,.15) 45%,transparent 72%);mix-blend-mode:screen;box-shadow:0 0 42px 10px rgba(192,0,26,.30);pointer-events:none;z-index:9999;transition:width .3s ease,height .3s ease,background .3s ease,box-shadow .3s ease;}
#cursor-glow.hover-link{background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,.2) 45%,transparent 72%);width:44px;height:44px;box-shadow:0 0 40px 8px rgba(255,255,255,.35);}
#cursor-glow.hover-card{background:radial-gradient(circle,rgba(192,0,26,.8),rgba(192,0,26,.25) 45%,transparent 72%);width:74px;height:74px;box-shadow:0 0 54px 14px rgba(192,0,26,.40);}
@media(hover:none){#cursor-glow{display:none!important;}}

/* ── 19 SCROLL PROGRESS ───────────────────────────────────── */
@keyframes progressShimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
#scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,#C0001A 0%,#ff2244 40%,#C0001A 60%,#ff2244 100%);background-size:200% 100%;animation:progressShimmer 3s linear infinite;z-index:10000;transition:width .1s linear;box-shadow:0 0 12px rgba(192,0,26,.5),0 0 4px rgba(192,0,26,.25);}

/* ── 20 HERO PARTICLES ────────────────────────────────────── */
#hero-particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.hero-particle{position:absolute;width:3px;height:3px;background:rgba(255,255,255,.3);border-radius:50%;animation:particleDrift linear infinite;}
.hero-particle:nth-child(1){left:15%;top:20%;animation-duration:18s;animation-delay:0s;}
.hero-particle:nth-child(2){left:35%;top:65%;animation-duration:22s;animation-delay:2s;width:2px;height:2px;opacity:.5;}
.hero-particle:nth-child(3){left:55%;top:30%;animation-duration:16s;animation-delay:4s;}
.hero-particle:nth-child(4){left:75%;top:70%;animation-duration:20s;animation-delay:1s;width:4px;height:4px;opacity:.4;}
.hero-particle:nth-child(5){left:25%;top:80%;animation-duration:24s;animation-delay:3s;width:2px;height:2px;opacity:.6;}
.hero-particle:nth-child(6){left:65%;top:15%;animation-duration:19s;animation-delay:5s;opacity:.35;}
@keyframes particleDrift{0%{transform:translateY(0) translateX(0);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(-100vh) translateX(40px);opacity:0;}}

/* ── 21 ORB (ABOUT, Uiverse.io by Praashoo7) ──────────────── */
.orb-wrap{position:absolute;left:20%;top:50%;transform:translate(-50%,-50%);opacity:0.13;font-size:10px;pointer-events:none;z-index:0;}
.orb-main{display:flex;align-items:center;justify-content:center;}
.orb-loaders,.orb-loadersB{display:flex;align-items:center;justify-content:center;}
.orb-loader{position:absolute;width:1.15em;height:13em;border-radius:50px;background:#e0e0e0;}
.orb-loader::after{content:"";position:absolute;left:0;top:0;width:1.15em;height:5em;background:#e0e0e0;border-radius:50px;border:1px solid #e2e2e2;box-shadow:inset 5px 5px 15px #d3d2d2ab,inset -5px -5px 15px #e9e9e9ab;mask-image:linear-gradient(to bottom,black calc(100% - 48px),transparent 100%);}
.orb-loader::before{content:"";position:absolute;bottom:0;right:0;width:1.15em;height:4.5em;background:#e0e0e0;border-radius:50px;border:1px solid #e2e2e2;box-shadow:inset 5px 5px 15px #d3d2d2ab,inset -5px -5px 15px #e9e9e9ab;mask-image:linear-gradient(to top,black calc(100% - 48px),transparent 100%);}
.orb-loaderA{position:absolute;width:1.15em;height:13em;border-radius:50px;background:transparent;}
.orb-ball{width:1.15em;height:1.15em;border-radius:50%;background-color:rgb(232,232,232);box-shadow:rgba(0,0,0,0.17) 0px -10px 10px 0px inset,rgba(0,0,0,0.15) 0px -15px 15px 0px inset,rgba(0,0,0,0.1) 0px -40px 20px 0px inset,rgba(0,0,0,0.06) 0px 2px 1px,rgba(0,0,0,0.09) 0px 4px 2px,rgba(0,0,0,0.09) 0px 8px 4px,rgba(0,0,0,0.09) 0px 16px 8px,rgba(0,0,0,0.09) 0px 32px 16px;animation:3.63s orbMove ease-in-out infinite;}
@keyframes orbMove{0%,100%{transform:translateY(0em);}50%{transform:translateY(12em);}}
.orb-loader:nth-child(2),.orb-loaderA:nth-child(2){transform:rotate(20deg);}
.orb-loader:nth-child(3),.orb-loaderA:nth-child(3){transform:rotate(40deg);}
.orb-loader:nth-child(4),.orb-loaderA:nth-child(4){transform:rotate(60deg);}
.orb-loader:nth-child(5),.orb-loaderA:nth-child(5){transform:rotate(80deg);}
.orb-loader:nth-child(6),.orb-loaderA:nth-child(6){transform:rotate(100deg);}
.orb-loader:nth-child(7),.orb-loaderA:nth-child(7){transform:rotate(120deg);}
.orb-loader:nth-child(8),.orb-loaderA:nth-child(8){transform:rotate(140deg);}
.orb-loader:nth-child(9),.orb-loaderA:nth-child(9){transform:rotate(160deg);}
.orb-ball0{animation-delay:0s;}
.orb-ball1{animation-delay:0.2s;}
.orb-ball2{animation-delay:0.4s;}
.orb-ball3{animation-delay:0.6s;}
.orb-ball4{animation-delay:0.8s;}
.orb-ball5{animation-delay:1.0s;}
.orb-ball6{animation-delay:1.2s;}
.orb-ball7{animation-delay:1.4s;}
.orb-ball8{animation-delay:1.6s;}
.orb-ball9{animation-delay:1.8s;}
@media(max-width:1024px){.orb-wrap{display:none;}}

/* ── 22 TYPEWRITER ────────────────────────────────────────── */
.typing-cursor{animation:cursorPulse 1s ease-in-out infinite;color:#C0001A;font-weight:300;display:none;margin-left:3px;text-shadow:0 0 8px rgba(192,0,26,.4),0 0 20px rgba(192,0,26,.15);font-size:inherit;}
@keyframes cursorPulse{0%,100%{opacity:1;transform:scaleX(1);}50%{opacity:.4;transform:scaleX(.7);}}

/* ── 23 PRELOADER ─────────────────────────────────────────── */
#preloader{display:none;}
html.js #preloader{display:flex;position:fixed;inset:0;z-index:100000;background:#080808;flex-direction:column;align-items:center;justify-content:center;gap:30px;transition:opacity .55s ease .1s,visibility .55s ease .1s;}
html.js #preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.pre-cross svg{width:54px;height:54px;overflow:visible;}
.pre-cross path{stroke:#C0001A;stroke-width:3;fill:#C0001A;fill-opacity:0;stroke-dasharray:600;stroke-dashoffset:600;animation:preDraw 1s cubic-bezier(.65,0,.35,1) .15s forwards,preFill .8s ease .85s forwards;}
@keyframes preDraw{to{stroke-dashoffset:0;}}
@keyframes preFill{to{fill-opacity:1;}}
.pre-word{display:flex;gap:5px;}
.pre-word span{font-family:var(--font-sans);font-weight:200;font-size:14px;letter-spacing:.42em;color:rgba(255,255,255,.92);opacity:0;transform:translateY(12px);animation:preLetter .55s cubic-bezier(.16,1,.3,1) forwards;}
.pre-word span:nth-child(1){animation-delay:.40s;}
.pre-word span:nth-child(2){animation-delay:.46s;}
.pre-word span:nth-child(3){animation-delay:.52s;}
.pre-word span:nth-child(4){animation-delay:.58s;}
.pre-word span:nth-child(5){animation-delay:.64s;}
.pre-word span:nth-child(6){animation-delay:.70s;}
.pre-word span:nth-child(7){animation-delay:.76s;}
.pre-word span:nth-child(8){animation-delay:.82s;}
.pre-word span:nth-child(9){animation-delay:.88s;}
@keyframes preLetter{to{opacity:1;transform:none;}}

/* ── 24 SERVICE-TICKER ────────────────────────────────────── */
.ticker-band{background:var(--black);border-top:1px solid #161616;border-bottom:1px solid #161616;overflow:hidden;padding:16px 0;}
.ticker-track{display:flex;align-items:center;width:max-content;animation:tickerScroll 30s linear infinite;}
.ticker-band:hover .ticker-track{animation-play-state:paused;}
.ticker-item{font-family:var(--font-grotesk);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap;margin-right:34px;}
.ticker-sep{color:var(--g);flex-shrink:0;margin-right:34px;display:inline-flex;}
@keyframes tickerScroll{to{transform:translateX(-50%);}}

/* ── 25 MAGNETIC & TILT ───────────────────────────────────── */
.magnetic{will-change:transform;}
.tilt{will-change:transform;}

/* ── 26 FILM GRAIN ────────────────────────────────────────── */
body::after{content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");background-size:280px 280px;mix-blend-mode:overlay;}

/* ── 27 SERVICE-INDEX (Editorial-Nummern) ─────────────────── */
.service-idx{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--g);opacity:0;transition:opacity .35s ease,transform .35s ease;pointer-events:none;}
.service-row:hover .service-idx,.service-row.active .service-idx,.service-row:focus-visible .service-idx{opacity:.9;transform:translateY(-50%) translateX(-6px);}

/* ── 28 FORM-FOKUS & MENÜ-STAGGER ─────────────────────────── */
.fc,.form-field{transition:border-color .35s ease,box-shadow .35s ease;}
.fc:focus-within{border-bottom-color:var(--g);box-shadow:0 1px 0 0 var(--g),0 18px 40px -20px rgba(192,0,26,.5);}
.form-field:focus-within{border-bottom-color:var(--g);}
#mobile-menu.open a{animation:menuIn .5s cubic-bezier(.16,1,.3,1) both;}
#mobile-menu.open a:nth-child(1){animation-delay:.04s;}
#mobile-menu.open a:nth-child(2){animation-delay:.08s;}
#mobile-menu.open a:nth-child(3){animation-delay:.12s;}
#mobile-menu.open a:nth-child(4){animation-delay:.16s;}
#mobile-menu.open a:nth-child(5){animation-delay:.2s;}
@keyframes menuIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ── 17 REDUCED MOTION ────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .rv,.rv-l,.r-up,.r-left,.r-right,.r-scale,.r-peel,.r-width,.reveal,
  [data-stagger] > *,.ft-top > *,.ft-bot{opacity:1!important;transform:none!important;filter:none!important;max-width:100%!important;}
  .wcus-icon .icon-stroke{stroke-dasharray:none!important;stroke-dashoffset:0!important;}
  .sc-path{stroke-dasharray:none!important;stroke-dashoffset:0!important;fill-opacity:1!important;}
  .sc-plate-sheen{opacity:.9!important;}
  .badge-halo,.badge-beam,.badge-stage,.badge-spark{display:none!important;}
  .sc-shine-bar{display:none!important;}
  #swiss-badge-wrap svg{filter:none!important;}
  .m-path{stroke-dasharray:none!important;stroke-dashoffset:0!important;}
  .m-snow-flake{opacity:0!important;}
  .mountain-scene,.mountain-stage{animation:none!important;}
  #cursor-glow,#scroll-progress,#hero-particles,.orb-wrap,.typing-cursor{display:none!important;}
  body::after{display:none!important;}
  .pre-cross path{animation:none!important;stroke-dashoffset:0!important;fill-opacity:1!important;}
  .pre-word span{animation:none!important;opacity:1!important;transform:none!important;}
  .ticker-track{animation:none!important;}
  #mobile-menu.open a{animation:none!important;}
  #back-to-top{background:var(--g)!important;}
  .mountain-scene{transform:translate(-50%,-50%);opacity:1!important;}
  @media(max-width:768px){
    .mountain-scene{transform:none!important;}
  }
}
