:root{
  --bg:#ffffff; --ink:#141417; --muted:#6e6e74;
  --gold:#c8a75a; --gold-strong:#b68c32;
  --rose:#e9b6c2; --nude:#f3d8cf;
  --glass:rgba(255,255,255,.55); --blur:14px;
  --radius:20px; --shadow:0 20px 45px rgba(0,0,0,.12);
  --container:1220px; --hero-left:58%;
}
@media (min-width: 1440px) { :root { --container: 1400px; } }
@media (min-width: 2000px) { :root { --container: 1800px; } }

*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#fff}
a{color:var(--gold-strong);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.gold{color:var(--gold-strong)}
.gold-strong{color:var(--gold-strong);font-weight:700}
.muted{color:var(--muted)}
.h2{font-family:"Playfair Display",serif;margin:8px 0 16px}
.container{max-width:var(--container);margin:auto;padding:28px 18px}

/* ===== ANIMACJE (Scroll Reveal) ===== */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.5, 0, 0, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }

/* ===== Header & Nav ===== */
.subhead{background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.subhead-inner{display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{display:block;height:36px;width:auto;object-fit:contain}
@media (max-width:520px){ .brand .logo{height:30px} }
.brand .dot{color:var(--gold-strong)}
.brand b{font-family:"Playfair Display",serif;font-size:22px}
.nav{display:flex;gap:16px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:10px;border-radius:999px;border:1px solid rgba(200,167,90,.45);padding:10px 14px;background:#fff;transition:background .3s}
.pill:hover{background:#fcfcfc}

/* ===== Guziki CTA ===== */
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;border:0;border-radius:999px;padding:14px 22px;font-weight:700;box-shadow:var(--shadow);position:relative; overflow:hidden; transition: all 0.3s ease; z-index:1;}
.cta::after {content: ''; position: absolute; inset: 0; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.6s; z-index: -1;}
.cta:hover {transform: translateY(-2px); box-shadow: 0 10px 25px rgba(200, 167, 90, 0.4); text-decoration: none;}
.cta:hover::after { transform: translateX(100%); }
.ghost{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--gold);color:var(--gold-strong);background:#fff;border-radius:999px;padding:12px 18px;font-weight:700;transition:0.3s}
.ghost:hover{background:#fcfcfc; text-decoration:none}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.badge{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(200,167,90,.28);transition:transform 0.3s}
.badge:hover{transform:scale(1.05);text-decoration:none}
.stars{color:var(--gold)}

/* ===== Sekcje glass ===== */
.section{position:relative;padding:46px 18px}
.glass{backdrop-filter:saturate(1.2) blur(var(--blur)); background:linear-gradient(180deg,var(--glass),rgba(255,255,255,.42)); border:1px solid rgba(200,167,90,.25); border-radius:var(--radius); box-shadow:var(--shadow)}

/* ===== Footer & Lightbox (Globalne) ===== */
.section.foot{padding-top:0}
.foot-inner{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.foot-links{display:flex;gap:10px;flex-wrap:wrap}

.lightbox{position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.72); cursor:zoom-out;}
.lightbox.is-open{ display:flex; }
.lightbox img{max-width:92vw; max-height:92vh; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.5); animation:lbfade .18s ease; cursor:default;}
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{position:absolute; top:16px; width:44px; height:44px; border-radius:999px; display:grid; place-items:center; background:#fff; border:1px solid #ddd; font-size:22px; line-height:1; cursor:pointer; transition:background .2s;}
.lightbox .lb-close{ right:16px }
.lightbox .lb-prev, .lightbox .lb-next{ top:50%; transform:translateY(-50%); }
.lightbox .lb-prev{ left:16px }
.lightbox .lb-next{ right:16px }
.lightbox button:hover{ background:#f0f0f0 }
@keyframes lbfade{from{opacity:0; transform:scale(.98)}to{opacity:1; transform:scale(1)}}
body.lb-open{ overflow:hidden; }

/* RWD - Wspólne dla nagłówka */
@media (max-width: 600px) {
  .subhead-inner { flex-direction: column; gap: 10px; padding-bottom: 10px; }
  .nav { justify-content: center; gap: 6px; width: 100%; }
  .pill { font-size: 12px; padding: 6px 10px; flex-grow: 1; text-align: center; border-color: #eee; }
}