:root{
  --paper:#EFE6D3;--paper2:#E7DCC4;--paper3:#DFD3BC;
  --brown:#3D160D;--brown-x:#2A0F09;--brown-l:#6B2718;
  --teal:#3A7A8C;--teal-d:#245663;
  --gold:#C9A227;--gold-l:#E0BE55;
  --khaki:#C4A040;
  --muted:#6B5E4C;--cream:#F2EADA;
  --fd:'Archivo Black',sans-serif;--fq:'Instrument Serif',serif;--fb:'Jost',sans-serif;
  --nav:80px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--brown);font-family:var(--fb);font-weight:300;overflow-x:hidden;cursor:none;}
:fullscreen{cursor:auto !important;}:-webkit-full-screen{cursor:auto !important;}:-moz-full-screen{cursor:auto !important;}video:fullscreen{cursor:auto !important;}video:-webkit-full-screen{cursor:auto !important;}
/* Papierkorn — oberste, feinste Schicht */
body::before{content:'';position:fixed;inset:0;z-index:950;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:260px;}
::selection{background:var(--gold);color:var(--brown-x);}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
img,video{max-width:100%;}

/* ═ EBENE 1 (hinten): Papier-Risse, quasi fixiert ═ */
#kbg{position:fixed;inset:0;z-index:1;pointer-events:none;}
main,nav,footer{position:relative;z-index:2;}
/* ═ EBENE 2 (mitte): Farbflächen — schweben sichtbar über dem Papier ═ */
.ksec{position:relative;overflow:hidden;
  box-shadow:0 28px 54px -22px rgba(42,15,9,.42),0 -28px 54px -22px rgba(42,15,9,.34);}
.ksec::before{content:'';position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 34px 80px rgba(0,0,0,.26),inset 0 -34px 80px rgba(0,0,0,.22);}
.ksec>canvas.kcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.ksec>*:not(canvas){position:relative;z-index:1;}
/* Cursor-Anpassung: auf Senf dunkel, sonst gold */
body.curk #cur{background:var(--brown-x);}
body.curk #cur-r::before{border-color:rgba(42,15,9,.68);border-top-color:transparent;}

/* CURSOR — Gold-Punkt + Orbit-Ring (Lichtquelle des Glow-Systems) */
#cur{position:fixed;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%);}
#cur-r{position:fixed;width:34px;height:34px;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%);}
#cur-r::before{content:'';position:absolute;inset:0;border:1.5px solid rgba(201,162,39,.62);border-radius:50%;border-top-color:transparent;animation:orbit 3.4s linear infinite;transition:transform .28s,border-color .28s;}
#cur-r.big::before{transform:scale(1.5);border-color:rgba(58,122,140,.8);border-top-color:transparent;}
@keyframes orbit{to{transform:rotate(360deg)}}

/* NAV */
body.admin-bar nav{top:32px;}
@media(max-width:782px){body.admin-bar nav{top:0;}}
nav{position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 60px;transition:background .4s,box-shadow .4s,border .4s;}
nav.sc{background:rgba(239,230,211,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(61,22,13,.12);box-shadow:0 2px 24px rgba(42,15,9,.06);}
.n-logo{font-family:var(--fd);font-size:16px;letter-spacing:.1em;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:12px;transition:color .4s;}
.n-mark{height:28px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(20,10,5,.3));}
.n-logo .n-name{font-family:var(--fb);font-weight:400;font-size:13px;letter-spacing:.1em;opacity:.8;}
.n-logo .n-name b{color:var(--gold-l);font-weight:500;}
.n-logo .n-sub{font-weight:400;opacity:.68;}
@media(max-width:1200px){.n-logo .n-sub{display:none;}}
nav.sc .n-logo{color:var(--brown);}
nav.sc .n-logo .n-name b{color:var(--gold);}
.n-links{display:flex;align-items:center;gap:36px;list-style:none;}
.n-links a{position:relative;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,234,218,.7);text-decoration:none;transition:color .35s;}
.n-links a::after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease;}
.n-links a:hover::after,.n-links a.on::after{transform:scaleX(1);transform-origin:left;}
.n-links a:hover,.n-links a.on{color:var(--gold-l);}
nav.sc .n-links a{color:var(--muted);}
nav.sc .n-links a:hover,nav.sc .n-links a.on{color:var(--brown-l);}
.n-langswitch{display:flex;align-items:center;gap:7px;margin-left:32px;padding-left:24px;border-left:1px solid rgba(242,234,218,.22);}
.n-langswitch a{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,234,218,.4);text-decoration:none;transition:color .3s,text-shadow .3s;}
.n-langswitch a.on{color:var(--gold-l);text-shadow:0 0 14px rgba(224,190,85,.55);}
.n-langswitch a:hover{color:var(--gold-l);}
.n-langswitch span{color:rgba(242,234,218,.28);font-size:10px;}
nav.sc .n-langswitch{border-left-color:rgba(61,22,13,.15);}
nav.sc .n-langswitch a{color:var(--muted);}
nav.sc .n-langswitch a.on{color:var(--gold-d, var(--gold));text-shadow:none;}
nav.sc .n-langswitch a:hover{color:var(--brown-l);}
nav.sc .n-langswitch span{color:rgba(61,22,13,.25);}
.n-langswitch.mob{border-left:none;margin-left:0;padding-left:0;justify-content:center;margin-top:34px;padding-top:26px;border-top:1px solid rgba(61,22,13,.15);gap:10px;}
.n-langswitch.mob a{font-family:var(--fb);font-size:15px;font-weight:600;letter-spacing:.12em;opacity:1;transform:none;animation:none;color:rgba(61,22,13,.4);}
.n-langswitch.mob a.on{color:var(--gold-d, var(--gold));}
.n-langswitch.mob a::after{display:none;}
.n-langswitch.mob span{font-size:14px;color:rgba(61,22,13,.3);}
.n-cta{font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--brown-l);border:none;padding:13px 26px;text-decoration:none;transition:background .3s,letter-spacing .3s;}
.n-cta:hover{background:var(--brown);letter-spacing:.28em;}
.n-burger{display:none;flex-direction:column;gap:5px;padding:6px;background:none;border:none;}
.n-burger span{display:block;width:24px;height:2px;background:var(--cream);transition:all .3s;}
nav.sc .n-burger span{background:var(--brown);}
.n-mobile-bar{display:none;align-items:center;gap:16px;}
.n-lang-mobile{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.1em;text-decoration:none;color:var(--cream);transition:color .3s;}
nav.sc .n-lang-mobile{color:var(--brown);}
body.top-light nav:not(.sc) .n-lang-mobile{color:var(--brown);}
@media(max-width:900px){.n-mobile-bar{display:flex;}}
/* Seiten ohne dunklen Hero (z.B. Work/Services) tragen body.top-light —
   Nav-Text startet dann sofort in der "scrolled"-Farbwelt statt cremeweiß-auf-hell zu verschwinden. */
body.top-light nav:not(.sc) .n-logo{color:var(--brown);}
body.top-light nav:not(.sc) .n-logo .n-name b{color:var(--gold);}
body.top-light nav:not(.sc) .n-links a{color:var(--muted);}
body.top-light nav:not(.sc) .n-links a:hover,body.top-light nav:not(.sc) .n-links a.on{color:var(--brown-l);}
body.top-light nav:not(.sc) .n-burger span{background:var(--brown);}
body.top-light nav:not(.sc) .n-langswitch{border-left-color:rgba(61,22,13,.15);}
body.top-light nav:not(.sc) .n-langswitch a{color:var(--muted);}
body.top-light nav:not(.sc) .n-langswitch a.on{color:var(--gold-d, var(--gold));text-shadow:none;}
body.top-light nav:not(.sc) .n-langswitch a:hover{color:var(--brown-l);}
body.top-light nav:not(.sc) .n-langswitch span{color:rgba(61,22,13,.25);}
.mob-menu{display:none;position:fixed;inset:0;background:var(--paper);z-index:600;flex-direction:column;align-items:center;justify-content:safe center;gap:26px;overflow-y:auto;padding:88px 26px 40px;}
.mob-menu.open{display:flex;}
.mob-menu.ksec::before{box-shadow:inset 0 0 140px rgba(42,15,9,.15);}
.mm-lbl{font-size:10px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--teal-d);display:flex;align-items:center;gap:12px;margin-bottom:2px;opacity:0;animation:mmRise .5s ease forwards;animation-delay:.02s;}
.mm-lbl::before,.mm-lbl::after{content:'';display:block;width:20px;height:1px;background:var(--gold);}
.mob-menu a{position:relative;font-family:var(--fd);font-size:clamp(25px,6.2vw,42px);color:var(--brown);text-decoration:none;letter-spacing:.02em;opacity:0;transform:translateY(14px);animation:mmRise .55s cubic-bezier(.2,.6,.2,1) forwards;}
.mob-menu a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease;}
.mob-menu a:hover{color:var(--teal-d);}
.mob-menu a:hover::after,.mob-menu a.on::after{transform:scaleX(1);transform-origin:left;}
.mob-menu a.on{color:var(--gold-d);}
.mob-menu a:nth-of-type(1){animation-delay:.08s;}
.mob-menu a:nth-of-type(2){animation-delay:.15s;}
.mob-menu a:nth-of-type(3){animation-delay:.22s;}
.mob-menu a:nth-of-type(4){animation-delay:.29s;}
.mob-menu .mob-cta{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--brown-l);padding:16px 40px;margin-top:10px;border:1px solid rgba(201,162,39,.4);opacity:0;transform:translateY(14px);animation:mmRise .55s cubic-bezier(.2,.6,.2,1) forwards;animation-delay:.36s;}
.mob-menu .mob-cta:hover{background:var(--brown);}
@keyframes mmRise{to{opacity:1;transform:none}}
.mob-menu .mob-close{position:absolute;top:26px;right:26px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--muted);background:none;border:1px solid rgba(61,22,13,.18);border-radius:50%;line-height:1;transition:border-color .3s,color .3s,transform .3s;}
.mob-menu .mob-close:hover{border-color:var(--gold);color:var(--brown-l);transform:rotate(90deg);}

/* HERO — Video-Bühne; Höhe wächst mit, Nav-Überlappung behoben */
.hero{position:relative;min-height:calc(100svh - 60px);display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--nav) + 34px) 60px 80px;overflow:hidden;background:var(--brown-x);--h-focus:50% 50%;}
/* --h-focus = Fokuspunkt des Hero-Videos beim Zuschnitt (object-position), z.B. "50% 30%"
   um mehr vom oberen Bildbereich zu zeigen. Erst final einstellbar, sobald das echte
   4:3-Rohmaterial da ist — Mobil unten separat, weil der Ausschnitt dort viel schmaler/höher ist. */
.h-fallback{position:absolute;inset:0;background:
  radial-gradient(ellipse at 72% 30%,rgba(201,162,39,.16) 0%,transparent 46%),
  radial-gradient(ellipse at 18% 78%,rgba(58,122,140,.14) 0%,transparent 42%),
  linear-gradient(165deg,#20100A 0%,#33170D 52%,#180C07 100%);}
/* HERO-VIDEO: <source src="hero.mp4" type="video/mp4"> im <video> unten einkommentieren */
.h-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--h-focus);opacity:0;transition:opacity 1.4s ease;}
.h-video.live{opacity:1;}
.h-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,12,7,.86) 0%,rgba(24,12,7,.32) 46%,rgba(24,12,7,.22) 100%);}
.h-c{position:relative;z-index:2;max-width:920px;will-change:transform;}
.h-c>*{opacity:0;transform:translateY(30px);animation:rise .9s cubic-bezier(.19,.66,.22,1) forwards;}
.h-c>*:nth-child(2){animation-delay:.14s}.h-c>*:nth-child(3){animation-delay:.3s}.h-c>*:nth-child(4){animation-delay:.46s}
@keyframes rise{to{opacity:1;transform:none}}
.h-tag{font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-l);margin-bottom:26px;display:flex;align-items:center;gap:14px;}
.h-tag::before{content:'';display:block;width:42px;height:1.5px;background:var(--gold);}
h1.h-ttl{font-family:var(--fd);font-size:clamp(34px,5.7vw,82px);line-height:1.04;letter-spacing:.005em;color:var(--cream);margin-bottom:30px;text-transform:uppercase;}
h1.h-ttl .tl{color:var(--gold-l);}
.h-sub{font-size:15px;font-weight:300;line-height:1.85;color:rgba(242,234,218,.74);max-width:460px;margin-bottom:44px;}
.h-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.h-vert{position:absolute;right:60px;bottom:88px;z-index:2;}
.h-vt{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(242,234,218,.4);writing-mode:vertical-rl;transform:rotate(180deg);}
.scroll-dot{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:sp 2s ease-in-out infinite;}
@keyframes sp{0%,100%{opacity:.3;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(5px)}}

/* BUTTONS */
.btn-p{display:inline-block;font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brown-x);background:var(--gold);padding:16px 36px;text-decoration:none;border:none;transition:background .3s,letter-spacing .3s;}
.btn-p:hover{background:var(--gold-l);letter-spacing:.3em;}
.btn-g{display:inline-block;font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);background:transparent;padding:16px 36px;text-decoration:none;border:1px solid rgba(242,234,218,.3);transition:all .3s;}
.btn-g:hover{border-color:var(--gold);color:var(--gold-l);}
.btn-g-dk{display:inline-block;font-family:var(--fb);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brown);background:transparent;padding:15px 34px;text-decoration:none;border:1px solid rgba(61,22,13,.25);transition:all .3s;}
.btn-g-dk:hover{border-color:var(--teal);color:var(--teal-d);}

/* STATEMENT — Braunfläche (eigene Riss-Ebene) */
.stmt{background:linear-gradient(160deg,var(--brown-x) 0%,#33140B 60%,var(--brown-x) 100%);padding:128px 60px;text-align:center;}
.stmt-q{font-family:var(--fq);font-style:italic;font-size:clamp(26px,3.8vw,52px);font-weight:400;line-height:1.35;color:var(--cream);max-width:860px;margin:0 auto;}
.stmt-q b{color:var(--gold-l);font-weight:400;}
.stmt-sub{margin-top:30px;font-family:var(--fb);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:rgba(242,234,218,.5);}

/* SECTIONS */
section{padding:120px 60px;}
.s-lbl{font-size:10.5px;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:var(--teal-d);margin-bottom:20px;display:flex;align-items:center;gap:13px;}
.s-lbl::before{content:'';display:block;width:28px;height:1.5px;background:var(--gold);}
.on-dark .s-lbl{color:var(--gold-l);}
.on-dark .s-lbl::before{background:var(--gold-l);}
h1.s-h,h2.s-h{font-family:var(--fd);font-size:clamp(28px,3.9vw,54px);line-height:1.06;color:var(--brown);margin-bottom:22px;text-transform:uppercase;letter-spacing:.005em;}
h1.s-h .tl,h2.s-h .tl{color:var(--teal-d);}
.on-dark h1.s-h,.on-dark h2.s-h{color:var(--cream);}
.on-dark h1.s-h .tl,.on-dark h2.s-h .tl{color:var(--gold-l);}
.s-sub{font-size:14px;font-weight:300;line-height:1.9;color:var(--muted);max-width:520px;}
.on-dark .s-sub{color:rgba(242,234,218,.66);}

/* WORK GRID — 4:3 Default */
/* MASONRY wie im Work-Grid: Spalten statt starrer Grid-Zellen, jede Kachel
   behält das Format ihres eigenen Bildes (kein erzwungenes Cropping). */
.p-grid{columns:3;column-gap:4px;margin-top:60px;}
.p-item{position:relative;display:block;width:100%;break-inside:avoid;margin-bottom:4px;overflow:hidden;background:var(--paper3);}
.p-ph{position:relative;display:block;width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.6,.2,1),filter .65s;}
.p-ph.p-ph-ph{aspect-ratio:var(--phr,4/3);display:flex;align-items:center;justify-content:center;}
.p-ov{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(42,15,9,.94) 0%,transparent 55%);opacity:0;transition:opacity .45s;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;}
.p-item:hover .p-ov{opacity:1;}
.p-item:hover .p-ph{transform:scale(1.05);filter:saturate(1.1);}
.p-cat{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-l);margin-bottom:7px;}
.p-ttl{font-family:var(--fq);font-style:italic;font-size:23px;color:var(--cream);}
.ph-txt{font-family:var(--fb);font-size:10.5px;letter-spacing:.3em;color:rgba(61,22,13,.35);text-transform:uppercase;text-align:center;padding:0 12px;}
.dkph .ph-txt{color:rgba(242,234,218,.28);}

/* MARQUEE */
.mq{overflow:hidden;border-top:1px solid rgba(61,22,13,.12);border-bottom:1px solid rgba(61,22,13,.12);padding:22px 0;}
.mq-track{display:flex;gap:70px;width:max-content;animation:mq 42s linear infinite;}
.mq span{font-family:var(--fq);font-style:italic;font-size:21px;color:var(--brown-l);white-space:nowrap;display:flex;align-items:center;gap:70px;}
.mq b{font-family:var(--fb);font-style:normal;font-weight:500;color:var(--teal);font-size:12px;letter-spacing:.1em;}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SERVICES — Teal-Fläche (eigene Riss-Ebene) */
.svc{background:var(--teal-d);}
.sv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:60px;border:1px solid rgba(242,234,218,.14);}
.sv-card{padding:48px 36px;background:rgba(36,86,99,.55);border-bottom:3px solid transparent;transition:all .35s;display:block;text-decoration:none;}
.sv-card:hover{background:rgba(24,66,78,.9);border-bottom-color:var(--gold);transform:translateY(-3px);}
.sv-n{font-family:var(--fd);font-size:44px;color:rgba(224,190,85,.4);line-height:1;margin-bottom:24px;}
.sv-t{font-family:var(--fd);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin-bottom:15px;}
.sv-d{font-size:13px;line-height:1.85;color:rgba(242,234,218,.66);}
.sv-arr{display:inline-block;margin-top:24px;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--gold-l);text-transform:uppercase;transition:letter-spacing .3s;}
.sv-card:hover .sv-arr{letter-spacing:.3em;}

/* ABOUT TEASER */
.at{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center;}
.at-img{position:relative;}
.at-img-ph{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:linear-gradient(150deg,#33170D,#4A2213);}
/* Platzhalter-Vorschau, 4:5 nur bis ein echtes <img> ohne aspect-ratio eingesetzt wird — dann zählt dessen eigenes Format. */
.at-frame{position:absolute;top:-18px;right:-18px;bottom:18px;left:18px;border:1.5px solid rgba(58,122,140,.45);pointer-events:none;}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:46px;border:1px solid rgba(61,22,13,.14);}
.st-i{padding:24px;background:rgba(231,220,196,.65);}
.st-n{font-family:var(--fd);font-size:30px;color:var(--brown-l);line-height:1;}
.st-l{font-size:11px;letter-spacing:.13em;color:var(--muted);margin-top:6px;}

/* CTA BAND — Senf (eigene Riss-Ebene) */
.cta-b{background:var(--khaki);text-align:center;padding:104px 60px;}
.cta-b .s-lbl{color:rgba(42,15,9,.6);justify-content:center;margin-bottom:16px;}
.cta-b .s-lbl::before{background:rgba(42,15,9,.35);}
.cta-b h2{font-family:var(--fd);font-size:clamp(26px,3.4vw,48px);line-height:1.08;color:var(--brown-x);margin:0 auto 16px;max-width:680px;text-transform:uppercase;}
.cta-b h2 .tl{color:var(--teal-d);}
.cta-b p{font-family:var(--fq);font-style:italic;font-size:17px;color:rgba(42,15,9,.68);margin:0 auto 40px;max-width:480px;line-height:1.7;}
.cta-b .btn-p{background:var(--brown-x);color:var(--cream);}
.cta-b .btn-p:hover{background:var(--brown-l);}

/* ═ EBENE 3 (vorne): Fibonacci-Spirale, größer, korrekt orientiert ═ */
#fib{position:fixed;right:30px;bottom:30px;z-index:700;width:92px;height:92px;pointer-events:none;overflow:visible;filter:drop-shadow(0 2px 8px rgba(42,15,9,.18));}
#fib path{stroke:var(--teal);stroke-width:2.2;fill:none;}
#fib circle{fill:var(--gold);}

/* FOOTER */
footer{padding:40px 60px;border-top:1px solid rgba(61,22,13,.12);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;background:var(--paper2);}
footer{padding:40px 150px 40px 60px;}
.f-brand{display:flex;align-items:center;gap:18px;}
.f-logo{display:flex;align-items:center;}
.f-mark{height:36px;width:auto;display:block;filter:drop-shadow(0 1px 1px rgba(20,10,5,.2));}
.f-links{display:flex;gap:28px;list-style:none;}
.f-links a{font-size:11px;letter-spacing:.14em;color:var(--muted);text-decoration:none;transition:color .3s;}
.f-links a:hover{color:var(--teal-d);}
.f-copy{font-size:11px;color:rgba(107,94,76,.6);letter-spacing:.1em;}

/* REVEAL */
.rv{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.6,.2,1);}
.rv.vis{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .mq-track{animation:none;}
  .rv{opacity:1 !important;transform:none !important;}
  .h-c>*{animation-duration:.01s !important;}
  #cur-r::before{animation:none;}
  html{scroll-behavior:auto;}
}

/* MOBILE */
.actdir-grid{max-width:1360px;margin:0 auto;}
.actdir-grid::after{content:'';display:block;clear:both;}
.actdir-headline{margin-bottom:20px;}
.actdir-quote{border-left:3px solid var(--gold);padding-left:22px;margin:44px 0;max-width:640px;}
.actdir-quote p{font-family:var(--fb);font-weight:500;font-size:16px;line-height:1.7;color:var(--brown);}
.actdir-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:44px;max-width:640px;}
.actdir-pillar svg{width:24px;height:24px;color:var(--gold);margin-bottom:12px;display:block;}
.actdir-pillar svg.actdir-icon-wide{width:auto;height:auto;max-width:42px;max-height:42px;color:var(--gold);}
.actdir-pillar-t{font-family:var(--fd);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d);margin-bottom:8px;}
.actdir-pillar p{font-size:12.5px;line-height:1.7;color:var(--muted);}
.actdir-tags{border-top:1px solid rgba(61,22,13,.12);padding-top:28px;max-width:640px;}
.actdir-tags .s-lbl{margin-bottom:14px;}
.actdir-tags-list{display:flex;flex-wrap:wrap;font-size:12px;letter-spacing:.03em;color:var(--brown);font-weight:600;}
.actdir-tags-list span{padding:0 14px;position:relative;}
.actdir-tags-list span:first-child{padding-left:0;}
.actdir-tags-list span:not(:last-child)::after{content:'|';position:absolute;right:-1px;color:rgba(61,22,13,.3);}

.actdir-media{float:right;width:620px;max-width:48%;margin:-165px 0 32px 48px;display:grid;grid-template-columns:1fr;gap:3px;}
.actdir-media video,.actdir-media img{width:100%;display:block;}
@media(max-width:900px){
  nav{padding:0 26px;}
  .n-links,.n-cta{display:none;}
  nav>.n-langswitch{display:none;}
  .n-mobile-bar .n-langswitch{display:flex;margin-left:0;padding-left:14px;gap:6px;}
  .n-burger{display:flex;}
  .n-logo .n-name{display:none;}
  section{padding:84px 26px;}
  .hero{padding:calc(var(--nav) + 26px) 26px 64px;--h-focus:78% 50%;} /* Fokuspunkt Mobil: rechts-lastig, da die Action im rechten Bildteil passiert */
  .h-vert{display:none;}
  .stmt{padding:96px 26px;}
  .p-grid{columns:2;column-gap:3px;}
  .sv-grid{grid-template-columns:1fr 1fr;}
  .at{grid-template-columns:1fr;gap:44px;}
  .actdir-headline{margin-bottom:18px;}
  .actdir-media{width:48%;max-width:none;margin:0 0 20px 20px;}
  .actdir-pillars{grid-template-columns:1fr;gap:22px;}
  .actdir-tags-list span{padding:0 10px 8px 0;}
  .actdir-tags-list span:not(:last-child)::after{right:2px;}
  
  .cta-b{padding:76px 26px;}
  #fib{right:18px;bottom:18px;width:64px;height:64px;}
  footer{padding:32px 26px;}
}
@media(max-width:540px){
  h1.h-ttl{font-size:clamp(28px,9vw,48px);}
  .p-grid,.sv-grid{grid-template-columns:1fr;}
  .h-actions{flex-direction:column;align-items:stretch;}
  .h-actions .btn-p,.h-actions .btn-g,.h-actions .btn-g-dk{display:block;width:100%;text-align:center;}
}
@media(hover:none){#cur,#cur-r{display:none;}body{cursor:auto;}}
