:root{
  --bg:#040406; --bg02:#08080d; --bg03:#0f0f17; --bg04:#16161f;
  --gold:#8B1C1C; --gold-dim:#5C1010; --gold-bright:#B02828;
  --silver:#a0a0b0; --silver-dim:#606070;
  --text:#e8e8f0; --text-muted:#6b6b7a;
  --border:rgba(255,255,255,0.08); --border-gold:rgba(139,28,28,0.22);
  --ease-expo:cubic-bezier(0.16,1,0.3,1);
  --ease-back:cubic-bezier(0.34,1.56,0.64,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{
  background:var(--bg); color:var(--text);
  font-family:"Inter",system-ui,sans-serif; font-weight:300;
  overflow-x:hidden; line-height:1.6;
}
a{color:inherit;text-decoration:none;}
img{display:block; max-width:100%;}
::selection{background:rgba(139,28,28,0.3); color:#fff;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:rgba(139,28,28,0.4); border-radius:3px;}

/* ---------- Fluid canvas — TOP layer, over everything ---------- */
#fluid{position:fixed; inset:0; width:100vw; height:100vh; z-index:9999; pointer-events:none; mix-blend-mode:screen;}
@media (pointer:coarse){ #fluid{display:none;} }

/* ---------- Layout ---------- */
.wrap{position:relative; z-index:1;}
.container{width:100%; max-width:1400px; margin:0 auto; padding:0 clamp(24px,5vw,90px);}
section{position:relative; z-index:1; background:var(--bg); padding:clamp(110px,14vw,200px) 0;}
.label{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,0.45); font-weight:500;}
h1,h2,h3,h4{font-family:"Space Grotesk",sans-serif; font-weight:600; color:#fff; letter-spacing:-0.02em; line-height:1.02;}
.serif{font-family:"Instrument Serif",Georgia,serif; font-style:italic; font-weight:400; color:var(--silver); letter-spacing:0;}
p{color:var(--silver);}
.muted{color:var(--text-muted);}

/* ---------- Nav (top, sticky) ---------- */
nav#nav{position:fixed; top:0; left:0; right:0; z-index:1000; padding:20px 0; transition:padding .4s var(--ease-expo),background .4s;}
nav#nav.scrolled{padding:14px 0; background:rgba(4,4,6,0.72); backdrop-filter:blur(18px); border-bottom:1px solid var(--border);}
.nav-in{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:10px;}
.emblem{width:26px; height:26px; border-radius:50%; border:1px solid rgba(139,28,28,0.5); display:flex; align-items:center; justify-content:center;}
.emblem i{width:7px; height:7px; border-radius:50%; background:rgba(139,28,28,0.9); display:block;}
.wordmark{font-family:"Space Grotesk",sans-serif; font-weight:600; font-size:18px; color:#fff;}
.wordmark span{color:var(--gold-bright);}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{font-family:"Space Grotesk",sans-serif; font-size:13px; letter-spacing:.02em; color:var(--silver); position:relative; padding:4px 0;}
.nav-links a.active{color:#fff;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:#fff; transition:width .35s var(--ease-expo);}
.nav-links a:hover{color:#fff;} .nav-links a:hover::after{width:100%;}
@media (max-width:900px){ .nav-links{display:none;} }

/* ---------- Mobile hamburger + full-screen menu ---------- */
.hamburger{display:none; flex-direction:column; justify-content:center; align-items:flex-end; gap:5px;
  width:32px; height:32px; background:none; border:none; cursor:pointer; padding:0; margin-left:14px; flex-shrink:0;}
.hamburger span{display:block; width:100%; height:2px; background:#fff; border-radius:2px;
  transition:transform .3s var(--ease-expo), opacity .3s, width .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg); width:100%;}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg); width:100%;}
@media (max-width:900px){ .hamburger{display:flex;} }

.mobile-menu{position:fixed; inset:0; z-index:1001; background:var(--bg);
  transform:translateX(100%); transition:transform .4s var(--ease-expo);
  overflow-y:auto; padding:100px 28px 60px;}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu-close{position:fixed; top:20px; right:24px; z-index:1002; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.05); color:#fff; font-size:16px; cursor:pointer;}
.mobile-menu-links a, .mm-accordion-trigger{display:flex; align-items:center; justify-content:space-between; width:100%;
  font-family:"Space Grotesk",sans-serif; font-size:1.3rem; font-weight:500; color:#fff; padding:18px 0;
  border-top:1px solid var(--border); background:none; border-left:none; border-right:none; border-bottom:none;
  text-align:left; cursor:pointer;}
.mobile-menu-links > a:first-child{border-top:none;}
.mm-accordion{max-height:0; overflow:hidden; transition:max-height .4s var(--ease-expo);}
.mm-group{padding:6px 0 18px;}
.mm-group-title{display:block; font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--mc,var(--gold-bright)); margin:14px 0 6px;}
.mm-group a{font-size:1.02rem; font-weight:400; padding:11px 0; border-top:none; color:var(--silver);}
.mobile-menu .btn-primary{margin-top:24px; width:100%; justify-content:center;}

/* ---------- Mega menu (Leistungen dropdown) ---------- */
.has-mega{position:relative;}
.has-mega > .mega-trigger{display:inline-flex; align-items:center; gap:6px; cursor:pointer; background:none; border:none; font:inherit; color:inherit;}
.has-mega > .mega-trigger svg{transition:transform .25s var(--ease-expo);}
.has-mega.open > .mega-trigger svg{transform:rotate(180deg);}
.mega{position:fixed; left:0; right:0; top:0; z-index:999; opacity:0; pointer-events:none; transform:translateY(-8px);
  transition:opacity .3s var(--ease-expo),transform .3s var(--ease-expo);
  background:rgba(8,8,13,0.85); backdrop-filter:blur(24px) saturate(160%); border-bottom:1px solid var(--border);
  padding:clamp(110px,13vw,140px) clamp(24px,5vw,90px) 50px;}
.has-mega.open .mega{opacity:1; pointer-events:auto; transform:translateY(0);}
.mega-grid{max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(30px,5vw,60px);}
.mega-col .mh{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.mega-col .mh .tag{font-family:"Space Grotesk",sans-serif; font-size:10px; letter-spacing:.18em; color:var(--mc,var(--gold-bright));}
.mega-col .mh .ln{flex:1; height:1px; background:var(--border);}
.mega-col h4{font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-style:italic; font-size:1.5rem; color:#fff; margin-bottom:18px;}
.mega-col ul{list-style:none;}
.mega-col li{border-top:1px solid var(--border);}
.mega-col li:first-child{border-top:none;}
.mega-col a{display:block; padding:11px 0; font-size:13.5px; color:var(--silver); transition:color .2s,padding .2s;}
.mega-col a:hover{color:#fff; padding-left:6px;}
.mega-col .viewall{display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:12px; letter-spacing:.08em; color:var(--mc,var(--gold-bright));}
@media (max-width:900px){ .mega{display:none;} }

/* ---------- Floating pill nav (bottom, persistent) ---------- */
.floatnav{position:fixed; left:50%; bottom:26px; transform:translateX(-50%); z-index:998;
  display:flex; align-items:center; gap:2px; padding:8px; border-radius:999px;
  background:rgba(10,10,14,0.6); backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.14); box-shadow:0 12px 40px rgba(0,0,0,0.4);}
.floatnav a{font-family:"Space Grotesk",sans-serif; font-size:12.5px; color:rgba(255,255,255,0.6);
  padding:10px 18px; border-radius:999px; transition:all .3s var(--ease-expo);}
.floatnav a:hover, .floatnav a.active{color:#0a0a0e; background:#fff;}
@media (max-width:760px){ .floatnav{display:none;} }

/* ---------- Floating contact bubble ---------- */
.float-contact{position:fixed; right:26px; bottom:26px; z-index:998; width:76px; height:76px;}
.float-contact .ring{position:absolute; inset:0; animation:spin 14s linear infinite;}
.float-contact .dot{position:absolute; inset:0; margin:auto; width:48px; height:48px; border-radius:50%;
  background:var(--gold-bright); display:flex; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 8px 26px rgba(139,28,28,0.4); transition:transform .3s var(--ease-expo);}
.float-contact:hover .dot{transform:scale(1.08);}
@keyframes spin{to{transform:rotate(360deg);}}
@media (max-width:760px){ .float-contact{right:16px; bottom:16px; width:64px; height:64px;} .float-contact .dot{width:42px;height:42px;} }

/* ---------- Buttons ---------- */
.btn{font-family:"Space Grotesk",sans-serif; font-size:13px; letter-spacing:.02em; font-weight:500;
  padding:16px 32px; border-radius:999px; display:inline-flex; align-items:center; gap:9px; cursor:pointer; transition:all .35s var(--ease-expo); border:none;}
.btn-primary{background:#fff; color:#0a0a0e;}
.btn-primary:hover{background:var(--gold-bright); color:#fff; box-shadow:0 12px 40px rgba(139,28,28,0.35); transform:translateY(-2px);}
.btn-outline{border:1px solid rgba(255,255,255,0.28); color:var(--text); background:none;}
.btn-outline:hover{border-color:#fff; color:#fff; transform:translateY(-2px);}

/* ---------- Page hero (subpages) ---------- */
.pagehero{padding-top:clamp(150px,20vw,220px); padding-bottom:clamp(60px,8vw,90px);}
.pagehero .back{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-muted); margin-bottom:34px; font-family:"Space Grotesk",sans-serif;}
.pagehero .back:hover{color:#fff;}
.pagehero h1{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0; font-size:clamp(2.6rem,6.5vw,5.6rem); line-height:1.05; max-width:900px;}
.pagehero .lead{font-size:1.05rem; max-width:560px; margin-top:22px;}

/* ---------- Hero (home) ---------- */
.hero{min-height:100vh; display:flex; align-items:center; padding-top:120px; position:relative; overflow:hidden;}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-scrim{position:absolute; inset:0; z-index:0; background:linear-gradient(to right, rgba(4,4,6,0.93) 0%, rgba(4,4,6,0.86) 45%, rgba(4,4,6,0.4) 100%);}
.hero > .container{position:relative; z-index:1;}
.hero .label{margin-bottom:28px; display:inline-flex; align-items:center; gap:12px;}
.hero .label .rec{width:8px; height:8px; border-radius:50%; background:var(--gold-bright); animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,45%,55%,100%{opacity:1;}50%{opacity:.2;}}
.hero h1{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0;
  font-size:clamp(2.6rem,6.4vw,5.6rem); line-height:1.06; margin-bottom:36px; color:#fff; max-width:920px;}
.hero h1 .acc{color:var(--gold-bright); font-style:italic;}
.hero-tw .line{display:block;}
.tw-cursor{font-style:normal !important; animation:tw-blink 1s step-end infinite;}
@keyframes tw-blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.hero-lead{font-size:clamp(1.05rem,1.5vw,1.25rem); color:var(--silver); max-width:600px; margin-bottom:44px; font-weight:300;}
.hero-lead b{color:#fff; font-weight:500;}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap;}

/* ---------- Marquee ---------- */
.marquee{position:relative; z-index:1; background:var(--bg); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:24px 0; overflow:hidden; white-space:nowrap;}
.marquee-track{display:inline-flex; gap:56px; animation:scroll 32s linear infinite;}
.marquee-track span{font-family:"Space Grotesk",sans-serif; font-size:14px; letter-spacing:.05em; color:rgba(255,255,255,0.32); text-transform:uppercase; display:inline-flex; align-items:center; gap:56px;}
.marquee-track span::after{content:"◦"; color:rgba(255,255,255,0.16);}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ---------- Logo marquee (client carousel) ---------- */
.marquee .toplabel{text-align:center; margin-bottom:20px; font-family:"Space Grotesk",sans-serif; font-size:10.5px;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,0.25);}
.logo-track{display:inline-flex; gap:clamp(40px,6vw,72px); align-items:center; animation:scroll 36s linear infinite;}
.logo-track img{height:30px; width:auto; max-width:130px; object-fit:contain;
  filter:grayscale(1) invert(1) contrast(1.6); opacity:.4; transition:opacity .3s; flex-shrink:0;}
.logo-track img:hover{opacity:.85;}
.marquee:hover .logo-track{animation-play-state:paused;}

/* ---------- Section background image (e.g. Leistungen / Porsche) ---------- */
.svc-section-bg{position:absolute; inset:0; z-index:0; pointer-events:none;}
.svc-section-bg img{width:100%; height:100%; object-fit:cover; opacity:.5;}
.svc-section-bg .scrim{position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(4,4,6,0.88), rgba(4,4,6,0.94)),
    radial-gradient(60% 55% at 15% 0%, rgba(139,28,28,0.22), transparent 60%);}

/* ---------- Section head ---------- */
.shead{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:60px; flex-wrap:wrap;}
.shead h2{font-size:clamp(2rem,4.2vw,3.6rem);}
.shead .label{margin-bottom:18px; display:block;}
.shead p{max-width:400px; font-size:15px;}

/* ---------- About / Stats ---------- */
.about-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(40px,6vw,90px); align-items:start;}
.about-copy h2{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0;
  font-size:clamp(2.2rem,4.6vw,3.8rem); line-height:1.08; margin-bottom:20px;}
.about-copy .lede{font-size:1.05rem; color:var(--silver); max-width:480px; margin-bottom:16px;}
.about-stats{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:16px; overflow:hidden;}
.stat-card{background:var(--bg); padding:clamp(24px,3vw,36px);}
.stat-card .lab{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,0.4); font-family:"Space Grotesk",sans-serif; margin-bottom:14px;}
.stat-card .num{font-family:"Space Grotesk",sans-serif; font-size:clamp(2.2rem,4vw,3.2rem); font-weight:700; color:#fff; line-height:1; margin-bottom:12px;}
.stat-card p{font-size:13px; line-height:1.55;}
@media (max-width:880px){ .about-grid{grid-template-columns:1fr;} }
@media (max-width:520px){ .about-stats{grid-template-columns:1fr;} }

/* ---------- Portrait / studio page ---------- */
.portrait-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(40px,6vw,80px); align-items:center;}
.portrait-img{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/5;}
.portrait-img img{width:100%; height:100%; object-fit:cover; object-position:top;}
.portrait-tag{position:absolute; left:20px; bottom:20px; background:rgba(4,4,6,0.6); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.14); border-radius:12px; padding:12px 16px;}
.portrait-tag .nm{font-family:"Space Grotesk",sans-serif; font-weight:600; color:#fff; font-size:14px;}
.portrait-tag .rl{font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,0.5); margin-top:2px;}
@media (max-width:880px){ .portrait-grid{grid-template-columns:1fr;} }

.statement-list{border-top:1px solid var(--border); margin:26px 0;}
.statement-list .row{display:flex; gap:16px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--border); font-size:13.5px; color:var(--silver);}
.statement-list .row .arrow{color:var(--gold-bright); font-weight:700; font-size:11px; margin-top:3px; flex-shrink:0;}

/* ---------- Services (svc rows, index + overview) ---------- */
.svc-list{display:flex; flex-direction:column;}
.svc{display:grid; grid-template-columns:200px 1fr 1fr; gap:40px; padding:44px 0; border-top:1px solid var(--border); align-items:start;}
.svc:last-child{border-bottom:1px solid var(--border);}
.svc .stag{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,0.35); padding-top:6px;}
.svc h3{font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:14px;}
.svc h3 a{transition:color .25s;} .svc h3 a:hover{color:var(--gold-bright);}
.svc p{font-size:14.5px; max-width:420px;}
.svc-links{list-style:none; display:flex; flex-direction:column;}
.svc-links li{border-top:1px solid var(--border);}
.svc-links li:first-child{border-top:none;}
.svc-links a{display:flex; align-items:center; justify-content:space-between; padding:12px 2px; font-size:13.5px; color:var(--silver); transition:color .25s,padding .25s;}
.svc-links a:hover{color:#fff; padding-left:8px;}
.svc-links a::after{content:"→"; opacity:.35; transition:opacity .25s;}
.svc-links a:hover::after{opacity:1;}
@media (max-width:900px){ .svc{grid-template-columns:1fr; gap:14px;} }

.svc-cta{margin-top:60px; padding-top:44px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;}
.svc-cta h3{font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:clamp(1.4rem,2.6vw,2.1rem); max-width:640px; color:#fff;}

/* ---------- Service detail page ---------- */
.svc-hero{position:relative; min-height:78vh; display:flex; flex-direction:column; justify-content:center; overflow:hidden;}
.svc-hero-img{position:absolute; inset:0; z-index:0;}
.svc-hero-img img{width:100%; height:100%; object-fit:cover;}
.svc-hero-scrim{position:absolute; inset:0; z-index:0;}
.svc-hero > .container{position:relative; z-index:1; padding-top:clamp(140px,18vw,180px); padding-bottom:clamp(60px,8vw,90px);}
.svc-hero h1{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0; font-size:clamp(2.6rem,6.5vw,5.6rem); line-height:1.05; max-width:760px; color:#fff; margin-bottom:26px;}
.svc-hero .lead{font-size:1.02rem; max-width:500px; margin-bottom:34px;}

.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,7vw,90px);}
@media (max-width:900px){ .split{grid-template-columns:1fr;} }
.numlist{border-top:1px solid var(--border);}
.numlist .row{display:flex; gap:20px; padding:20px 0; border-bottom:1px solid var(--border);}
.numlist .row .n{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,0.3); flex-shrink:0; width:24px; padding-top:2px;}
.numlist .row .body h4{font-size:1rem; margin-bottom:6px; font-weight:500;}
.numlist .row .body h4 a:hover{color:var(--mc,var(--gold-bright));}
.numlist .row .body p{font-size:13px;}

.gallerystrip{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.gallerystrip img, .gallerystrip .ph{border-radius:14px; width:100%; height:clamp(160px,20vw,300px); object-fit:cover;}
@media (max-width:760px){ .gallerystrip{grid-template-columns:1fr;} }

.casestudy{position:relative; overflow:hidden; border-radius:24px; padding:clamp(50px,6vw,80px) clamp(30px,5vw,60px); background:var(--bg03); border:1px solid var(--border);}
.cs-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:40px;}
.cs-head h3{font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:clamp(2rem,4.4vw,3.4rem); letter-spacing:0;}
.cs-viewscount{text-align:center; padding:44px 20px; border-radius:16px; border:1px solid var(--border); background:rgba(255,255,255,0.02); margin-bottom:30px;}
.cs-viewscount .big{font-family:"Space Grotesk",sans-serif; font-size:clamp(2.6rem,7vw,5rem); font-weight:700; color:#fff;}
.cs-metrics{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px;}
.cs-metric{text-align:center; padding:24px 14px; border-radius:14px; border:1px solid var(--border); background:rgba(255,255,255,0.03);}
.cs-metric .v{font-family:"Space Grotesk",sans-serif; font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700; color:#fff;}
.cs-metric .l{font-size:12.5px; color:var(--silver); margin-top:4px;}
.cs-note{font-size:11.5px; color:var(--text-muted); margin-bottom:30px;}
.cs-body{display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(30px,5vw,50px); align-items:start;}
.cs-body img{border-radius:14px; width:100%; object-fit:cover;}
.cs-imgs{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.cs-imgs img{aspect-ratio:4/5;}
.cs-video{position:relative; width:100%; aspect-ratio:16/9; border-radius:14px; overflow:hidden;}

.video-poster{position:relative; display:block; width:100%; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000;}
.video-poster img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-expo), opacity .3s;}
.video-poster:hover img{transform:scale(1.03); opacity:.85;}
.video-poster::after{content:""; position:absolute; inset:0; background:rgba(0,0,0,0.25);}
.video-poster .play-btn{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1;
  width:76px; height:76px; border-radius:50%; background:rgba(139,28,28,0.9); border:1px solid rgba(255,255,255,0.3);
  display:flex; align-items:center; justify-content:center; transition:transform .3s var(--ease-expo), background .3s;}
.video-poster:hover .play-btn{transform:translate(-50%,-50%) scale(1.1); background:var(--gold-bright);}
.video-poster .play-btn svg{margin-left:4px;}

/* ---------- Wedding pricing ---------- */
.wedding-pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch;}
.price-card{position:relative; display:flex; flex-direction:column; border:1px solid var(--border); border-radius:16px;
  padding:32px 26px 28px; background:var(--bg03);}
.price-card.feat{border-color:var(--accent); background:linear-gradient(180deg, rgba(139,28,28,0.09), var(--bg03));
  box-shadow:0 0 40px rgba(139,28,28,0.1);}
.price-card .ribbon{position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--gold-bright);
  color:#fff; font-family:"Space Grotesk",sans-serif; font-weight:600; font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; padding:5px 16px; border-radius:20px; white-space:nowrap;}
.price-card h4{font-family:"Space Grotesk",sans-serif; font-size:1.35rem; color:#fff; margin-bottom:6px;}
.price-card .psub{font-family:"Instrument Serif",Georgia,serif; font-style:italic; color:var(--silver); font-size:.95rem; margin-bottom:18px; min-height:26px;}
.price-card .pprice{font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:2rem; color:#fff; line-height:1;}
.price-card .pprice .cur{font-size:.9rem; font-weight:500; color:var(--silver-dim); margin-right:2px;}
.price-card .pnote{font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin:6px 0 20px;}
.price-card ul{list-style:none; flex:1; margin-bottom:22px;}
.price-card li{font-size:13px; line-height:1.55; color:var(--silver); padding-left:20px; position:relative; margin-bottom:10px;}
.price-card li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--accent); font-size:12px;}
@media (max-width:880px){ .wedding-pricing{grid-template-columns:1fr;} }

.combo-card{margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  padding:30px 32px; border-radius:16px; border:1px solid var(--border-gold); background:rgba(139,28,28,0.06);}
.combo-card .ct h4{font-family:"Space Grotesk",sans-serif; font-size:1.3rem; color:#fff; margin-bottom:6px;}
.combo-card .ct p{font-size:13.5px; max-width:460px;}
.combo-card .cp{text-align:right; flex-shrink:0;}
.combo-card .cp .old{font-size:12px; color:var(--silver-dim); text-decoration:line-through;}
.combo-card .cp .pprice{font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:1.8rem; color:#fff;}
.combo-card .cp .save{font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-bright); margin-top:2px;}
@media (max-width:760px){ .combo-card{flex-direction:column; align-items:flex-start; text-align:left;} .combo-card .cp{text-align:left;} }

/* ---------- Package configurator ---------- */
.config-wrap{display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(30px,4vw,50px); align-items:start;}
@media (max-width:900px){ .config-wrap{grid-template-columns:1fr;} }
.config-group{margin-bottom:34px;}
.config-group-title{font-family:"Space Grotesk",sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.4); margin-bottom:14px; display:block;}
.config-options{display:flex; flex-direction:column; gap:10px;}
.config-opt{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px;
  border:1px solid var(--border); border-radius:12px; cursor:pointer; transition:all .25s; background:rgba(255,255,255,0.015);}
.config-opt:hover{border-color:rgba(255,255,255,0.25);}
.config-opt.sel{border-color:var(--accent); background:rgba(139,28,28,0.08);}
.config-opt .co-name{font-family:"Space Grotesk",sans-serif; font-size:14.5px; color:#fff; font-weight:500;}
.config-opt .co-sub{font-size:12px; color:var(--text-muted); margin-top:2px;}
.config-opt .co-price{font-family:"Space Grotesk",sans-serif; font-size:14px; color:var(--accent); font-weight:600; white-space:nowrap;}
.config-opt .co-check{width:18px; height:18px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.3); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; transition:all .2s;}
.config-opt.sel .co-check{border-color:var(--accent); background:var(--accent);}
.config-opt.sel .co-check::after{content:"✓"; color:#fff; font-size:11px;}
.config-opt[data-type="checkbox"] .co-check{border-radius:5px;}

.config-suboptions{margin:4px 0 0; padding-left:14px; border-left:2px solid var(--border); display:flex; flex-direction:column; gap:8px;
  max-height:500px; opacity:1; overflow:hidden; transition:all .3s;}
.config-suboptions.hidden{max-height:0; opacity:0; margin:0; padding-top:0; padding-bottom:0; border-color:transparent;}
.config-suboptions .config-opt{padding:12px 16px;}
.config-suboptions-hint{font-size:11.5px; color:var(--text-muted); margin:2px 0 8px 14px;}

.config-fields .field{margin-bottom:16px;}
.config-summary{position:sticky; top:110px; border:1px solid var(--border-gold); border-radius:16px; padding:28px 26px;
  background:linear-gradient(180deg, rgba(139,28,28,0.06), var(--bg03));}
.config-summary h4{font-family:"Space Grotesk",sans-serif; font-size:1.1rem; color:#fff; margin-bottom:18px;}
.config-summary .cs-line{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--border); font-size:13.5px;}
.config-summary .cs-line:first-of-type{border-top:none;}
.config-summary .cs-line .cs-l{color:var(--silver);}
.config-summary .cs-line .cs-v{color:#fff; font-family:"Space Grotesk",sans-serif; white-space:nowrap;}
.config-summary .cs-empty{font-size:13px; color:var(--text-muted); padding:14px 0;}
.config-summary .cs-total{display:flex; justify-content:space-between; align-items:baseline; margin-top:14px; padding-top:16px;
  border-top:1px solid var(--border-gold);}
.config-summary .cs-total .cs-tl{font-family:"Space Grotesk",sans-serif; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--silver);}
.config-summary .cs-total .cs-tv{font-family:"Space Grotesk",sans-serif; font-size:1.7rem; font-weight:700; color:#fff;}
.config-summary .cs-save{font-size:11.5px; color:var(--gold-bright); text-align:right; margin-top:2px;}
.config-actions{display:flex; flex-direction:column; gap:10px; margin-top:22px;}
.config-actions .btn{width:100%; justify-content:center;}
@media (max-width:900px){ .config-summary{position:static;} }
.cs-video iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
@media (max-width:900px){ .cs-body,.cs-metrics{grid-template-columns:1fr;} }

.othersvc{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.othersvc a{padding:30px 28px; border-radius:16px; border:1px solid var(--border); background:rgba(255,255,255,0.02); transition:border-color .3s;}
.othersvc a:hover{border-color:rgba(255,255,255,0.2);}
.othersvc .dot{width:9px; height:9px; border-radius:50%; margin-bottom:22px;}
.othersvc h4{font-size:clamp(1.2rem,2vw,1.6rem); margin-bottom:6px;}
.othersvc .tg{font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px; display:block;}
@media (max-width:760px){ .othersvc{grid-template-columns:1fr;} }

/* ---------- Project detail page ---------- */
.proj-hero{position:relative; width:100%; height:clamp(320px,55vw,680px); overflow:hidden;}
.proj-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.proj-hero .ov-dark{position:absolute; inset:0; background:rgba(0,0,0,0.4);}
.proj-hero .ov-bottom{position:absolute; inset-inline:0; bottom:0; height:190px; background:linear-gradient(to top, var(--bg), transparent);}
.proj-hero .ov-top{position:absolute; inset-inline:0; top:0; height:130px; background:linear-gradient(to bottom, rgba(0,0,0,0.4), transparent);}
.proj-body{position:relative; z-index:1; margin-top:-2rem;}
.proj-meta{display:grid; grid-template-columns:1fr auto; gap:30px; align-items:start; margin-bottom:60px;}
.proj-meta h1{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0; font-size:clamp(2.4rem,6.5vw,5.2rem); line-height:0.95; margin-bottom:20px;}
.proj-meta .pclient{font-family:"Space Grotesk",sans-serif; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:20px;}
.proj-meta .pdesc{font-size:15px; line-height:1.85; max-width:560px;}
.proj-count{display:none; flex-direction:column; align-items:flex-end; gap:2px; padding-top:6px; flex-shrink:0;}
.proj-count .n{font-family:"Space Grotesk",sans-serif; font-weight:300; font-size:clamp(2.6rem,5vw,4rem); color:rgba(255,255,255,0.08); letter-spacing:-.03em;}
.proj-count .l{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.12em; color:rgba(255,255,255,0.3); text-transform:uppercase;}
@media (min-width:769px){ .proj-count{display:flex;} }

.proj-videolabel{display:flex; align-items:center; gap:12px; margin-bottom:20px;}
.proj-videolabel .ln{width:24px; height:1px; background:rgba(139,28,28,0.5);}
.proj-videolabel span{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(139,28,28,0.75);}

.proj-gallery{columns:2 320px; column-gap:12px; margin-bottom:70px;}
.proj-gallery img{width:100%; height:auto; display:block; border-radius:16px; margin-bottom:12px; break-inside:avoid; transition:transform .6s var(--ease-expo);}
.proj-gallery a{display:block; break-inside:avoid;}
.proj-gallery a:hover img{transform:scale(1.02);}

.proj-others{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.proj-other-card{position:relative; height:160px; border-radius:14px; overflow:hidden;}
.proj-other-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-expo);}
.proj-other-card:hover img{transform:scale(1.06);}
.proj-other-card::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.75), transparent);}
.proj-other-card span{position:absolute; left:12px; bottom:10px; z-index:1; font-family:"Space Grotesk",sans-serif; font-weight:300; font-size:13px; color:rgba(255,255,255,0.9); line-height:1.2;}
@media (max-width:760px){ .proj-others{grid-template-columns:1fr 1fr;} }

/* ---------- Portfolio feed (arbeiten.html) ---------- */
.pf-feed{display:flex; flex-direction:column; gap:clamp(16px,2vw,24px);}
.pf-card{position:relative; border-radius:18px; overflow:hidden; min-height:clamp(360px,72vh,760px); display:block;}
.pf-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-expo);}
.pf-card:hover img{transform:scale(1.045);}
.pf-card .scrim{position:absolute; inset:0; background:linear-gradient(to top, rgba(4,4,6,0.92) 0%, rgba(4,4,6,0.25) 45%, rgba(4,4,6,0.08) 100%);}
.pf-card .top{position:absolute; top:22px; left:26px; right:26px; display:flex; justify-content:space-between; align-items:center; z-index:2;}
.pf-card .idx{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.14em; color:rgba(255,255,255,0.4);}
.pf-card .cat{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.12em; color:rgba(255,255,255,0.7);
  background:rgba(4,4,6,0.5); border:1px solid rgba(255,255,255,0.14); padding:6px 14px; border-radius:20px;}
.pf-card .bot{position:absolute; left:0; right:0; bottom:0; padding:clamp(26px,4vw,44px); z-index:2;}
.pf-card .client{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,0.4); margin-bottom:10px;}
.pf-card h2{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0; font-size:clamp(1.8rem,4.5vw,3.6rem); color:#fff; margin-bottom:12px;}
.pf-card p{font-size:13.5px; max-width:560px; color:rgba(210,210,220,0.75); line-height:1.6;}
.pf-card .watch{display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-family:"Space Grotesk",sans-serif; font-size:12px; letter-spacing:.1em; color:var(--gold-bright); position:relative; z-index:3;}
.pf-card{cursor:pointer;}
.pf-card .expand{position:absolute; top:22px; right:26px; z-index:2; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.25); background:rgba(4,4,6,0.4); display:flex; align-items:center; justify-content:center;
  color:#fff; transition:all .3s var(--ease-expo);}
.pf-card:hover .expand{border-color:#fff; background:var(--gold-bright); transform:scale(1.08);}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
  padding:5vh 20px; opacity:0; pointer-events:none; transition:opacity .35s var(--ease-expo);}
.lightbox.open{opacity:1; pointer-events:auto;}
.lightbox .lb-backdrop{position:absolute; inset:0; background:rgba(4,4,6,0.88); backdrop-filter:blur(14px);}
.lightbox .lb-card{position:relative; z-index:1; max-width:920px; width:100%; max-height:90vh; overflow-y:auto;
  background:var(--bg03); border:1px solid var(--border); border-radius:20px;
  transform:translateY(24px) scale(0.98); transition:transform .4s var(--ease-expo);}
.lightbox.open .lb-card{transform:translateY(0) scale(1);}
.lightbox .lb-img{width:100%; max-height:52vh; object-fit:cover; border-radius:20px 20px 0 0; display:block;}
.lightbox .lb-body{padding:clamp(26px,4vw,44px);}
.lightbox .lb-cat{font-family:"Space Grotesk",sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:8px;}
.lightbox .lb-client{font-size:12.5px; color:var(--text-muted); margin-bottom:14px;}
.lightbox .lb-title{font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:clamp(1.6rem,3.6vw,2.4rem); color:#fff; margin-bottom:16px;}
.lightbox .lb-desc{font-size:14.5px; line-height:1.8; color:var(--silver); margin-bottom:22px;}
.lightbox .lb-close{position:absolute; top:18px; right:18px; z-index:2; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.3); background:rgba(4,4,6,0.55); color:#fff; cursor:pointer; font-size:16px; line-height:1;}
.lightbox .lb-close:hover{border-color:#fff;}

/* ---------- Why (4 col) ---------- */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.why{padding:30px 24px; border-top:1px solid var(--border);}
.why .wn{font-family:"Space Grotesk",sans-serif; font-size:13px; color:rgba(255,255,255,0.32); letter-spacing:.15em;}
.why h4{font-size:1.2rem; margin:16px 0 10px;} .why p{font-size:13.5px;}
@media (max-width:880px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .why-grid{grid-template-columns:1fr;} }

/* ---------- Clients logo grid ---------- */
.clients-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:16px; overflow:hidden;}
.client-cell{background:var(--bg); min-height:120px; display:flex; align-items:center; justify-content:center; padding:22px;}
.client-cell img{max-height:32px; width:auto; max-width:120px; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); opacity:.4; transition:opacity .3s;}
.client-cell:hover img{opacity:.85;}
.client-cell.text{font-family:"Space Grotesk",sans-serif; font-weight:600; font-size:14px; letter-spacing:.01em; color:rgba(255,255,255,0.38); text-align:center; transition:color .3s;}
.client-cell.text:hover{color:rgba(255,255,255,0.85);}
@media (max-width:820px){ .clients-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- Testimonials ---------- */
.testi-wrap{position:relative;}
.testi-track{display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px;}
.testi-track::-webkit-scrollbar{display:none;}
.tcard{flex:0 0 auto; width:min(560px,86vw); scroll-snap-align:start; border:1px solid var(--border); border-radius:16px; padding:36px 34px; background:var(--bg03);}
.tcard .q{font-family:"Instrument Serif",Georgia,serif; font-style:italic; font-size:1.3rem; color:#fff; line-height:1.5; margin-bottom:26px;}
.tcard .who{display:flex; align-items:center; gap:14px;}
.tcard .av{width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14); display:flex; align-items:center; justify-content:center; font-family:"Space Grotesk",sans-serif; font-weight:600; color:#fff;}
.tcard .nm{font-family:"Space Grotesk",sans-serif; font-size:14px; color:#fff;} .tcard .rl{font-size:12.5px; color:var(--silver-dim);}
.testi-nav{display:flex; align-items:center; gap:14px; margin-top:28px;}
.testi-nav button{width:42px; height:42px; border-radius:50%; border:1px solid var(--border); background:none; color:#fff; cursor:pointer; transition:all .25s;}
.testi-nav button:hover{border-color:#fff;}
.testi-count{font-family:"Space Grotesk",sans-serif; font-size:13px; color:var(--text-muted);}

/* ---------- FAQ filter tags ---------- */
.faq-tags{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:50px;}
.faq-tags button{font-family:"Space Grotesk",sans-serif; font-size:12.5px; padding:10px 20px; border-radius:999px;
  border:1px solid var(--border); background:none; color:var(--silver); cursor:pointer; transition:all .25s;}
.faq-tags button.sel{background:#fff; color:#0a0a0e; border-color:#fff;}
.fitem.hide{display:none;}

/* ---------- Simple sub-service hero ---------- */
.subsvc-hero{padding-top:clamp(150px,20vw,200px); padding-bottom:clamp(50px,7vw,70px);}
.subsvc-hero .parent{display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--mc,var(--gold-bright)); letter-spacing:.14em; text-transform:uppercase; margin-bottom:24px; font-family:"Space Grotesk",sans-serif;}
.subsvc-hero h1{font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:clamp(2.4rem,5.6vw,4.6rem); line-height:1.06; max-width:780px; margin-bottom:22px;}
.subsvc-hero .lead{font-size:1.05rem; max-width:560px;}
.siblings{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.siblings a{padding:14px 10px; text-align:center; border-radius:12px; border:1px solid var(--border); font-size:12.5px; color:var(--silver); transition:all .25s;}
.siblings a.cur{border-color:var(--mc,var(--gold-bright)); color:#fff; background:rgba(255,255,255,0.03);}
.siblings a:hover{border-color:rgba(255,255,255,0.3); color:#fff;}
@media (max-width:760px){ .siblings{grid-template-columns:1fr 1fr;} }

/* ---------- FAQ ---------- */
.faq{max-width:860px; margin:0 auto;}
.fitem{border-top:1px solid var(--border);}
.fq{width:100%; text-align:left; background:none; border:none; color:#fff; font-family:"Space Grotesk",sans-serif; font-size:1.1rem;
  padding:26px 50px 26px 0; position:relative; display:flex; justify-content:space-between; gap:20px; align-items:center; font-weight:500; cursor:pointer;}
.fq .ic{flex:0 0 auto; width:26px; height:26px; position:relative;}
.fq .ic::before,.fq .ic::after{content:""; position:absolute; background:#fff; transition:transform .35s var(--ease-expo);}
.fq .ic::before{top:12px; left:5px; width:16px; height:1.5px;}
.fq .ic::after{top:5px; left:12px; width:1.5px; height:16px;}
.fitem.open .ic::after{transform:scaleY(0);}
.fa{max-height:0; overflow:hidden; transition:max-height .45s var(--ease-expo);}
.fa p{padding:0 40px 28px 0; font-size:14.5px; color:var(--silver);}

/* ---------- Contact ---------- */
.contact-in{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}
.contact h2{font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:0; font-size:clamp(2.2rem,5.4vw,4.4rem); margin-bottom:24px;}
.contact .clead{font-size:16px; max-width:420px; margin-bottom:36px;}
.cinfo{display:flex; flex-direction:column; gap:2px;}
.cline{display:flex; justify-content:space-between; padding:20px 0; border-top:1px solid var(--border); transition:padding .3s;}
.cline:hover{padding-left:10px;}
.cline .ck{font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--text-muted); font-family:"Space Grotesk",sans-serif;}
.cline .cv{font-family:"Space Grotesk",sans-serif; color:#fff; font-size:15px;}
@media (max-width:880px){ .contact-in{grid-template-columns:1fr; gap:40px;} }

.service-picker{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:8px;}
.service-picker button{padding:14px 10px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,0.02);
  color:var(--silver); font-family:"Space Grotesk",sans-serif; font-size:12px; cursor:pointer; transition:all .25s;}
.service-picker button.sel{border-color:var(--gold-bright); background:rgba(139,28,28,0.12); color:#fff;}
@media (max-width:640px){ .service-picker{grid-template-columns:1fr 1fr;} }
.field{margin-bottom:18px;}
.field label{display:block; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; font-family:"Space Grotesk",sans-serif;}
.field input, .field textarea{width:100%; background:rgba(255,255,255,0.03); border:1px solid var(--border); border-radius:12px;
  padding:14px 16px; color:#fff; font-family:"Inter",sans-serif; font-size:14px;}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--border-gold);}
.field textarea{resize:vertical; min-height:120px;}

/* ---------- Footer ---------- */
footer{position:relative; z-index:1; background:var(--bg); border-top:1px solid var(--border); padding:50px 0 110px;}
.foot-in{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.foot-links{display:flex; gap:26px; flex-wrap:wrap;} .foot-links a{font-size:13px; color:var(--silver-dim); font-family:"Space Grotesk",sans-serif;}
.foot-links a:hover{color:#fff;}
.foot-copy{font-size:12.5px; color:var(--text-muted);}
.foot-social{display:flex; gap:16px;}
.foot-social a{font-size:13px; color:var(--silver-dim);} .foot-social a:hover{color:#fff;}

/* ---------- Reveal ---------- */
.rv{opacity:0; transform:translateY(38px); filter:blur(8px); transition:opacity 1s var(--ease-expo),transform 1s var(--ease-expo),filter 1s var(--ease-expo);}
.rv.vis{opacity:1; transform:none; filter:none;}
.rv.d1{transition-delay:.08s;} .rv.d2{transition-delay:.16s;} .rv.d3{transition-delay:.24s;}
