html {
  scroll-behavior: smooth;
  background:
    radial-gradient(1200px 800px at 0% 0%, #FCEFE9 0%, transparent 55%),
    radial-gradient(1000px 700px at 100% 10%, #F6E7DD 0%, transparent 55%),
    linear-gradient(180deg, #FBF7F4 0%, #F4E9E3 45%, #F8EFEA 100%);
}
body { background: transparent; color: #3A2E30; font-family: 'Inter', system-ui, sans-serif; overflow-x: hidden; }
.font-serif { font-family: 'Playfair Display', Georgia, serif; }
.hero-glow {
  background:
    radial-gradient(circle at 20% 20%, rgba(232,201,193,0.5), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(201,162,126,0.35), transparent 50%);
}

/* ===== ANIMOWANA AURORA (tło całej strony) ===== */
.aurora { position: fixed; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.aurora span { position: absolute; border-radius: 50%; filter: blur(90px); will-change: transform; }
.aurora .a1 { width: 46vw; height: 46vw; background: rgba(232,201,193,.60); top: -10%; left: -8%;  animation: drift1 19s ease-in-out infinite; }
.aurora .a2 { width: 40vw; height: 40vw; background: rgba(201,162,126,.42); top: 28%;  right: -12%; animation: drift2 23s ease-in-out infinite; }
.aurora .a3 { width: 38vw; height: 38vw; background: rgba(215,166,160,.48); bottom: -12%; left: 18%;  animation: drift3 21s ease-in-out infinite; }
.aurora .a4 { width: 30vw; height: 30vw; background: rgba(185,138,138,.34); top: 58%;  left: -10%; animation: drift1 27s ease-in-out infinite reverse; }
.aurora .a5 { width: 26vw; height: 26vw; background: rgba(201,162,126,.30); top: 8%;   left: 42%;  animation: drift2 25s ease-in-out infinite; }
@keyframes drift1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(7%,9%) scale(1.14); } }
@keyframes drift2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-9%,7%) scale(1.10); } }
@keyframes drift3 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(6%,-8%) scale(1.16); } }

/* ===== TEKSTURA ZIARNA ===== */
.noise {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .05; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== SUBTELNA SIATKA KROPEK NA SEKCJACH ===== */
.dots { background-image: radial-gradient(rgba(185,138,138,.16) 1px, transparent 1px); background-size: 22px 22px; }
.eyebrow { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .25em; color: #D7A6A0; }

/* ===== ANIMACJE WEJŚCIA ===== */
.reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 0; transition: opacity .8s cubic-bezier(.21,.47,.32,.98), transform .8s cubic-bezier(.21,.47,.32,.98); }
.reveal { transform: translateY(34px); }
.reveal-left { transform: translateX(-40px); }
.reveal-right { transform: translateX(40px); }
.reveal-scale { transform: scale(.92); }
.is-visible { opacity: 1 !important; transform: none !important; }

/* ===== PŁYWANIE / OBROTY ===== */
@keyframes float { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-12px) } }
.float { animation: float 4s ease-in-out infinite; }
@keyframes floatSlow { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-18px) rotate(3deg) } }
.float-slow { animation: floatSlow 7s ease-in-out infinite; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
.spin-slow { animation: spinSlow 22s linear infinite; }

/* ===== GRADIENT SHIMMER NA NAGŁÓWKU ===== */
@keyframes shimmer { to { background-position: 200% center; } }
.text-shimmer {
  background: linear-gradient(90deg,#D7A6A0,#C9A27E,#B98A8A,#D7A6A0);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; animation: shimmer 5s linear infinite;
}

/* ===== PRZYCISK Z POŁYSKIEM ===== */
.btn-shine { position: relative; overflow: hidden; }
.btn-shine::after {
  content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;
  background: linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);
  transform: skewX(-20deg); transition: left .6s ease;
}
.btn-shine:hover::after { left: 140%; }

/* ===== KARTY / OBRAZY HOVER ===== */
.card-hover { transition: transform .4s ease, box-shadow .4s ease; }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 28px 60px -28px rgba(110,81,89,.45); }
.img-zoom img { transition: transform .7s cubic-bezier(.2,.6,.2,1); }
.img-zoom:hover img { transform: scale(1.08); }

/* ===== MARQUEE ===== */
@keyframes marquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }
.marquee-track { display: flex; width: max-content; animation: marquee 26s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }

/* ===== PASEK POSTĘPU ===== */
#progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%; z-index: 60;
  background: linear-gradient(90deg,#D7A6A0,#C9A27E); transition: width .1s linear;
}

::-webkit-scrollbar { width: 10px }
::-webkit-scrollbar-track { background: #F3E8E2 }
::-webkit-scrollbar-thumb { background: #D7A6A0; border-radius: 999px }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1; transform: none; }
}
