/* =========================================================================
   Folientechnik Obermann – Design System
   Dunkles, cinematisches Theme; Orange als einziger heißer Akzent,
   Blau als kühle Sekundärfarbe (beides aus dem Firmenlogo).
   ========================================================================= */

/* --------------------------------------------------------------- Schriften */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/inter-400.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/inter-ext-400.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/inter-500.woff2) format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/inter-600.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/inter-ext-600.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/inter-700.woff2) format("woff2");}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/barlow-600.woff2) format("woff2");}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/barlow-700.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/barlow-ext-700.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ------------------------------------------------------------------ Tokens */
:root{
  --ink:#0A0C10;
  --ink-2:#0F131A;
  --ink-3:#151A23;
  --panel:#12161E;
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.18);

  --fg:#F4F6F9;
  --fg-2:#B8C0CC;
  --fg-3:#8A93A1;

  --orange:#F69D15;
  --orange-2:#FFB845;
  --orange-ink:#1A1204;
  --blue:#2E86D6;
  --blue-2:#5AA9EC;
  --blue-deep:#0D3E68;

  --ok:#3FBF7F;

  --r-sm:6px; --r:12px; --r-lg:20px; --r-xl:28px;
  --wrap:1240px;
  --gutter:clamp(18px,4vw,40px);
  --sp:clamp(64px,8vw,128px);

  --shadow:0 24px 60px -24px rgba(0,0,0,.85);
  --shadow-lg:0 40px 100px -32px rgba(0,0,0,.9);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ------------------------------------------------------------------- Reset */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;background:var(--ink);color:var(--fg);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:clamp(16px,.42vw + 15px,17.5px);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,video,svg{max-width:100%;height:auto;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;}
h1,h2,h3,h4{margin:0 0 .5em;}
p{margin:0 0 1.15em;}
ul{margin:0 0 1.15em;padding-left:1.15em;}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px;}

/* -------------------------------------------------------------- Typografie */
.h-display,h1,h2.h2,h3.h3{
  font-family:"Barlow Condensed",Inter,sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.005em;line-height:.96;
}
h1{font-size:clamp(2.6rem,6.2vw,5.1rem);}
h2.h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1;}
h3.h3{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.08;}
.h-sub{font-family:Inter,sans-serif;font-weight:600;text-transform:none;
  letter-spacing:-.01em;line-height:1.25;font-size:clamp(1.15rem,1.6vw,1.45rem);}

.kicker{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);margin:0 0 1rem;
}
.kicker::before{content:"";width:28px;height:2px;background:var(--orange);flex:none;}
.kicker--mute{color:var(--blue-2);}
.kicker--mute::before{background:var(--blue-2);}

.lead{font-size:clamp(1.02rem,1.1vw + .75rem,1.22rem);color:var(--fg-2);max-width:62ch;}
.muted{color:var(--fg-2);}
.small{font-size:.86rem;}

/* ------------------------------------------------------------------ Layout */
.wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto;}
.wrap--narrow{width:min(100% - var(--gutter)*2,860px);margin-inline:auto;}
.section{padding-block:var(--sp);position:relative;}
.section--tight{padding-block:calc(var(--sp)*.62);}
.section--alt{background:
  radial-gradient(120% 80% at 50% 0%,rgba(46,134,214,.07),transparent 60%),var(--ink-2);}
.section--panel{background:var(--ink-2);}
.section-head{max-width:70ch;margin-bottom:clamp(2.5rem,4vw,4rem);}
.section-head--center{margin-inline:auto;text-align:center;}
.section-head--center .kicker{justify-content:center;}

.grid{display:grid;gap:clamp(18px,2vw,28px);}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}

/* ---------------------------------------------------------------- Buttons */
.btn{
  --bg:var(--orange);--bfg:var(--orange-ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:.95em 1.65em;border:0;border-radius:999px;cursor:pointer;
  background:var(--bg);color:var(--bfg);
  font-weight:600;font-size:.96rem;line-height:1.1;text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;
  box-shadow:0 10px 30px -12px rgba(246,157,21,.75);
}
.btn:hover{transform:translateY(-2px);background:var(--orange-2);
  box-shadow:0 16px 40px -14px rgba(246,157,21,.9);}
.btn:active{transform:translateY(0);}
.btn svg{width:1.05em;height:1.05em;fill:currentColor;flex:none;}

.btn--ghost{background:transparent;color:var(--fg);
  box-shadow:inset 0 0 0 1px var(--line-2);}
.btn--ghost:hover{background:rgba(255,255,255,.07);color:var(--fg);
  box-shadow:inset 0 0 0 1px var(--fg-3);}
.btn--wa{background:#25D366;color:#06301A;box-shadow:0 10px 30px -14px rgba(37,211,102,.8);}
.btn--wa:hover{background:#3BE57B;}
.btn--sm{padding:.7em 1.2em;font-size:.88rem;}
.btn--block{width:100%;}

/* Textlink mit Pfeil */
.tlink{
  display:inline-flex;align-items:center;gap:.5em;
  color:var(--orange);font-weight:600;text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.tlink svg{width:.95em;height:.95em;fill:currentColor;transition:transform .25s var(--ease);}
.tlink:hover{border-bottom-color:var(--orange);}
.tlink:hover svg{transform:translateX(4px);}

/* ----------------------------------------------------------------- Header */
.hdr{
  position:fixed;inset:0 0 auto;z-index:100;
  transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  border-bottom:1px solid transparent;
}
.hdr::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to bottom,rgba(10,12,16,.92),rgba(10,12,16,0));
  opacity:1;transition:opacity .3s;
}
.hdr.is-stuck{background:rgba(10,12,16,.9);backdrop-filter:blur(14px) saturate(1.3);
  border-bottom-color:var(--line);}
.hdr.is-stuck::before{opacity:0;}
.hdr__in{display:flex;align-items:center;gap:clamp(12px,2vw,28px);
  min-height:var(--hdr-h,86px);transition:min-height .3s var(--ease);}
.hdr.is-stuck .hdr__in{--hdr-h:70px;}
.hdr__logo{flex:none;display:block;}
.hdr__logo img{width:clamp(150px,15vw,208px);transition:width .3s var(--ease);}
.hdr.is-stuck .hdr__logo img{width:clamp(134px,12vw,172px);}

.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(2px,.6vw,10px);}
.nav__item{position:relative;}
.nav__link{
  display:inline-flex;align-items:center;gap:.35em;
  padding:.62em .74em;border-radius:8px;text-decoration:none;
  font-size:.925rem;font-weight:500;color:var(--fg-2);
  white-space:nowrap;transition:color .2s,background .2s;
}
.nav__link:hover,.nav__item:focus-within>.nav__link{color:var(--fg);background:rgba(255,255,255,.06);}
.nav__link[aria-current]{color:var(--fg);}
.nav__link[aria-current]::after{
  content:"";position:absolute;left:.74em;right:.74em;bottom:.28em;height:2px;background:var(--orange);
}
.nav__link .caret{width:.62em;height:.62em;fill:currentColor;opacity:.7;transition:transform .2s;}
.nav__item:hover .caret,.nav__item:focus-within .caret{transform:rotate(180deg);}

.nav__sub{
  position:absolute;top:calc(100% + 6px);left:50%;translate:-50% 0;
  min-width:288px;padding:10px;border-radius:var(--r);
  background:rgba(16,20,27,.97);backdrop-filter:blur(18px);
  border:1px solid var(--line);box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.nav__item:hover .nav__sub,.nav__item:focus-within .nav__sub{opacity:1;visibility:visible;transform:none;}
.nav__sub a{
  display:block;padding:.55em .8em;border-radius:8px;text-decoration:none;
  font-size:.9rem;color:var(--fg-2);transition:background .18s,color .18s,padding-left .18s;
}
.nav__sub a:hover{background:rgba(246,157,21,.12);color:var(--fg);padding-left:1.1em;}
.nav__sub a[aria-current]{color:var(--orange);}

.hdr__cta{flex:none;display:flex;align-items:center;gap:10px;}
.hdr__tel{
  display:inline-flex;align-items:center;gap:.5em;text-decoration:none;
  font-weight:600;font-size:.95rem;color:var(--fg);white-space:nowrap;
}
.hdr__tel svg{width:1.05em;height:1.05em;fill:var(--orange);}
.hdr__tel:hover{color:var(--orange);}

.burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;padding:0 11px;border:1px solid var(--line-2);
  border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;
}
.burger span{display:block;height:2px;background:var(--fg);border-radius:2px;
  transition:transform .3s var(--ease),opacity .2s;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* --------------------------------------------------------- Mobile-Drawer */
.drawer{
  position:fixed;inset:0;z-index:99;display:none;
  background:rgba(8,10,14,.98);backdrop-filter:blur(8px);
  padding:calc(var(--hdr-h,86px) + 18px) var(--gutter) 40px;
  overflow-y:auto;overscroll-behavior:contain;
}
.drawer.is-open{display:block;animation:fade .25s var(--ease);}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer a{text-decoration:none;color:var(--fg);}
.drawer__list{list-style:none;margin:0;padding:0;}
.drawer__list>li{border-bottom:1px solid var(--line);}
.drawer__top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;padding:1.05rem .25rem;background:none;border:0;cursor:pointer;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.5rem;line-height:1;letter-spacing:.01em;text-align:left;
}
.drawer__top svg{width:.7em;height:.7em;fill:var(--orange);transition:transform .25s var(--ease);}
.drawer__top[aria-expanded="true"] svg{transform:rotate(180deg);}
.drawer__sub{list-style:none;margin:0 0 .9rem;padding:0 0 0 .3rem;display:none;}
.drawer__sub.is-open{display:block;}
.drawer__sub a{display:block;padding:.5rem .2rem;color:var(--fg-2);font-size:1rem;}
.drawer__sub a:hover{color:var(--orange);}
.drawer__foot{margin-top:2rem;display:grid;gap:12px;}

body.no-scroll{overflow:hidden;}

/* ------------------------------------------------------------------- Hero */
.hero{
  position:relative;min-height:min(100svh,880px);
  display:flex;align-items:flex-end;overflow:hidden;
  padding-top:calc(var(--hdr-h,86px) + 40px);padding-bottom:clamp(48px,7vw,96px);
  background:var(--ink);
}
.hero__media{position:absolute;inset:0;z-index:0;}
.hero__media video,.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 45%;
}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to top,var(--ink) 2%,rgba(10,12,16,.78) 30%,rgba(10,12,16,.35) 62%,rgba(10,12,16,.62) 100%),
    linear-gradient(105deg,rgba(10,12,16,.92) 0%,rgba(10,12,16,.45) 48%,rgba(10,12,16,.15) 100%);
}
.hero__media::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay;
}
.hero__in{position:relative;z-index:2;}
.hero__grid{display:grid;gap:clamp(28px,4vw,56px);align-items:end;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);}
.hero h1{margin-bottom:.35em;text-wrap:balance;}
.hero h1 .l1{display:block;color:var(--fg);}
.hero h1 .l2{
  display:block;font-size:max(1.32rem,.46em);line-height:1.15;margin-top:.45em;
  font-family:Inter,sans-serif;font-weight:600;text-transform:none;letter-spacing:-.015em;
  color:var(--fg-2);text-wrap:balance;
}
.hero__text{max-width:56ch;color:var(--fg-2);}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem;}
.hero__side{display:grid;gap:14px;}
.hero__stat{
  padding:1.05rem 1.2rem;border-radius:var(--r);
  background:rgba(18,22,30,.62);backdrop-filter:blur(10px);
  border:1px solid var(--line);
}
.hero__stat b{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  text-transform:uppercase;font-size:1.75rem;line-height:1;color:var(--orange);}
.hero__stat span{font-size:.88rem;color:var(--fg-2);}
.hero__scroll{
  position:absolute;left:50%;bottom:14px;translate:-50% 0;z-index:3;
  width:26px;height:42px;border:1.5px solid var(--line-2);border-radius:14px;
}
.hero__scroll::after{
  content:"";position:absolute;left:50%;top:8px;translate:-50% 0;
  width:3px;height:7px;border-radius:2px;background:var(--orange);
  animation:scrollDot 1.9s var(--ease) infinite;
}
@keyframes scrollDot{0%,100%{transform:translate(-50%,0);opacity:1}
  55%{transform:translate(-50%,15px);opacity:.15}}
@media (prefers-reduced-motion:reduce){.hero__scroll::after{animation:none;}}

/* Kompakter Seiten-Hero für Unterseiten */
.phero{
  position:relative;overflow:hidden;background:var(--ink-2);
  padding-top:calc(var(--hdr-h,86px) + clamp(48px,7vw,104px));
  padding-bottom:clamp(48px,7vw,104px);
}
.phero__bg{position:absolute;inset:0;z-index:0;}
.phero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.phero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,var(--ink) 0,rgba(10,12,16,.86) 40%,rgba(10,12,16,.62) 100%),
             linear-gradient(100deg,rgba(10,12,16,.94),rgba(10,12,16,.35));
}
.phero__in{position:relative;z-index:1;}
.phero h1{margin-bottom:.3em;}
.phero__claim{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.1rem,1.8vw,1.6rem);color:var(--orange);letter-spacing:.03em;
  margin:0 0 1rem;
}
.phero .lead{margin-bottom:1.9rem;}
.phero__actions{display:flex;flex-wrap:wrap;gap:12px;}

/* -------------------------------------------------------------- Brotkrumen */
.crumbs{font-size:.83rem;color:var(--fg-3);margin-bottom:1.4rem;}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45em;margin:0;padding:0;}
.crumbs li::after{content:"/";margin-left:.45em;opacity:.5;}
.crumbs li:last-child::after{content:none;}
.crumbs a{color:var(--fg-3);text-decoration:none;}
.crumbs a:hover{color:var(--orange);}

/* ------------------------------------------------------------ Kachel-Grid */
.tiles{display:grid;gap:clamp(12px,1.4vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr));}
.tile{
  position:relative;display:flex;align-items:flex-end;
  aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;
  text-decoration:none;border:1px solid var(--line);
  background:var(--ink-3);isolation:isolate;
}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform .7s var(--ease),filter .5s;filter:saturate(.85) brightness(.82);}
.tile::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(8,10,14,.95) 4%,rgba(8,10,14,.45) 48%,rgba(8,10,14,.08) 100%);
  transition:opacity .4s;
}
.tile:hover img{transform:scale(1.07);filter:saturate(1.05) brightness(.92);}
.tile__label{
  padding:1rem 1.1rem;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  text-transform:uppercase;font-size:1.2rem;line-height:1.05;letter-spacing:.01em;
  display:flex;align-items:center;gap:.5em;width:100%;
}
.tile__label svg{width:.8em;height:.8em;fill:var(--orange);margin-left:auto;
  transition:transform .3s var(--ease);}
.tile:hover .tile__label svg{transform:translateX(4px);}
.tile::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:1;
}
.tile:hover::before{transform:scaleX(1);}

/* -------------------------------------------------------- Split-Abschnitte */
.split{display:grid;gap:clamp(28px,4.5vw,72px);align-items:center;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));}
.split--flip .split__media{order:2;}
.split__media{position:relative;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow);}
.split__media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.split__media--tall img{aspect-ratio:4/5;}
.split__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,rgba(46,134,214,.14),transparent 45%);
}
.split__body{min-width:0;}
.split__body .h2{margin-bottom:.55em;font-size:clamp(1.85rem,2.9vw,2.7rem);}

/* ------------------------------------------------------------------- Chips */
.chips{display:flex;flex-wrap:wrap;gap:9px;margin:1.6rem 0 0;padding:0;list-style:none;}
.chip{
  display:inline-flex;align-items:center;gap:.45em;
  padding:.5em 1em;border-radius:999px;font-size:.87rem;font-weight:500;
  text-decoration:none;color:var(--fg-2);
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  transition:background .22s,color .22s,border-color .22s,transform .22s var(--ease);
}
a.chip:hover{background:rgba(246,157,21,.14);border-color:rgba(246,157,21,.45);
  color:var(--fg);transform:translateY(-2px);}

/* ------------------------------------------------------------------- Cards */
.card{
  padding:clamp(1.4rem,2.2vw,2rem);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid var(--line);height:100%;
  transition:border-color .3s,transform .3s var(--ease),background .3s;
}
.card:hover{border-color:var(--line-2);transform:translateY(-3px);}
.card h3{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.3rem;line-height:1.08;margin-bottom:.5em;}
.card p:last-child{margin-bottom:0;}
.card__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;margin-bottom:1rem;
  background:rgba(246,157,21,.12);border:1px solid rgba(246,157,21,.35);
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.3rem;color:var(--orange);
}
.card--link{text-decoration:none;display:block;}

/* Vorteilsliste mit Haken */
.checks{list-style:none;padding:0;margin:0 0 1.15em;display:grid;gap:.72em;}
.checks li{position:relative;padding-left:2em;color:var(--fg-2);}
.checks li::before{
  content:"";position:absolute;left:0;top:.42em;width:1.15em;height:1.15em;border-radius:50%;
  background:rgba(63,191,127,.14);border:1px solid rgba(63,191,127,.45);
}
.checks li::after{
  content:"";position:absolute;left:.36em;top:.68em;width:.34em;height:.62em;
  border:solid var(--ok);border-width:0 2px 2px 0;transform:rotate(42deg);
}
.checks strong{color:var(--fg);font-weight:600;}

/* Nummerierte Prozessliste */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:clamp(14px,1.8vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));counter-reset:s;}
.steps li{
  position:relative;padding:1.6rem 1.5rem 1.5rem;border-radius:var(--r-lg);
  background:var(--ink-3);border:1px solid var(--line);counter-increment:s;
}
.steps li::before{
  content:counter(s,decimal-leading-zero);
  position:absolute;top:1.1rem;right:1.2rem;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:2.6rem;line-height:1;
  color:rgba(246,157,21,.22);
}
.steps h3{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.22rem;margin-bottom:.45em;padding-right:2.2em;}
.steps p{margin:0;color:var(--fg-2);font-size:.95rem;}

/* -------------------------------------------------------------- Logo-Band */
.marquee{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee__track{display:flex;gap:clamp(36px,5vw,76px);width:max-content;
  animation:slide 48s linear infinite;align-items:center;}
.marquee:hover .marquee__track{animation-play-state:paused;}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;}}
.marquee img{height:clamp(38px,4.4vw,58px);width:auto;object-fit:contain;
  filter:grayscale(1) brightness(1.9) contrast(.72);opacity:.62;transition:opacity .3s,filter .3s;}
.marquee img:hover{opacity:1;filter:none;}

/* ------------------------------------------------------------- Galerie */
.gal-filter{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:2.2rem;padding:0;list-style:none;}
.gal-filter button{
  padding:.55em 1.1em;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  color:var(--fg-2);font-size:.88rem;font-weight:500;
  transition:background .22s,color .22s,border-color .22s;
}
.gal-filter button:hover{background:rgba(255,255,255,.09);color:var(--fg);}
.gal-filter button[aria-pressed="true"]{
  background:var(--orange);border-color:var(--orange);color:var(--orange-ink);font-weight:600;}

.gal{display:grid;gap:clamp(10px,1.2vw,16px);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));}
.gal__item{
  position:relative;border:0;padding:0;margin:0;cursor:zoom-in;
  aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--ink-3);
  border:1px solid var(--line);
}
.gal__item img{width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease),filter .4s;filter:saturate(.9);}
.gal__item:hover img{transform:scale(1.06);filter:saturate(1.05);}
.gal__item figcaption{
  position:absolute;inset:auto 0 0 0;padding:.9rem .95rem .8rem;text-align:left;
  background:linear-gradient(to top,rgba(8,10,14,.92),transparent);
  font-size:.83rem;color:var(--fg);opacity:0;transform:translateY(6px);
  transition:opacity .3s,transform .3s var(--ease);
}
.gal__item:hover figcaption,.gal__item:focus-visible figcaption{opacity:1;transform:none;}
.gal__item.is-hidden{display:none;}

/* Lightbox */
.lbox{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:clamp(14px,3vw,48px);
  background:rgba(6,8,11,.95);backdrop-filter:blur(6px);
}
.lbox.is-open{display:flex;animation:fade .2s var(--ease);}
.lbox img{max-width:100%;max-height:82vh;border-radius:var(--r);box-shadow:var(--shadow-lg);}
.lbox__cap{margin-top:1rem;text-align:center;color:var(--fg-2);font-size:.92rem;}
.lbox__btn{
  position:absolute;top:50%;translate:0 -50%;width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid var(--line-2);cursor:pointer;
  display:grid;place-items:center;transition:background .2s;
}
.lbox__btn:hover{background:rgba(255,255,255,.18);}
.lbox__btn svg{width:20px;height:20px;fill:var(--fg);}
.lbox__prev{left:clamp(10px,2vw,28px);}
.lbox__next{right:clamp(10px,2vw,28px);}
.lbox__close{top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px);translate:0 0;}

/* ------------------------------------------------------- Vorher / Nachher */
.ba{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);touch-action:pan-y;user-select:none;}
.ba img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.ba__after{position:absolute;inset:0 0 0 auto;width:50%;overflow:hidden;}
.ba__after img{position:absolute;top:0;right:0;width:var(--ba-w,100%);max-width:none;
  height:100%;object-fit:cover;}
.ba__handle{
  position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--orange);
  translate:-50% 0;cursor:ew-resize;
}
.ba__handle::after{
  content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:46px;height:46px;border-radius:50%;background:var(--orange);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.9);
}
.ba__handle::before{
  content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;z-index:1;
  width:20px;height:10px;
  background:
    linear-gradient(var(--orange-ink),var(--orange-ink)) 0 50%/2px 10px no-repeat,
    linear-gradient(var(--orange-ink),var(--orange-ink)) 100% 50%/2px 10px no-repeat;
  clip-path:polygon(0 50%,35% 0,35% 100%,0 50%,100% 50%,65% 0,65% 100%,100% 50%);
}
.ba__tag{
  position:absolute;top:14px;padding:.35em .9em;border-radius:999px;
  font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  background:rgba(8,10,14,.78);border:1px solid var(--line-2);backdrop-filter:blur(6px);
}
.ba__tag--v{left:14px;}
.ba__tag--n{right:14px;color:var(--orange);border-color:rgba(246,157,21,.5);}

/* ------------------------------------------------------------- Vergleich */
.tbl-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);
  background:var(--ink-3);-webkit-overflow-scrolling:touch;}
table.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:.94rem;}
table.cmp th,table.cmp td{padding:1rem 1.15rem;text-align:left;
  border-bottom:1px solid var(--line);vertical-align:top;}
table.cmp thead th{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.02rem;letter-spacing:.04em;background:rgba(255,255,255,.04);
  position:sticky;top:0;
}
table.cmp thead th:last-child{color:var(--orange);}
table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0;}
table.cmp tbody th{font-weight:600;color:var(--fg);width:30%;}
table.cmp td{color:var(--fg-2);}
table.cmp td.neg{position:relative;padding-left:2.6rem;}
table.cmp td.pos{position:relative;padding-left:2.6rem;color:var(--fg);}
table.cmp td.neg::before,table.cmp td.pos::before{
  position:absolute;left:1.15rem;top:1rem;font-weight:700;font-size:1rem;}
table.cmp td.neg::before{content:"\00D7";color:#E0563F;}
table.cmp td.pos::before{content:"\2713";color:var(--ok);}
table.cmp tbody tr:hover td,table.cmp tbody tr:hover th{background:rgba(255,255,255,.028);}

/* ----------------------------------------------------------------- Preise */
.prices{display:grid;gap:clamp(12px,1.4vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
.price{
  padding:1.5rem 1.4rem;border-radius:var(--r-lg);background:var(--ink-3);
  border:1px solid var(--line);display:flex;flex-direction:column;gap:.4rem;
  transition:border-color .3s,transform .3s var(--ease);
}
.price:hover{border-color:rgba(246,157,21,.45);transform:translateY(-3px);}
.price__name{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.16rem;line-height:1.1;}
.price__val{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:2rem;
  line-height:1;color:var(--orange);}
.price__hint{font-size:.88rem;color:var(--fg-3);margin:0;}

.infogrid{display:grid;gap:clamp(12px,1.4vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}
.infogrid figure{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  background:var(--ink-3);}
.infogrid img{width:100%;}
.infogrid figcaption{padding:.85rem 1.1rem;font-size:.9rem;color:var(--fg-2);}

/* -------------------------------------------------------------------- FAQ */
.faq{display:grid;gap:12px;}
.faq details{
  border-radius:var(--r);border:1px solid var(--line);background:var(--ink-3);
  overflow:hidden;transition:border-color .25s;
}
.faq details[open]{border-color:rgba(246,157,21,.42);}
.faq summary{
  list-style:none;cursor:pointer;padding:1.15rem 3.4rem 1.15rem 1.35rem;position:relative;
  font-weight:600;font-size:1.02rem;color:var(--fg);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";position:absolute;right:1.4rem;top:1.5rem;width:12px;height:12px;
  border:solid var(--orange);border-width:0 2px 2px 0;transform:rotate(45deg);
  transition:transform .25s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem;}
.faq summary:hover{background:rgba(255,255,255,.03);}
.faq__body{padding:0 1.35rem 1.35rem;color:var(--fg-2);}
.faq__body p:last-child{margin-bottom:0;}

/* ---------------------------------------------------------------- Kontakt */
.kbox{display:grid;gap:clamp(20px,3vw,44px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;}
.kcards{display:grid;gap:14px;}
.kcard{
  display:flex;gap:1.1rem;align-items:flex-start;padding:1.25rem 1.35rem;
  border-radius:var(--r-lg);background:var(--ink-3);border:1px solid var(--line);
  text-decoration:none;transition:border-color .28s,transform .28s var(--ease);
}
a.kcard:hover{border-color:rgba(246,157,21,.45);transform:translateY(-2px);}
.kcard__ic{
  flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(246,157,21,.12);border:1px solid rgba(246,157,21,.32);
}
.kcard__ic svg{width:20px;height:20px;fill:var(--orange);}
.kcard__body{display:block;min-width:0;}
.kcard__t{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fg-3);margin-bottom:.22rem;}
.kcard__v{display:block;font-weight:600;color:var(--fg);line-height:1.35;overflow-wrap:anywhere;}

.form{padding:clamp(1.5rem,2.6vw,2.4rem);border-radius:var(--r-xl);
  background:var(--ink-3);border:1px solid var(--line);}
.field{margin-bottom:1.15rem;}
.field label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.45rem;color:var(--fg-2);}
.field input,.field select,.field textarea{
  width:100%;padding:.85em 1em;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  color:var(--fg);font:inherit;font-size:.96rem;
  transition:border-color .22s,background .22s;
}
.field textarea{min-height:150px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--orange);background:rgba(255,255,255,.07);}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23F69D15' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;background-size:12px;
  padding-right:2.6em;}
.field select option{background:var(--ink-2);color:var(--fg);}
.field--row{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));}
.consent{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.4rem;}
.consent input{width:20px;height:20px;flex:none;margin-top:.22rem;accent-color:var(--orange);}
.consent label{font-size:.83rem;color:var(--fg-3);line-height:1.55;}
.consent a{color:var(--orange);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form__note{font-size:.82rem;color:var(--fg-3);margin:1rem 0 0;}

/* Karte mit Einwilligung */
.mapbox{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);
  background:var(--ink-3);min-height:340px;display:grid;}
.mapbox iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
.mapgate{display:grid;place-content:center;text-align:center;gap:1rem;padding:2.4rem 1.6rem;}
.mapgate h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;
  font-size:1.4rem;margin:0;}
.mapgate p{max-width:46ch;margin:0 auto;color:var(--fg-2);font-size:.92rem;}

/* ---------------------------------------------------------------- Team */
.team{display:grid;gap:clamp(14px,1.8vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));}
.member{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  background:var(--ink-3);}
.member__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink-2);}
.member__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%;
  filter:saturate(.9);transition:transform .6s var(--ease),filter .4s;}
.member:hover .member__img img{transform:scale(1.05);filter:saturate(1.05);}
.member__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,10,14,.6),transparent 45%);}
.member__body{padding:1.2rem 1.25rem 1.4rem;}
.member__name{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.25rem;line-height:1.1;margin:0 0 .12em;}
.member__role{color:var(--orange);font-size:.86rem;font-weight:600;margin:0 0 .8rem;}
.member__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.member__tags li{font-size:.78rem;color:var(--fg-3);padding:.25em .7em;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);}

/* -------------------------------------------------------------------- Jobs */
.job{padding:clamp(1.5rem,2.4vw,2.2rem);border-radius:var(--r-lg);background:var(--ink-3);
  border:1px solid var(--line);display:flex;flex-direction:column;gap:1rem;
  transition:border-color .3s,transform .3s var(--ease);}
.job:hover{border-color:rgba(246,157,21,.45);transform:translateY(-3px);}
.job h3{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.45rem;line-height:1.08;margin:0;}
.job__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.job__meta li{font-size:.78rem;color:var(--fg-3);padding:.28em .8em;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);}
.job p{margin:0;color:var(--fg-2);}
.job .tlink{margin-top:auto;}

/* ------------------------------------------------------------ Textseiten */
.prose{max-width:74ch;}
.prose h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1;margin:2.4em 0 .6em;color:var(--fg);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.1rem;font-weight:600;margin:1.9em 0 .5em;color:var(--fg);}
.prose p,.prose li{color:var(--fg-2);}
.prose a{color:var(--orange);}
.prose li{margin-bottom:.4em;}
.hinweis-box{padding:1.2rem 1.4rem;border-radius:var(--r);margin-bottom:2.4rem;
  background:rgba(46,134,214,.1);border:1px solid rgba(46,134,214,.35);}
.hinweis-box p{margin:0;color:var(--fg-2);font-size:.92rem;}
.todo{color:var(--orange);font-weight:600;}

/* ------------------------------------------------------------------ CTA-Band */
.ctaband{position:relative;overflow:hidden;background:var(--ink-2);}
.ctaband::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(70% 120% at 12% 0%,rgba(246,157,21,.16),transparent 62%),
    radial-gradient(60% 110% at 92% 100%,rgba(46,134,214,.16),transparent 60%);
}
.ctaband__in{position:relative;display:grid;gap:clamp(20px,3vw,48px);align-items:center;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));}
.ctaband h2{margin-bottom:.3em;}
.ctaband__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
@media (max-width:760px){.ctaband__actions{justify-content:flex-start;}}

/* ------------------------------------------------------------------ Footer */
.ftr{background:var(--ink-2);border-top:1px solid var(--line);padding-block:clamp(48px,6vw,80px) 0;}
.ftr__grid{display:grid;gap:clamp(26px,3.4vw,52px);
  grid-template-columns:minmax(0,1.45fr) repeat(auto-fit,minmax(min(100%,170px),1fr));}
.ftr__logo{width:212px;margin-bottom:1.2rem;}
.ftr h4{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.08rem;letter-spacing:.05em;margin:0 0 1rem;color:var(--fg);}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.ftr a{color:var(--fg-2);text-decoration:none;font-size:.93rem;transition:color .2s;}
.ftr a:hover{color:var(--orange);}
.ftr p{color:var(--fg-2);font-size:.93rem;}
.ftr__social{display:flex;gap:10px;margin-top:1.3rem;}
.ftr__social a{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.05);border:1px solid var(--line);transition:all .24s var(--ease);
}
.ftr__social svg{width:19px;height:19px;fill:var(--fg-2);transition:fill .24s;}
.ftr__social a:hover{background:rgba(246,157,21,.14);border-color:rgba(246,157,21,.45);
  transform:translateY(-2px);}
.ftr__social a:hover svg{fill:var(--orange);}
.ftr__bar{
  margin-top:clamp(36px,4.5vw,64px);padding-block:1.5rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;
  font-size:.85rem;color:var(--fg-3);
}
.ftr__bar a{font-size:.85rem;color:var(--fg-3);}
.ftr__legal{display:flex;flex-wrap:wrap;gap:6px 20px;}

/* ------------------------------------------------------- Schwebende CTAs */
.fab{
  position:fixed;right:clamp(14px,2.2vw,26px);bottom:clamp(14px,2.2vw,26px);z-index:90;
  display:flex;flex-direction:column;gap:11px;
}
.fab a{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 14px 34px -12px rgba(0,0,0,.85);
  transition:transform .26s var(--ease),filter .26s;
}
.fab a:hover{transform:translateY(-3px) scale(1.04);}
.fab svg{width:25px;height:25px;fill:currentColor;}
.fab__wa{background:#25D366;color:#06301A;}
.fab__tel{background:var(--orange);color:var(--orange-ink);}
@media (min-width:900px){.fab__tel{display:none;}}

/* Sprung-Link */
.skip{
  position:absolute;left:-9999px;top:0;z-index:300;
  padding:.9em 1.4em;background:var(--orange);color:var(--orange-ink);font-weight:600;
  border-radius:0 0 10px 0;text-decoration:none;
}
.skip:focus{left:0;}

/* ------------------------------------------------------------ Scroll-Reveal */
.rv{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.is-in{opacity:1;transform:none;}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}
.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important;transition:none!important;}
}

/* -------------------------------------------------------------- Breakpoints */
@media (max-width:1180px){
  .nav{display:none;}
  .burger{display:flex;}
  .hdr__tel span{display:none;}
}
@media (max-width:880px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__side{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));display:grid;}
  .split--flip .split__media{order:0;}
  .ftr__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));}
}
@media (max-width:640px){
  .hero{min-height:auto;padding-top:calc(var(--hdr-h,86px) + 64px);}
  .hero__side{grid-template-columns:1fr 1fr;}
  .hero__scroll{display:none;}
  .hdr__cta .btn{display:none;}
  .hero__actions,.phero__actions{flex-direction:column;align-items:stretch;}
  .hero__actions .btn,.phero__actions .btn{width:100%;}
  .fab a{width:48px;height:48px;}
  .fab svg{width:22px;height:22px;}
  .ctaband__actions{flex-direction:column;align-items:stretch;}
  .ctaband__actions .btn{width:100%;}
}

/* -------------------------------------------------------------------- Druck */
@media print{
  .hdr,.drawer,.fab,.hero__media,.ctaband,.marquee,.gal-filter{display:none!important;}
  body{background:#fff;color:#000;}
  .section{padding-block:1.2rem;}
  a{color:#000;text-decoration:underline;}
}

/* ------------------------------------------------------- Hilfsklassen
   Ersetzen die früheren Inline-Styles, damit die Content-Security-Policy
   ohne 'unsafe-inline' für Styles auskommt. */
.mb-0{margin-bottom:0;}
.mt-0{margin-top:0;}
.mb-m{margin-bottom:1.4rem;}
.mb-blk{margin-bottom:clamp(2rem,3.4vw,3.2rem);}
.mb-sec{margin-bottom:var(--sp);}
.mt-xs{margin-top:10px;}
.mt-s{margin-top:clamp(22px,3.4vw,40px);}
.mt-m{margin-top:1.7rem;}
.mt-l{margin-top:2.3rem;}
.mt-sec{margin-top:var(--sp);}
.mi-auto{margin-inline:auto;}
.maxw{max-width:78ch;}
.ta-c{text-align:center;}
.d-b{display:block;}
.c-mute{color:var(--fg-3);}
.c-mute2{color:var(--fg-2);}
.c-accent{color:var(--orange);}
.fl-c{display:flex;justify-content:center;}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.nav__list{display:flex;list-style:none;margin:0;padding:0;gap:inherit;}
.vid-16x9{aspect-ratio:16/9;object-fit:cover;width:100%;}
.phero--short{min-height:60vh;}

/* ---------------------------------------------------------------- Teamseite */
.team-hero{
  position:relative;overflow:hidden;background:var(--ink-2);
  padding-top:calc(var(--hdr-h,86px) + clamp(40px,6vw,80px));
  padding-bottom:0;
}
.team-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(58% 70% at 50% 82%,rgba(246,157,21,.20),transparent 68%),
    radial-gradient(90% 70% at 50% 0%,rgba(46,134,214,.12),transparent 62%);
}
.team-hero__in{position:relative;text-align:center;}
.team-hero .kicker{justify-content:center;}
.team-hero h1{margin-bottom:.3em;}
.team-hero .lead{margin:0 auto 2rem;}
.team-hero__bild{
  position:relative;margin:clamp(12px,2.5vw,28px) auto 0;
  max-width:1000px;width:100%;
}
.team-hero__bild img{width:100%;display:block;}
.team-hero__bild::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:22%;
  background:linear-gradient(to top,var(--ink) 12%,transparent);
  pointer-events:none;
}

/* Einzelvorstellungen */
.person{
  display:grid;gap:clamp(20px,3.4vw,52px);align-items:center;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  margin-bottom:clamp(40px,6vw,86px);
}
.person:last-child{margin-bottom:0;}
.person--flip .person__bild{order:2;}
.person__bild{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow);background:var(--ink-3);
}
.person__bild img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 16%;
  filter:saturate(.94);transition:transform .8s var(--ease),filter .5s;
}
.person:hover .person__bild img{transform:scale(1.035);filter:saturate(1.04);}
.person__bild::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,10,14,.55),transparent 42%),
             linear-gradient(215deg,rgba(246,157,21,.14),transparent 40%);
}
.person__nr{
  position:absolute;left:1.1rem;top:1rem;z-index:1;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:2.4rem;line-height:1;
  color:rgba(255,255,255,.46);
}
.person__name{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1;margin:0 0 .18em;
}
.person__rolle{
  color:var(--orange);font-weight:600;font-size:1rem;letter-spacing:.02em;
  margin:0 0 1.1rem;
}
.person__text{color:var(--fg-2);max-width:54ch;}
.person__tags{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.person__tags li{
  font-size:.83rem;color:var(--fg-2);padding:.4em .95em;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);
}

/* Aufruf für Bewerbungen im Team-Raster */
.person--offen .person__bild{
  display:grid;place-items:center;aspect-ratio:4/5;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 10px,transparent 10px 20px),
    var(--ink-3);
  border-style:dashed;border-color:var(--line-2);
}
.person--offen .person__bild::after{content:none;}
.person__silhouette{width:58%;max-width:190px;opacity:.5;}
.person__silhouette path{fill:var(--fg-3);}

@media (max-width:820px){
  .person{grid-template-columns:1fr;}
  .person--flip .person__bild{order:0;}
  .person__bild img{aspect-ratio:3/2;object-position:center 14%;}
  .person--offen .person__bild{aspect-ratio:3/2;}
}
.member__link{display:block;text-decoration:none;color:inherit;height:100%;}
.member{transition:border-color .3s,transform .3s var(--ease);}
.member:hover{border-color:rgba(246,157,21,.45);transform:translateY(-3px);}
.mb-s{margin-bottom:1.1rem;}
.maxw-s{max-width:60ch;}
.btnrow.mt-l{margin-top:2.3rem;}
.btnrow--start{justify-content:flex-start;}
