/* DM Sans — lokal gehostet (DSGVO) */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/dm-sans-latin-ext.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:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/dm-sans-latin.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}
/* ==========================================================================
   TOKENS — Layout/Type 1:1 nach hugeinc.com, Farben aus der skwirba-CD
   ========================================================================== */
:root{
  --navy:#2d4667; --navy-deep:#1d2f45; --navy-ink:#142033;
  --coral:#e55b5f; --coral-ink:#b8363b; --sky:#a7dce1; --lavender:#a8aeda;
  --paper:#f7f5f0; --paper-2:#efece5;

  /* Laufweite — für DM Sans geöffnet (Huge-Werte waren für die breitere "Matter") */
  --tracking-hero:-.045em; --tracking-display:-.035em; --tracking-heading:-.025em;
  --tracking-sub:-.01em; --tracking-ui:-.01em;

  --ease-osmo:cubic-bezier(.625,.05,0,1);
  --ease-ui-out:cubic-bezier(.23,1,.32,1);
  --ease-cursor:cubic-bezier(.75,0,.25,1);

  --grid-columns:4; --grid-gutter:.5rem; --page-margin:1.25rem;
  --content-max:112.5rem; --header-height:6rem;

  --radius-4:4px; --radius-8:8px; --radius-16:16px; --radius-20:20px;

  --section-gap-sm:3rem; --section-gap-lg:5rem; --section-gap-xl:8.125rem;

  --text-display-2xl:6.25rem; --text-display-xl:5rem; --text-display-l:4.25rem;
  --text-h1:3.125rem; --text-h2:2.5rem; --text-h3:2.25rem; --text-h4:2rem;
  --text-h5:1.75rem; --text-h6:1.375rem;
  --text-body-xl:2rem; --text-body-large:1.375rem; --text-body:1.125rem; --text-sm:.875rem; --text-tiny:.75rem;
}
@media (min-width:48rem){
  :root{
    --grid-columns:8;
    --text-display-2xl:10.75rem; --text-display-xl:8rem; --text-display-l:6.5rem;
    --text-h1:4.75rem; --text-h2:3.75rem; --text-h3:3rem; --text-h4:2.375rem;
    --text-h5:1.875rem; --text-h6:1.5rem; --text-body-xl:2.375rem; --text-body-large:1.5rem;
    --section-gap-sm:3.5rem; --section-gap-lg:6.5rem; --section-gap-xl:10rem;
  }
}
@media (min-width:64rem){
  :root{
    --grid-columns:12; --grid-gutter:1rem; --page-margin:2.5rem; --header-height:4.375rem;
    --text-display-2xl:clamp(11.875rem, 2.8rem + 14.18vw, 18.75rem);
    --text-display-xl:clamp(9.125rem, 4.67rem + 6.96vw, 12.5rem);
    --text-display-l:clamp(7rem, 3.68rem + 5.22vw, 9.55rem);
    --text-h1:clamp(5.25rem, 3.11rem + 3.35vw, 6.875rem);
    --text-h2:clamp(4.125rem, 2.31rem + 2.84vw, 5.5rem);
    --text-h3:clamp(3.25rem, 2.43rem + 1.29vw, 3.875rem);
    --text-h4:clamp(2.5rem, 2.01rem + .77vw, 2.875rem);
    --text-h5:clamp(1.875rem, 1.55rem + .52vw, 2.125rem);
    --text-h6:clamp(1.5rem, 1.34rem + .26vw, 1.625rem);
    --text-body-xl:clamp(2.5rem, 2.01rem + .77vw, 2.875rem);
    --text-body-large:clamp(1.5rem, 1.34rem + .26vw, 1.625rem);
    --text-body:clamp(1.125rem, .96rem + .26vw, 1.25rem);
    --section-gap-sm:clamp(3.5rem, 2.5rem + 1.5vw, 4rem);
    --section-gap-lg:clamp(6.5rem, 4.5rem + 3vw, 8rem);
    --section-gap-xl:clamp(10.625rem, 6.5rem + 6.44vw, 13.75rem);
  }
}
@media (min-width:112.5rem){
  :root{
    --grid-gutter:clamp(1rem, -.1842rem + 1.0526vw, 1.5rem);
    --page-margin:clamp(2.5rem, -.4605rem + 2.6316vw, 3.75rem);
    --content-max:152.5rem;
  }
}

/* Themes (Huge: white / subtle / normal / dark) — skwirba: white / paper / sky / lavender / coral / dark(navy) */
:root,[data-theme="white"]{
  --theme-bg:#fff; --theme-text-primary:var(--navy-ink); --theme-text-secondary:#6b7686;
  --theme-text-inverse:#fff; --theme-cta:var(--coral); --theme-btn-hover:var(--coral);
  --theme-on-base:#f4f5f9; --theme-border:rgba(20,32,51,.14); --theme-border-strong:rgba(20,32,51,.6);
  --theme-pill-bg:rgba(20,32,51,.07);
}
[data-theme="paper"]{ --theme-bg:var(--paper); --theme-text-primary:var(--navy-ink); --theme-text-secondary:#6b7686; --theme-text-inverse:#fff; --theme-cta:var(--coral); --theme-btn-hover:var(--coral); --theme-on-base:#fff; --theme-border:rgba(20,32,51,.14); --theme-border-strong:rgba(20,32,51,.6); --theme-pill-bg:rgba(20,32,51,.07); }
[data-theme="sky"]{ --theme-bg:var(--sky); --theme-text-primary:var(--navy-ink); --theme-text-secondary:rgba(20,32,51,.6); --theme-text-inverse:#fff; --theme-cta:var(--navy); --theme-btn-hover:var(--navy); --theme-on-base:rgba(255,255,255,.45); --theme-border:rgba(20,32,51,.2); --theme-border-strong:rgba(20,32,51,.7); --theme-pill-bg:rgba(20,32,51,.08); }
[data-theme="lavender"]{ --theme-bg:var(--lavender); --theme-text-primary:var(--navy-ink); --theme-text-secondary:rgba(20,32,51,.6); --theme-text-inverse:#fff; --theme-cta:var(--navy); --theme-btn-hover:var(--navy); --theme-on-base:rgba(255,255,255,.45); --theme-border:rgba(20,32,51,.2); --theme-border-strong:rgba(20,32,51,.7); --theme-pill-bg:rgba(20,32,51,.08); }
[data-theme="coral"]{ --theme-bg:var(--coral); --theme-text-primary:var(--navy-ink); --theme-text-secondary:rgba(20,32,51,.65); --theme-text-inverse:#fff; --theme-cta:#fff; --theme-btn-hover:var(--navy); --theme-on-base:rgba(255,255,255,.3); --theme-border:rgba(20,32,51,.2); --theme-border-strong:rgba(20,32,51,.7); --theme-pill-bg:rgba(20,32,51,.1); }
[data-theme="dark"]{
  --theme-bg:var(--navy); --theme-text-primary:#fff; --theme-text-secondary:#c3cedb;
  --theme-text-inverse:var(--navy); --theme-cta:var(--coral); --theme-btn-hover:var(--navy-deep);
  --theme-on-base:var(--paper); --theme-border:rgba(255,255,255,.18); --theme-border-strong:rgba(255,255,255,.7);
  --theme-pill-bg:rgba(255,255,255,.16);
}

/* ==========================================================================
   BASE
   ========================================================================== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
body{font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:var(--text-body);line-height:1.6;background:var(--theme-bg);color:var(--theme-text-primary);overflow-x:clip}
body.theme-swap,body.theme-swap *{transition:background-color .5s,color .5s,border-color .5s,outline-color .5s,fill .5s,stroke .5s}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
::selection{background:var(--coral);color:#fff}
:focus-visible{outline:2px solid var(--theme-cta);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.layout-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));column-gap:var(--grid-gutter);width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto}
.col-full{grid-column:1/-1}
.cap-height{text-box-trim:trim-both;text-box-edge:cap alphabetic}
.optical-left{text-indent:-.065em}
.accent{color:var(--theme-cta)}
.nowrap{white-space:nowrap}
.br-lg{display:none}
@media (min-width:64rem){ .br-lg{display:inline} }

.t-display-2xl{font-size:var(--text-display-2xl);line-height:.88;letter-spacing:var(--tracking-display);font-weight:600}
.t-display-l{font-size:var(--text-display-l);line-height:.9;letter-spacing:var(--tracking-display);font-weight:600}
.t-h1{font-size:var(--text-h1);line-height:1;letter-spacing:var(--tracking-heading);font-weight:600}
.t-h2{font-size:var(--text-h2);line-height:1.05;letter-spacing:var(--tracking-heading);font-weight:600}
.t-h3{font-size:var(--text-h3);line-height:1.08;letter-spacing:var(--tracking-heading);font-weight:600}
.t-h4{font-size:var(--text-h4);line-height:1.12;letter-spacing:var(--tracking-heading);font-weight:600}
.t-h5{font-size:var(--text-h5);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600}
.t-h6{font-size:var(--text-h6);line-height:1.3;letter-spacing:var(--tracking-sub);font-weight:600}
.t-body-xl{font-size:var(--text-body-xl);line-height:1;letter-spacing:var(--tracking-sub);font-weight:600}
.t-body-large{font-size:var(--text-body-large);line-height:1.1;letter-spacing:-.01em;font-weight:600}
@media (max-width:47.99rem){ .t-display-l.m-clamp{font-size:clamp(2.5rem,13.5vw,4.25rem)} }

/* Reveal pending (verhindert Flash vor JS) */
@media (prefers-reduced-motion:no-preference){
  [data-reveal-group].js-reveal-pending>*,[data-reveal-group-nested].js-reveal-pending>*{opacity:0;visibility:hidden;transform:translateY(2em)}
}

/* ==========================================================================
   BUTTONS — Char-Roll & Circle-Fill (Huge)
   ========================================================================== */
[data-button-animate-chars]{display:inline-block;position:relative;overflow:hidden;vertical-align:top}
[data-button-animate-chars] span{display:inline-block;text-shadow:0 1lh currentColor;transition:transform .6s var(--ease-osmo);transform:translateY(0) rotate(.001deg)}
[data-btn-chars][data-btn-chars-ready]:hover [data-button-animate-chars] span{transform:translateY(-1lh) rotate(.001deg)}

.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5em;border-radius:999px;padding:.75rem 2rem;font-size:1rem;line-height:1;letter-spacing:var(--tracking-ui);font-weight:600;white-space:nowrap;background:var(--theme-text-primary);color:var(--theme-text-inverse);transition:color .7s var(--ease-osmo)}
.btn--lg{padding:1.25rem 2.25rem}
.btn__circle-wrap{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.btn__circle{position:absolute;left:50%;top:50%;width:115%;border-radius:50%;background:var(--theme-btn-hover);transform:translate(-50%,-50%) scale(0) rotate(.001deg);transition:transform .7s var(--ease-osmo),background-color .4s}
.btn__circle .before__100{display:block;padding-top:100%}
@media (hover:hover){
  .btn:hover .btn__circle{transform:translate(-50%,-50%) scale(1) rotate(.001deg)}
  [data-theme="dark"] .btn:hover,.btn:hover{color:#fff}
}
.btn:active{transform:scale(.97)}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;white-space:nowrap}
.link-arrow svg{width:.7em;height:.7em;transition:transform .6s var(--ease-osmo)}
.link-arrow:hover svg{transform:translateX(.2em)}
.link-arrow:active{opacity:.5}

/* ==========================================================================
   HEADER + PROGRESSIVE BLUR
   ========================================================================== */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-height);padding-inline:var(--page-margin);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--theme-text-primary);transition:color .5s}
.site-nav__logo{justify-self:start;color:var(--coral);display:block;width:7.25rem}
.site-nav__logo svg{width:100%;height:auto}
.site-nav__links{display:none;gap:3rem;font-size:1rem;line-height:1;letter-spacing:var(--tracking-ui)}
.site-nav__right{justify-self:end;display:flex;align-items:center;gap:1rem}
.site-nav .btn{height:2.75rem;padding:0 1.95rem;font-size:1rem}
.site-nav__menu{display:inline-flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:600;letter-spacing:var(--tracking-ui);height:2.75rem;padding:0 1.25rem;border-radius:999px;background:var(--theme-pill-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-nav__menu i{position:relative;width:14px;height:10px;display:inline-block}
.site-nav__menu i::before,.site-nav__menu i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px}
.site-nav__menu i::before{top:1px}.site-nav__menu i::after{bottom:1px}
.site-nav .btn--nav{display:none}
@media (min-width:64rem){
  .site-nav__links{display:flex}
  .site-nav__menu{display:none}
  .site-nav .btn--nav{display:inline-flex}
  .site-nav__logo{width:7.5rem}
}
.progressive-blur{position:fixed;top:0;left:0;right:0;height:15em;z-index:40;pointer-events:none}
.progressive-blur>div{position:absolute;inset:0}
.progressive-blur>div:nth-child(1){backdrop-filter:blur(.09375em);-webkit-backdrop-filter:blur(.09375em);-webkit-mask:linear-gradient(to bottom,#000 0%,#000 25%,transparent 62.5%);mask:linear-gradient(to bottom,#000 0%,#000 25%,transparent 62.5%)}
.progressive-blur>div:nth-child(2){backdrop-filter:blur(.375em);-webkit-backdrop-filter:blur(.375em);-webkit-mask:linear-gradient(to bottom,#000 0%,#000 12.5%,transparent 37.5%);mask:linear-gradient(to bottom,#000 0%,#000 12.5%,transparent 37.5%)}
.progressive-blur>div:nth-child(3){backdrop-filter:blur(1.5em);-webkit-backdrop-filter:blur(1.5em);-webkit-mask:linear-gradient(to bottom,#000 0%,transparent 25%);mask:linear-gradient(to bottom,#000 0%,transparent 25%)}

/* Mobile Menu */
.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--theme-bg);color:var(--theme-text-primary);visibility:hidden;opacity:0;display:flex;flex-direction:column;padding:0 var(--page-margin) 2rem}
.mobile-menu__top{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}
.mobile-menu__close{position:relative;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--theme-pill-bg)}
.mobile-menu__close::before,.mobile-menu__close::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.mobile-menu__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-menu__links{margin-top:auto;display:flex;flex-direction:column}
.mobile-menu__links a{font-size:var(--text-h4);line-height:1.1;letter-spacing:var(--tracking-heading);font-weight:600;padding:.4rem 0}
.mobile-menu__foot{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.mobile-menu__tag{font-size:var(--text-h6);color:var(--theme-cta);font-weight:600;letter-spacing:var(--tracking-sub);line-height:1.2}

/* ==========================================================================
   CURSOR MARQUEE
   ========================================================================== */
.cursor-marquee{position:fixed;left:0;top:0;z-index:100;pointer-events:none;display:none}
@media (min-width:64rem) and (pointer:fine){ .cursor-marquee{display:block} }
.cursor-marquee__card{width:8.5em;overflow:hidden;font-size:var(--text-body-large);font-weight:600;letter-spacing:-.01em;line-height:1;background:var(--theme-text-primary);color:var(--theme-text-inverse);border-radius:50em;clip-path:inset(calc(50% - .25em) round 50em);opacity:0;transform:translateY(0);transition:all .4s var(--ease-cursor)}
.cursor-marquee[data-status="active"] .cursor-marquee__card{clip-path:inset(0 round 50em);transform:translateY(-25%);opacity:1}
.cursor-marquee__inner{position:relative;display:flex;white-space:nowrap;animation:translateXCursor 3s linear infinite;animation-play-state:paused}
.cursor-marquee__inner span{padding:.5em .25em;display:block}
.cursor-marquee__inner span+span{position:absolute;left:100%;top:0}
@keyframes translateXCursor{to{transform:translateX(-100%)}}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;isolation:isolate;min-height:100svh;overflow:clip;background:var(--theme-bg);color:var(--theme-text-primary);display:flex;flex-direction:column}
.hero__media{position:absolute;inset:0;z-index:-1;background:var(--navy-deep)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:saturate(.8) contrast(1.2) brightness(.92)}
.hero__shade{position:absolute;inset:0;background:
  linear-gradient(to top, rgba(29,47,69,.92) 0%, rgba(29,47,69,.55) 32%, rgba(29,47,69,.05) 62%, rgba(29,47,69,.35) 100%),
  radial-gradient(120% 90% at 50% 40%, transparent 45%, rgba(20,32,51,.55) 100%)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__media:has(.hero__video) .hero__tint{display:none}
.hero__tint{position:absolute;inset:0;background:var(--navy);mix-blend-mode:color;opacity:.18}
.grain{position:absolute;inset:-50%;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-5%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,5%)}80%{transform:translate(4%,-2%)}100%{transform:translate(0,0)}}
.hero__inner{flex:1;display:flex;flex-direction:column;padding-block:3rem}
.hero__bottom{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:3rem}
.hero__reveal{grid-column:1/-1;display:flex;flex-direction:column;gap:1.5rem}
.hero__title{font-size:min(21.5vw,11.4rem);line-height:.88;letter-spacing:var(--tracking-hero);font-weight:600}
.hero__kicker{display:block;text-indent:0;font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-ui);font-weight:500;color:rgba(255,255,255,.85);margin-bottom:1.25rem}
.hero__title-main{display:block}
.hero__sub{font-size:var(--text-h4);line-height:1.08;letter-spacing:var(--tracking-heading);font-weight:600;max-width:22em}
.hero__sub a{color:var(--coral);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.12em}
@media (min-width:64rem){
  .hero__bottom{padding-bottom:0}
  .hero__title{font-size:min(17vw,17.8rem)}
  .hero__reveal{grid-column:1/span 10}
}

/* ==========================================================================
   SHOWREEL CARD (sticky)
   ========================================================================== */
.ssv-wrap{width:min(100% - var(--page-margin)*2, var(--content-max));margin:calc(var(--section-gap-sm)*-1 + 1.5rem) auto 0;position:relative;z-index:2}
.ssv-card{position:relative;aspect-ratio:16/10;width:100%;border-radius:var(--radius-20);border:3px solid #fff;background:var(--navy-deep);cursor:pointer;box-shadow:0 20px 60px -20px rgba(20,32,51,.45)}
.ssv-card__clip{position:absolute;inset:0;border-radius:calc(var(--radius-20) - 3px);overflow:hidden}
.ssv-card__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.ssv-card__slide:first-child{opacity:1}
.ssv-card__clip::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,47,69,.1),rgba(29,47,69,.45))}
.ssv-card__pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;gap:.6rem;padding:1.25rem 2rem;border-radius:999px;background:rgba(130,140,155,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:1rem;font-weight:600;letter-spacing:var(--tracking-ui);white-space:nowrap;transition:transform .5s var(--ease-osmo)}
.ssv-card__pill svg{width:.9em;height:.9em}
.ssv-card:hover .ssv-card__pill{transform:translate(-50%,-50%) scale(1.04)}
.ssv-card__close{position:absolute;top:1.25rem;right:1.25rem;z-index:3;display:none;padding:.9rem 1.5rem;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-weight:600;letter-spacing:var(--tracking-ui)}
.ssv-card__caption{position:absolute;left:1.5rem;bottom:1.5rem;z-index:3;color:#fff;display:none;max-width:28ch}
.ssv-blackout{position:fixed;inset:0;z-index:69;background:rgba(20,32,51,.9);opacity:0;visibility:hidden}
.ssv-card.is-expanded{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto;border-width:0;border-radius:0;z-index:70;cursor:default;margin:0}
.ssv-card.is-expanded .ssv-card__clip{border-radius:0}
.ssv-card.is-expanded .ssv-card__pill{display:none}
.ssv-card.is-expanded .ssv-card__close,.ssv-card.is-expanded .ssv-card__caption{display:block}
@media (min-width:64rem){
  .ssv-wrap{position:fixed;right:var(--page-margin);bottom:var(--page-margin);left:auto;width:25%;margin:0;z-index:45}
  .ssv-card{border-radius:var(--radius-16)}
  .ssv-card__clip{border-radius:calc(var(--radius-16) - 3px)}
  .ssv-card__pill{padding:.95rem 1.6rem;font-size:.9rem}
}

/* ==========================================================================
   STATEMENT (rotating)
   ========================================================================== */
.statement{padding-block:var(--section-gap-xl) var(--section-gap-sm)}
@media (min-width:64rem){ .statement{padding-block:7.25rem 5rem} }
.statement h2{grid-column:1/-1}
@media (min-width:64rem){ .statement h2{font-size:min(var(--text-display-l), calc(10vw - .75rem))} }
[data-rotating-words]{display:inline-block;position:relative;color:var(--theme-cta)}
.rotating-text__inner{text-indent:0;display:inline-grid;justify-items:start;overflow-x:visible;overflow-y:clip;padding-block:.12em;margin-block:-.12em;vertical-align:baseline}
.rotating-text__word{grid-area:1/1;white-space:nowrap}

/* ==========================================================================
   SPLIT STATEMENT + LINKS + IMAGE TRAIL
   ========================================================================== */
.split{position:relative;padding-block:var(--section-gap-xl);row-gap:3rem}
.split__text{grid-column:1/-1;position:relative;z-index:2}
.split__nav{grid-column:1/-1;position:relative;z-index:2}
.split__nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.split__nav a{font-size:var(--text-body-large);line-height:1.1;letter-spacing:-.01em}
@media (min-width:64rem){
  .split{row-gap:12rem}
  .split__text{grid-column:1/span 9;padding-right:8rem}
  .split__nav{grid-column:10/span 3}
}
.trail{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
.trail__item{position:absolute;left:0;top:0;width:204px;height:204px;border-radius:.3125em;overflow:hidden;opacity:0;visibility:hidden;will-change:transform}
.trail__item img{width:100%;height:100%;object-fit:cover}

/* ==========================================================================
   LOGO WALL
   ========================================================================== */
.logo-wall{width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto;padding-bottom:var(--section-gap-xl)}
.logo-wall__list{display:flex;flex-wrap:wrap;gap:8px}
.logo-wall__item{width:calc(50% - 4px);position:relative}
.logo-wall__item:nth-child(n+9){display:none}
@media (min-width:64rem){ .logo-wall__item{width:calc(25% - 6px)} }
.logo-wall__logo{position:relative;width:100%;padding-top:100%;border-radius:var(--radius-8);background:var(--theme-on-base);overflow:hidden}
.logo-wall__logo-target{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.logo-wall__logo-img{width:40%;height:auto;object-fit:contain;filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1800%) hue-rotate(185deg) brightness(.9)}
.logo-wall__word{display:block;padding-inline:1.25rem;font-weight:600;font-size:clamp(1.25rem,1.9vw,2.1rem);line-height:1;letter-spacing:-.035em;text-align:center;text-wrap:balance;color:var(--theme-text-primary)}
.logo-wall__word em{font-style:normal;color:var(--coral)}
.logo-wall__word small{display:block;margin-top:.9em;font-size:max(.62rem,.34em);font-weight:600;letter-spacing:.16em;line-height:1;text-transform:uppercase;color:var(--theme-text-secondary)}
@media (min-width:64rem) and (max-width:112.49rem){ .logo-wall__logo-img{width:128px;max-height:96px} }

/* ==========================================================================
   WORK — pinned horizontal scroll
   ========================================================================== */
.work{height:100svh;display:flex;flex-direction:column;padding-top:var(--header-height);overflow:hidden;margin-inline:calc(var(--page-margin) - 1.25rem)}
.work__head{padding-bottom:3rem;width:auto;margin-inline:1.25rem}
.work__head h2{grid-column:1/-1}
@media (min-width:64rem){ .work__head h2{grid-column:1/span 8} }
.work__track{flex:1;display:flex;overflow:hidden;min-height:0}
.work__panel{flex:0 0 100%;height:100%;padding:0 1.25rem 1.25rem;will-change:transform}
.work-card{position:relative;height:100%;border-radius:var(--radius-8);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;color:#fff;background:var(--navy-deep)}
@media (min-width:64rem){ .work-card{padding:3rem} }
.work-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-ui-out)}
.work-card:hover .work-card__img{transform:scale(1.05)}
.work-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(20,32,51,.78) 0%,rgba(20,32,51,.35) 38%,rgba(20,32,51,0) 65%)}
.work-card__body{position:relative;z-index:2;width:min(100%, 48rem)}
.work-card__body p{font-size:var(--text-h3);line-height:1;letter-spacing:var(--tracking-heading);font-weight:600}
.work-card__body p+p{opacity:.55;margin-top:.1em}
.work-card__tag{position:absolute;top:1.5rem;left:1.5rem;z-index:2;display:flex;gap:.5rem}
.pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;letter-spacing:-.01em;line-height:1;background:var(--theme-pill-bg);color:var(--theme-text-primary)}
.pill--glass{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* ==========================================================================
   RADIAL CARDS
   ========================================================================== */
.radial{position:relative;min-height:100svh;padding-top:calc(var(--header-height) + 3rem);padding-bottom:4em;overflow:hidden;display:flex;flex-direction:column}
.radial::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--fade-height,5rem);background:linear-gradient(to top,var(--theme-bg),transparent);pointer-events:none;z-index:3}
@media (min-width:48rem){ .radial{padding-top:calc(var(--header-height) + 4rem);padding-bottom:8em;--fade-height:8rem} }
.radial__intro>*{grid-column:1/-1}
@media (min-width:64rem){ .radial__intro>*{grid-column:1/span 8} }
.radial__intro p{margin-top:2.5rem}
.radial__stage{margin-top:4rem;flex:1;display:flex;justify-content:center}
[data-radial-list]{--step:14deg;--radius:82em;transform-origin:50% var(--radius);display:grid}
[data-radial-list]>*{transform-origin:50% var(--radius);transform:rotate(calc(var(--step)*(var(--card) - 1)));grid-area:1/1}
@media (min-width:48rem){ [data-radial-list]{--radius:90em} }
@media (min-width:64rem){ [data-radial-list]{--step:24deg} }
.radial-card{position:relative;width:19.69rem;aspect-ratio:1;border-radius:var(--radius-16);overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;background:var(--card-bg,var(--navy-deep))}
@media (min-width:64rem){ .radial-card{width:30.31rem;padding:2.25rem} }
.radial-card img.radial-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.radial-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(20,32,51,.75),rgba(20,32,51,0) 60%)}
.radial-card--flat::before{background:none}
.radial-card__logo{position:relative;z-index:2;height:auto;max-width:40%;max-height:2.75rem;object-fit:contain;object-position:left top;filter:brightness(0) invert(1);align-self:flex-start}
.radial-card::after{content:"";position:absolute;inset:0 0 auto;height:40%;z-index:1;background:linear-gradient(to bottom,rgba(20,32,51,.45),transparent);pointer-events:none}
.radial-card--flat::after{display:none}
.radial-card__name{position:relative;z-index:2;font-size:1rem;font-weight:600;letter-spacing:-.02em}
.radial-card__cap{position:relative;z-index:2;font-size:var(--text-h6);line-height:1.08;letter-spacing:var(--tracking-heading);font-weight:600}
@media (min-width:64rem){ .radial-card__cap{font-size:var(--text-h4);line-height:1.05} }

/* ==========================================================================
   SOLUTIONS — sticky stacking cards
   ========================================================================== */
.solutions{padding-block:var(--section-gap-xl)}
.solutions__intro{margin-bottom:5rem}
.solutions__intro>*{grid-column:1/-1}
@media (min-width:64rem){ .solutions__intro>*{grid-column:1/span 8} }
.solutions__intro p{margin-top:2.5rem;color:var(--theme-text-primary)}
.projects-stack__flow{--projects-stack-intro-top:calc(var(--header-height) + 2.5rem);--projects-stack-dock:calc(var(--projects-stack-intro-top) + var(--projects-stack-intro-height,0px));--projects-stack-stagger:14px;--projects-stack-card-height:clamp(18.75rem, calc(100svh - var(--projects-stack-dock) - (var(--count) - 1)*var(--projects-stack-stagger) - var(--page-margin)), 32.75rem);width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto}
.projects-stack__list{display:flex;flex-direction:column;align-items:center;gap:5em}
.projects-stack__item{position:sticky;width:100%;max-width:1360px;top:calc(var(--projects-stack-dock) + var(--stack-index)*var(--projects-stack-stagger))}
@media (min-width:64rem){
  .projects-stack__flow{--projects-stack-stagger:20px;--projects-stack-card-height:clamp(28rem, calc(100svh - var(--header-height) - (var(--count) - 1)*var(--projects-stack-stagger) - var(--page-margin)), 50rem);--projects-stack-dock:max(var(--header-height), calc((100svh - var(--projects-stack-card-height) - (var(--count) - 1)*var(--projects-stack-stagger))/2 + var(--header-height)/2))}
}
.stack-card{position:relative;height:var(--projects-stack-card-height);border-radius:var(--radius-20);padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;background:var(--theme-bg);color:var(--theme-text-primary);font-size:2rem;will-change:transform;overflow:hidden}
.stack-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--navy);opacity:var(--stack-dim,0);pointer-events:none}
@media (min-width:64rem){ .stack-card{padding:4rem} }
.stack-card__num{font-size:var(--text-h3);line-height:.9;letter-spacing:var(--tracking-heading);font-weight:600;color:var(--theme-cta)}
@media (min-width:64rem){ .stack-card__num{font-size:var(--text-h2)} }
.stack-card__title{font-size:var(--text-h1);line-height:.95;letter-spacing:var(--tracking-heading);font-weight:600;margin-top:1.5rem;max-width:14em}
@media (min-width:64rem){ .stack-card__title{font-size:var(--text-h1);line-height:.95} }
.stack-card__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.stack-card__text{font-size:var(--text-h5);line-height:1.2;letter-spacing:var(--tracking-ui);font-weight:500;max-width:24em}
.stack-card__tags{display:flex;flex-wrap:wrap;gap:.5rem;max-width:28rem}
@media (max-width:63.99rem){ .stack-card__text{font-size:var(--text-h6);line-height:1.15} .stack-card__tags{display:none} }

/* ==========================================================================
   IDEAS & NEWS
   ========================================================================== */
.news-head{padding-bottom:4rem}
.news-head h2{grid-column:1/-1}
.news-card{grid-column:1/-1;display:flex;flex-direction:column;gap:1.5rem}
.news-card__media{position:relative;overflow:hidden;border-radius:var(--radius-16);aspect-ratio:16/9}
.news-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-ui-out)}
.news-card:hover .news-card__media img{transform:scale(1.05)}
.news-card__pills{position:absolute;inset:0 0 auto 0;display:flex;justify-content:space-between;padding:1.5rem}
.news-card__meta{display:flex;flex-direction:column;gap:1.25rem}
.news-card__date{font-size:var(--text-body);font-weight:600;line-height:1.1;color:var(--theme-cta)}
.news-card__title{font-size:var(--text-body-xl);line-height:1.08;letter-spacing:var(--tracking-sub);font-weight:600}
@media (min-width:64rem){ .news-card__meta{width:75%} }

/* ==========================================================================
   CTA CARDS
   ========================================================================== */
.cta{padding-block:var(--section-gap-xl) var(--section-gap-lg);row-gap:var(--grid-gutter)}
.cta-card{container-type:inline-size;position:relative;overflow:hidden;border-radius:var(--radius-16);background:var(--theme-bg);color:var(--theme-text-primary);grid-column:1/-1;display:flex;flex-direction:column;gap:6rem;padding:3rem 5rem 3rem 2.5rem}
@media (min-width:48rem){ .cta-card{grid-column:span 4;aspect-ratio:1;justify-content:space-between;gap:0;padding:4rem 7rem 4rem 3.5rem} }
@media (min-width:64rem){ .cta-card{grid-column:span 6} }
.cta-card__eyebrow{font-size:var(--text-h5);line-height:.9;letter-spacing:var(--tracking-sub);font-weight:600;color:var(--theme-cta)}
.cta-card__big{font-size:clamp(1.75rem,19cqi,7.8125rem);line-height:.9;letter-spacing:var(--tracking-heading);font-weight:600;margin-top:2.5rem}
.icon-btn{width:60px;height:60px;border-radius:50%;border:1px solid var(--theme-border);display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,transform .16s var(--ease-ui-out)}
.icon-btn svg{width:18px;height:18px}
.cta-card:hover .icon-btn{border-color:var(--theme-border-strong)}
.cta-card:active .icon-btn{transform:scale(.95)}
.cta-card__link{position:absolute;inset:0;z-index:1}

/* ==========================================================================
   FOOTER (parallax)
   ========================================================================== */
.footer-wrap{position:relative;overflow:hidden}
.footer{position:relative;background:var(--theme-bg);color:var(--theme-text-primary);padding:var(--section-gap-lg) .25rem 1.5rem}
.footer-wrap__dark{position:absolute;inset:0;background:#172638;opacity:0;pointer-events:none;z-index:2}
.footer__inner{padding-inline:calc(var(--page-margin) - .25rem);display:flex;flex-direction:column;gap:3rem}
@media (min-width:48rem){ .footer__inner{gap:9.375rem} }
.footer__bye{font-size:var(--text-display-2xl);line-height:.88;letter-spacing:var(--tracking-display);font-weight:600}
.footer__grid{display:grid;gap:3rem}
@media (min-width:48rem){ .footer__grid{grid-template-columns:1fr 1fr} }
.footer__navs{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.footer__primary a{display:block;font-size:var(--text-h6);font-weight:600;letter-spacing:var(--tracking-sub);line-height:1.3;color:var(--theme-text-primary)}
.footer__secondary a{display:block;font-size:var(--text-sm);line-height:1.9;color:var(--theme-text-secondary);transition:color .3s}
.footer__secondary a:hover{color:var(--theme-text-primary)}
.newsletter h3{font-size:var(--text-h6);font-weight:600;letter-spacing:var(--tracking-sub);line-height:1.3;margin-bottom:1.25rem}
.newsletter form{position:relative;display:flex;align-items:center;height:4rem;border-radius:var(--radius-4);background:#fff;color:var(--navy-ink);padding:0 .75rem 0 1.25rem}
.newsletter input{flex:1;height:100%;border:0;background:transparent;font:inherit;font-size:1rem;color:inherit;outline:none}
.newsletter input::placeholder{color:#7a8494}
.newsletter button{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--coral);transition:background-color .3s}
.newsletter button:hover{background:rgba(229,91,95,.12)}
.newsletter button svg{width:16px;height:16px}
.newsletter small{display:block;margin-top:.9rem;font-size:var(--text-tiny);color:var(--theme-text-secondary)}
.newsletter .ok{display:none;margin-top:.9rem;font-size:var(--text-sm);color:var(--coral);font-weight:600}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:var(--text-tiny);color:var(--theme-text-secondary)}
.footer__legal a:hover{color:var(--theme-text-primary)}
.footer__legal{align-items:center}
.footer__legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.footer__seal{position:relative;display:block;height:2.5rem;aspect-ratio:268/104;border-radius:6px}
.footer__seal img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s var(--ease-osmo)}
.footer__seal-mono{opacity:.5}
.footer__seal-color{opacity:0}
@media (hover:hover){
  .footer__seal:hover .footer__seal-mono{opacity:0}
  .footer__seal:hover .footer__seal-color{opacity:1}
}
.footer__seal:focus-visible .footer__seal-mono{opacity:.9}

@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  .ssv-wrap{position:relative}
  *{scroll-behavior:auto}
}

/* ==========================================================================
   WORDPRESS — Unterseiten, Beiträge, Projekte, Blog
   ========================================================================== */
.article{padding-top:calc(var(--header-height) + var(--section-gap-lg));padding-bottom:var(--section-gap-xl)}
.article__head{row-gap:2rem}
.article__head>*{grid-column:1/-1}
@media (min-width:64rem){ .article__head>*{grid-column:1/span 10} }
.article__kicker{font-size:var(--text-h6);font-weight:600;letter-spacing:var(--tracking-sub);color:var(--theme-cta)}
.article__lead{color:var(--theme-text-secondary)}
.article__media{margin-top:var(--section-gap-sm)}
.article__media-inner{grid-column:1/-1;position:relative;overflow:hidden;border-radius:var(--radius-16);aspect-ratio:16/9}
.article__media-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.article__body{margin-top:var(--section-gap-sm)}
.prose{grid-column:1/-1;font-size:var(--text-body);line-height:1.6;color:var(--theme-text-primary)}
@media (min-width:64rem){ .prose{grid-column:3/span 7} }
.prose>*+*{margin-top:1.25em}
.prose h2{font-size:var(--text-h4);line-height:1;letter-spacing:var(--tracking-heading);font-weight:600;margin-top:2.5em}
.prose h3{font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600;margin-top:2em}
.prose a{color:var(--theme-cta);text-decoration:underline;text-underline-offset:.15em}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose blockquote{font-size:var(--text-h5);line-height:1.15;letter-spacing:var(--tracking-sub);font-weight:600;border-left:3px solid var(--coral);padding-left:1em}
.prose img{border-radius:var(--radius-8);height:auto}
.prose figure{margin-inline:0}
.post-list{margin-top:var(--section-gap-sm);row-gap:4rem}
.post-list__item{grid-column:1/-1}
@media (min-width:48rem){ .post-list__item{grid-column:span 4} }
@media (min-width:64rem){ .post-list__item{grid-column:span 6} .post-list .news-card__meta{width:100%} .post-list .news-card__title{font-size:var(--text-h5);line-height:1.05} }
.post-list__pager .nav-links{display:flex;gap:1rem;font-weight:600}
.article--404{min-height:80svh;display:flex;align-items:flex-end}
.article--404 .article__head{width:min(100% - var(--page-margin)*2, var(--content-max))}
.ssv-card__video{object-fit:cover}

/* ==========================================================================
   RECHTSTEXTE — Aufbau nach hugeinc.com/privacy
   ========================================================================== */
.legal{padding-top:calc(var(--header-height) + 3rem);padding-bottom:var(--section-gap-xl)}
@media (min-width:64rem){ .legal{padding-top:calc(var(--header-height) + 4.9rem)} }
.legal__inner{width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto}
@media (min-width:64rem){ .legal__inner{width:min(100% - var(--page-margin)*4, var(--content-max))} }
.legal__title{font-size:var(--text-h2);line-height:1.05;letter-spacing:var(--tracking-heading);font-weight:600;margin-bottom:.5em}
.legal__body{font-size:var(--text-body);line-height:1.7;color:var(--theme-text-primary);max-width:64rem}
.legal__body p{margin:0 0 1em}
.legal__kicker{margin-bottom:0!important}
.legal__index{margin-bottom:2.5em}
.legal__index-title{font-weight:600;margin-bottom:0!important}
.legal__index ol{list-style:none;padding:0}
.legal__body strong,.legal__body b{font-weight:600}
.legal__body a{color:var(--coral-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.11em;word-break:break-word;transition:color .3s}
.legal__body a:hover{color:var(--theme-text-primary)}
.legal__content h2,.legal__content h3,.legal__content h4{font-size:inherit;line-height:1.6;letter-spacing:0;font-weight:600;scroll-margin-top:calc(var(--header-height) + 2rem)}
.legal__content h2{margin:2.5em 0 .75em}
.legal__content h3,.legal__content h4{margin:2em 0 .5em}
.legal__content>:first-child{margin-top:0}
.legal__content ul,.legal__content ol{list-style:none;padding:0;margin:0 0 1em}
.legal__content li{margin-bottom:.4em}
.legal__content table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5;margin:0 0 1.5em;display:block;overflow-x:auto}
@media (min-width:48rem){ .legal__content table{display:table} }
.legal__content th,.legal__content td{border:1px solid rgba(20,32,51,.25);padding:.75em 1em;text-align:left;vertical-align:top}
.legal__content th{font-weight:600}
.legal__note{border-left:3px solid var(--coral);background:rgba(229,91,95,.08);padding:1em 1.25em;border-radius:0 var(--radius-8) var(--radius-8) 0}

/* ==========================================================================
   SEITENÜBERGANG — 1:1 nach hugeinc.com (Panel mit gewölbten Kanten + Letter-Label)
   ========================================================================== */
.transition{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:clip}
.transition__panel{color:var(--navy);background-color:currentColor;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:100%;left:0;visibility:hidden}
.transition__panel-top{transform-origin:bottom;flex-flow:column;align-items:center;width:100%;height:0%;display:flex;position:absolute;bottom:calc(100% - 1px);left:0;overflow:hidden}
.transition__panel-bottom{transform-origin:top;flex-flow:column;justify-content:flex-end;align-items:center;width:100%;height:0%;display:flex;position:absolute;top:calc(100% - 1px);left:0;overflow:hidden}
.transition__panel-circle{background-color:currentColor;border-radius:50%;width:125%;height:500%;position:absolute}
.transition__label{color:#fff;font-weight:600;letter-spacing:var(--tracking-heading);white-space:nowrap;opacity:0;visibility:hidden;font-size:3rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.transition__label-letter{vertical-align:top;margin-bottom:-.095em;margin-right:-.02em;padding-bottom:.095em;display:inline-block;overflow:clip}
.transition__label-letter-inner{will-change:transform;display:inline-block}
/* Zustand vor dem ersten Paint, wenn die Seite aus einem Übergang kommt */
html.is-page-entering .transition__panel{visibility:visible;transform:translateY(-100%)}
html.is-page-entering .transition__panel-bottom{height:20vw}
html.is-page-entering .transition__label{visibility:visible;opacity:1}
/* Während des Übergangs: keine Live-Unschärfe/Filmkorn neu berechnen, Layer vorbereiten */
html.is-transitioning .progressive-blur{visibility:hidden}
html.is-transitioning .grain{animation-play-state:paused}
html.is-transitioning .transition__panel,html.is-transitioning [data-transition-page]{will-change:transform}
html.is-transitioning .cursor-marquee{visibility:hidden}

/* ==========================================================================
   PROJEKTE — Übersicht (nach hugeinc.com/work)
   ========================================================================== */
.work-archive__hero{padding-top:calc(var(--header-height) + var(--section-gap-xl));padding-bottom:var(--section-gap-lg)}
.work-archive__hero .layout-grid{row-gap:1rem}
.work-archive__title{grid-column:1/-1;font-size:var(--text-display-2xl);line-height:.77;letter-spacing:var(--tracking-display);font-weight:600}
@media (max-width:47.99rem){ .work-archive__title{font-size:clamp(2.5rem,13.5vw,6.25rem)} }
.work-archive__intro{grid-column:1/-1;margin-top:2.5rem}
@media (min-width:64rem){ .work-archive__intro{grid-column:1/span 8} }
.work-list{width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto;display:flex;flex-direction:column;gap:1.25rem}
.work-list__item{height:75svh}
.work-card--list{display:flex;height:100%;border-radius:var(--radius-8)}
.work-card--list .work-card__body{width:min(100%, 44rem)}
.work-card--dark{color:var(--navy-ink)}
.work-card--dark::before{background:linear-gradient(to top,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 45%)}
.work-card--dark .work-card__body p+p{opacity:.6}
.work-archive .logo-wall{padding-bottom:var(--section-gap-lg)}
.work-archive .cta{padding-top:var(--section-gap-lg)}

/* ==========================================================================
   PROJEKTE — Case Study (nach hugeinc.com/case-study/…)
   ========================================================================== */
.case-hero{--theme-bg:#0a0a0b;--theme-text-primary:#fff;position:relative;isolation:isolate;min-height:100svh;overflow:clip;display:flex;flex-direction:column;color:#fff;background:#0a0a0b}
.case-hero__media{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:100%}
.case-hero__media img,.case-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to top,transparent 0%,#000 55%),linear-gradient(to bottom,transparent 0%,#000 18%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to top,transparent 0%,#000 55%),linear-gradient(to bottom,transparent 0%,#000 18%);mask-composite:intersect}
.case-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 70% 45%,transparent 35%,rgba(10,10,11,.85) 100%)}
@media (min-width:64rem){
  .case-hero__media{width:68%}
  .case-hero__media img,.case-hero__media video{
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 22%,#000 55%),linear-gradient(to top,transparent 0%,#000 30%),linear-gradient(to bottom,transparent 0%,#000 14%),linear-gradient(to left,transparent 0%,#000 10%);
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 22%,#000 55%),linear-gradient(to top,transparent 0%,#000 30%),linear-gradient(to bottom,transparent 0%,#000 14%),linear-gradient(to left,transparent 0%,#000 10%)}
  .case-hero__media::after{background:radial-gradient(90% 85% at 65% 45%,transparent 40%,rgba(10,10,11,.8) 100%)}
}
.case-hero__inner{flex:1;align-content:space-between;padding-top:calc(var(--header-height) + 3.5rem);padding-bottom:4rem}
.case-hero__crumbs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-start;font-size:var(--text-h6);line-height:1;letter-spacing:var(--tracking-sub);font-weight:600}
.case-hero__crumbs a:active{opacity:.5}
.case-hero__head{grid-column:1/-1;display:flex;flex-direction:column;gap:1.5rem;align-self:end}
@media (min-width:64rem){ .case-hero__head{grid-column:1/span 7} }
.case-hero__title{text-wrap:balance;font-size:var(--text-display-xl);line-height:.88;letter-spacing:var(--tracking-display);font-weight:600}
@media (max-width:47.99rem){ .case-hero__title{font-size:clamp(2.75rem,14vw,5rem)} }
.case-hero__tagline{max-width:18em;color:rgba(255,255,255,.72)}

.case-overview{background:var(--theme-bg);color:var(--theme-text-primary);padding-block:var(--section-gap-lg)}
.case-overview .layout-grid{row-gap:3rem}
.case-overview__col{grid-column:1/-1;display:flex;flex-direction:column;gap:2.5rem}
@media (min-width:64rem){ .case-overview__col{grid-column:1/span 5} .case-overview__col--right{grid-column:7/span 6} }
.case-overview__pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pill--lg{padding:1rem 1.25rem;white-space:normal}
.case-overview__key{line-height:1.25}

.case-intro{padding-block:var(--section-gap-xl) 0;row-gap:3rem}
.case-intro__side{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:2.5rem}
.case-intro__label{font-size:var(--text-body);line-height:1.2;font-weight:600}
.case-intro__main{grid-column:1/-1;display:flex;flex-direction:column;gap:2.5rem}
@media (min-width:64rem){ .case-intro__side{grid-column:1/span 3} .case-intro__main{grid-column:4/span 7} }
.case-intro__text p+p{margin-top:1.5rem}

.case-story{padding-top:var(--section-gap-xl)}
.case-chapter+.case-chapter{margin-top:var(--section-gap-xl)}
.case-chapter__media{position:relative;margin:0;overflow:hidden;background:var(--paper)}
.case-chapter__media img{display:block;width:100%;height:auto;transform-origin:50% 50%;will-change:transform}
.case-chapter__text{padding-top:var(--section-gap-sm);row-gap:1.5rem}
.case-chapter__text h2{grid-column:1/-1}
.case-chapter__body{grid-column:1/-1;font-size:var(--text-body-large);line-height:1.35;letter-spacing:var(--tracking-ui);font-weight:500;color:var(--theme-text-secondary)}
.case-chapter__body p+p{margin-top:1.25rem}
@media (min-width:64rem){
  .case-chapter__text h2{grid-column:1/span 5}
  .case-chapter__body{grid-column:7/span 6}
}
.case-quote{padding-block:var(--section-gap-xl) 0;row-gap:2.5rem}
.case-quote__text{grid-column:1/-1;line-height:1.08;margin:0}
@media (min-width:64rem){ .case-quote__text{grid-column:1/span 10} }
.case-quote__author{grid-column:1/-1;display:flex;align-items:center;gap:1rem;font-size:var(--text-body);font-weight:600}
.case-quote__photo{width:64px;height:64px;border-radius:50%;object-fit:cover}

.case-outcomes{padding-block:var(--section-gap-xl) 0}
.case-outcomes h2{grid-column:1/-1;margin-bottom:3rem}
.case-outcomes__list{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:var(--grid-gutter)}
@media (min-width:48rem){ .case-outcomes__list{grid-template-columns:repeat(3,1fr)} }
.case-outcomes__card{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:17.5rem;padding:4rem 2.5rem 2.5rem;border-radius:var(--radius-16);background:var(--theme-bg);color:var(--theme-text-primary)}
@media (min-width:64rem){ .case-outcomes__card{min-height:31.25rem} }
.case-outcomes__value{white-space:nowrap;font-size:min(var(--text-display-l), 7.2vw);line-height:.9;letter-spacing:var(--tracking-display);font-weight:600;overflow-wrap:anywhere}
@media (max-width:47.99rem){ .case-outcomes__value{font-size:var(--text-display-l)} }
.case-outcomes__label{font-size:var(--text-body);font-weight:500;line-height:1.4}
.case>section:last-child{padding-bottom:var(--section-gap-xl)}

/* Case Study — Website-Aufnahme im Browserfenster */
.case-site{padding-top:var(--section-gap-xl)}
.case-site__title{grid-column:1/-1;margin-bottom:3rem}
.case-site__stage{width:min(100% - var(--page-margin)*2, var(--content-max));margin-inline:auto}
.case-site__browser{margin:0;border-radius:var(--radius-16);overflow:hidden;background:#101114;box-shadow:0 40px 80px -30px rgba(20,32,51,.45),0 0 0 1px rgba(20,32,51,.08);transform-origin:50% 0;will-change:transform}
.case-site__bar{position:relative;display:flex;align-items:center;justify-content:center;height:2.75rem;padding:0 1rem;background:#1b1c20}
.case-site__dots{position:absolute;left:1rem;top:50%;transform:translateY(-50%);display:flex;gap:.45rem}
.case-site__dots i{width:.7rem;height:.7rem;border-radius:50%;background:rgba(255,255,255,.18)}
.case-site__url{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.35rem 1.25rem;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);font-size:.8125rem;font-weight:500;letter-spacing:0}
.case-site__screen{position:relative;aspect-ratio:16/9;background:#0a0a0b}
.case-site__screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:47.99rem){ .case-site__bar{height:2rem} .case-site__dots i{width:.5rem;height:.5rem} .case-site__url{font-size:.6875rem} }

/* Kartenbogen: Farbkarte mit Illustration (z. B. Maskottchen) */
.radial-card__illu{position:absolute;z-index:1;right:8%;top:7%;height:46%;width:auto;max-width:55%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(20,32,51,.18));pointer-events:none}
.radial-card--illu .radial-card__cap{max-width:92%}

/* ==========================================================================
   BLOG-ÜBERSICHT — nach hugeinc.com/ideas
   ========================================================================== */
.blog .work-archive__hero{padding-bottom:var(--section-gap-lg)}
.blog-card{display:block}
.blog-card .news-card{gap:1.5rem}
.blog-card .news-card__meta{width:100%;gap:.75rem}
.blog-card__title{font-size:var(--text-h5);line-height:1.08;letter-spacing:var(--tracking-sub);font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card--featured{grid-column:1/-1}
.blog-card--featured .news-card__meta{gap:1.25rem}
@media (min-width:64rem){ .blog-card--featured .news-card__meta{width:75%} }
.blog-card--featured .blog-card__title{font-size:var(--text-body-xl);line-height:1.05;letter-spacing:var(--tracking-heading);-webkit-line-clamp:2}
.blog-card--featured .blog-card__title span{color:var(--theme-text-secondary)}
.blog-card__media--square{aspect-ratio:1}
.blog-card__media--video{aspect-ratio:16/9}
.blog-card:hover .news-card__media img{transform:scale(1.05)}

.blog-filters{padding-bottom:3rem}
.blog-filters__row{grid-column:1/-1;display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}
.blog-filters__row::-webkit-scrollbar{display:none}
.blog-filter{flex-shrink:0;border-radius:999px;padding:1rem 2.5rem;font-size:var(--text-body);font-weight:600;letter-spacing:var(--tracking-ui);line-height:1;background:var(--theme-pill-bg);color:var(--theme-text-primary);transition:background-color .3s,color .3s}
.blog-filter:hover{background:rgba(20,32,51,.14)}
.blog-filter[aria-pressed="true"]{background:var(--theme-text-primary);color:var(--theme-text-inverse)}

.blog-grid{row-gap:var(--section-gap-sm);padding-bottom:var(--section-gap-lg)}
.blog-featured+.blog-grid{padding-top:var(--section-gap-lg)}
.blog-featured[hidden]+.blog-grid{padding-top:0}
.blog-grid__col{display:contents}
.blog-grid .blog-card{grid-column:1/-1;order:var(--order)}
@media (min-width:64rem){
  .blog-grid__col{display:flex;flex-direction:column;gap:var(--section-gap-sm)}
  .blog-grid__col--left{grid-column:1/span 5}
  .blog-grid__col--right{grid-column:7/span 6;padding-top:var(--section-gap-lg)}
}
.blog-card[hidden],.blog-more[hidden],.blog-featured[hidden]{display:none!important}
.blog-more{display:flex;justify-content:center;padding-bottom:var(--section-gap-xl)}

/* ==========================================================================
   SECTIONS-SEITEN (Über uns) — nach hugeinc.com/company
   ========================================================================== */
.page-hero__h1{grid-column:1/-1;font-weight:600}
.page-hero__h1 .work-archive__title{display:block}
.page-hero__kicker{display:block;font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-ui);font-weight:500;color:var(--theme-text-secondary);margin-bottom:2rem}
@media (min-width:64rem){ .page-hero__intro{grid-column:1/span 8} }

/* Zahlen */
.numbers{position:relative;padding-block:var(--section-gap-lg) var(--section-gap-xl);row-gap:4rem}
.numbers__title{grid-column:1/-1;align-self:start}
.numbers__list{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);position:relative;z-index:2}
@media (min-width:48rem){ .numbers__list{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:64rem){ .numbers__title{grid-column:1/span 6} .numbers__list{grid-column:7/span 6} .numbers{row-gap:0} }
.numbers__list>li{display:flex}
.stat-card{container-type:inline-size;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;width:100%;min-height:9.25rem;padding:2rem;border-radius:var(--radius-16);background:var(--theme-on-base);color:var(--navy-ink)}
@media (min-width:64rem){ .stat-card{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:1.5rem;min-height:15.5rem} }
.stat-card__value{flex-shrink:0;white-space:nowrap;font-weight:600;line-height:.9;letter-spacing:var(--tracking-display);font-size:clamp(2.5rem,22cqi,4.25rem)}
@media (min-width:48rem){ .stat-card__value{font-size:clamp(2.5rem,22cqi,6.5rem)} }
@media (min-width:64rem){ .stat-card__value{font-size:var(--text-h1)} }
.stat-card__label{font-size:clamp(1rem,7cqi,1.375rem);line-height:1.15;letter-spacing:var(--tracking-sub);font-weight:600;overflow-wrap:anywhere}
@media (min-width:64rem){ .stat-card__label{font-size:var(--text-h6)} }

/* Statement-Zeilen */
.lines{padding-block:var(--section-gap-xl);background:var(--theme-bg);color:var(--theme-text-primary)}
.lines__inner{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6rem;text-align:center}
@media (min-width:64rem){ .lines__inner{grid-column:2/span 10} }
.lines__text{display:flex;flex-direction:column;gap:1.5rem;font-size:var(--text-h4);line-height:1;letter-spacing:-.04em;font-weight:600;text-wrap:balance}
@media (min-width:64rem){ .lines__text{gap:3rem;font-size:var(--text-h3);letter-spacing:-.045em} }
.lines__text span{padding-bottom:.25em;margin-bottom:-.25em}
.btn--coral{background:var(--coral);color:#fff;--theme-btn-hover:var(--coral-ink)}
.btn--coral svg{width:1.1em;height:1.1em}

/* Team */
.people{padding-block:var(--section-gap-sm) var(--section-gap-lg);overflow:hidden}
.people__head{row-gap:var(--section-gap-sm);align-items:end}
.people__head h2{grid-column:1/-1}
.people__nav{grid-column:1/-1;display:flex;gap:.75rem;justify-content:flex-end;order:1}
@media (min-width:64rem){ .people__head h2{grid-column:1/span 8} .people__nav{grid-column:9/span 4;order:0} }
.icon-btn{color:var(--theme-text-primary);cursor:pointer;background:transparent}
.icon-btn:hover{border-color:var(--theme-border-strong)}
.icon-btn:disabled{opacity:.35;pointer-events:none}
.icon-btn--prev svg{transform:scaleX(-1)}
.people__track{margin-top:var(--section-gap-sm)}
.people__list{display:flex;gap:var(--grid-gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--page-margin), (100% - var(--content-max))/2);scroll-padding-inline:max(var(--page-margin), (100% - var(--content-max))/2)}
.people__list::-webkit-scrollbar{display:none}
.profile-card{flex-shrink:0;scroll-snap-align:start;width:18.19rem}
.profile-card--large{width:23.5rem}
@media (min-width:64rem){ .profile-card{width:19.875rem} .profile-card--large{width:27rem} }
.profile-card__inner{display:flex;flex-direction:column}
.profile-card__media{aspect-ratio:1;border-radius:var(--radius-16);overflow:hidden;background:var(--card-bg,var(--lavender))}
.profile-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-osmo)}
a.profile-card__inner:hover .profile-card__media img{transform:scale(1.04)}
.profile-card__name{margin-top:1.25rem}
.profile-card__role{margin-top:.25rem;font-size:var(--text-body-large);line-height:1.2;font-weight:600;letter-spacing:var(--tracking-sub)}

/* Geschichte (Story-Karten im Bogen) */
.radial--story [data-radial-list]{--step:14deg}
.story-card{display:flex;flex-direction:column;gap:1.25rem}
.story-card__media{width:19.75rem;aspect-ratio:1;border-radius:var(--radius-16);overflow:hidden;background:var(--card-bg,var(--lavender))}
@media (min-width:64rem){ .story-card__media{width:17rem;aspect-ratio:3/4} }
.story-card__media img{width:100%;height:100%;object-fit:cover}
.story-card__meta{display:flex;flex-direction:column;gap:.5rem;max-width:18.5rem}
.story-card__title,.story-card__year{font-size:var(--text-h6);line-height:1.1;letter-spacing:var(--tracking-sub);font-weight:600}
.story-card__year{color:var(--theme-text-secondary)}
.radial--story{padding-bottom:3rem}
@media (min-width:64rem){
  .radial--story{padding-top:calc(var(--header-height) + 2rem)}
  .radial--story .radial__intro{align-items:end}
  .radial--story .radial__intro h2{grid-column:1/span 7}
  .radial--story .radial__intro p{grid-column:9/span 4;margin-top:0}
  .radial--story .radial__stage{margin-top:2.5rem}
}

/* ==========================================================================
   LÖSUNGEN-SEITE — nach hugeinc.com/solutions
   ========================================================================== */
/* Großes Medium */
.feature-media{padding-bottom:var(--section-gap-xl)}
.feature-media__box{grid-column:1/-1;position:relative;aspect-ratio:16/9;border-radius:var(--radius-16);overflow:hidden;background:var(--navy-deep)}
.feature-media__box img,.feature-media__box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-media__box video{z-index:1}

/* Leistungen + Bild-Follower */
.services{position:relative;row-gap:var(--section-gap-sm);padding-bottom:var(--section-gap-xl)}
.services__title{grid-column:1/-1}
@media (min-width:64rem){ .services__title{grid-column:1/span 8} }
.services__list{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:var(--grid-gutter)}
@media (min-width:48rem){ .services__list{grid-template-columns:repeat(2,minmax(0,1fr))} }
.services__list>li{display:flex}
.service-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:1.5rem;width:100%;min-height:300px;padding:1.25rem 1.25rem 4rem 2.5rem;border-radius:var(--radius-20);background:var(--theme-on-base);color:var(--navy-ink);transition:background-color .4s}
@media (min-width:48rem){ .service-card{padding:1.25rem 1.25rem 4rem} }
@media (min-width:64rem){ .service-card{aspect-ratio:4/3;min-height:500px;padding:5rem 4rem;justify-content:space-between} }
a.service-card:hover{background:var(--lavender)}
.service-card__icon{position:absolute;top:1.25rem;right:1.25rem}
@media (min-width:64rem){ .service-card__icon{display:none} }
.service-card__title{font-size:var(--text-h2);line-height:1;letter-spacing:var(--tracking-heading);font-weight:600;max-width:10em}
@media (min-width:48rem) and (max-width:63.99rem){ .service-card__title{font-size:var(--text-h3)} }
.service-card__text{font-size:var(--text-body-large);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600;max-width:22em}
[data-follower-visual]{display:none;position:absolute;overflow:hidden;aspect-ratio:4/5}
.follower{position:fixed;left:0;top:0;z-index:40;display:none;width:14em;aspect-ratio:4/5;border-radius:var(--radius-16);overflow:hidden;pointer-events:none;justify-content:center;align-items:center}
.follower [data-follower-visual]{display:block;inset:0;width:100%;height:100%;aspect-ratio:auto}
.follower [data-follower-visual] img{width:100%;height:100%;object-fit:cover}
.follower__inner{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;width:100%;height:100%;opacity:0;transform:scale(0);transition:opacity .1s,transform .6s cubic-bezier(.65,.1,0,1)}
.follower__label{position:absolute;z-index:2;opacity:0;transform:translateY(100%);transition:opacity .1s,transform .6s cubic-bezier(.65,.1,0,1)}
.btn--cream{background:var(--paper);color:var(--navy-ink)}
@media (hover:hover) and (min-width:64rem){
  .follower{display:flex}
  body:has([data-follower-collection]:hover) .follower__inner{opacity:1;transform:scale(1)}
  body:has([data-follower-collection]:hover) .follower__label{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){ .follower{display:none!important} }

/* Zusammenarbeit: breite Stapelkarten */
.sticky-cards{position:relative;padding-block:var(--section-gap-xl);background:var(--theme-bg);color:var(--theme-text-primary)}
.sticky-cards__intro{position:sticky;top:50%;transform:translateY(-50%);margin-bottom:var(--section-gap-lg);row-gap:1.75rem}
.sticky-cards__intro>*{grid-column:1/-1}
@media (min-width:64rem){ .sticky-cards__intro>*{grid-column:1/span 7} .sticky-cards__intro{row-gap:3rem} }
.sticky-cards__list{display:flex;flex-direction:column;align-items:center;gap:5em;width:100%;padding-inline:var(--page-margin)}
.sticky-cards__item{position:sticky;flex:none;width:100%;max-width:25em;top:max(var(--header-height), calc((100svh - var(--sticky-card-height,34em))/2 - 2em))}
@media (min-width:64rem){ .sticky-cards__item{max-width:56em} }
.wide-card{--stacking-card-pulse:3;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:.5rem;width:100%;padding:.25rem;border-radius:var(--radius-20);background:var(--theme-bg);color:var(--theme-text-primary);overflow:hidden;font-size:1.6rem;will-change:transform}
@media (min-width:64rem){ .wide-card{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:1rem;aspect-ratio:11/6;font-size:2rem} }
.wide-card__body{display:flex;flex-direction:column;justify-content:center;gap:1.5rem;padding:1.5rem 4rem 1.5rem 1.75rem;aspect-ratio:8/6}
@media (min-width:64rem){ .wide-card__body{aspect-ratio:auto;padding:1.5rem 5.5rem 1.5rem 2rem} }
.wide-card__title{font-size:var(--text-h3);line-height:1;letter-spacing:var(--tracking-heading);font-weight:600}
.wide-card__text{font-size:var(--text-body-large);line-height:1.2;letter-spacing:var(--tracking-sub)}
.wide-card__media{position:relative;overflow:hidden;border-radius:0 0 var(--radius-16) var(--radius-16);aspect-ratio:8/6;background:var(--theme-pill-bg)}
@media (min-width:64rem){ .wide-card__media{aspect-ratio:auto;border-radius:0 var(--radius-16) var(--radius-16) 0} }
.wide-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ==========================================================================
   LEISTUNGS-DETAILSEITEN — nach hugeinc.com/solutions/brand-strategy-and-design
   ========================================================================== */
.case-hero--full .case-hero__media{width:100%}
.case-hero--full .case-hero__media img,.case-hero--full .case-hero__media video{-webkit-mask-image:none;mask-image:none}
.case-hero--full .case-hero__media::after{background:linear-gradient(to top,rgba(10,10,11,.75) 0%,rgba(10,10,11,.2) 45%,rgba(10,10,11,.35) 100%)}
.service-hero__tagline{max-width:22em;color:#fff}

/* Textblöcke */
.text-block{padding-block:var(--section-gap-xl) 0;row-gap:2.5rem}
.text-block+.text-block{padding-top:var(--section-gap-lg)}
.text-block__label{grid-column:1/-1}
.text-block__label p{font-size:var(--text-body);line-height:1.2;font-weight:600}
.text-block__body{grid-column:1/-1;display:flex;flex-direction:column;gap:2.5rem}
.text-block__body .text-block__paras{display:flex;flex-direction:column;gap:1.5rem}
.text-block__body .text-block__paras p{font-size:var(--text-body-large);line-height:1.3;letter-spacing:var(--tracking-sub);font-weight:500}
@media (min-width:64rem){ .text-block__label{grid-column:1/span 3} .text-block__body{grid-column:4/span 7} }
.text-block__col{grid-column:1/-1;display:flex;flex-direction:column;gap:4rem}
.text-block__col .text-block__paras{display:flex;flex-direction:column;gap:1.5rem}
.text-block__col .text-block__paras p{font-weight:500;line-height:1.12}
@media (min-width:64rem){ .text-block__col{grid-column:1/span 8} }

/* Fähigkeiten: Hochkant-Stapelkarten */
.sticky-cards--portrait{background:transparent}
.sticky-cards--portrait .sticky-cards__item{max-width:26.5rem;top:max(var(--header-height), calc((100svh - var(--sticky-card-height,34em))/2 + var(--header-height)/2))}
@media (min-width:64rem){ .sticky-cards--portrait .sticky-cards__intro>*{grid-column:1/span 7} }
.portrait-card{container-type:inline-size;display:flex;flex-direction:column;justify-content:space-between;width:100%;aspect-ratio:423/584;padding:2.5rem 2.5rem 2.5rem 1.95rem;border-radius:var(--radius-20);background:var(--theme-bg);color:var(--theme-text-primary);overflow:hidden;font-size:2rem;will-change:transform}
@media (max-width:47.99rem){ .portrait-card{font-size:1.6rem} }
.portrait-card__title{font-size:clamp(3.5rem,22cqw,8rem);line-height:.9;letter-spacing:var(--tracking-display);font-weight:600}
.portrait-card__list{display:flex;flex-direction:column;gap:.75rem;font-size:var(--text-body);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600}

/* Geliefert */
.shipped{padding-top:var(--section-gap-xl)}
.shipped__head{padding-bottom:4rem}
.shipped__head h2{grid-column:1/-1}

/* CTA mit Bild */
.cta-card--image .cta-card__bg{position:absolute;inset:0}
.cta-card--image .cta-card__bg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-osmo)}
.cta-card--image .cta-card__bg::after{content:"";position:absolute;inset:0;background:rgba(10,10,11,.5)}
.cta-card--image:hover .cta-card__bg img{transform:scale(1.04)}
.cta-card--image .cta-card__eyebrow{color:#fff}
.cta-card__content,.cta-card .icon-btn{position:relative}
.stack-card__link{position:absolute;inset:0;z-index:3;border-radius:inherit}
.stack-card__icon{position:absolute;top:2.5rem;right:2.5rem;z-index:2}
@media (min-width:64rem){ .stack-card__icon{top:4rem;right:4rem} }
.stack-card--link:hover .stack-card__icon{border-color:var(--theme-border-strong)}

/* Leistungs-Hero: SEO-Zeile + Button */
.service-hero__h1{display:flex;flex-direction:column;font-weight:600}
.service-hero__kicker{display:block;font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-ui);font-weight:500;color:rgba(255,255,255,.8);margin-bottom:1.5rem}
.service-hero__cta{margin-top:1rem}

/* FAQ */
.faq{padding-block:var(--section-gap-xl) 0;row-gap:3rem}
.faq__title{grid-column:1/-1}
.faq__list{grid-column:1/-1;border-top:1px solid var(--theme-border)}
@media (min-width:64rem){ .faq__title{grid-column:1/span 5;align-self:start;position:sticky;top:calc(var(--header-height) + 2rem)} .faq__list{grid-column:7/span 6} }
.faq__item{border-bottom:1px solid var(--theme-border)}
.faq__q{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.75rem 0;cursor:pointer;font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600}
.faq__q::-webkit-details-marker{display:none}
.faq__icon{position:relative;flex:none;width:1.5rem;height:1.5rem;margin-top:.1em}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);transition:transform .5s var(--ease-osmo)}
.faq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] .faq__icon::after{transform:translate(-50%,-50%) rotate(0)}
.faq__q:hover .faq__icon{color:var(--coral)}
.faq__a{padding:0 3.5rem 2rem 0;font-size:var(--text-body-large);line-height:1.35;letter-spacing:var(--tracking-sub);color:var(--theme-text-secondary)}
.faq__a p+p{margin-top:1em}
.logo-wall__logo-img--color{filter:none;width:34%;max-height:44%}

/* ==========================================================================
   KUNDENSTIMMEN
   ========================================================================== */
.quotes{padding-block:var(--section-gap-xl);overflow:hidden}
.quotes__head{row-gap:var(--section-gap-sm);align-items:end}
.quotes__head h2{grid-column:1/-1}
@media (min-width:64rem){ .quotes__head h2{grid-column:1/span 8} }
.quotes__list{align-items:stretch}
.quote-card{flex-shrink:0;scroll-snap-align:start;width:min(85vw,24rem)}
@media (min-width:48rem){ .quote-card{width:30rem} }
@media (min-width:64rem){ .quote-card{width:40rem} }
.quote-card__inner{position:relative;height:100%;min-height:26rem;display:flex;flex-direction:column;gap:2rem;padding:2rem;border-radius:var(--radius-20);background:var(--theme-bg);color:var(--theme-text-primary)}
@media (min-width:64rem){ .quote-card__inner{min-height:0;padding:2.75rem 3rem} }
.quote-card__mark{display:block;height:.5em;margin-bottom:-.5rem;font-size:7rem;line-height:.9;font-weight:600;color:var(--theme-cta)}
[data-theme="coral"] .quote-card__mark{color:#fff}
.quote-card__text{flex:1}
.quote-card__text p{font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600;text-wrap:pretty}
@media (min-width:64rem){ .quote-card__text p{font-size:var(--text-h6);line-height:1.22} }
.quote-card__foot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem 1rem}
.quote-card__photo{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover}
.quote-card__who{display:flex;flex-direction:column;gap:.15rem;font-size:var(--text-sm);line-height:1.25}
.quote-card__who strong{font-size:1rem;font-weight:600}
.quote-card__who span{color:var(--theme-text-secondary)}
.quote-card__case{grid-column:1/-1;justify-self:start;gap:.5rem;transition:background-color .3s,color .3s}
.quote-card__case svg{width:.8em;height:.8em;transition:transform .6s var(--ease-osmo)}
.quote-card__case:hover{background:var(--theme-text-primary);color:var(--theme-text-inverse)}
.quote-card__case:hover svg{transform:translateX(.2em)}
@media (min-width:64rem){ .quote-card__foot{grid-template-columns:auto 1fr auto} .quote-card__case{grid-column:auto;justify-self:end} }

/* Footer: Holzhauer Stiftung (einfarbig, farbig bei Hover – wie das Kanzlei-Siegel) */
.footer__charity{display:inline-flex;align-items:center;gap:.75rem;max-width:17rem;line-height:1.35}
.footer__charity img{height:2.75rem;width:auto;flex:none;transition:transform .6s var(--ease-osmo)}
.footer__charity:hover img{transform:rotate(-6deg) scale(1.06)}

/* ==========================================================================
   KONTAKT — nach hugeinc.com/contact
   ========================================================================== */
.contact-form{padding-block:0 var(--section-gap-xl);row-gap:3rem;align-items:start}
.contact-form__main,.contact-form__panel{grid-column:1/-1}
.contact-form__panel{order:-1}
@media (min-width:64rem){
  .contact-form__main{grid-column:1/span 8}
  .contact-form__panel{grid-column:10/span 3;order:0;position:sticky;top:calc(var(--header-height) + 2rem)}
}
.contact-form__toggle{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:999px;background:#fff;margin-bottom:2.5rem}
.contact-form__toggle-btn{border-radius:999px;padding:1rem 2.5rem;font-size:var(--text-h6);line-height:1;font-weight:600;letter-spacing:var(--tracking-sub);color:var(--navy-ink);transition:background-color .35s var(--ease-osmo),color .35s var(--ease-osmo)}
@media (max-width:47.99rem){ .contact-form__toggle-btn{padding:.85rem 1.4rem;font-size:1rem} }
.contact-form__toggle-btn[aria-pressed="true"]{background:var(--navy-ink);color:#fff}
.contact-form__form{display:flex;flex-direction:column;gap:1.5rem}
.contact-form__row{display:grid;gap:1.5rem}
@media (min-width:48rem){ .contact-form__row{grid-template-columns:1fr 1fr} }
.contact-form__field{display:flex;flex-direction:column;border:0;min-width:0}
.contact-form__label{margin-bottom:.75rem;font-size:var(--text-h6);line-height:1.2;letter-spacing:var(--tracking-sub);font-weight:600;color:var(--navy-ink)}
.contact-form__control{position:relative;width:100%}
.contact-form__input,.contact-form__textarea{width:100%;min-height:3.5rem;padding:1rem 3.25rem 1rem 1.25rem;border-radius:var(--radius-4);border:1px solid transparent;background:#fff;color:var(--navy-ink);font:inherit;font-size:var(--text-body);line-height:1.2;caret-color:var(--coral);outline:none;transition:border-color .15s}
.contact-form__textarea{min-height:10rem;line-height:1.5;resize:vertical}
.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#9aa3b0}
.contact-form__input:focus,.contact-form__textarea:focus{border-color:rgba(20,32,51,.3)}
.contact-form__input:focus-visible,.contact-form__textarea:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.contact-form__field-icon{position:absolute;top:1px;right:1px;width:3rem;height:calc(3.5rem - 2px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s;color:#2f9e6a}
.contact-form__field-icon svg{width:1.4rem;height:1.4rem}
.contact-form__field-icon--error{color:var(--coral-ink)}
[data-validate].is--success .contact-form__field-icon--success,[data-validate].is--error .contact-form__field-icon--error{opacity:1}
[data-validate].is--error .contact-form__input,[data-validate].is--error .contact-form__textarea{border-color:var(--coral)}
.contact-form__topics{display:flex;flex-wrap:wrap;gap:.5rem}
.contact-form__topic{position:relative;cursor:pointer}
.contact-form__topic input{position:absolute;opacity:0;pointer-events:none}
.contact-form__topic span{display:inline-flex;align-items:center;border-radius:999px;padding:.85rem 1.35rem;background:#fff;font-size:1rem;font-weight:600;letter-spacing:var(--tracking-ui);line-height:1;transition:background-color .3s,color .3s,transform .16s var(--ease-ui-out)}
.contact-form__topic:hover span{background:rgba(20,32,51,.12)}
.contact-form__topic:active span{transform:scale(.97)}
.contact-form__topic input:checked+span{background:var(--coral);color:#fff}
.contact-form__topic input:focus-visible+span{outline:2px solid var(--coral);outline-offset:2px}
.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form__consent{display:flex;gap:.85rem;align-items:flex-start;font-size:1rem;line-height:1.45;color:var(--theme-text-secondary);cursor:pointer;max-width:40rem}
.contact-form__consent input{flex:none;width:1.25rem;height:1.25rem;margin-top:.1rem;accent-color:var(--coral)}
.contact-form__consent a{text-decoration:underline}
.contact-form__consent.is--error span{color:var(--coral-ink)}
.contact-form__submit{align-self:flex-start;margin-top:.5rem;padding:1.4rem 2.6rem;font-size:var(--text-body-large)}
.contact-form__submit svg{width:1em;height:1em;flex:none}
@media (max-width:47.99rem){ .contact-form__submit{align-self:stretch} }
.contact-form__alert{margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:var(--radius-8);background:rgba(229,91,95,.12);color:var(--coral-ink);font-weight:600}
.contact-form__success{display:flex;flex-direction:column;gap:1.5rem;padding:3rem;border-radius:var(--radius-20);background:#fff}
.contact-form__panel-heading{font-size:var(--text-body);font-weight:600;margin-bottom:1.25rem}
.contact-form__panel p{margin-bottom:1.25rem;font-size:var(--text-body);line-height:1.45}
.contact-form__panel a{text-decoration:underline;text-underline-offset:.15em}
.contact-form__panel a:hover{color:var(--coral-ink)}
.contact-form__pill{display:inline-block;margin-top:.5rem;padding:1.1rem 2rem;border:1px solid var(--theme-border);border-radius:999px;font-weight:600;text-decoration:none!important;transition:border-color .3s}
.contact-form__pill:hover{border-color:var(--navy-ink);color:inherit!important}

.newsletter .ok.is-error{color:#f2a0a2}
.mobile-menu__mail{display:block;margin-top:1rem;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.15em;color:var(--theme-text-secondary)}
.feature-media__figure{grid-column:1/-1}
.feature-media__caption{margin-top:1.25rem;max-width:44rem;font-size:var(--text-body-large);line-height:1.3;letter-spacing:var(--tracking-sub);font-weight:600;color:var(--theme-text-secondary)}

/* ==========================================================================
   LANDING PAGES (Google Ads): Startseiten-Sections ohne Menü, Formular als Sprungziel
   ========================================================================== */
.landing .site-nav__links,.landing .site-nav__menu{display:none}
/* Header-Button erst ab Tablet – auf dem Handy trägt die feste Leiste unten den CTA (sonst sprengt der Button das Raster) */
@media (min-width:48rem){ .landing .site-nav .btn--nav{display:inline-flex} }
.landing{overflow-x:clip}
.landing .footer-wrap{padding-bottom:0}
.landing .footer{padding-bottom:calc(1.5rem + 5.5rem)}
@media (min-width:64rem){ .landing .footer{padding-bottom:1.5rem} }
.hero__media.is--regional img{opacity:1;transform-origin:50% 40%;animation:lp-kenburns 7s cubic-bezier(.2,.6,.2,1) forwards}
.hero__media.is--regional .hero__tint{opacity:.35}
.hero__media.is--regional .hero__video{opacity:0;transition:opacity 1.6s var(--ease-osmo)}
.hero__media.is--regional.is--play .hero__video{opacity:1}
@keyframes lp-kenburns{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){ .hero__media.is--regional img{animation:none} }

/* Mobile Leiste unten */
.lp-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:.5rem;padding:.6rem var(--page-margin) calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(20,32,51,.1);transition:transform .4s var(--ease-osmo),opacity .3s}
.lp-bar.is--hidden{transform:translateY(110%);opacity:0;pointer-events:none}
.lp-bar__call{flex:none;display:inline-flex;align-items:center;justify-content:center;width:3.5rem;border-radius:var(--radius-8);background:var(--navy-ink);color:#fff}
.lp-bar__call svg{width:1.4rem;height:1.4rem}
.lp-bar__cta{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:3.5rem;border-radius:var(--radius-8);background:var(--coral);color:#fff;text-align:center;line-height:1.1}
.lp-bar__cta strong{font-size:1rem;font-weight:600}
.lp-bar__cta span{font-size:.75rem;opacity:.9}
.lp-bar__cta:active,.lp-bar__call:active{transform:scale(.98)}
@media (min-width:64rem){ .lp-bar{display:none} }

/* WhatsApp */
.lp-whatsapp{position:fixed;right:1rem;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 12px 30px -10px rgba(0,0,0,.45);transition:transform .2s var(--ease-ui-out)}
.lp-whatsapp svg{width:1.9rem;height:1.9rem}
.lp-whatsapp:hover{transform:scale(1.06)}
.lp-whatsapp:active{transform:scale(.96)}
@media (min-width:64rem){ .lp-whatsapp{right:2rem;bottom:2rem;width:4rem;height:4rem} }
