:root{
  --ink:#1f251e;
  --sage:#4f5d4e;
  --sage-deep:#3a4639;
  --sage-soft:#8a9a86;
  --stone:#e8e4da;
  --cream:#f6f3ea;
  --clay:#b88b6a;
  --clay-soft:#d8b89c;
  --line:rgba(31,37,30,0.12);
  --grey:#6f7a6c;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:440;letter-spacing:-0.01em;}
em{font-style:italic;color:var(--clay);font-family:'Fraunces',serif;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* STICKY GLASS TOP BAR with mega-dropdown for usługi — always has its own
   background so it never blends into whatever photo/video sits behind it */
.topbar{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:16px 48px;background:rgba(246,243,234,0.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line), 0 10px 30px rgba(31,37,30,0.08);transition:padding .35s, box-shadow .35s;}
.topbar.solid{box-shadow:0 1px 0 var(--line), 0 14px 34px rgba(31,37,30,0.12);}
.topbar .logo{font-family:'Fraunces',serif;font-size:1.5rem;letter-spacing:0.01em;color:var(--ink);}
.topbar .logo span{display:block;font-size:0.58rem;font-family:'Inter',sans-serif;letter-spacing:0.16em;text-transform:uppercase;color:var(--sage);margin-top:2px;}
.topbar-links{display:flex;align-items:center;gap:36px;}
.topbar-links>a{font-size:0.86rem;color:var(--ink);position:relative;padding:6px 0;}
.topbar-links>a.active{color:var(--sage-deep);font-weight:600;}
.topbar-cta{background:var(--sage-deep);color:var(--cream);padding:12px 24px;font-size:0.82rem;letter-spacing:0.04em;}
.topbar-cta:hover{background:var(--clay);}
.topbar-burger{display:none;}

/* mega dropdown */
.has-mega{position:relative;}
/* invisible bridge so the hover state survives the gap while the cursor
   travels from the link down into the dropdown */
.has-mega::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);width:640px;height:22px;}
.mega{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(6px);width:620px;background:var(--cream);box-shadow:0 20px 50px rgba(31,37,30,0.18);border:1px solid var(--line);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;opacity:0;pointer-events:none;transition:opacity .22s, transform .22s;}
.mega::before{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:var(--cream);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.has-mega:hover .mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.mega-col b{display:block;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage);margin-bottom:10px;}
.mega-col a{display:block;font-size:0.92rem;color:var(--ink);padding:6px 0;}
.mega-col a:hover{color:var(--clay);}

.sec{padding:110px 64px;max-width:980px;margin:0 auto;}
.sec.wide{max-width:1240px;}
.sec.narrow{max-width:640px;text-align:center;margin:0 auto;}
.kicker{font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--sage);font-weight:600;}
.sec h2{font-size:clamp(2.1rem,4.2vw,3.1rem);margin-top:12px;}
.sec p.lead{color:var(--grey);margin-top:18px;line-height:1.75;font-size:1.03rem;}
.sec.narrow p.lead{max-width:38rem;margin-left:auto;margin-right:auto;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;font-size:0.84rem;letter-spacing:0.04em;font-family:'Inter',sans-serif;}
.btn-solid{background:var(--sage-deep);color:var(--cream);}
.btn-solid:hover{background:var(--clay);}
.btn-outline{border:1px solid var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--cream);}
.btn-outline-light{border:1px solid rgba(246,243,234,0.55);color:var(--cream);}
.btn-outline-light:hover{background:rgba(246,243,234,0.14);}

footer{padding:60px 64px;border-top:1px solid var(--line);color:var(--grey);font-size:0.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
[data-reveal].in-view{opacity:1;transform:translateY(0);}

.page-top{padding:168px 64px 64px;max-width:980px;}
.page-top .kicker{color:var(--sage);}
.page-top h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-top:14px;}

/* OFFER MODAL */
.offer-overlay{position:fixed;inset:0;background:rgba(31,37,30,0.55);z-index:120;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;padding:24px;}
.offer-overlay.open{opacity:1;pointer-events:auto;}
.offer-modal{background:var(--cream);max-width:760px;width:100%;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 80px rgba(0,0,0,0.35);transform:translateY(18px) scale(0.98);transition:transform .4s cubic-bezier(.16,1,.3,1);position:relative;}
.offer-overlay.open .offer-modal{transform:translateY(0) scale(1);}
.offer-modal-img{background-size:cover;background-position:center;min-height:320px;}
.offer-modal-text{padding:48px 40px;display:flex;flex-direction:column;justify-content:center;}
.offer-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:rgba(246,243,234,0.9);border:none;cursor:pointer;font-size:1.1rem;color:var(--ink);}
.offer-modal .kicker{color:var(--clay);}
.offer-modal h3{font-size:1.8rem;margin-top:10px;}
.offer-modal p{color:var(--grey);margin-top:12px;line-height:1.65;font-size:0.94rem;}
.offer-modal .price{margin-top:18px;font-family:'Fraunces',serif;font-size:1.5rem;}
.offer-modal .price s{color:var(--grey);font-weight:400;margin-right:10px;font-size:1.1rem;}
.offer-modal .btn{margin-top:20px;align-self:flex-start;}
@media (max-width:640px){
  .offer-modal{grid-template-columns:1fr;}
  .offer-modal-img{min-height:180px;}
}

.mobile-backdrop{position:fixed;inset:0;background:rgba(31,37,30,0.4);z-index:94;opacity:0;pointer-events:none;transition:opacity .35s;}
.mobile-backdrop.open{opacity:1;pointer-events:auto;}
.mobile-panel{position:fixed;top:0;right:0;bottom:0;width:78%;max-width:340px;background:var(--cream);z-index:95;padding:90px 32px 40px;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:22px;box-shadow:-10px 0 40px rgba(0,0,0,0.15);}
.mobile-panel.open{transform:translateX(0);}
.mobile-panel-close{position:absolute;top:26px;right:28px;width:36px;height:36px;border-radius:50%;background:var(--paper-dim, var(--stone));border:none;cursor:pointer;font-size:1.2rem;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.mobile-panel a{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--ink);}
.mobile-panel .btn{margin-top:10px;align-self:flex-start;}

@media (max-width:980px){
  .topbar-links{display:none;}
  .topbar-burger{display:flex;background:none;border:none;color:var(--ink);align-items:center;gap:8px;font-size:0.8rem;cursor:pointer;}
  .topbar-burger .bars{display:flex;flex-direction:column;gap:4px;}
  .topbar-burger .bars span{display:block;width:20px;height:1.4px;background:currentColor;}
}
@media (max-width:860px){
  .sec,.sec.wide{padding:90px 24px;}
  .topbar{padding:18px 24px;}
  .topbar.solid{padding:14px 24px;}
  footer{padding:50px 24px;}
  .page-top{padding:140px 24px 50px;}
}
