/* ═══════════════════════════════════════════
   LABRA MEDIA — SHARED STYLES
   ═══════════════════════════════════════════ */

/* RESET */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}

/* VARS */
:root{
  --red:#CC0000;--red2:#990000;
  --bg:#080808;--bg2:#111111;--bg3:#1a1a1a;
  --text:#EEEEEE;--muted:#888888;--muted2:rgba(255,255,255,.55);
  --border:rgba(255,255,255,0.07);
  --font:'Titillium Web',sans-serif;
}

body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:90px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,border-color .4s}
nav.scrolled{background:rgba(8,8,8,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.logo-img{height:50px;width:auto;display:block}
@keyframes blink{0%,89%,100%{opacity:1}94%{opacity:0}}
.nav-links{display:flex;gap:44px}
.nav-links a{font-size:15px;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:.03em;transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:#fff}
.nav-links a.on{border-bottom:1px solid var(--red);padding-bottom:2px}
.nav-cta{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.2);padding:12px 28px;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:all .25s}
.nav-cta:hover{background:var(--red);border-color:var(--red)}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;padding:8px}
.nav-burger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:36px;transform:translateX(100%);transition:transform .35s ease}
.mobile-menu.open{display:flex;transform:translateX(0)}
.mobile-menu a{font-size:34px;font-weight:700;letter-spacing:-.01em;transition:color .2s}
.mobile-menu a:hover{color:var(--red)}
.mobile-menu .mm-cta{background:var(--red);color:#fff;padding:16px 44px;font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;border:none;margin-top:8px}
.mobile-menu-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--muted);font-size:36px;line-height:1;padding:8px}

/* BUTTONS */
.btn-primary{background:var(--red);color:#fff;padding:18px 52px;font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;border:none;display:inline-block;transition:background .2s}
.btn-primary:hover{background:var(--red2)}
.btn-ghost{color:rgba(255,255,255,.65);font-weight:600;font-size:16px;letter-spacing:.03em;display:flex;align-items:center;gap:10px;transition:color .2s}
.btn-ghost:hover{color:#fff}

/* FOOTER */
footer{position:relative;z-index:10;padding:60px 80px 44px;display:grid;grid-template-columns:1fr auto 1fr;gap:80px;align-items:start;border-top:1px solid var(--border)}
.footer-logo-img{height:36px;width:auto;display:block;margin-bottom:16px;opacity:.85}
.footer-social{display:flex;gap:16px;margin-top:18px}
.footer-social a{color:var(--muted);transition:color .2s;display:flex;align-items:center}
.footer-social a:hover{color:#fff}
.footer-social svg{width:22px;height:22px;fill:currentColor}
.footer-tagline{font-size:15px;font-weight:300;color:var(--muted);line-height:1.7}
.footer-nav{display:flex;flex-direction:column;gap:14px}
.footer-nav a{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:.03em;transition:color .2s}
.footer-nav a:hover{color:var(--text)}
.footer-contact{text-align:right;grid-column:3;justify-self:end}
.footer-contact-col{text-align:right;grid-column:3;justify-self:end}
.footer-contact p,.footer-contact-col p{font-size:15px;font-weight:300;color:var(--muted);line-height:1.8}
.footer-contact a,.footer-contact-col a{color:var(--text);transition:color .2s}
.footer-contact a:hover,.footer-contact-col a:hover{color:var(--red)}
.footer-bottom{border-top:1px solid var(--border);padding:24px 80px;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:13px;color:var(--muted)}
.footer-links{display:flex;gap:28px}
.footer-links a{font-size:13px;color:var(--muted);transition:color .2s}
.footer-links a:hover{color:var(--text)}

/* NOISE */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");pointer-events:none;z-index:9990;opacity:.22}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}
.reveal-left{opacity:0;transform:translateX(-24px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.97);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal-scale.visible{opacity:1;transform:scale(1)}

/* EINMAL-ANIMATION (kein Replay beim Zurücknavigieren) */
.noanim .hero-title,
.noanim .hero-desc,
.noanim .hero-actions,
.noanim .hero-scroll,
.noanim .page-title,
.noanim .page-label,
.noanim .contact-label,
.noanim .contact-title,
.noanim .contact-sub,
.noanim .contact-info{animation:none!important;opacity:1!important;transform:none!important}
.noanim .reveal,.noanim .reveal-left,.noanim .reveal-scale{opacity:1!important;transform:none!important;transition:none!important}

/* ═══ REDUCED MOTION ═══ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ticker{animation:none!important}
  .scroll-line{animation:none!important;transform:scaleY(1)}
  .reveal,.reveal-left,.reveal-scale{opacity:1!important;transform:none!important}
}

/* ═══ TABLET ≤ 1100px ═══ */
@media(max-width:1100px){
  nav{padding:0 40px}
  footer{padding:56px 40px 40px;gap:48px}
  .footer-bottom{padding:20px 40px}
}

/* ═══ MOBILE ≤ 768px ═══ */
@media(max-width:768px){
  nav{padding:0 20px;height:64px;background:rgba(8,8,8,.98)!important;border-bottom:1px solid var(--border)}
  nav.scrolled{background:rgba(8,8,8,.98)!important}
  .nav-links{display:none!important}
  .nav-cta{display:none!important}
  .nav-burger{display:flex!important}
  .mobile-menu{display:flex;transform:translateX(100%)}
  .mobile-menu.open{transform:translateX(0)}
  .btn-primary{padding:17px 24px;font-size:14px;text-align:center;width:100%}
  footer{grid-template-columns:1fr!important;padding:48px 20px 36px;gap:36px}
  .footer-contact,.footer-contact-col{text-align:left;grid-column:1;justify-self:start}
  .footer-bottom{padding:18px 20px;flex-direction:column;gap:12px;text-align:center}
  .footer-links{gap:16px;flex-wrap:wrap;justify-content:center}
}

/* ═══ SEHR KLEIN ≤ 400px ═══ */
@media(max-width:400px){
  .mobile-menu a{font-size:28px!important}
}
