 :root{--ink:#17120f;--paper:#fbfaf7;--gold:#c7ad8f;--gold2:#e8d8c3;--wine:#56313a;--green:#1e342b;--char:#201a17;--champagne-soft:#f6e8d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.preloader{position:fixed;inset:0;z-index:99;display:grid;place-items:center;background:#fff;transition:.8s ease}.preloader img{width:180px;animation:pulse 1.6s infinite}.preloader span{position:absolute;bottom:18%;width:160px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:load 1.4s infinite}.preloader.hide{opacity:0;pointer-events:none}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 48px;color:white;transition:.3s}.site-header.scrolled{padding:10px 48px;background:rgba(251,250,247,.86);color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 12px 40px #0001}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}.brand small{display:block;font-size:10px;letter-spacing:.22em;opacity:.72}nav{display:flex;gap:28px}nav a,.header-cta{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.16em}.header-cta{border:1px solid currentColor;border-radius:99px;padding:11px 18px}.hero{min-height:100vh;position:relative;color:white;display:grid;align-items:end;padding:150px 48px 60px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#100d0bd9,#100d0b78,#100d0b24),url('assets/IMG_5335.jpeg') center/cover;transform:scale(1.08);animation:ken 18s ease-in-out infinite alternate}.noise{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,#c7ad8f55,transparent 28%)}.hero-logo{position:absolute;right:7vw;top:19vh;width:min(340px,32vw);opacity:.16;filter:brightness(1.3);animation:float 7s ease-in-out infinite}.hero-logo img{border-radius:50%}.hero-inner{position:relative;z-index:2;max-width:1000px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.28em;font-weight:800;font-size:12px}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.95;margin:0}h1{font-size:clamp(52px,8vw,122px)}h2{font-size:clamp(38px,5vw,76px)}.hero p{max-width:690px;font-size:19px;line-height:1.7;color:#ffffffe0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{position:relative;overflow:hidden;text-decoration:none;border-radius:99px;padding:16px 25px;font-weight:800}.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#221915}.glass{border:1px solid #ffffff66;background:#ffffff18;backdrop-filter:blur(12px)}.btn:before,button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,#fff8,transparent);transform:translateX(-120%);transition:.65s}.btn:hover:before,button:hover:before{transform:translateX(120%)}.hero-badges{position:relative;z-index:2;display:flex;gap:1px;margin-top:54px}.hero-badges article{min-width:150px;padding:22px;border:1px solid #ffffff2e;background:#ffffff14;backdrop-filter:blur(15px)}.hero-badges b{font-family:'Cormorant Garamond';font-size:46px;color:var(--gold2)}.hero-badges span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.16em}.scroll-cue{position:absolute;right:45px;bottom:44px;z-index:2;text-transform:uppercase;font-size:11px;letter-spacing:.18em}.scroll-cue span{display:block;width:1px;height:54px;background:linear-gradient(var(--gold),transparent);margin:auto auto 10px;animation:scroll 1.6s infinite}.marquee{overflow:hidden;background:var(--char);color:var(--gold2);padding:18px 0}.marquee div{display:flex;gap:60px;white-space:nowrap;animation:mar 22s linear infinite}.marquee span{text-transform:uppercase;letter-spacing:.24em}.intro{padding:110px 48px;display:grid;grid-template-columns:.75fr 1.2fr 1fr;gap:44px;align-items:start}.intro p:last-child{line-height:1.8;color:#594f49}.split,.restaurant,.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:110px 48px}.photo-stack{position:relative;min-height:620px}.photo-stack img:first-child{width:78%;height:520px;object-fit:cover;box-shadow:0 30px 90px #0002}.photo-stack img:last-child{position:absolute;right:0;bottom:0;width:46%;height:310px;object-fit:cover;border:14px solid var(--paper)}.copy p{line-height:1.8;color:#5e554e}.copy li{margin:12px 0}.text-link{color:var(--wine);font-weight:900;text-decoration:none}.restaurant{background:linear-gradient(135deg,#e8eee9,#f5eadc)}.dish{padding:18px;background:white;box-shadow:0 30px 90px #0002;transform:rotate(1deg)}.dish img{height:560px;width:100%;object-fit:cover}.micro{display:flex;gap:10px;flex-wrap:wrap}.micro span{border:1px solid #0002;background:#fff8;padding:10px 14px}.gallery{padding:110px 48px}.section-title{max-width:780px;margin-bottom:40px}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-auto-rows:260px;gap:18px}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:.45s}.gallery-grid img:hover{transform:scale(1.025);filter:saturate(1.08)}.tall{grid-row:span 2}.wide{grid-column:span 2}.contact{background:radial-gradient(circle at 80% 15%,#c7ad8f33,transparent 35%),linear-gradient(135deg,#17120f,#2b2020);color:white}.contact p{line-height:1.9;color:#ffffffbf}.contact-card a{font-weight:800;text-decoration:none;border-bottom:1px solid var(--gold)}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px;border:1px solid #c7ad8f77;background:#ffffff12;backdrop-filter:blur(18px);box-shadow:0 30px 90px #0004}.full{grid-column:1/-1}label{display:grid;gap:8px;text-transform:uppercase;font-size:12px;letter-spacing:.15em;color:#ffffffb8}input,select,textarea,button{width:100%;border:1px solid #ffffff30;background:#ffffff12;color:white;padding:15px;font:inherit}option{color:#111}textarea{min-height:120px}.event-form button{grid-column:1/-1;position:relative;overflow:hidden;border-color:var(--gold);background:linear-gradient(135deg,#c7ad8f,#9c7656);font-weight:900;display:flex;justify-content:space-between;cursor:pointer}footer{display:flex;align-items:center;justify-content:center;gap:14px;padding:28px;background:#100d0b;color:#ffffffb8}footer img{width:46px;border-radius:50%}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes ken{to{transform:scale(1.16) translateX(-1.5%)}}@keyframes float{50%{transform:translateY(-18px) rotate(2deg)}}@keyframes scroll{50%{transform:translateY(12px);opacity:.35}}@keyframes mar{to{transform:translateX(-50%)}}@keyframes pulse{50%{transform:scale(1.04);opacity:.75}}@keyframes load{to{transform:scale(1.04);opacity:.75}}@media(max-width:900px){.site-header{padding:14px 20px}.site-header.scrolled{padding:10px 20px}nav{display:none}.brand span{display:none}.hero,.intro,.split,.restaurant,.gallery,.contact{padding-left:20px;padding-right:20px}.intro,.split,.restaurant,.contact{grid-template-columns:1fr}.hero-badges{flex-direction:column}.scroll-cue{display:none}.photo-stack{min-height:480px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.tall,.wide{grid-row:auto;grid-column:auto}.event-form{grid-template-columns:1fr}h1{font-size:48px}}

/* Pełnoekranowe intro z logo */
.intro-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(199, 161, 122, 0.16), transparent 44%),
    linear-gradient(180deg, #fff, #fbfaf7);
  transition: opacity 900ms ease, visibility 900ms ease, transform 900ms ease, filter 900ms ease;
}

.intro-gate.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
  filter: blur(7px);
  pointer-events: none;
}

.intro-logo-button {
  position: relative;
  width: min(650px, 84vw);
  border: 0;
  background: transparent;
  cursor: pointer;
  display: grid;
  justify-items: center;
  gap: 26px;
  padding: 0;
  animation: introLogoBreath 3.2s ease-in-out infinite;
}

.intro-logo-button img {
  width: 100%;
  max-width: 650px;
  filter: drop-shadow(0 26px 62px rgba(199, 161, 122, 0.2));
}

.intro-logo-button span {
  color: rgba(24, 20, 17, 0.46);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  animation: introTextPulse 2s ease-in-out infinite;
}

.intro-logo-button::before,
.intro-logo-button::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(720px, 88vw);
  height: min(720px, 88vw);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.intro-logo-button::before {
  border: 1px solid rgba(199, 161, 122, 0.2);
  animation: introRing 4.5s ease-in-out infinite;
}

.intro-logo-button::after {
  background: linear-gradient(110deg, transparent 42%, rgba(199, 161, 122, 0.16), transparent 58%);
  mix-blend-mode: multiply;
  animation: introShine 5.2s ease-in-out infinite;
}

body.has-intro {
  overflow: hidden;
}

@keyframes introLogoBreath {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.055); }
}

@keyframes introTextPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}

@keyframes introRing {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.82); }
  35% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.08); }
}

@keyframes introShine {
  0%, 35% { opacity: 0; transform: translate(-70%, -50%) rotate(8deg); }
  50% { opacity: 1; }
  75%, 100% { opacity: 0; transform: translate(-30%, -50%) rotate(8deg); }
}

@media (max-width: 620px) {
  .intro-logo-button { width: 88vw; }
  .intro-logo-button span { font-size: 0.66rem; letter-spacing: 0.2em; }
}


.music-toggle {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 80;
  width: auto;
  min-width: 118px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid rgba(199, 161, 122, 0.55);
  border-radius: 999px;
  background: rgba(24, 20, 17, 0.72);
  color: #fff;
  backdrop-filter: blur(16px);
  box-shadow: 0 16px 42px rgba(24, 20, 17, 0.18);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 260ms ease, background 180ms ease;
}

body:not(.has-intro) .music-toggle {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.music-toggle:hover {
  background: rgba(24, 20, 17, 0.86);
}

.music-toggle .music-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(199, 161, 122, 0.22);
  color: var(--champagne-soft);
}

.music-toggle.is-playing .music-icon {
  animation: musicPulse 1.6s ease-in-out infinite;
}

@keyframes musicPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(199, 161, 122, 0.32);
  }

  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 8px rgba(199, 161, 122, 0);
  }
}


/* POPRAWKA: logo intro bez białego kwadratu */
.intro-gate{background:#fbfaf7 !important;}
.intro-logo-button{width:min(720px,86vw) !important;}
.intro-logo-button img{width:100%;max-width:720px;filter:drop-shadow(0 18px 46px rgba(199,161,122,.16)) !important;background:transparent !important;box-shadow:none !important;border:0 !important;}
.intro-logo-button::after{display:none !important;}
.preloader{display:none !important;}

.form-status{
  grid-column:1/-1;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.5;
  text-transform:none;
  letter-spacing:0;
}
.form-status.is-success{color:#e8d8c3;}
.form-status.is-error{color:#ffd1d1;}
.event-form button:disabled{
  cursor:progress;
  opacity:.7;
}

.hero-bg {
  overflow: hidden;
  background:
    linear-gradient(90deg,#100d0bf0 0%,#100d0bb5 44%,#100d0b62 100%),
    url('assets/IMG_5393.jpeg') center 68% / cover no-repeat !important;
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,13,11,.74) 0%, rgba(16,13,11,.38) 47%, rgba(16,13,11,.1) 100%);
}

/* Czytelniejsza galeria */
.gallery {
  background: linear-gradient(180deg, #fbfaf7 0%, #fffaf3 100%);
}

.gallery .section-title {
  display: grid;
  gap: 10px;
}

.gallery-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(210px, 18vw) !important;
  gap: 16px !important;
}

.gallery-item {
  position: relative;
  grid-column: span 4;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #201a17;
  box-shadow: 0 22px 60px rgba(23, 18, 15, 0.14);
}

.gallery-item-large {
  grid-column: span 5;
  grid-row: span 2;
}

.gallery-item-wide {
  grid-column: span 7;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.98) contrast(.98);
  transition: transform .45s ease, filter .45s ease;
}

.gallery-item::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(transparent, rgba(16, 13, 11, .72));
  pointer-events: none;
}

.gallery-item:hover img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}

.gallery-item figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  width: auto;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 999px;
  background: rgba(16, 13, 11, .52);
  color: #fff;
  backdrop-filter: blur(12px);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .hero-bg {
    background:
      linear-gradient(180deg,#100d0b96 0%,#100d0bea 100%),
      url('assets/IMG_5393.jpeg') center 66% / cover no-repeat !important;
  }

  .hero-bg::after {
    display: none;
  }

  .gallery-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }

  .gallery-item,
  .gallery-item-large,
  .gallery-item-wide {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 3;
  }

  .gallery-item-large,
  .gallery-item:nth-child(2) {
    aspect-ratio: 3 / 4;
  }
}

@keyframes load {
  to {
    transform: scaleX(.2);
    opacity: .2;
  }
}
