
:root{
  --bg:#0d0d0d;
  --bg2:#161616;
  --card:#ffffff;
  --text:#1b1b1b;
  --muted:#6b6b6b;
  --line:#e7e7e7;
  --accent:#c9a46b;
  --accent2:#805d2d;
  --white:#fff;
  --shadow:0 22px 70px rgba(0,0,0,.18);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#f7f4ef;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,92vw);margin-inline:auto}.narrow{width:min(880px,92vw);margin-inline:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;background:rgba(13,13,13,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}.brand{font-size:1.1rem;font-weight:800;letter-spacing:.04em}.brand span{color:var(--accent);font-weight:600}.menu{display:flex;gap:28px;align-items:center;font-size:.94rem;text-transform:uppercase;letter-spacing:.08em}.menu a{opacity:.86}.menu a:hover{opacity:1;color:var(--accent)}.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:1.8rem;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:700;border:1px solid transparent;transition:.2s ease}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{background:#e0bd82;transform:translateY(-1px)}.btn-outline{border-color:rgba(255,255,255,.42);color:#fff}.btn-outline:hover{background:#fff;color:#111}.btn-dark{background:#121212;color:#fff}.btn-dark:hover{background:#2a2a2a}
.hero{min-height:92vh;padding:150px 0 86px;position:relative;color:#fff;background:linear-gradient(110deg,rgba(0,0,0,.84),rgba(0,0,0,.48)),url('../img/project-after.jpg') center/cover fixed}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}.hero h1{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.98;margin:14px 0 18px;letter-spacing:-.05em}.hero p{font-size:1.18rem;color:rgba(255,255,255,.86);max-width:680px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.hero-card strong{font-size:2.4rem;color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.stat{background:rgba(0,0,0,.28);border-radius:18px;padding:18px}.stat b{font-size:1.6rem;display:block}.section{padding:96px 0}.section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 18px;letter-spacing:-.04em}.section-lead{color:var(--muted);font-size:1.08rem;margin:0 0 34px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 35px rgba(0,0,0,.05)}.icon{width:48px;height:48px;border-radius:16px;background:#f1e4cf;color:var(--accent2);display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-pair figure{margin:0;position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.photo-pair img{height:360px;width:100%;object-fit:cover}.photo-pair figcaption{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.72);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:.82rem}.dark{background:var(--bg);color:#fff}.dark .section-lead,.dark p{color:rgba(255,255,255,.75)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border-radius:var(--radius);padding:30px}.service h3{margin-top:0;color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.gallery-item{position:relative;border:0;padding:0;background:#000;border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:0 14px 36px rgba(0,0,0,.12)}.gallery-item img{height:230px;width:100%;object-fit:cover;transition:.35s ease}.gallery-item span{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-weight:800;text-shadow:0 2px 12px #000;z-index:2}.gallery-item:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.68));z-index:1}.gallery-item:hover img{transform:scale(1.07);opacity:.9}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}.process-card{background:#fff;border-radius:var(--radius);padding:28px;border:1px solid var(--line);position:relative}.process-card:before{counter-increment:step;content:"0" counter(step);font-size:3.6rem;line-height:1;color:#eadcc7;font-weight:900;display:block;margin-bottom:10px}.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}.contact-box,.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 12px 38px rgba(0,0,0,.07)}.contact-box h3,.contact-form h3{margin-top:0}.contact-line{margin:16px 0;padding-bottom:16px;border-bottom:1px solid var(--line)}.contact-line small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.9rem}.field input,.field textarea{width:100%;border:1px solid #ddd;border-radius:14px;padding:13px 14px;font:inherit;background:#fbfbfb}.field textarea{min-height:130px;resize:vertical}.notice{font-size:.82rem;color:var(--muted)}.site-footer{background:#090909;color:rgba(255,255,255,.78);padding:34px 0}.footer-flex{display:flex;justify-content:space-between;gap:20px;align-items:center}.modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;display:none;align-items:center;justify-content:center;padding:28px}.modal.open{display:flex}.modal img{max-height:86vh;max-width:92vw;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.5)}.modal-close{position:absolute;right:24px;top:18px;background:#fff;border:0;border-radius:999px;width:44px;height:44px;font-size:1.4rem;cursor:pointer}.cookie{position:fixed;left:20px;right:20px;bottom:18px;z-index:90;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:18px;display:none;gap:14px;align-items:center;justify-content:space-between}.cookie.show{display:flex}.cookie p{margin:0;color:var(--muted);font-size:.92rem}.map{border-radius:var(--radius);overflow:hidden;min-height:260px;background:#e8e0d4;display:grid;place-items:center;text-align:center;padding:28px;color:#4c3b23;border:1px solid #ddccb3}.map b{display:block;font-size:1.4rem;color:#111;margin-bottom:6px}
@media (max-width:980px){.hero-grid,.split,.contact-wrap{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.services,.process{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero{background-attachment:scroll}.hero-card{max-width:620px}.menu{position:fixed;inset:74px 0 auto 0;background:#111;display:none;flex-direction:column;align-items:flex-start;padding:24px 6vw;border-top:1px solid rgba(255,255,255,.08)}.menu.open{display:flex}.nav-toggle{display:block}.photo-pair img{height:280px}}
@media (max-width:620px){.nav{height:66px}.menu{inset:66px 0 auto 0}.hero{padding-top:120px}.hero-actions,.footer-flex,.cookie{flex-direction:column;align-items:flex-start}.stats,.cards,.gallery-grid,.form-grid{grid-template-columns:1fr}.photo-pair{grid-template-columns:1fr}.section{padding:72px 0}.gallery-item img{height:245px}}

/* 20260704 ver. 04 - oryginalne logo z archiwum WordPress + animacje */
.logo-brand{display:flex;align-items:center;gap:12px;min-width:230px}
.logo-brand img{width:215px;max-width:48vw;height:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));transition:transform .25s ease, opacity .25s ease}
.logo-brand:hover img{transform:translateY(-1px);opacity:.96}
.logo-brand>span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header{transition:background-color .28s ease, box-shadow .28s ease, border-color .28s ease}
.site-header.scrolled{background:rgba(7,7,7,.94);box-shadow:0 18px 48px rgba(0,0,0,.25);border-color:rgba(255,255,255,.12)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 70% 28%,rgba(201,164,107,.22),transparent 30%),linear-gradient(120deg,transparent 0%,rgba(255,255,255,.07) 45%,transparent 55%);background-size:100% 100%,240% 240%;animation:heroShimmer 9s ease-in-out infinite;mix-blend-mode:screen;opacity:.75}
.hero-grid{position:relative;z-index:1}.hero-copy{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) both}.hero-copy .eyebrow{animation:fadeUp .75s cubic-bezier(.2,.7,.2,1) .05s both}.hero-copy h1{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .15s both}.hero-copy p{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .28s both}.hero-actions{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .42s both}.floating-card{animation:cardFloat 5.4s ease-in-out infinite, fadeInScale .9s cubic-bezier(.2,.7,.2,1) .35s both}.stat,.card,.process-card,.service,.contact-box,.contact-form,.photo-pair figure{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}.card:hover,.process-card:hover,.service:hover,.contact-box:hover,.contact-form:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(0,0,0,.12);border-color:rgba(201,164,107,.38)}.stat:hover{transform:translateY(-4px);background:rgba(0,0,0,.38)}.icon{transition:transform .3s ease, background-color .3s ease}.card:hover .icon{transform:rotate(-6deg) scale(1.08);background:#ead7b9}.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:-35%;bottom:-35%;left:-45%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg) translateX(-140%);transition:transform .65s ease}.btn:hover:after{transform:skewX(-18deg) translateX(480%)}.gallery-item{transition:transform .3s ease, box-shadow .3s ease}.gallery-item:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(0,0,0,.28)}.gallery-item span{transform:translateY(4px);transition:transform .3s ease}.gallery-item:hover span{transform:translateY(0)}.photo-pair figure:hover{transform:translateY(-6px) rotate(.35deg)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:translateY(0)}.stagger>*:nth-child(1){transition-delay:0ms}.stagger>*:nth-child(2){transition-delay:70ms}.stagger>*:nth-child(3){transition-delay:140ms}.stagger>*:nth-child(4){transition-delay:210ms}.stagger>*:nth-child(5){transition-delay:280ms}.stagger>*:nth-child(6){transition-delay:350ms}.stagger>*:nth-child(7){transition-delay:420ms}.stagger>*:nth-child(8){transition-delay:490ms}.stagger>*:nth-child(9){transition-delay:560ms}.stagger>*:nth-child(10){transition-delay:630ms}.stagger>*:nth-child(n+11){transition-delay:700ms}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInScale{from{opacity:0;transform:scale(.94) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes heroShimmer{0%,100%{background-position:50% 50%,0% 50%}50%{background-position:50% 50%,100% 50%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.hero:after{display:none}.floating-card{animation:none!important}}
@media (max-width:620px){.logo-brand img{width:174px}.logo-brand{min-width:175px}.hero:after{opacity:.45}.floating-card{animation:fadeInScale .7s cubic-bezier(.2,.7,.2,1) .2s both}}

/* 20260704 ver. 05 - korekta belki menu i logo */
.site-header .nav{align-items:center}
.logo-brand{display:flex;align-items:center;justify-content:flex-start;height:74px;min-width:auto;padding:0;margin:0;line-height:0}
.logo-brand img{display:block;width:300px;max-width:42vw;height:auto;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));transition:transform .25s ease, opacity .25s ease}
.logo-brand:hover img{transform:translateY(-1px);opacity:.96}
@media (max-width:980px){.logo-brand{height:74px}.logo-brand img{width:260px;max-width:52vw}}
@media (max-width:620px){.logo-brand{height:66px}.logo-brand img{width:220px;max-width:58vw}}

/* 20260704 ver. 06 - animacja początkowa na wzór pierwotnego projektu */
.intro-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0b0b0b;overflow:hidden;pointer-events:none;animation:introLoaderHide .65s cubic-bezier(.7,0,.2,1) 2.35s forwards}
.intro-loader::before{content:"";position:absolute;inset:-10%;background:linear-gradient(120deg,rgba(0,0,0,.76),rgba(0,0,0,.36)),url('../img/project-after.jpg') center/cover no-repeat;filter:blur(12px) saturate(.85);transform:scale(1.08);opacity:.46;animation:introBgMove 2.8s ease-out forwards}
.intro-loader::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(201,164,107,.22),transparent 30%),linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);background-size:100% 100%,220% 100%;animation:introLight 2.2s ease-in-out forwards}
.intro-loader__panel{position:absolute;left:0;right:0;height:50%;background:#0d0d0d;z-index:1;animation:introPanelOpen .8s cubic-bezier(.7,0,.2,1) 1.86s forwards}.intro-loader__panel--top{top:0;transform-origin:top}.intro-loader__panel--bottom{bottom:0;transform-origin:bottom}
.intro-loader__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:translateY(8px);animation:introContentOut .55s ease 1.78s forwards}.intro-loader__logo{width:min(340px,70vw);height:auto;filter:drop-shadow(0 18px 36px rgba(0,0,0,.65));opacity:0;transform:translateY(18px) scale(.96);animation:introLogoIn .9s cubic-bezier(.2,.75,.15,1) .18s forwards}.intro-loader__line{width:min(300px,64vw);height:2px;border-radius:99px;background:rgba(255,255,255,.18);position:relative;overflow:hidden;opacity:0;animation:introLineIn .35s ease .58s forwards}.intro-loader__line::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent),#fff,var(--accent),transparent);transform:translateX(-110%);animation:introLineRun 1.15s cubic-bezier(.55,0,.2,1) .66s forwards}.intro-loader__text{font-size:.78rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.78);font-weight:700;opacity:0;transform:translateY(10px);animation:introTextIn .65s ease .82s forwards}
body:has(.intro-loader) .site-header,body:has(.intro-loader) .hero-copy,body:has(.intro-loader) .floating-card{animation-delay:2.25s}
@keyframes introLogoIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes introLineIn{to{opacity:1}}
@keyframes introLineRun{to{transform:translateX(110%)}}
@keyframes introTextIn{to{opacity:1;transform:translateY(0)}}
@keyframes introContentOut{to{opacity:0;transform:translateY(-12px) scale(.98)}}
@keyframes introPanelOpen{to{transform:scaleY(0)}}
@keyframes introLoaderHide{to{opacity:0;visibility:hidden}}
@keyframes introBgMove{from{transform:scale(1.14)}to{transform:scale(1.04)}}
@keyframes introLight{0%{background-position:50% 50%,0% 50%;opacity:.2}55%{opacity:.9}100%{background-position:50% 50%,100% 50%;opacity:.35}}
@media (prefers-reduced-motion:reduce){.intro-loader{display:none!important}}
@supports not selector(body:has(.intro-loader)){.intro-loader{animation:introLoaderHide .65s cubic-bezier(.7,0,.2,1) 2.35s forwards}}
.intro-loader.intro-loader--done{opacity:0;visibility:hidden}

/* 20260704 ver. 07 - mocniejsza i lepiej widoczna animacja startowa */
.intro-loader{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  background:#090909!important;
  opacity:1;
  visibility:visible;
  animation:introLoaderHideStrong .9s cubic-bezier(.7,0,.2,1) 4.2s forwards!important;
}
.intro-loader::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    linear-gradient(120deg,rgba(0,0,0,.88),rgba(0,0,0,.52)),
    url('../img/project-after.jpg') center/cover no-repeat;
  filter:blur(7px) saturate(.85);
  transform:scale(1.15);
  opacity:.85;
  animation:introBgMoveStrong 4.2s ease-out forwards!important;
}
.intro-loader::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(201,164,107,.38),transparent 28%),
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.34) 50%,rgba(255,255,255,.14) 55%,transparent 100%);
  background-size:100% 100%,260% 100%;
  animation:introLightStrong 3.8s cubic-bezier(.2,.7,.2,1) forwards!important;
  z-index:1;
}
.intro-loader__panel{
  position:absolute!important;
  left:0!important;
  right:0!important;
  height:50%!important;
  background:#0d0d0d!important;
  z-index:2!important;
  animation:introPanelOpenStrong .95s cubic-bezier(.7,0,.2,1) 3.45s forwards!important;
}
.intro-loader__panel--top{top:0!important;transform-origin:top!important}
.intro-loader__panel--bottom{bottom:0!important;transform-origin:bottom!important}
.intro-loader__content{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  width:min(560px,86vw)!important;
  padding:34px 26px!important;
  border-radius:28px!important;
  background:rgba(10,10,10,.20)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 34px 90px rgba(0,0,0,.48)!important;
  backdrop-filter:blur(8px)!important;
  animation:introContentOutStrong .7s ease 3.22s forwards!important;
}
.intro-loader__logo{
  display:block!important;
  width:min(430px,78vw)!important;
  max-width:100%!important;
  height:auto!important;
  filter:drop-shadow(0 22px 42px rgba(0,0,0,.75))!important;
  opacity:0;
  transform:translateY(30px) scale(.88);
  animation:introLogoInStrong 1.15s cubic-bezier(.16,.84,.24,1) .20s forwards!important;
}
.intro-loader__line{
  display:block!important;
  width:min(400px,76vw)!important;
  height:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  position:relative!important;
  overflow:hidden!important;
  opacity:0;
  box-shadow:0 0 24px rgba(201,164,107,.22)!important;
  animation:introLineInStrong .45s ease .72s forwards!important;
}
.intro-loader__line::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,var(--accent),#fff,var(--accent),transparent);
  transform:translateX(-120%);
  animation:introLineRunStrong 2.25s cubic-bezier(.45,0,.2,1) .90s forwards!important;
}
.intro-loader__text{
  display:block!important;
  font-size:.88rem!important;
  letter-spacing:.34em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.86)!important;
  font-weight:800!important;
  opacity:0;
  transform:translateY(14px);
  animation:introTextInStrong .75s ease 1.05s forwards!important;
}
@keyframes introLogoInStrong{0%{opacity:0;transform:translateY(30px) scale(.88)}70%{opacity:1;transform:translateY(0) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes introLineInStrong{to{opacity:1}}
@keyframes introLineRunStrong{to{transform:translateX(120%)}}
@keyframes introTextInStrong{to{opacity:1;transform:translateY(0)}}
@keyframes introContentOutStrong{to{opacity:0;transform:translateY(-18px) scale(.97)}}
@keyframes introPanelOpenStrong{to{transform:scaleY(0)}}
@keyframes introLoaderHideStrong{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes introBgMoveStrong{from{transform:scale(1.18)}to{transform:scale(1.04)}}
@keyframes introLightStrong{0%{background-position:50% 50%,-140% 50%;opacity:.25}45%{opacity:1}100%{background-position:50% 50%,140% 50%;opacity:.45}}
@media (max-width:620px){.intro-loader__content{width:min(420px,88vw)!important;padding:28px 20px!important}.intro-loader__logo{width:min(330px,78vw)!important}.intro-loader__text{font-size:.72rem!important;letter-spacing:.24em!important}}
