/* ===========================================================
   marka Experience — shared design system
   Used by: about.html · contact.html · blog.html · compliance.html
   (index.html keeps its own inline styles; only nav/footer were synced)
   =========================================================== */

:root{
  --green:#0d2818;        /* deep bottle green */
  --green-deep:#071711;
  --green-mid:#13402a;
  --lime:#c4f000;         /* acid lime */
  --rgreen:#3fae6b;
  --coral:#ff5c39;        /* electric coral */
  --cream:#f3f1e7;
  --line:rgba(243,241,231,.16);
  --line-dark:rgba(13,40,24,.16);
  --display:"Anton", sans-serif;
  --serif:"Fraunces", serif;
  --body:"Archivo", sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:url('bg-verlauf.png') center top/cover no-repeat fixed,var(--green);color:var(--cream);overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;}

/* ===== CUSTOM CURSOR ===== */
.cur,.cur-dot{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;}
.cur{width:38px;height:38px;border:1.5px solid var(--lime);transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;}
.cur-dot{width:5px;height:5px;background:var(--lime);transform:translate(-50%,-50%);}
.cur.grow{width:84px;height:84px;background:rgba(196,240,0,.14);border-color:var(--lime);}
@media(hover:none){body{cursor:auto;}.cur,.cur-dot{display:none;}}

/* ===== GRAIN ===== */
.grain{position:fixed;inset:0;z-index:1;opacity:.06;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.wrap{max-width:1340px;margin:0 auto;padding:0 48px;}
section{position:relative;}

/* ===== SOUND TOGGLE ===== */
.sound{position:fixed;top:26px;right:30px;z-index:200;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:none;border:none;color:var(--cream);cursor:none;}
.bars{display:flex;align-items:flex-end;gap:2px;height:14px;}
.bars span{width:2px;background:var(--lime);height:4px;}
.sound.on .bars span{animation:bars .9s ease-in-out infinite;}
.bars span:nth-child(2){animation-delay:.15s;}.bars span:nth-child(3){animation-delay:.3s;}.bars span:nth-child(4){animation-delay:.45s;}
@keyframes bars{0%,100%{height:4px;}50%{height:14px;}}

/* ===== BRAND CLAIM ===== */
.brand-claim{position:fixed;top:26px;left:30px;z-index:200;font-family:var(--serif);font-style:italic;font-size:14px;letter-spacing:.02em;color:var(--cream);pointer-events:none;}
.brand-claim a{color:inherit;text-decoration:none;pointer-events:auto;cursor:none;}
.brand-claim::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:9px;vertical-align:middle;box-shadow:0 0 10px var(--lime);}
@media(max-width:880px){.brand-claim{display:none;}}
/* Echtes Logo oben links (Unterseiten) */
.brand-logo{position:fixed;top:20px;left:30px;z-index:200;line-height:0;}
.brand-logo img{height:30px;width:auto;display:block;filter:drop-shadow(0 2px 12px rgba(0,0,0,.35));transition:transform .3s ease,opacity .3s ease;}
.brand-logo:hover img{transform:translateY(-1px) scale(1.02);}
@media(max-width:880px){.brand-logo{top:16px;left:18px;} .brand-logo img{height:24px;}}

/* ===== NAV ===== */
nav{position:fixed;top:22px;left:0;width:100%;z-index:150;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 90px;}
nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);text-decoration:none;background:rgba(243,241,231,.07);backdrop-filter:blur(8px);padding:9px 16px;border-radius:30px;border:1px solid var(--line);cursor:none;transition:.3s;}
nav a:hover{background:var(--lime);border-color:var(--lime);color:var(--green);}
nav a.active{background:var(--lime);border-color:var(--lime);color:var(--green);}
@media(max-width:880px){nav{padding:0 16px;top:14px;gap:5px;}nav a{padding:7px 12px;font-size:10.5px;}}

/* ===== PAGE HERO ===== */
.page-hero{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding:24vh 0 12vh;overflow:hidden;
  background:linear-gradient(rgba(7,23,17,.30),rgba(7,23,17,.55)),url('bg-verlauf.png') center/cover no-repeat;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform;pointer-events:none;}
.hb1{width:560px;height:560px;background:radial-gradient(circle,rgba(196,240,0,.32),transparent 70%);top:-12%;left:-6%;}
.hb2{width:440px;height:440px;background:radial-gradient(circle,rgba(255,92,57,.30),transparent 70%);bottom:-18%;right:-8%;}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--lime);margin-bottom:30px;}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--lime);display:inline-block;}
.page-hero h1{font-family:var(--display);font-size:clamp(3.2rem,12vw,11rem);line-height:.82;letter-spacing:-.01em;text-transform:lowercase;position:relative;z-index:2;}
.page-hero h1 em{font-style:normal;color:var(--lime);}
.page-hero h1 .cyr{display:inline-block;color:var(--lime);text-transform:none;font-style:normal;transform:scaleX(-1);}
.hero-sub{margin-top:30px;max-width:54ch;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.6;color:rgba(243,241,231,.78);position:relative;z-index:2;}

/* reveal */
.reveal-up{opacity:0;transform:translateY(38px);}
.reveal-up.in{opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1);}

/* ===== GENERIC SECTIONS ===== */
.sec{padding:13vh 0;}
.sec-kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--lime);margin-bottom:22px;}
.sec h2{font-family:var(--display);font-size:clamp(2.2rem,7vw,5.5rem);line-height:.9;}
.sec h2 em{font-style:normal;color:var(--lime);}
.sec .lead{max-width:62ch;margin-top:30px;font-size:clamp(1.02rem,1.6vw,1.3rem);line-height:1.6;color:rgba(243,241,231,.8);}
.sec.on-lime{background:var(--lime);color:var(--green);}
.sec.on-lime .sec-kicker{color:var(--green);}
.sec.on-lime .lead{color:rgba(13,40,24,.78);}
.sec.on-cream{background:var(--cream);color:var(--green);}
.sec.on-cream .sec-kicker{color:var(--coral);}
.sec.on-cream .lead{color:rgba(13,40,24,.78);}
.sec.on-deep{background:var(--green-deep);}

.prose p{max-width:64ch;font-size:1.08rem;line-height:1.75;color:rgba(243,241,231,.82);margin-top:22px;}
.on-lime .prose p,.on-cream .prose p{color:rgba(13,40,24,.82);}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:12px;border:none;border-radius:50px;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:none;padding:18px 40px;text-decoration:none;transition:.3s;position:relative;overflow:hidden;}
.btn-lime{background:var(--lime);color:var(--green);}
.btn-lime:hover{background:var(--coral);color:var(--cream);}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid var(--line);}
.btn-ghost:hover{background:var(--cream);color:var(--green);border-color:var(--cream);}
.on-lime .btn-ghost,.on-cream .btn-ghost{color:var(--green);border-color:var(--line-dark);}
.on-lime .btn-ghost:hover,.on-cream .btn-ghost:hover{background:var(--green);color:var(--cream);border-color:var(--green);}
.btn-dark{background:var(--green);color:var(--cream);}
.btn-dark span{position:relative;z-index:2;transition:color .4s;}
.btn-dark::after{content:"";position:absolute;inset:0;background:var(--lime);transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.3,1);}
.btn-dark:hover span{color:var(--green);}
.btn-dark:hover::after{transform:translateY(0);}

/* ===== FOOTER ===== */
footer{background:var(--green-deep);color:rgba(243,241,231,.6);padding:40px 48px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;}
footer a{color:inherit;text-decoration:none;cursor:none;transition:color .3s;}
footer a:hover{color:var(--lime);}
footer a.legal-link{color:var(--lime);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(196,240,0,.55);}
footer a.legal-link:hover{color:var(--coral);text-decoration-color:var(--coral);}
footer .cyr-wink{color:var(--lime);text-transform:none;font-size:.95em;line-height:1;display:inline-block;vertical-align:baseline;}

/* ===== FOCUS / A11Y ===== */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px;}

@media(max-width:780px){
  .wrap{padding:0 24px;}
  footer{padding:32px 24px;}
  body{cursor:auto;}.cur,.cur-dot{display:none;}
  .page-hero{padding:20vh 0 10vh;}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .reveal-up{opacity:1;transform:none;}
}

/* ===== Journal — Artikelseiten ===== */
.post-hero .ph-tag{display:inline-block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--lime);color:var(--green);padding:5px 12px;border-radius:20px;}
.post-hero .ph-meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,241,231,.6);margin:18px 0 14px;}
.article{max-width:720px;margin:0 auto;}
.article .lead-para{font-size:1.25rem;line-height:1.7;color:var(--cream);margin-bottom:30px;}
.article p{font-size:1.08rem;line-height:1.8;color:rgba(243,241,231,.82);margin-bottom:22px;}
.article h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.2;margin:44px 0 16px;color:var(--cream);}
.article ul{margin:0 0 24px;padding:0;list-style:none;}
.article li{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.7;color:rgba(243,241,231,.82);}
.article li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--lime);}
.article blockquote{margin:34px 0;padding:4px 0 4px 26px;border-left:3px solid var(--lime);font-family:var(--serif);font-size:1.4rem;line-height:1.4;color:var(--cream);}
.article strong{color:var(--cream);}
.article a{color:var(--lime);text-decoration:underline;text-underline-offset:3px;cursor:none;}
.article .signoff{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:.95rem;line-height:1.6;color:rgba(243,241,231,.6);}
.back-journal{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);text-decoration:none;cursor:none;}
.back-journal:hover{color:var(--coral);}
