/* =========================================================
   In-Picture Visual - Stylesheet
   Aufbau: 1 Basis  2 Typografie  3 Layout  4 Kopf  5 Hero
           6 Einblendungen  7 Abschnitte  8 Portfolio
           9 Ablauf 10 Partner 11 Kontakt 12 Fußzeile
          13 Lightbox 14 Textur 15 Responsive
   ========================================================= */

/* ---------- 1 Basis ---------- */

@font-face{
  font-family:'IPV Lora';
  src:url('../fonts/Lora-Variable.woff') format('woff-variations'),
      url('../fonts/Lora-Variable.woff') format('woff');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'IPV Lora';
  src:url('../fonts/Lora-Italic-Variable.woff') format('woff-variations'),
      url('../fonts/Lora-Italic-Variable.woff') format('woff');
  font-weight:400 700;
  font-style:italic;
  font-display:swap;
}

:root{
  --ipv-accent:#c08a4a;
  --ipv-accent-rgb:192,138,74;
  --ipv-accent-lift:#e2ac6c;
  --ipv-ink:#0d0c0b;
  --ipv-ink-rgb:13,12,11;
  --ipv-ink-2:#191816;
  --ipv-ink-3:#272522;
  --ipv-paper:#f4f0e9;
  --ipv-paper-rgb:244,240,233;
  --ipv-paper-2:#e8e4dd;

  --ipv-serif:'IPV Lora',Lora,'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --ipv-sans:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

  --ipv-pad:clamp(22px,5vw,80px);
  --ipv-gap:clamp(28px,4vw,64px);
  --ipv-max:1360px;
  --ipv-text:1160px;

  --ipv-ease:cubic-bezier(.22,.61,.36,1);
  --ipv-slow:cubic-bezier(.16,.84,.34,1);
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--ipv-ink);
  color:rgba(var(--ipv-paper-rgb),.86);
  font-family:var(--ipv-sans);
  font-size:clamp(16px,.42vw + 15px,18px);
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;}

::selection{background:rgba(var(--ipv-accent-rgb),.32);color:#fff;}

:focus-visible{
  outline:2px solid var(--ipv-accent-lift);
  outline-offset:3px;
  border-radius:2px;
}

.ipv-skip{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:var(--ipv-paper);color:var(--ipv-ink);
  padding:14px 20px;font-weight:600;
}
.ipv-skip:focus{left:12px;top:12px;}

.ipv-sr{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- 2 Typografie ---------- */

.ipv-display{
  font-family:var(--ipv-serif);
  font-weight:450;
  line-height:1.03;
  letter-spacing:-.018em;
  margin:0;
  text-wrap:balance;
}
.ipv-display em{
  font-style:italic;
  font-weight:400;
  color:var(--ipv-accent-lift);
  display:block;
}

.ipv-h1{font-size:clamp(2.4rem,6.2vw,5.3rem);}
.ipv-h2{font-size:clamp(2rem,4.6vw,3.9rem);}
.ipv-h3{font-size:clamp(1.35rem,2vw,1.85rem);letter-spacing:-.01em;line-height:1.18;}

.ipv-eyebrow{
  font-family:var(--ipv-sans);
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--ipv-accent);
  margin:0 0 1.5rem;
  display:flex;align-items:center;gap:.85em;
}
.ipv-eyebrow::before{
  content:"";width:clamp(24px,4vw,54px);height:1px;
  background:linear-gradient(90deg,transparent,var(--ipv-accent));
  flex:none;
}

.ipv-lead{
  font-size:clamp(1.06rem,1.1vw + .8rem,1.3rem);
  line-height:1.6;
  max-width:52ch;
}

.ipv-prose p{margin:0 0 1.15em;max-width:60ch;}
.ipv-prose p:last-child{margin-bottom:0;}

.ipv-quote{
  font-family:var(--ipv-serif);
  font-style:italic;
  font-size:clamp(1.25rem,2.1vw,1.85rem);
  line-height:1.42;
  letter-spacing:-.01em;
  margin:2.6rem 0 0;
  padding-left:clamp(18px,2vw,28px);
  border-left:1px solid rgba(var(--ipv-accent-rgb),.55);
  color:rgba(var(--ipv-paper-rgb),.94);
  max-width:36ch;
}

/* ---------- 3 Layout ---------- */

.ipv-wrap{
  width:100%;
  max-width:var(--ipv-max);
  margin-inline:auto;
  padding-inline:var(--ipv-pad);
}
.ipv-wrap--text{max-width:var(--ipv-text);}

.ipv-section{
  position:relative;
  padding-block:clamp(76px,11vw,168px);
  z-index:2;
}
.ipv-section--paper{
  background:var(--ipv-paper);
  color:#2a2723;
}
.ipv-section--paper .ipv-quote{color:#2a2723;}
.ipv-section--paper .ipv-display em{color:#8a5f2b;}
.ipv-section--paper .ipv-eyebrow{color:#8a5f2b;}

/* Organischer Übergang zwischen Abschnitten */
.ipv-curve{
  position:absolute;left:0;right:0;width:100%;
  height:clamp(48px,7vw,120px);
  display:block;pointer-events:none;
}
/* 2px Überlappung, sonst bleibt beim Runden eine dunkle Haarlinie stehen. */
.ipv-curve--top{top:2px;transform:translateY(-100%);}
.ipv-curve--bottom{bottom:2px;transform:translateY(100%) scaleY(-1);}
.ipv-curve path{fill:var(--ipv-paper);}

.ipv-cols{
  display:grid;
  gap:var(--ipv-gap);
  align-items:center;
}
@media (min-width:900px){
  .ipv-cols--7-5{grid-template-columns:7fr 5fr;}
  .ipv-cols--5-7{grid-template-columns:5fr 7fr;}
  .ipv-cols--1-1{grid-template-columns:1fr 1fr;}
}

/* Bildrahmen: organischer Bogen */
.ipv-frame{
  position:relative;
  overflow:hidden;
  background:var(--ipv-ink-2);
  border-radius:2px;
}
.ipv-corner-arch .ipv-frame{border-radius:50vw 50vw 4px 4px / 26vw 26vw 4px 4px;}
.ipv-corner-soft .ipv-frame{border-radius:clamp(10px,2vw,26px);}
.ipv-corner-square .ipv-frame{border-radius:0;}

.ipv-frame img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.02);
  transition:transform 1.4s var(--ipv-slow),filter 1.4s var(--ipv-slow);
}
.ipv-frame--p{aspect-ratio:2/3;}
.ipv-frame--l{aspect-ratio:3/2;}
.ipv-frame--s{aspect-ratio:1/1;}
.ipv-frame--45{aspect-ratio:4/5;}

/* Buttons */
.ipv-btn{
  --b:var(--ipv-accent);
  display:inline-flex;align-items:center;gap:.7em;
  padding:1.02em 1.9em;
  font-size:.83rem;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;
  border:1px solid rgba(var(--ipv-paper-rgb),.28);
  border-radius:100px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  position:relative;overflow:hidden;
  transition:color .5s var(--ipv-ease),border-color .5s var(--ipv-ease),transform .35s var(--ipv-ease);
}
.ipv-btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--b);
  transform:translateY(101%);
  transition:transform .55s var(--ipv-slow);
}
.ipv-btn:hover,.ipv-btn:focus-visible{
  color:#14110d;border-color:var(--b);
}
.ipv-btn:hover::after,.ipv-btn:focus-visible::after{transform:translateY(0);}
.ipv-btn:active{transform:translateY(1px);}
.ipv-btn--solid{background:var(--ipv-accent);border-color:var(--ipv-accent);color:#14110d;}
.ipv-btn--solid::after{background:var(--ipv-accent-lift);}
.ipv-btn--solid:hover{color:#14110d;}
.ipv-section--paper .ipv-btn{border-color:rgba(40,36,32,.3);}
.ipv-section--paper .ipv-btn:hover{color:#fff;--b:#2a2723;border-color:#2a2723;}

.ipv-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.4rem;}

.ipv-link{
  display:inline-flex;align-items:center;gap:.55em;
  text-decoration:none;font-weight:600;font-size:.86rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--ipv-accent);
  padding-bottom:.35em;
  border-bottom:1px solid rgba(var(--ipv-accent-rgb),.35);
  transition:border-color .4s,gap .4s;
}
.ipv-link:hover{border-color:var(--ipv-accent);gap:.95em;}

/* ---------- 4 Kopfbereich ---------- */

.ipv-header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
  padding:clamp(16px,2.2vw,30px) var(--ipv-pad);
  transition:background .5s var(--ipv-ease),backdrop-filter .5s,padding .5s var(--ipv-ease),border-color .5s;
  border-bottom:1px solid transparent;
}
.admin-bar .ipv-header{top:32px;}
.ipv-header.is-stuck{
  background:rgba(var(--ipv-ink-rgb),.82);
  backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom-color:rgba(var(--ipv-paper-rgb),.09);
  padding-block:clamp(11px,1.4vw,17px);
}
.ipv-header.is-hidden{transform:translateY(-105%);}
.ipv-header{transition:transform .55s var(--ipv-slow),background .5s,padding .5s,border-color .5s;}

.ipv-brand{
  display:flex;align-items:center;gap:.7em;
  text-decoration:none;line-height:1;
  color:var(--ipv-paper);
}
.ipv-brand__name{
  font-family:var(--ipv-serif);
  font-size:clamp(1.05rem,1.6vw,1.45rem);
  letter-spacing:-.01em;
  white-space:nowrap;
}
@media (max-width:520px){.ipv-brand__sub{display:none;}}
.ipv-brand__sub{
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.5);font-weight:600;
}
.ipv-brand img{max-height:46px;width:auto;}

.ipv-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);}
.ipv-nav a{
  text-decoration:none;font-size:.79rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.72);
  position:relative;padding:6px 0;
  transition:color .35s;
}
.ipv-nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--ipv-accent);transition:width .45s var(--ipv-slow);
}
.ipv-nav a:hover,.ipv-nav a:focus-visible{color:var(--ipv-paper);}
.ipv-nav a:hover::after{width:100%;}
.ipv-nav .ipv-nav__cta{
  border:1px solid rgba(var(--ipv-paper-rgb),.26);
  border-radius:100px;padding:.7em 1.35em;color:var(--ipv-paper);
}
.ipv-nav .ipv-nav__cta::after{display:none;}
.ipv-nav .ipv-nav__cta:hover{background:var(--ipv-accent);border-color:var(--ipv-accent);color:#14110d;}

.ipv-burger{
  display:none;width:44px;height:44px;border:0;background:transparent;
  cursor:pointer;position:relative;
}
.ipv-burger span{
  position:absolute;left:11px;right:11px;height:1.5px;background:var(--ipv-paper);
  transition:transform .45s var(--ipv-slow),opacity .3s;
}
.ipv-burger span:nth-child(1){top:17px;}
.ipv-burger span:nth-child(2){top:23px;}
.ipv-burger span:nth-child(3){top:29px;}
.ipv-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.ipv-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.ipv-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width:860px){
  .ipv-burger{display:block;}
  .ipv-nav{
    position:fixed;inset:0;z-index:-1;
    flex-direction:column;justify-content:center;
    gap:clamp(18px,4vh,34px);
    background:rgba(var(--ipv-ink-rgb),.97);
    backdrop-filter:blur(18px);
    opacity:0;visibility:hidden;
    transition:opacity .5s var(--ipv-ease),visibility .5s;
  }
  .ipv-nav.is-open{opacity:1;visibility:visible;}
  .ipv-nav a{font-size:1.05rem;letter-spacing:.18em;}
}

/* ---------- 5 Hero ---------- */

.ipv-hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:flex-end;
  padding-block:clamp(120px,16vh,180px) clamp(58px,9vh,110px);
  overflow:hidden;
  z-index:2;
}
.ipv-hero__bg{position:absolute;inset:0;z-index:0;}
.ipv-hero__slide{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity 2.2s var(--ipv-ease);
}
.ipv-hero__slide.is-active{opacity:1;}
.ipv-hero__slide img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.06);
  animation:ipv-drift 26s ease-in-out infinite alternate;
}
@keyframes ipv-drift{
  from{transform:scale(1.05) translate3d(0,0,0);}
  to{transform:scale(1.13) translate3d(-1.4%,-1.6%,0);}
}
.ipv-hero__veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(var(--ipv-ink-rgb),.62) 0%,rgba(var(--ipv-ink-rgb),.12) 32%,rgba(var(--ipv-ink-rgb),.55) 68%,var(--ipv-ink) 100%),
    radial-gradient(120% 88% at 12% 92%,rgba(var(--ipv-ink-rgb),.86) 0%,transparent 62%);
}
.ipv-hero__inner{position:relative;z-index:3;width:100%;}
.ipv-hero .ipv-h1{max-width:15ch;color:var(--ipv-paper);}
.ipv-hero .ipv-lead{margin-top:1.7rem;color:rgba(var(--ipv-paper-rgb),.8);}

.ipv-hero__meta{
  position:absolute;right:var(--ipv-pad);bottom:clamp(58px,9vh,110px);
  z-index:3;
  writing-mode:vertical-rl;
  font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.42);
}
@media (max-width:900px){.ipv-hero__meta{display:none;}}

.ipv-scroll{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.45);
}
.ipv-scroll__line{
  width:1px;height:52px;background:rgba(var(--ipv-paper-rgb),.22);
  position:relative;overflow:hidden;
}
.ipv-scroll__line::after{
  content:"";position:absolute;left:0;top:-52px;width:1px;height:52px;
  background:linear-gradient(180deg,transparent,var(--ipv-accent));
  animation:ipv-scrolldot 2.4s var(--ipv-ease) infinite;
}
@keyframes ipv-scrolldot{0%{top:-52px;}60%,100%{top:52px;}}

/* Partikel-Leinwand */
.ipv-fx{
  position:fixed;inset:0;z-index:3;
  pointer-events:none;
  opacity:0;
  transition:opacity 1.6s ease;
}
.ipv-fx.is-ready{opacity:1;}

/* ---------- 6 Einblendungen beim Scrollen ---------- */

.ipv-rv{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:opacity 1.05s var(--ipv-slow),transform 1.05s var(--ipv-slow),filter 1.05s var(--ipv-slow);
  filter:blur(6px);
  transition-delay:var(--d,0ms);
}
.ipv-rv--img{transform:translate3d(0,52px,0) scale(.985);}

/* Wartet auf den Zeiger: nur zu ahnen, damit die Seite nie leer wirkt. */
.ipv-rv.is-pending{
  opacity:.07;
  filter:blur(15px) saturate(.5);
  transform:translate3d(0,16px,0) scale(.99);
  transition:opacity .5s ease,filter .5s ease;
}

/* Das Element sammelt sich, während die Funken darauf zufliegen. */
.ipv-rv.is-summoning{
  opacity:.16;
  filter:blur(11px) brightness(1.45) saturate(.6);
  transform:translate3d(0,12px,0) scale(.992);
  transition:opacity .30s ease-out,filter .30s ease-out,transform .30s ease-out;
  transition-delay:0ms;
}

/* Auf hellem Grund braucht es weniger Unschärfe, sonst wirkt es wie ein Fehler. */
.ipv-section--paper .ipv-rv.is-pending:not(.is-in){opacity:.13;filter:blur(7px) saturate(.7);}
.ipv-section--paper .ipv-rv.is-summoning:not(.is-in){opacity:.30;filter:blur(6px) saturate(.8);}

.ipv-rv.is-in{opacity:1;transform:none;filter:blur(0);}
.ipv-rv.is-in .ipv-frame img{transform:scale(1);}

.no-js .ipv-rv{opacity:1;transform:none;filter:none;}

/* ---------- 7 Abschnitte ---------- */

.ipv-shead{margin-bottom:clamp(38px,5vw,72px);max-width:44ch;}
.ipv-shead .ipv-lead{margin-top:1.3rem;}

.ipv-intro__media{position:relative;}
.ipv-intro__badge{
  position:absolute;left:-4%;bottom:6%;
  background:var(--ipv-paper);color:#2a2723;
  padding:1.15rem 1.5rem;border-radius:3px;
  max-width:230px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
}
.ipv-intro__badge strong{
  display:block;font-family:var(--ipv-serif);font-size:1.7rem;line-height:1;
  margin-bottom:.3rem;
}
.ipv-intro__badge span{
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(42,39,35,.6);font-weight:600;
}

/* ---------- 8 Portfolio ---------- */

.ipv-work{background:var(--ipv-ink);}

.ipv-filter{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:0 0 clamp(28px,3.6vw,52px);
  padding:0;list-style:none;
}
.ipv-filter button{
  border:1px solid rgba(var(--ipv-paper-rgb),.16);
  background:transparent;border-radius:100px;
  padding:.62em 1.25em;
  font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.6);
  cursor:pointer;
  transition:color .35s,border-color .35s,background .35s;
}
.ipv-filter button:hover{color:var(--ipv-paper);border-color:rgba(var(--ipv-paper-rgb),.4);}
.ipv-filter button[aria-pressed="true"]{
  background:var(--ipv-accent);border-color:var(--ipv-accent);color:#14110d;
}

.ipv-grid{
  columns:3;
  column-gap:clamp(12px,1.5vw,22px);
}
@media (max-width:1080px){.ipv-grid{columns:2;}}
@media (max-width:620px){.ipv-grid{columns:1;}}

.ipv-tile{
  break-inside:avoid;
  margin:0 0 clamp(12px,1.5vw,22px);
  position:relative;
  display:block;width:100%;
  padding:0;border:0;background:transparent;
  cursor:zoom-in;
  text-align:left;
}
.ipv-tile__frame{
  position:relative;overflow:hidden;
  background:var(--ipv-ink-2);
  border-radius:3px;
}
.ipv-corner-soft .ipv-tile__frame{border-radius:clamp(8px,1.2vw,18px);}
.ipv-corner-arch .ipv-tile__frame{border-radius:3px;}
.ipv-tile img{
  width:100%;height:auto;display:block;
  transition:transform 1.3s var(--ipv-slow),filter .8s var(--ipv-ease);
  filter:saturate(.92);
}
.ipv-tile:hover img,.ipv-tile:focus-visible img{transform:scale(1.045);filter:saturate(1.04);}
.ipv-tile__cap{
  position:absolute;inset:auto 0 0 0;
  padding:2.6rem 1.15rem 1.05rem;
  background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  opacity:0;transform:translateY(10px);
  transition:opacity .55s var(--ipv-ease),transform .55s var(--ipv-slow);
}
.ipv-tile:hover .ipv-tile__cap,.ipv-tile:focus-visible .ipv-tile__cap{opacity:1;transform:none;}
.ipv-tile__title{
  font-family:var(--ipv-serif);font-size:1.05rem;color:#fff;line-height:1.2;
}
.ipv-tile__cat{
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ipv-accent-lift);font-weight:600;white-space:nowrap;
}
.ipv-tile.is-hidden{display:none;}

.ipv-work__foot{
  margin-top:clamp(34px,4vw,60px);
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
  padding-top:26px;border-top:1px solid rgba(var(--ipv-paper-rgb),.1);
}
.ipv-work__note{
  font-size:.82rem;color:rgba(var(--ipv-paper-rgb),.48);max-width:46ch;margin:0;
}

/* ---------- 9 Ablauf ---------- */

.ipv-steps{
  display:grid;gap:clamp(26px,3vw,46px);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  margin-top:clamp(34px,4vw,64px);
}
.ipv-step{position:relative;padding-top:2.1rem;}
.ipv-step::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:1px;
  background:rgba(42,39,35,.16);
}
.ipv-step__no{
  position:absolute;top:-.72em;left:0;
  background:var(--ipv-paper);padding-right:.9em;
  font-family:var(--ipv-serif);font-size:1.05rem;
  color:#8a5f2b;
}
.ipv-step h3{margin:0 0 .6rem;font-family:var(--ipv-serif);font-weight:500;font-size:1.32rem;}
.ipv-step p{margin:0;font-size:.96rem;color:rgba(42,39,35,.78);}

.ipv-how__media{
  display:grid;gap:clamp(12px,1.6vw,22px);
  grid-template-columns:1.35fr 1fr;
  margin-top:clamp(42px,5vw,78px);
  align-items:end;
}
@media (max-width:700px){.ipv-how__media{grid-template-columns:1fr;}}

.ipv-note{
  display:flex;gap:14px;align-items:flex-start;
  margin-top:clamp(34px,4vw,58px);
  padding:1.15rem 1.4rem;
  border-left:2px solid #8a5f2b;
  background:rgba(138,95,43,.07);
  font-size:.94rem;line-height:1.55;
  max-width:64ch;
}
.ipv-note svg{flex:none;margin-top:2px;}
.ipv-note--sub{
  margin-top:14px;border-left-color:rgba(42,39,35,.25);
  background:rgba(42,39,35,.045);font-size:.87rem;color:rgba(42,39,35,.72);
}

/* ---------- 10 Partner ---------- */

.ipv-partners{
  display:grid;gap:clamp(22px,3vw,40px);
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  margin-top:clamp(34px,4vw,62px);
}
.ipv-partner{
  background:var(--ipv-ink-2);
  border:1px solid rgba(var(--ipv-paper-rgb),.08);
  border-radius:4px;
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .5s var(--ipv-ease),transform .6s var(--ipv-slow);
}
.ipv-corner-soft .ipv-partner{border-radius:clamp(12px,1.6vw,22px);}
.ipv-partner:hover{border-color:rgba(var(--ipv-accent-rgb),.4);transform:translateY(-4px);}
.ipv-partner__img{aspect-ratio:4/3;overflow:hidden;background:var(--ipv-ink-3);}
.ipv-partner__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ipv-slow);}
.ipv-partner:hover .ipv-partner__img img{transform:scale(1.05);}
.ipv-partner__body{padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;gap:.75rem;flex:1;}
.ipv-partner__role{
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ipv-accent);font-weight:600;
}
.ipv-partner__name{font-family:var(--ipv-serif);font-size:1.5rem;margin:0;line-height:1.15;font-weight:500;}
.ipv-partner__text{margin:0;font-size:.95rem;color:rgba(var(--ipv-paper-rgb),.68);}
.ipv-partner .ipv-link{margin-top:auto;align-self:flex-start;}
.ipv-partner__hint{
  margin-top:clamp(22px,2.6vw,34px);
  font-size:.78rem;color:rgba(var(--ipv-paper-rgb),.4);max-width:70ch;
}

/* ---------- 11 Kontakt ---------- */

.ipv-cta{
  position:relative;overflow:hidden;
  padding-block:clamp(96px,13vw,190px);
  z-index:2;
}
.ipv-cta__bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transform:scale(1.05);
}
.ipv-cta__veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,var(--ipv-ink) 0%,rgba(var(--ipv-ink-rgb),.74) 34%,rgba(var(--ipv-ink-rgb),.9) 100%);
}
.ipv-cta__inner{position:relative;z-index:2;}
.ipv-cta .ipv-h2{max-width:16ch;color:var(--ipv-paper);}

.ipv-contact{
  display:grid;gap:clamp(24px,3vw,44px);
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  margin-top:clamp(40px,5vw,72px);
  padding-top:clamp(28px,3vw,44px);
  border-top:1px solid rgba(var(--ipv-paper-rgb),.14);
}
.ipv-contact dt{
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.45);font-weight:600;margin-bottom:.6rem;
}
.ipv-contact dd{margin:0;font-size:1.02rem;line-height:1.5;}
.ipv-contact a{text-decoration:none;border-bottom:1px solid rgba(var(--ipv-accent-rgb),.45);padding-bottom:2px;}
.ipv-contact a:hover{border-color:var(--ipv-accent);}

/* ---------- 12 Fußzeile ---------- */

.ipv-footer{
  position:relative;z-index:2;
  background:var(--ipv-ink);
  border-top:1px solid rgba(var(--ipv-paper-rgb),.08);
  padding-block:clamp(38px,4vw,58px);
  font-size:.82rem;
  color:rgba(var(--ipv-paper-rgb),.46);
}
.ipv-footer__row{
  display:flex;flex-wrap:wrap;gap:18px 30px;
  align-items:center;justify-content:space-between;
}
.ipv-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px;}
.ipv-footer a{text-decoration:none;transition:color .35s;}
.ipv-footer a:hover{color:var(--ipv-paper);}
.ipv-footer ul{list-style:none;margin:0;padding:0;display:flex;gap:8px 22px;flex-wrap:wrap;}

/* ---------- 13 Lightbox ---------- */

.ipv-lb{
  position:fixed;inset:0;z-index:200;
  background:rgba(6,5,5,.96);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,4vw,58px);
  opacity:0;visibility:hidden;
  transition:opacity .45s var(--ipv-ease),visibility .45s;
}
.ipv-lb.is-open{opacity:1;visibility:visible;}
.ipv-lb__img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;object-fit:contain;
  opacity:0;transform:scale(.97);
  transition:opacity .5s var(--ipv-ease),transform .6s var(--ipv-slow);
  border-radius:2px;
}
.ipv-lb__img.is-shown{opacity:1;transform:none;}
.ipv-lb__cap{
  position:absolute;left:0;right:0;bottom:clamp(12px,2.4vw,26px);
  text-align:center;font-size:.8rem;letter-spacing:.06em;
  color:rgba(var(--ipv-paper-rgb),.62);
  padding-inline:60px;
}
.ipv-lb__btn{
  position:absolute;border:0;background:rgba(255,255,255,.06);
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  color:var(--ipv-paper);
  transition:background .35s,transform .35s;
}
.ipv-lb__btn:hover{background:rgba(255,255,255,.16);}
.ipv-lb__btn:active{transform:scale(.94);}
.ipv-lb__close{top:clamp(12px,2.4vw,26px);right:clamp(12px,2.4vw,26px);}
.ipv-lb__prev{left:clamp(8px,1.8vw,26px);top:50%;transform:translateY(-50%);}
.ipv-lb__next{right:clamp(8px,1.8vw,26px);top:50%;transform:translateY(-50%);}
.ipv-lb__prev:active,.ipv-lb__next:active{transform:translateY(-50%) scale(.94);}
body.ipv-lb-open{overflow:hidden;}

/* ---------- 14 Textur ---------- */

.ipv-has-grain::after{
  content:"";position:fixed;inset:0;z-index:80;pointer-events:none;
  opacity:.05;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* ---------- 15 Inhaltsseiten ---------- */

.ipv-page{padding-block:clamp(130px,15vh,200px) clamp(70px,9vw,130px);}
.ipv-page .ipv-h2{margin-bottom:1.8rem;color:var(--ipv-paper);}
.ipv-entry{max-width:70ch;}
.ipv-entry h2,.ipv-entry h3{font-family:var(--ipv-serif);font-weight:500;margin:2.2em 0 .6em;line-height:1.2;}
.ipv-entry a{color:var(--ipv-accent-lift);}
.ipv-entry ul,.ipv-entry ol{padding-left:1.2em;}
.ipv-entry img{margin:1.6em 0;border-radius:3px;}

/* ---------- 16 Bewegungsreduktion ---------- */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .ipv-rv{opacity:1;transform:none;filter:none;}
  .ipv-fx{display:none;}
}

@media print{
  .ipv-fx,.ipv-header,.ipv-scroll,.ipv-lb{display:none!important;}
  body{background:#fff;color:#000;}
}

/* ---------- 17 Hinweis auf die Interaktion ---------- */

.ipv-hint{
  position:fixed;
  left:50%;bottom:clamp(84px,12vh,124px);
  transform:translate(-50%,14px);
  z-index:90;
  display:flex;flex-direction:column;align-items:center;gap:.35rem;
  padding:1.15rem 1.6rem 1.05rem;
  border-radius:20px;
  background:rgba(var(--ipv-ink-rgb),.72);
  border:1px solid rgba(var(--ipv-paper-rgb),.13);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  color:var(--ipv-paper);
  text-align:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .7s var(--ipv-ease),transform .7s var(--ipv-slow);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.9);
}
.ipv-hint.is-on{opacity:1;transform:translate(-50%,0);}

.ipv-hint__art{width:56px;height:56px;color:var(--ipv-accent-lift);}
.ipv-hint__art svg{width:100%;height:100%;display:none;}
.ipv-hint.is-desktop .ipv-hint__cursor{display:block;}
.ipv-hint.is-touch .ipv-hint__finger{display:block;}

.ipv-hint__title{
  margin:0;font-size:.74rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
}
.ipv-hint__sub{
  margin:0;font-size:.78rem;
  color:rgba(var(--ipv-paper-rgb),.55);
  max-width:26ch;line-height:1.4;
}

/* Zeiger wandert, die Bewegungsstriche ziehen mit */
.ipv-hint__arrow{animation:ipv-point 2.9s var(--ipv-ease) infinite;}
@keyframes ipv-point{
  0%,100%{transform:translate(6px,3px);}
  46%{transform:translate(-6px,-3px);}
}
.ipv-hint__lines path{animation:ipv-lines 2.9s var(--ipv-ease) infinite;}
.ipv-hint__lines path:nth-child(2){animation-delay:.07s;}
.ipv-hint__lines path:nth-child(3){animation-delay:.14s;}
@keyframes ipv-lines{
  0%,100%{opacity:0;transform:translateX(6px);}
  30%{opacity:1;transform:translateX(0);}
  60%{opacity:0;transform:translateX(-5px);}
}

/* Hand wischt hin und zurueck, der Bogen laeuft mit */
.ipv-hint__hand{animation:ipv-swipe 2.7s var(--ipv-ease) infinite;}
@keyframes ipv-swipe{
  0%,100%{transform:translate(-9px,1px) rotate(-6deg);}
  50%{transform:translate(9px,-1px) rotate(6deg);}
}
.ipv-hint__swipe{animation:ipv-dash2 2.7s linear infinite;}
@keyframes ipv-dash2{to{stroke-dashoffset:-40;}}

@media (prefers-reduced-motion:reduce){.ipv-hint{display:none;}}

/* ---------- 18 Composing: Vorher/Nachher ---------- */

.ipv-cmps{
  display:grid;gap:clamp(24px,3.4vw,48px);
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  margin-top:clamp(40px,5vw,76px);
  align-items:start;
}

.ipv-cmp{margin:0;}
.ipv-cmp__stage{
  --x:55%;
  position:relative;overflow:hidden;
  border-radius:4px;
  background:var(--ipv-ink);
  cursor:ew-resize;
  isolation:isolate;
}
.ipv-corner-soft .ipv-cmp__stage{border-radius:clamp(10px,1.4vw,20px);}

.ipv-cmp__img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.ipv-cmp__clip{
  position:absolute;inset:0;
  clip-path:inset(0 calc(100% - var(--x)) 0 0);
  will-change:clip-path;
}

.ipv-cmp__bar{
  position:absolute;top:0;bottom:0;left:var(--x);
  width:2px;margin-left:-1px;
  background:linear-gradient(180deg,transparent,rgba(var(--ipv-paper-rgb),.85) 12%,rgba(var(--ipv-paper-rgb),.85) 88%,transparent);
  pointer-events:none;
}
.ipv-cmp__knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(var(--ipv-ink-rgb),.72);
  border:1px solid rgba(var(--ipv-paper-rgb),.4);
  backdrop-filter:blur(8px);
  color:var(--ipv-paper);
  box-shadow:0 10px 30px -12px rgba(0,0,0,.8);
  transition:transform .3s var(--ipv-slow),background .3s;
}
.ipv-cmp__stage:hover .ipv-cmp__knob{transform:translate(-50%,-50%) scale(1.08);background:var(--ipv-accent);color:#14110d;}

.ipv-cmp__tag{
  position:absolute;top:12px;
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.42em .8em;border-radius:100px;
  background:rgba(var(--ipv-ink-rgb),.6);
  color:rgba(var(--ipv-paper-rgb),.8);
  backdrop-filter:blur(6px);
  pointer-events:none;
}
.ipv-cmp__tag--l{left:12px;}
.ipv-cmp__tag--r{right:12px;}

/* Der Regler liegt unsichtbar ueber dem Bild: Ziehen, Tippen und Tastatur inklusive */
.ipv-cmp__range{
  position:absolute;inset:0;
  width:100%;height:100%;
  margin:0;padding:0;
  opacity:0;
  cursor:ew-resize;
  -webkit-appearance:none;appearance:none;background:transparent;
}
.ipv-cmp__range::-webkit-slider-thumb{-webkit-appearance:none;width:60px;height:100%;}
.ipv-cmp__range::-moz-range-thumb{width:60px;height:100%;border:0;background:transparent;}
.ipv-cmp__range:focus-visible{opacity:0;}
.ipv-cmp__stage:has(.ipv-cmp__range:focus-visible){outline:2px solid var(--ipv-accent-lift);outline-offset:3px;}

.ipv-cmp figcaption{
  margin-top:1.1rem;display:flex;flex-direction:column;gap:.3rem;
}
.ipv-cmp figcaption strong{
  font-family:var(--ipv-serif);font-size:1.14rem;font-weight:500;color:var(--ipv-paper);
}
.ipv-cmp figcaption span{font-size:.92rem;color:rgba(var(--ipv-paper-rgb),.62);max-width:46ch;}

.ipv-cmp__note{
  margin:clamp(24px,3vw,40px) 0 0;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.4);
  display:flex;align-items:center;gap:.7em;
}
.ipv-cmp__note::before{
  content:"";width:40px;height:1px;background:rgba(var(--ipv-accent-rgb),.6);
}

/* ---------- 19 Ueber uns: zwei Portraets ---------- */

.ipv-faces{display:flex;gap:clamp(18px,2.6vw,38px);justify-content:flex-start;flex-wrap:wrap;}
.ipv-face{margin:0;flex:1 1 160px;max-width:230px;text-align:center;}
.ipv-face__img{
  aspect-ratio:1;border-radius:50%;overflow:hidden;
  background:var(--ipv-ink-2);
  border:1px solid rgba(var(--ipv-paper-rgb),.12);
  transition:border-color .5s,transform .6s var(--ipv-slow);
}
.ipv-face:hover .ipv-face__img{border-color:rgba(var(--ipv-accent-rgb),.55);transform:translateY(-4px);}
.ipv-face__img img{width:100%;height:100%;object-fit:cover;}
.ipv-face figcaption{margin-top:.9rem;display:flex;flex-direction:column;gap:.15rem;}
.ipv-face figcaption strong{font-family:var(--ipv-serif);font-size:1.05rem;font-weight:500;}
.ipv-face figcaption span{font-size:.74rem;color:rgba(var(--ipv-paper-rgb),.5);line-height:1.4;}

/* ---------- 20 Kombipaket ---------- */

.ipv-combo{
  margin-top:clamp(28px,3.4vw,48px);
  display:grid;gap:clamp(24px,3vw,48px);
  grid-template-columns:minmax(200px,260px) 1fr;
  align-items:center;
  padding:clamp(26px,3.2vw,44px);
  border-radius:6px;
  border:1px solid rgba(var(--ipv-accent-rgb),.3);
  background:
    radial-gradient(120% 140% at 0% 0%,rgba(var(--ipv-accent-rgb),.14),transparent 62%),
    var(--ipv-ink);
}
.ipv-corner-soft .ipv-combo{border-radius:clamp(14px,1.8vw,26px);}
@media (max-width:780px){.ipv-combo{grid-template-columns:1fr;}}

/* Drei ineinandergreifende Ringe = drei Gewerke, ein Ablauf */
.ipv-combo__ring{
  position:relative;aspect-ratio:1;max-width:250px;width:100%;margin-inline:auto;
}
.ipv-combo__ring span{
  position:absolute;width:63%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(var(--ipv-accent-rgb),.55);
  display:grid;place-items:center;
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:rgba(var(--ipv-paper-rgb),.72);
  text-align:center;
  background:rgba(var(--ipv-ink-rgb),.55);
}
.ipv-combo__ring span:nth-child(1){top:0;left:0;}
.ipv-combo__ring span:nth-child(2){top:0;right:0;}
.ipv-combo__ring span:nth-child(3){bottom:0;left:18.5%;background:rgba(var(--ipv-accent-rgb),.16);border-color:var(--ipv-accent);color:var(--ipv-paper);}

.ipv-combo__body h3{
  font-size:clamp(1.4rem,2.4vw,2.05rem);
  margin:.2rem 0 .8rem;color:var(--ipv-paper);
}
.ipv-combo__body p{margin:0;color:rgba(var(--ipv-paper-rgb),.72);max-width:56ch;}
.ipv-combo__note{
  margin-top:1rem!important;font-size:.78rem;color:rgba(var(--ipv-paper-rgb),.42)!important;
}

/* ---------- 21 Bildmarke ---------- */

.ipv-brand{align-items:center;}
.ipv-brand__text{display:flex;flex-direction:column;gap:5px;}
.ipv-brand:not(:has(.ipv-mark)) .ipv-brand__name{font-size:clamp(1.2rem,1.8vw,1.6rem);}
.ipv-mark{
  width:clamp(46px,4vw,62px);height:auto;flex:none;
  color:var(--ipv-paper);
  transition:transform .6s var(--ipv-slow);
}
.ipv-brand:hover .ipv-mark{transform:scale(1.06);}
.ipv-brand__sub{margin-top:0;}
@media (max-width:520px){.ipv-mark{width:40px;}}

/* ---------- 22 Fußzeile: Markenverbund ---------- */

.ipv-sister{
  display:flex;align-items:center;gap:clamp(14px,1.8vw,24px);
  text-decoration:none;
  padding:clamp(16px,2vw,24px) clamp(18px,2.2vw,28px);
  margin-bottom:clamp(26px,3vw,40px);
  border:1px solid rgba(var(--ipv-paper-rgb),.1);
  border-radius:6px;
  background:rgba(var(--ipv-paper-rgb),.03);
  transition:border-color .45s var(--ipv-ease),background .45s;
}
.ipv-sister:hover{border-color:rgba(182,122,45,.55);background:rgba(182,122,45,.07);}
.ipv-sister__mark{flex:none;width:clamp(38px,4vw,52px);color:rgba(var(--ipv-paper-rgb),.82);display:block;}
.ipv-sister__mark svg{width:100%;height:auto;display:block;}
.ipv-sister__text{display:flex;flex-direction:column;gap:3px;}
.ipv-sister__label{font-size:.8rem;color:rgba(var(--ipv-paper-rgb),.5);}
.ipv-sister strong{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--ipv-serif);font-size:1.15rem;font-weight:500;
  color:var(--ipv-paper);
}
.ipv-sister:hover strong{color:#d79a45;}

.ipv-footer__copy{margin:0;display:flex;flex-direction:column;gap:2px;}
.ipv-footer__copy span{color:rgba(var(--ipv-paper-rgb),.34);}

.ipv-family{
  display:inline-flex;align-items:center;gap:.7em;
  text-decoration:none;color:rgba(var(--ipv-paper-rgb),.5);
  font-size:.78rem;
}
.ipv-family .ipv-tm{width:44px;height:auto;display:block;color:rgba(var(--ipv-paper-rgb),.86);}
a.ipv-family:hover{color:var(--ipv-paper);}

/* ---------- 23 Über uns: Team und Hatzi & Kekzi ---------- */

.ipv-team{
  display:flex;flex-wrap:wrap;gap:6px 26px;
  margin:1.1rem 0 0;font-size:.8rem;
  color:rgba(var(--ipv-paper-rgb),.5);
}
.ipv-team strong{color:rgba(var(--ipv-paper-rgb),.86);font-weight:600;display:block;}

.ipv-hk{
  display:flex;gap:16px;align-items:flex-start;
  margin-top:2rem;padding:1.1rem 1.35rem;
  text-decoration:none;
  border-left:2px solid var(--ipv-accent);
  background:linear-gradient(90deg,rgba(var(--ipv-accent-rgb),.12),transparent 70%);
  border-radius:0 5px 5px 0;
  max-width:56ch;
  transition:background .45s var(--ipv-ease);
}
.ipv-hk:hover{background:linear-gradient(90deg,rgba(var(--ipv-accent-rgb),.2),transparent 70%);}
.ipv-hk__mark{flex:none;width:36px;color:var(--ipv-accent-lift);}
.ipv-hk__mark svg{width:100%;height:auto;display:block;}
.ipv-hk__text{display:flex;flex-direction:column;gap:5px;}
.ipv-hk strong{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.94rem;color:var(--ipv-paper);font-weight:600;
}
.ipv-hk__text > span{font-size:.86rem;color:rgba(var(--ipv-paper-rgb),.6);line-height:1.5;}

/* ---------- 24 Mitlaufende Kontaktleiste (Handy) ---------- */

.ipv-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:none;
  background:rgba(var(--ipv-ink-rgb),.9);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-top:1px solid rgba(var(--ipv-paper-rgb),.1);
  padding-bottom:env(safe-area-inset-bottom);
}
@media (max-width:860px){
  .ipv-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;}
  body{padding-bottom:72px;}
  .ipv-hint{bottom:calc(84px + env(safe-area-inset-bottom));}
}
.ipv-bar__item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:.72rem .4rem .78rem;
  text-decoration:none;
  color:rgba(var(--ipv-paper-rgb),.78);
  font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  border-right:1px solid rgba(var(--ipv-paper-rgb),.08);
  transition:color .3s,background .3s;
}
.ipv-bar__item:last-child{border-right:0;}
.ipv-bar__item svg{width:21px;height:21px;}
.ipv-bar__item:active{background:rgba(var(--ipv-paper-rgb),.07);}
.ipv-bar__item--wa{color:#5fd07a;}
.ipv-bar__item--cta{color:var(--ipv-accent-lift);}

/* ---------- 25 Partner als Requisiten ---------- */

.ipv-props{
  display:grid;gap:clamp(28px,4vw,60px);
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  margin-top:clamp(36px,4.5vw,70px);
}

.ipv-prop{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
  padding:clamp(20px,2.6vw,34px) clamp(16px,2vw,28px) clamp(24px,3vw,38px);
  border:1px solid rgba(var(--ipv-paper-rgb),.08);
  border-radius:6px;
  background:rgba(var(--ipv-ink-rgb),.45);
  transition:border-color .5s var(--ipv-ease);
}
.ipv-corner-soft .ipv-prop{border-radius:clamp(12px,1.6vw,22px);}
.ipv-prop:hover,.ipv-prop.is-open{border-color:rgba(var(--ipv-accent-rgb),.45);}

.ipv-prop__trigger{
  position:absolute;inset:0;z-index:3;
  width:100%;border:0;background:transparent;cursor:pointer;
  border-radius:inherit;
}
.ipv-prop__trigger:focus-visible{outline:2px solid var(--ipv-accent-lift);outline-offset:3px;}

.ipv-stage{
  position:relative;
  width:100%;max-width:300px;
  aspect-ratio:1;
  display:grid;place-items:center;
  perspective:1100px;
  perspective-origin:50% 46%;
}
.ipv-prop__shadow{
  position:absolute;left:50%;bottom:9%;transform:translateX(-50%);
  width:62%;height:16px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.72),transparent);
  filter:blur(5px);
  transition:width .7s var(--ipv-slow),opacity .7s;
}
.ipv-prop.is-open .ipv-prop__shadow{width:78%;opacity:.8;}
.ipv-stage:has(.ipv-seq) .ipv-prop__shadow{display:none;}

/* --- Buch --- */
.ipv-book{
  position:relative;
  width:74%;aspect-ratio:3/4;
  transform-style:preserve-3d;
  transform:rotateX(8deg) rotateZ(-2deg);
  transition:transform .8s var(--ipv-slow);
}
.ipv-prop.is-open .ipv-book{transform:rotateX(14deg) rotateZ(0deg) translateX(26%) scale(.66);}
.ipv-prop.is-open .ipv-book__page--left{opacity:1;}

.ipv-book__page{
  position:absolute;inset:0;
  border-radius:3px 7px 7px 3px;
  background:linear-gradient(180deg,#f6f2ea,#e6dfd2);
  box-shadow:inset 0 0 30px rgba(120,100,70,.22);
  overflow:hidden;
  display:grid;place-items:center;
  backface-visibility:hidden;
}
.ipv-book__page--left{transform:translateX(-100%) rotateY(0deg);border-radius:7px 3px 3px 7px;opacity:0;transition:opacity .4s ease .3s;}
.ipv-book__page--left img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);}
.ipv-book__page--right{padding:14% 12%;flex-direction:column;gap:12px;}
.ipv-book__orn{
  display:block;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(138,95,43,.5);
  position:relative;margin:0 auto 10px;
}
.ipv-book__orn::after{
  content:"";position:absolute;inset:7px;border-radius:50%;
  border:1px solid rgba(138,95,43,.35);
}
.ipv-book__quote{
  font-family:var(--ipv-serif);font-style:italic;
  font-size:.86rem;line-height:1.4;color:#6b5a42;
  display:block;
}

.ipv-book__cover{
  position:absolute;inset:0;
  transform-origin:left center;
  transform:rotateY(0deg) translateZ(1px);
  transition:transform .95s var(--ipv-slow),box-shadow .8s;
  border-radius:3px 8px 8px 3px;
  background:
    linear-gradient(105deg,#221f1b 0%,#312b24 42%,#1c1916 100%);
  border:1px solid rgba(var(--ipv-accent-rgb),.32);
  box-shadow:0 24px 44px -20px rgba(0,0,0,.9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  padding:16%;
  backface-visibility:hidden;
}
.ipv-prop.is-open .ipv-book__cover{transform:rotateY(-162deg) translateZ(1px);box-shadow:0 10px 24px -16px rgba(0,0,0,.9);}
.ipv-book__rule{display:block;width:44px;height:1px;background:rgba(var(--ipv-accent-rgb),.7);}
.ipv-book__role{
  font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;
  color:var(--ipv-accent);
}
.ipv-book__name{
  font-family:var(--ipv-serif);font-size:1.12rem;line-height:1.2;
  color:var(--ipv-paper);
}
.ipv-book__spine{
  position:absolute;left:-5px;top:0;bottom:0;width:9px;
  background:linear-gradient(90deg,#15130f,#2a251f);
  border-radius:4px 0 0 4px;
  transform:rotateY(-84deg);transform-origin:right center;
}

/* --- Kochtopf --- */
.ipv-pot{
  position:relative;width:78%;aspect-ratio:1;
  display:grid;place-items:end center;
}
.ipv-pot__body{
  position:absolute;left:14%;right:14%;bottom:14%;height:44%;
  border-radius:8px 8px 30% 30%/8px 8px 20% 20%;
  background:linear-gradient(180deg,#5c554b 0%,#403a33 34%,#282420 78%,#191612 100%);
  border:1px solid rgba(var(--ipv-paper-rgb),.16);
  box-shadow:inset 0 8px 18px -10px rgba(255,255,255,.22), 0 22px 40px -22px rgba(0,0,0,.95);
  display:grid;place-items:center;
}
.ipv-pot__band{
  position:absolute;left:0;right:0;top:26%;height:1px;
  background:rgba(var(--ipv-paper-rgb),.14);
}
.ipv-pot__label{
  position:absolute;top:44%;
  font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  color:rgba(var(--ipv-accent-rgb),1);
  opacity:.9;
}
.ipv-pot__handle{
  position:absolute;bottom:30%;width:13%;height:8%;
  border:2px solid rgba(var(--ipv-paper-rgb),.24);
  border-radius:6px;
}
.ipv-pot__handle--l{left:3%;}
.ipv-pot__handle--r{right:3%;}

.ipv-pot__lid{
  position:absolute;left:9%;right:9%;bottom:55.5%;height:13%;
  border-radius:50% 50% 6px 6px/70% 70% 6px 6px;
  background:linear-gradient(180deg,#6a6257,#332e28);
  border:1px solid rgba(var(--ipv-paper-rgb),.26);
  box-shadow:0 10px 20px -12px rgba(0,0,0,.9);
  transition:transform .8s var(--ipv-slow);
}
.ipv-pot__knob{
  position:absolute;left:50%;top:-26%;transform:translateX(-50%);
  width:16%;aspect-ratio:1;border-radius:50%;
  background:var(--ipv-accent);
  box-shadow:0 3px 8px rgba(0,0,0,.6);
}
.ipv-prop.is-open .ipv-pot__lid{transform:translateY(-118%) rotate(-8deg) scale(1.02);}

.ipv-pot__steam{position:absolute;left:0;right:0;bottom:56%;height:44%;pointer-events:none;}
.ipv-pot__steam i{
  position:absolute;bottom:0;left:50%;
  width:10px;height:10px;border-radius:50%;
  background:rgba(var(--ipv-paper-rgb),.5);
  filter:blur(5px);opacity:0;
}
.ipv-prop.is-open .ipv-pot__steam i{animation:ipv-steam 2.6s ease-out infinite;}
.ipv-pot__steam i:nth-child(1){margin-left:-26px;animation-delay:.1s;}
.ipv-pot__steam i:nth-child(2){margin-left:-4px;animation-delay:.6s;}
.ipv-pot__steam i:nth-child(3){margin-left:20px;animation-delay:1.1s;}
@keyframes ipv-steam{
  0%{opacity:0;transform:translateY(0) scale(.6);}
  25%{opacity:.55;}
  100%{opacity:0;transform:translateY(-150px) scale(2.6);}
}

/* --- Text, der aus dem Objekt kommt --- */
.ipv-prop__info{
  display:grid;grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .8s var(--ipv-slow),opacity .6s var(--ipv-ease),margin .8s var(--ipv-slow);
  width:100%;
}
.ipv-prop__info > *{min-height:0;}
.ipv-prop.is-open .ipv-prop__info{grid-template-rows:1fr;opacity:1;margin-top:1.2rem;}
.ipv-prop__info > p,.ipv-prop__info > h3,.ipv-prop__info > a{overflow:hidden;}
.ipv-prop__role{
  margin:0 0 .3rem;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;color:var(--ipv-accent);
}
.ipv-prop__name{
  margin:0 0 .6rem;font-family:var(--ipv-serif);font-weight:500;
  font-size:1.42rem;line-height:1.15;color:var(--ipv-paper);
}
.ipv-prop__text{margin:0 0 1rem;font-size:.92rem;color:rgba(var(--ipv-paper-rgb),.66);}

.ipv-prop__cue{
  margin:1rem 0 0;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:rgba(var(--ipv-paper-rgb),.42);
  display:inline-flex;align-items:center;gap:.6em;
  transition:opacity .5s,color .4s;
}
.ipv-prop__cue::after{
  content:"";width:22px;height:1px;background:currentColor;
  transition:width .5s var(--ipv-slow);
}
.ipv-prop:hover .ipv-prop__cue{color:var(--ipv-accent-lift);}
.ipv-prop.is-open .ipv-prop__cue{opacity:0;height:0;margin:0;}

/* ---------- 26 Kombipaket: drei Objekte ---------- */

.ipv-combo__trio{
  position:relative;display:flex;align-items:flex-end;justify-content:center;gap:6px;
  height:150px;perspective:700px;
}
.ipv-trio{position:relative;display:block;transform-style:preserve-3d;}
.ipv-trio--book{transform:rotateY(19deg) rotateX(6deg) translateY(-4px);}
.ipv-trio--cam{transform:rotateX(6deg) translateY(-14px);z-index:2;}
.ipv-trio--pot{transform:rotateY(-19deg) rotateX(6deg) translateY(-2px);}
.ipv-combo:hover .ipv-trio--book{transform:rotateY(13deg) rotateX(6deg) translateY(-12px);}
.ipv-combo:hover .ipv-trio--cam{transform:rotateX(6deg) translateY(-24px);}
.ipv-combo:hover .ipv-trio--pot{transform:rotateY(-13deg) rotateX(6deg) translateY(-10px);}
.ipv-trio{transition:transform .8s var(--ipv-slow);}

.ipv-mini-book{
  display:block;width:54px;height:74px;position:relative;
  background:linear-gradient(100deg,#2b2620,#191614);
  border:1px solid rgba(var(--ipv-accent-rgb),.45);
  border-radius:2px 5px 5px 2px;
  box-shadow:0 14px 22px -14px rgba(0,0,0,.9);
}
.ipv-mini-book i{position:absolute;left:9px;right:9px;height:1px;background:rgba(var(--ipv-accent-rgb),.6);}
.ipv-mini-book i:nth-child(1){top:26px;}
.ipv-mini-book i:nth-child(2){top:33px;right:18px;}

.ipv-mini-cam{
  display:block;width:82px;height:60px;position:relative;
  background:linear-gradient(180deg,#3a352e,#1d1a16);
  border:1px solid rgba(var(--ipv-paper-rgb),.2);
  border-radius:8px;
  box-shadow:0 16px 26px -14px rgba(0,0,0,.95);
}
.ipv-mini-cam__top{
  position:absolute;top:-9px;left:20px;width:26px;height:10px;
  background:#2b2721;border:1px solid rgba(var(--ipv-paper-rgb),.2);
  border-bottom:0;border-radius:4px 4px 0 0;
}
.ipv-mini-cam__lens{
  position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);
  width:30px;height:30px;border-radius:50%;
  border:2px solid var(--ipv-accent);
  background:radial-gradient(circle at 36% 32%,rgba(var(--ipv-accent-rgb),.5),#0f0d0b 68%);
}

.ipv-mini-pot{
  display:block;width:62px;height:46px;position:relative;
  background:linear-gradient(180deg,#3a352e,#17150f);
  border:1px solid rgba(var(--ipv-paper-rgb),.2);
  border-radius:4px 4px 34% 34%/4px 4px 22% 22%;
  box-shadow:0 14px 22px -14px rgba(0,0,0,.9);
}
.ipv-mini-pot__lid{
  position:absolute;left:-5px;right:-5px;top:-11px;height:12px;
  background:linear-gradient(180deg,#4b463e,#2b2723);
  border:1px solid rgba(var(--ipv-paper-rgb),.2);
  border-radius:50% 50% 3px 3px/78% 78% 3px 3px;
  transition:transform .7s var(--ipv-slow);
}
.ipv-mini-pot__lid::after{
  content:"";position:absolute;left:50%;top:-5px;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;background:var(--ipv-accent);
}
.ipv-combo:hover .ipv-mini-pot__lid{transform:translateY(-9px) rotate(-8deg);}

@media (prefers-reduced-motion:reduce){
  .ipv-book,.ipv-book__cover,.ipv-pot__lid,.ipv-trio,.ipv-mini-pot__lid{transition:none;}
  .ipv-pot__steam i{animation:none;}
}

/* ---------- 27 Cookie-Banner (Complianz) ins Design holen ---------- */

#cmplz-cookiebanner-container .cmplz-cookiebanner{
  background:rgba(var(--ipv-ink-rgb),.94)!important;
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(var(--ipv-paper-rgb),.12)!important;
  border-radius:10px!important;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.95)!important;
  color:rgba(var(--ipv-paper-rgb),.8)!important;
  font-family:var(--ipv-sans)!important;
  padding:clamp(20px,2.4vw,30px)!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{
  font-family:var(--ipv-serif)!important;
  font-size:1.22rem!important;font-weight:500!important;
  color:var(--ipv-paper)!important;
  letter-spacing:-.01em;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message{
  color:rgba(var(--ipv-paper-rgb),.62)!important;
  font-size:.9rem!important;line-height:1.6!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category{
  background:rgba(var(--ipv-paper-rgb),.05)!important;
  border:1px solid rgba(var(--ipv-paper-rgb),.1)!important;
  border-radius:6px!important;
  color:rgba(var(--ipv-paper-rgb),.75)!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons{gap:10px!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn{
  border-radius:100px!important;
  font-size:.78rem!important;font-weight:600!important;
  letter-spacing:.11em!important;text-transform:uppercase!important;
  padding:.92em 1.6em!important;
  border:1px solid rgba(var(--ipv-paper-rgb),.26)!important;
  background:transparent!important;
  color:rgba(var(--ipv-paper-rgb),.8)!important;
  transition:background .4s,color .4s,border-color .4s!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover{
  border-color:var(--ipv-accent)!important;color:var(--ipv-paper)!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept{
  background:var(--ipv-accent)!important;
  border-color:var(--ipv-accent)!important;
  color:#14110d!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{
  background:var(--ipv-accent-lift)!important;border-color:var(--ipv-accent-lift)!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents a{
  color:rgba(var(--ipv-paper-rgb),.5)!important;
  font-size:.76rem!important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a:hover{color:var(--ipv-accent-lift)!important;}
/* Über der Kontaktleiste bleiben */
@media (max-width:860px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner{
    margin-bottom:calc(76px + env(safe-area-inset-bottom))!important;
  }
}
.cmplz-blocked-content-container{
  border-radius:5px!important;
  background:var(--ipv-ink-2)!important;
  border:1px solid rgba(var(--ipv-paper-rgb),.12)!important;
}

/* Hinweis am Handy kompakter halten, damit er die Knöpfe nicht verdeckt */
@media (max-width:860px){
  .ipv-hint{
    bottom:calc(88px + env(safe-area-inset-bottom));
    flex-direction:row;align-items:center;gap:.85rem;
    padding:.7rem 1.1rem;border-radius:100px;
    max-width:calc(100vw - 32px);
  }
  .ipv-hint__art{width:30px;height:30px;flex:none;}
  .ipv-hint__title{font-size:.66rem;}
  .ipv-hint__sub{display:none;}
}

/* ---------- 28 Stimmen ---------- */

.ipv-revs__grid{
  display:grid;gap:clamp(18px,2.4vw,32px);
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  margin-top:clamp(30px,3.6vw,54px);
}
.ipv-rev{
  margin:0;padding:clamp(22px,2.4vw,32px);
  border:1px solid rgba(var(--ipv-paper-rgb),.09);
  border-radius:5px;
  background:rgba(var(--ipv-paper-rgb),.03);
  display:flex;flex-direction:column;gap:1rem;
  transition:border-color .5s var(--ipv-ease),transform .6s var(--ipv-slow);
}
.ipv-corner-soft .ipv-rev{border-radius:clamp(12px,1.5vw,20px);}
.ipv-rev:hover{border-color:rgba(var(--ipv-accent-rgb),.4);transform:translateY(-3px);}
.ipv-rev__stars{display:flex;gap:3px;}
.ipv-rev__stars svg{width:15px;height:15px;fill:rgba(var(--ipv-paper-rgb),.16);}
.ipv-rev__stars svg.is-on{fill:var(--ipv-accent);}
.ipv-rev blockquote{
  margin:0;font-family:var(--ipv-serif);font-size:1.02rem;line-height:1.55;
  color:rgba(var(--ipv-paper-rgb),.88);
}
.ipv-rev blockquote::before{content:"„";}
.ipv-rev blockquote::after{content:"“";}
.ipv-rev figcaption{
  margin-top:auto;display:flex;flex-direction:column;gap:2px;
  font-size:.8rem;
}
.ipv-rev figcaption strong{color:var(--ipv-paper);font-weight:600;}
.ipv-rev figcaption span{color:rgba(var(--ipv-paper-rgb),.42);}
.ipv-revs__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3.4vw,46px);}

/* ---------- 29 Projekte: Bilderstreifen ---------- */

.ipv-proj{margin-top:clamp(34px,4vw,62px);}
.ipv-proj__head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;
  margin-bottom:clamp(14px,1.6vw,22px);
}
.ipv-proj__title{
  margin:0;font-family:var(--ipv-serif);font-weight:500;
  font-size:clamp(1.25rem,2vw,1.7rem);color:var(--ipv-paper);
}
.ipv-proj__meta{
  margin:0;display:flex;gap:8px 16px;flex-wrap:wrap;
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.42);
}
.ipv-proj__count{color:var(--ipv-accent);}

.ipv-strip{
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  cursor:grab;
  padding-inline:var(--ipv-pad);
  padding-block:4px 14px;
}
.ipv-strip::-webkit-scrollbar{display:none;}
.ipv-strip.is-dragging{cursor:grabbing;scroll-snap-type:none;}
.ipv-strip:focus-visible{outline:2px solid var(--ipv-accent-lift);outline-offset:-4px;}

.ipv-strip__track{display:flex;gap:clamp(10px,1.2vw,18px);width:max-content;}
.ipv-strip__item{
  flex:none;padding:0;border:0;background:transparent;cursor:zoom-in;
  height:clamp(220px,34vh,420px);
  border-radius:3px;overflow:hidden;
  scroll-snap-align:center;
  position:relative;
}
.ipv-corner-soft .ipv-strip__item{border-radius:clamp(8px,1vw,14px);}
.ipv-strip__item img{
  height:100%;width:auto;display:block;object-fit:cover;
  filter:saturate(.94);
  transition:transform 1s var(--ipv-slow),filter .6s;
}
.ipv-strip__item:hover img{transform:scale(1.04);filter:saturate(1.04);}
.ipv-strip__item::after{
  content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 0 1px rgba(var(--ipv-paper-rgb),.08);
  pointer-events:none;border-radius:inherit;
}
.ipv-strip__hint{
  margin-top:.4rem;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(var(--ipv-paper-rgb),.3);
}
@media (hover:hover){.ipv-strip__hint span::before{content:"";}}

/* ---------- 30 Fußzeile: zweite Marke dezenter ---------- */

.ipv-sister{
  padding:0;margin-bottom:clamp(22px,2.6vw,34px);
  border:0;background:transparent;
  gap:12px;align-items:center;
  font-size:.84rem;
}
.ipv-sister:hover{background:transparent;}
.ipv-sister__mark{width:30px;color:rgba(var(--ipv-paper-rgb),.6);}
.ipv-sister__text{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 8px;}
.ipv-sister__label{font-size:.84rem;color:rgba(var(--ipv-paper-rgb),.42);}
.ipv-sister strong{font-family:var(--ipv-sans);font-size:.86rem;font-weight:700;letter-spacing:.02em;}

/* ---------- 31 Bildsequenzen (3D-Renderings) ---------- */

.ipv-seq{width:100%;height:100%;display:grid;place-items:center;}
.ipv-seq img{
  width:100%;height:100%;object-fit:contain;display:block;
  /* Die Renderings liegen auf Schwarz. Die Maske blendet den Rand weich aus,
     sonst steht ein sichtbares Rechteck auf der Karte. */
  -webkit-mask-image:radial-gradient(ellipse 74% 74% at 50% 52%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 74% 74% at 50% 52%,#000 52%,transparent 100%);
}
.ipv-combo__trio--seq{height:190px;perspective:none;}
.ipv-combo__trio--seq .ipv-seq img{
  -webkit-mask-image:radial-gradient(ellipse 86% 80% at 50% 52%,#000 58%,transparent 100%);
  mask-image:radial-gradient(ellipse 86% 80% at 50% 52%,#000 58%,transparent 100%);
}


/* ---------- 32 Complianz: "Zustimmung verwalten" zaehmen ---------- */

/* Der frei schwebende Reiter ist ab Werk ein weisser Kasten quer ueber dem
   Design. Hier wird er zu einem kleinen, dunklen Knopf unten links. */
#cmplz-manage-consent .cmplz-manage-consent,
.cmplz-manage-consent{
  position:fixed!important;
  left:12px!important;right:auto!important;
  bottom:12px!important;top:auto!important;
  width:auto!important;max-width:none!important;
  transform:none!important;
  background:rgba(var(--ipv-ink-rgb),.82)!important;
  color:rgba(var(--ipv-paper-rgb),.7)!important;
  border:1px solid rgba(var(--ipv-paper-rgb),.14)!important;
  border-radius:100px!important;
  padding:.55em 1.05em!important;
  font-family:var(--ipv-sans)!important;
  font-size:.66rem!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  line-height:1.2!important;
  box-shadow:0 12px 28px -18px rgba(0,0,0,.9)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  z-index:65!important;
  opacity:.5;
  transition:opacity .4s,border-color .4s,color .4s;
}
.cmplz-manage-consent:hover{opacity:1;color:var(--ipv-paper)!important;border-color:rgba(var(--ipv-accent-rgb),.6)!important;}

/* Auf dem Handy ueber der Kontaktleiste bleiben */
@media (max-width:860px){
  .cmplz-manage-consent{
    bottom:calc(80px + env(safe-area-inset-bottom))!important;
    font-size:.6rem!important;
    opacity:.4;
  }
}

/* Banner selbst: nicht ueber die volle Breite, sondern als Karte unten links */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  max-width:440px!important;
  margin:0 0 16px 16px!important;
}
@media (max-width:860px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner{
    max-width:none!important;
    margin:0 12px calc(84px + env(safe-area-inset-bottom)) 12px!important;
  }
}
