/* ============ N-WEAR — Landing Page ============ */

:root{
  --black: #0a0a0a;
  --near-black: #111113;
  --panel: #16161a;
  --line: rgba(255,255,255,.12);
  --white: #f5f5f5;
  --grey: #9a9a9e;
  --grey-dim: #6b6b70;
  --silver-1: #f5f5f5;
  --silver-2: #8a8a8a;
  --max-w: 1180px;
  --gutter: 24px;
  --ff: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:var(--ff);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }

.container{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 var(--gutter);
}

#top, #marke, #qualitaet, #kontakt{ scroll-margin-top:90px; }

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

a{ color:inherit; text-decoration:none; }

.eyebrow{
  display:block;
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--grey);
  margin-bottom:14px;
}

h1,h2,h3{
  font-weight:600;
  letter-spacing:.01em;
  margin:0;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 26px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  border-radius:2px;
  transition:all .25s ease;
  cursor:pointer;
  border:1px solid var(--white);
  background:transparent;
  white-space:nowrap;
}
.btn .arrow{ transition:transform .25s ease; }
.btn:hover .arrow{ transform:translateX(4px); }
.btn-outline{ color:var(--white); border-color:rgba(255,255,255,.55); }
.btn-outline:hover{ background:var(--white); color:var(--black); border-color:var(--white); }
.btn-solid{ background:var(--white); color:var(--black); border-color:var(--white); }
.btn-solid:hover{ background:transparent; color:var(--white); }

/* ============ HEADER ============ */
.site-header{
  position:fixed; top:0; left:0; right:0;
  z-index:100;
  background:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,0));
  backdrop-filter:blur(2px);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.logo{ display:flex; align-items:center; gap:10px; }
.logo-mark{ width:24px; height:24px; object-fit:contain; }
.logo-word{
  font-size:16px; font-weight:700;
  letter-spacing:.22em;
}
.main-nav{ display:flex; gap:40px; }
.main-nav a{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--grey); padding:6px 0; position:relative;
  transition:color .2s ease;
}
.main-nav a:hover, .main-nav a.active{ color:var(--white); }
.main-nav a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-6px;
  height:1px; background:var(--white);
}
.header-icons{ display:flex; align-items:center; gap:18px; }
.icon-btn{
  background:none; border:0; color:var(--white); cursor:pointer;
  width:20px; height:20px; padding:0; display:flex; align-items:center; justify-content:center;
}
.icon-btn img{ width:100%; height:100%; object-fit:contain; }
.menu-toggle{ display:none; }

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  text-align:center;
}
.hero-slides{ position:absolute; inset:0; }
.hero-slide{
  position:absolute; inset:0;
  background-image:
    radial-gradient(ellipse 60% 50% at 20% 30%, rgba(255,255,255,.05), transparent 60%),
    radial-gradient(ellipse 50% 60% at 85% 70%, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(120deg, rgba(5,5,5,.55) 0%, rgba(10,10,10,.25) 45%, rgba(10,10,10,.6) 100%),
    var(--hero-photo);
  background-size:cover;
  background-position:center 25%;
  filter:contrast(1.08) brightness(.78) saturate(.92);
  transform:scale(1.04);
  opacity:0;
  transition:opacity 1.4s ease;
}
.hero-slide.active{
  opacity:1;
  animation:heroKenburns 9s ease-in-out infinite alternate;
}
@keyframes heroKenburns{
  from{ transform:scale(1.04); }
  to{ transform:scale(1.12); }
}
.hero-slide::after{
  content:'';
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(100deg, rgba(255,255,255,.025) 0px, rgba(255,255,255,.025) 1px, transparent 1px, transparent 90px),
    repeating-linear-gradient(10deg, rgba(255,255,255,.02) 0px, rgba(255,255,255,.02) 1px, transparent 1px, transparent 70px);
}
.hero-smoke{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  mix-blend-mode:screen;
  opacity:.35;
  pointer-events:none;
}
.hero-vignette{
  position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 70% at 50% 50%, transparent 40%, rgba(0,0,0,.65) 100%);
  pointer-events:none;
}
.hero-content{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center;
}
.hero-mark{ width:88px; height:88px; object-fit:contain; margin-bottom:14px; }
.hero-word{
  font-size:clamp(38px, 7vw, 74px);
  letter-spacing:.14em;
  line-height:1;
}
.hero-tagline{
  margin:22px 0 34px;
  font-size:clamp(13px, 1.6vw, 16px);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--grey);
  line-height:1.7;
  min-height:2.4em;
  transition:opacity .3s ease;
}
.hero-side-text{
  position:absolute; right:40px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:26px;
  z-index:2;
}
.hero-side-text span{
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--grey-dim);
  writing-mode:vertical-rl;
}
.hero-dots{
  position:absolute; left:40px; bottom:40px; z-index:2;
  display:flex; gap:22px;
}
.dot{
  background:none; border:0; cursor:pointer;
  font-size:11px; letter-spacing:.1em;
  color:var(--grey-dim);
  padding:4px 0; position:relative;
}
.dot.active{ color:var(--white); }
.dot.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:var(--white);
}

/* ============ FEATURES ============ */
.features{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--near-black);
}
.features-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
}
.feature{
  padding:52px 28px;
  text-align:center;
  border-right:1px solid var(--line);
}
.feature:last-child{ border-right:0; }
.feature img{
  width:52px; height:auto; margin-bottom:20px; border-radius:10px;
}
.feature h3{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px;
}
.feature p{
  font-size:13px; color:var(--grey); line-height:1.6; margin:0;
}

/* ============ BRAND STORY ============ */
.brand-story{ padding:110px 0; }
.brand-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.brand-text h2{
  font-size:clamp(26px, 3.4vw, 38px);
  line-height:1.25;
  margin-bottom:22px;
  max-width:9ch;
}
.brand-text p{
  color:var(--grey);
  font-size:14.5px;
  line-height:1.85;
  max-width:46ch;
  margin-bottom:34px;
}
.brand-visual{
  position:relative; aspect-ratio:4/5; border-radius:4px; overflow:hidden;
  background:#0c0c0d;
  box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
.brand-visual img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}

/* ============ COMING SOON ============ */
.coming-soon{
  position:relative;
  padding:140px 0;
  text-align:center;
  overflow:hidden;
}
.mountain-photo{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:contrast(1.08) brightness(.8) saturate(.9);
  transform:scale(1.03);
}
.mountain-bg{
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(6,6,8,.25), rgba(4,4,5,.8) 65%, #050506 100%),
    linear-gradient(160deg, rgba(26,28,34,.35) 0%, rgba(10,11,13,.5) 55%, rgba(22,24,29,.35) 100%);
}
.coming-soon-content{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.cs-mark{ width:64px; height:64px; object-fit:contain; margin-bottom:12px; }
.cs-word{
  font-size:clamp(28px,5vw,46px);
  letter-spacing:.14em; font-weight:700; margin-bottom:26px;
}
.coming-soon-content p{
  color:var(--grey); font-size:14px; line-height:1.8; max-width:44ch;
  margin:0 0 36px;
}
.cs-form{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.cs-form input{
  background:transparent;
  border:1px solid rgba(255,255,255,.3);
  border-radius:2px;
  padding:14px 18px;
  color:var(--white);
  font-family:var(--ff);
  font-size:13px;
  min-width:260px;
}
.cs-form input::placeholder{ color:var(--grey-dim); }
.cs-form input:focus{ outline:none; border-color:var(--white); }
.form-note{ margin-top:16px; font-size:12px; color:var(--grey); min-height:1em; }

/* ============ TEASER ============ */
.teaser{ padding:110px 0; }
.teaser-inner{
  display:grid; grid-template-columns:.9fr 2fr; gap:50px; align-items:center;
}
.teaser-text h2{
  font-size:clamp(24px,3vw,32px); line-height:1.3; margin-bottom:22px; max-width:9ch;
}
.teaser-text ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.teaser-text li{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey);
}
.teaser-images{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.teaser-img{
  position:relative; aspect-ratio:3/4; border-radius:4px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding:22px;
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.05), transparent 60%),
    url('assets/textures/textur-stoff-dunkel.png');
  background-size:cover;
  background-position:center;
  box-shadow:0 16px 40px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.06);
  transition:transform .3s ease;
}
.teaser-img:hover{ transform:translateY(-4px); }
.teaser-img img{
  width:100%; height:100%; object-fit:contain; object-position:center;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.5));
}
.teaser-label{
  position:absolute; left:12px; right:12px; bottom:12px;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--grey);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ============ NEWSLETTER ============ */
.newsletter{
  border-top:1px solid var(--line);
  padding:100px 0;
  text-align:center;
}
.newsletter h2{ font-size:clamp(24px,3vw,32px); margin:0 0 14px; }
.newsletter-inner p{ color:var(--grey); font-size:14px; margin:0 0 34px; }
.nl-form{
  display:flex; max-width:420px; margin:0 auto;
  border:1px solid rgba(255,255,255,.3); border-radius:2px; overflow:hidden;
}
.nl-form input{
  flex:1; background:transparent; border:0; padding:15px 18px;
  color:var(--white); font-family:var(--ff); font-size:13px;
}
.nl-form input::placeholder{ color:var(--grey-dim); }
.nl-form input:focus{ outline:none; }
.nl-form button{
  background:var(--white); border:0; width:52px; cursor:pointer;
  color:var(--black); display:flex; align-items:center; justify-content:center;
  transition:opacity .2s ease;
}
.nl-form button:hover{ opacity:.8; }
.nl-form button svg{ width:18px; height:18px; }

/* ============ FOOTER ============ */
.site-footer{
  border-top:1px solid var(--line);
  padding:44px 0;
}
.footer-inner{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px;
}
.footer-logo .logo-word{ font-size:14px; }
.footer-links{ display:flex; gap:26px; }
.footer-links a{
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--grey);
  transition:color .2s ease;
}
.footer-links a:hover{ color:var(--white); }
.footer-social{ display:flex; gap:16px; }
.footer-social a{ width:18px; height:18px; opacity:.65; transition:opacity .2s ease; }
.footer-social a:hover{ opacity:1; }
.footer-social img{ width:100%; height:100%; object-fit:contain; }
.footer-bottom{
  display:flex; align-items:center; gap:30px;
  font-size:11px; color:var(--grey-dim);
  letter-spacing:.03em;
  text-align:right;
}
.footer-standard{
  text-transform:uppercase; letter-spacing:.15em; font-size:10px; line-height:1.6;
}

/* ============ SCROLL REVEAL ============ */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.features-grid .feature:nth-child(1){ transition-delay:0ms; }
.features-grid .feature:nth-child(2){ transition-delay:90ms; }
.features-grid .feature:nth-child(3){ transition-delay:180ms; }
.features-grid .feature:nth-child(4){ transition-delay:270ms; }
.teaser-images .teaser-img:nth-child(1){ transition-delay:0ms; }
.teaser-images .teaser-img:nth-child(2){ transition-delay:110ms; }
.teaser-images .teaser-img:nth-child(3){ transition-delay:220ms; }

.feature img{ transition:transform .3s ease; }
.feature:hover img{ transform:translateY(-4px) scale(1.06); }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-slide.active{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 900px){
  .brand-grid, .teaser-inner{ grid-template-columns:1fr; }
  .brand-visual{ order:-1; aspect-ratio:16/9; }
  .features-grid{ grid-template-columns:1fr 1fr; }
  .feature:nth-child(2){ border-right:0; }
  .feature{ border-bottom:1px solid var(--line); }
  .hero-side-text{ display:none; }
}

@media (max-width: 700px){
  .main-nav{
    position:fixed; top:76px; left:0; right:0;
    background:var(--black);
    flex-direction:column; gap:0;
    max-height:0; overflow:hidden;
    transition:max-height .3s ease;
    border-bottom:1px solid var(--line);
  }
  .main-nav.open{ max-height:300px; }
  .main-nav a{ padding:16px var(--gutter); border-bottom:1px solid var(--line); }
  .menu-toggle{ display:flex; }
  .features-grid{ grid-template-columns:1fr; }
  .feature{ border-right:0; }
  .footer-inner{ flex-direction:column; align-items:flex-start; text-align:left; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:8px; text-align:left; }
  .teaser-images{ grid-template-columns:1fr 1fr 1fr; gap:6px; }
  .cs-form{ flex-direction:column; align-items:center; }
  .cs-form input{ min-width:0; width:100%; max-width:320px; }
}
