/* ============================================================
   LINKSHAENDER – lokales Stylesheet (ersetzt Tailwind-CDN)
   Nur die auf der Startseite genutzten Utilities. 100% lokal,
   keine externe Verbindung.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor;}

/* Reset-Basics */
h1,h2,h3,p,form{margin:0;}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;}

/* Layout */
.flex{display:flex;}
.grid{display:grid;}
.flex-col{flex-direction:column;}
.flex-1{flex:1 1 0%;}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.relative{position:relative;}
.absolute{position:absolute;}
.overflow-hidden{overflow:hidden;}
.pointer-events-none{pointer-events:none;}
.top-0{top:0;}
.left-0{left:0;}
.z-30{z-index:30;}
.\[z-9999\],.z-\[9999\]{z-index:9999;}
.mx-auto{margin-left:auto;margin-right:auto;}

/* Sizing */
.w-full{width:100%;}
.h-full{height:100%;}
.h-auto{height:auto;}
.h-\[10px\]{height:10px;}
.h-svh{height:100vh;height:100svh;}
.min-h-screen{min-height:100vh;min-height:100svh;}
.max-w-2xl{max-width:42rem;}
.max-w-3xl{max-width:48rem;}
.max-w-4xl{max-width:56rem;}
.max-w-5xl{max-width:64rem;}
.max-w-6xl{max-width:72rem;}
.max-w-\[280px\]{max-width:280px;}

/* Spacing */
.p-8{padding:2rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.px-8{padding-left:2rem;padding-right:2rem;}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}
.py-32{padding-top:8rem;padding-bottom:8rem;}
.py-40{padding-top:10rem;padding-bottom:10rem;}
.pt-4{padding-top:1rem;}
.mb-8{margin-bottom:2rem;}
.mb-12{margin-bottom:3rem;}
.gap-4{gap:1rem;}
.gap-6{gap:1.5rem;}
.gap-16{gap:4rem;}
.space-y-6>*+*{margin-top:1.5rem;}

/* Typography */
.font-black{font-weight:900;}
.italic{font-style:italic;}
.uppercase{text-transform:uppercase;}
.text-4xl{font-size:2.25rem;line-height:2.5rem;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-\[10px\]{font-size:10px;}
.tracking-tighter{letter-spacing:-.05em;}
.tracking-widest{letter-spacing:.1em;}
.leading-relaxed{line-height:1.625;}
.whitespace-nowrap{white-space:nowrap;}
.opacity-90{opacity:.9;}
.text-black{color:#000;}
.text-white{color:#fff;}
.text-zinc-400{color:#a1a1aa;}

/* Backgrounds / borders */
.bg-black{background-color:#000;}
.bg-white{background-color:#fff;}
.bg-zinc-900\/40{background-color:rgba(24,24,27,.4);}
.border{border-width:1px;}
.border-b{border-bottom-width:1px;}
.border-white\/5{border-color:rgba(255,255,255,.05);}
.border-white\/10{border-color:rgba(255,255,255,.1);}
.border-white\/20{border-color:rgba(255,255,255,.2);}
.rounded-2xl{border-radius:1rem;}
.rounded-\[40px\]{border-radius:40px;}

/* Effects */
.backdrop-blur-2xl{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.45);}
.object-cover{object-fit:cover;}
.resize-none{resize:none;}
.transition{transition:all .3s ease;}

/* States */
.hover\:bg-zinc-200:hover{background-color:#e4e4e7;}
.hover\:border-white:hover{border-color:#fff;}

/* scroll */
.scroll-smooth{scroll-behavior:smooth;}

/* Responsive */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row;}
  .sm\:flex-none{flex:none;}
}
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .md\:p-14{padding:3.5rem;}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
}
