/* Z PASJI DO WNĘTRZ — interaktywna oprawa. Bez zewnętrznych bibliotek. */
:root{--gold:#b99261;--gold-light:#dec7a3;--motion-ease:cubic-bezier(.22,.75,.24,1)}
.scroll-progress{position:fixed;left:0;top:0;z-index:300;pointer-events:none;width:100%;height:3px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#c19863,#e4caa4,#ac7b40);box-shadow:0 0 15px rgba(195,153,93,.35)}
.site-header{transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{box-shadow:0 10px 40px rgba(52,38,23,.085);background:rgba(255,252,245,.985)}
.nav-desktop a{position:relative;padding-block:8px}
.nav-desktop a::after{content:'';height:1px;position:absolute;bottom:1px;left:0;right:0;background:#b99261;transform-origin:left;transform:scaleX(0);transition:transform .32s var(--motion-ease)}
.nav-desktop a:hover::after,.nav-desktop a:focus-visible::after,.nav-desktop a.is-current::after{transform:scaleX(1)}
.nav-desktop a.is-current{color:#9b7448}
/* Hero with cinematic crossfading images. */
.hero{isolation:isolate}
.hero-photo{background-color:#c8b9a6!important;background-image:none!important;isolation:isolate;overflow:hidden}
.hero-slides,.hero-slide,.hero-slide::after{position:absolute;inset:0}
.hero-slides{z-index:0;overflow:hidden}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1.55s ease,visibility 1.55s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.095);transition:transform 8s linear;filter:saturate(.98)}
.hero-slide.is-active img{transform:scale(1.015)}
.hero-slide::after{content:'';background:linear-gradient(90deg,rgba(14,12,10,.1),transparent 34%),linear-gradient(0deg,rgba(18,15,12,.45),transparent 37%);pointer-events:none}
.hero-photo-tag{z-index:4;right:6.5%;bottom:21%;border:1px solid rgba(215,182,130,.45);box-shadow:0 9px 40px rgba(29,23,16,.15);animation:brand-float 7s ease-in-out infinite}
.hero-photo-tag::before{content:'';position:absolute;inset:8px;border:1px solid rgba(166,128,74,.13);border-radius:50%}
@keyframes brand-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-side-label{z-index:4;pointer-events:none}
.hero-slider-panel{position:absolute;z-index:5;left:clamp(18px,4.2vw,65px);bottom:38px;width:min(310px,45%);color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero-slider-caption{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}
.slider-overline{font-size:9px;letter-spacing:.2em;color:#eee5d5;font-weight:600}
.hero-slider-caption strong{font-family:var(--serif);font-weight:400;font-size:clamp(18px,2vw,26px);line-height:1.2}
.hero-slider-row{display:flex;align-items:center;gap:9px}
.slider-arrow,.slider-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(36,31,23,.22);backdrop-filter:blur(8px);color:#fff;font-size:19px;transition:background .2s,transform .25s,border-color .2s}
.slider-arrow:hover,.slider-toggle:hover{background:#bd9463;border-color:#bd9463;transform:translateY(-2px)}
.slider-toggle{margin-left:7px;font-size:14px;line-height:1}
.slider-counter{font-size:10px;letter-spacing:.14em;white-space:nowrap;margin:0 3px;font-weight:700}
.slider-counter #slide-current{font-size:15px;color:#f3d5ad}
.slider-timebar{height:2px;width:100%;background:rgba(255,255,255,.34);margin-top:15px;overflow:hidden}
.slider-timebar span{display:block;height:100%;width:100%;background:#f3cb94;transform-origin:left;transform:scaleX(0)}
.hero-photo.is-playing .slider-timebar span{animation:slide-duration 5.8s linear forwards}
@keyframes slide-duration{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-photo.is-paused .slider-timebar span{animation-play-state:paused}
.hero-copy h1{animation:hero-appear 1.05s var(--motion-ease) both}
.hero-copy .eyebrow{animation:hero-appear .8s .15s var(--motion-ease) both}
.hero-lead{animation:hero-appear .95s .18s var(--motion-ease) both}
.hero-actions{animation:hero-appear 1s .34s var(--motion-ease) both}
@keyframes hero-appear{from{opacity:0;transform:translateY(21px)}to{opacity:1;transform:translateY(0)}}
/* Gold glints, animated controls and hover states. */
.btn,.header-contact,.floating-contact{position:relative;overflow:hidden}
.btn::before,.header-contact::before{content:'';position:absolute;inset:0;transform:translateX(-125%) skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:transform .7s ease;pointer-events:none}
.btn:hover::before,.header-contact:hover::before{transform:translateX(125%) skewX(-25deg)}
.floating-contact{box-shadow:0 8px 27px rgba(34,27,18,.27),0 0 0 0 rgba(183,143,87,.28);animation:contact-glow 5s ease-in-out infinite}
@keyframes contact-glow{0%,100%{box-shadow:0 8px 27px rgba(34,27,18,.25),0 0 0 0 rgba(183,143,87,0)}60%{box-shadow:0 8px 27px rgba(34,27,18,.25),0 0 0 10px rgba(183,143,87,0)}74%{box-shadow:0 8px 27px rgba(34,27,18,.25),0 0 0 0 rgba(183,143,87,.15)}}
.service-card{position:relative;isolation:isolate;overflow:hidden;transition:transform .42s var(--motion-ease),box-shadow .42s var(--motion-ease),border-color .42s}
.service-card::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(350px circle at var(--cursor-x,50%) var(--cursor-y,0%),rgba(222,187,133,.19),transparent 65%);opacity:0;transition:opacity .35s}
.service-card:hover::after,.service-card:focus-within::after{opacity:1}
.service-card:hover{transform:translateY(-9px);box-shadow:0 20px 48px rgba(99,72,38,.14)}
.service-drawing svg{transition:transform .65s var(--motion-ease),color .4s}
.service-card:hover .service-drawing svg{transform:translateY(-7px) scale(1.06);color:#ac804d}
.circle-link{transition:transform .3s,background .3s,color .3s}
.service-card:hover .circle-link{background:#a78153;color:white;transform:rotate(45deg);border-color:#a78153}
.staging-callout{transition:box-shadow .4s,transform .4s}
.staging-callout:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(61,43,21,.08)}
.about-portrait-wrap{transition:box-shadow .6s var(--motion-ease);overflow:hidden}
.about-portrait{transition:transform 1.35s var(--motion-ease)}
.about-portrait-wrap:hover .about-portrait{transform:scale(1.025)}
.about-portrait-wrap:hover{box-shadow:0 22px 65px rgba(70,51,29,.11)}
.asterisk,.cta-star,.quote-deco{transform-origin:center}
.cta-star{animation:icon-sway 17s ease-in-out infinite}
@keyframes icon-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(120deg)}}
/* Slow luxury brand ticker. */
.design-ticker{height:72px;display:flex;align-items:center;overflow:hidden;background:#dac8ae;border-block:1px solid #d5bea0;color:#4a3929}
.design-ticker-inner{display:flex;align-items:center;gap:34px;width:max-content;white-space:nowrap;animation:flow-text 33s linear infinite;will-change:transform}
.design-ticker-inner span{font-size:11px;font-weight:700;letter-spacing:.18em}
.design-ticker-inner b{font-size:20px;font-weight:400;color:#a58052}
@keyframes flow-text{to{transform:translateX(-50%)}}
.design-ticker:hover .design-ticker-inner{animation-play-state:paused}
/* Horizontal portfolio reel with manual/automatic sliding. */
.showcase{display:grid;grid-template-columns:43% 57%;background:#eae2d7;overflow:hidden;min-height:620px;color:#342a20}
.showcase-copy{display:flex;align-items:center;justify-content:flex-end;padding:65px 8% 64px max(42px,calc((100vw - 1320px)/2))}
.showcase-copy-inner{max-width:505px;margin-right:auto}
.showcase-copy .eyebrow{font-size:9px}
.showcase-copy h2{font-size:clamp(33px,3.7vw,56px);margin:24px 0 24px;line-height:1.32}
.showcase-copy p{max-width:410px;font-size:13px;line-height:2;color:#6e6358;margin:0 0 28px}
.showcase-copy .text-link{color:#6d5034}
.showcase-nav{display:flex;align-items:center;gap:17px;margin-top:64px}
.showcase-nav button{height:49px;width:49px;border:1px solid #ad9474;border-radius:50%;background:transparent;color:#64452d;font-size:22px;transition:background .25s,color .25s,transform .25s}
.showcase-nav button:hover{background:#5d4630;color:#fff;transform:scale(1.07)}
.showcase-number{margin:0 5px;font-size:11px;letter-spacing:.2em;color:#9d8570}
.showcase-number strong{font-size:18px;color:#9b7345}
.showcase-visual{position:relative;min-height:620px;overflow:hidden;background:#c4b5a3}
.showcase-track{display:flex;height:100%;width:100%;transform:translateX(0);transition:transform 1.05s var(--motion-ease);will-change:transform}
.showcase-frame{position:relative;flex:0 0 100%;height:100%;min-width:0;margin:0;overflow:hidden}
.showcase-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);transition:transform 7.5s ease}
.showcase-frame.is-current img{transform:scale(1)}
.showcase-frame::after{content:'';position:absolute;inset:52% 0 0;background:linear-gradient(0deg,rgba(18,16,14,.68),transparent);pointer-events:none}
.showcase-frame figcaption{position:absolute;bottom:50px;left:clamp(27px,5vw,82px);right:30px;z-index:1;color:#fff}
.showcase-frame figcaption span{font-size:9px;letter-spacing:.22em;display:block;margin-bottom:11px}
.showcase-frame figcaption strong{font-family:var(--serif);font-size:clamp(24px,3vw,41px);font-weight:400;line-height:1.1}
.showcase-line{height:3px;bottom:0;left:0;right:0;position:absolute;background:rgba(255,255,255,.24);overflow:hidden;z-index:2}
.showcase-line span{display:block;height:100%;background:#e5c99f;width:100%;transform:scaleX(0);transform-origin:left}
.showcase-visual.is-playing .showcase-line span{animation:reel-duration 7.8s linear forwards}
@keyframes reel-duration{to{transform:scaleX(1)}}
/* Gallery motion states and elegant responsive lightbox navigation. */
.gallery-item{isolation:isolate;transition:box-shadow .4s,transform .4s var(--motion-ease)}
.gallery-item::after{content:'';position:absolute;top:-100%;left:-100%;height:300%;width:75%;transform:rotate(22deg) translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);pointer-events:none;z-index:1;transition:transform .85s var(--motion-ease)}
.gallery-item:hover::after,.gallery-item:focus-visible::after{transform:rotate(22deg) translateX(430%)}
.gallery-item:hover,.gallery-item:focus-visible{box-shadow:0 16px 35px rgba(53,39,22,.17);z-index:1}
.gallery-overlay{z-index:2;transition:padding .35s,background .4s}
.gallery-item:hover .gallery-overlay{padding-bottom:32px;background:linear-gradient(transparent,rgba(23,18,12,.79))}
.gallery-overlay .plus{transition:transform .3s,background .3s}
.gallery-item:hover .gallery-overlay .plus{transform:rotate(45deg);background:rgba(255,255,255,.18)}
.filters .filter-btn{position:relative;transition:color .25s}
.filters .filter-btn::after{content:'';position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0);height:2px;background:#b58b57;transition:transform .3s var(--motion-ease)}
.filters .filter-btn.is-active::after,.filters .filter-btn:hover::after{transform:scaleX(1)}
.lightbox{overflow:hidden}
.lightbox img{transition:opacity .22s ease,transform .6s ease}
.lightbox-nav{position:absolute;top:48%;width:50px;height:50px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.13);color:#fff;border-radius:50%;font-size:27px;display:grid;place-items:center;transition:background .25s;backdrop-filter:blur(6px)}
.lightbox-nav:hover{background:#b58d5c}
.lightbox-prev{left:clamp(8px,3vw,47px)}.lightbox-next{right:clamp(8px,3vw,47px)}
.lightbox-counter{color:#ddd0ba;font-size:11px;letter-spacing:.2em;position:absolute;bottom:25px;right:40px}
/* Scroll reveals: JS only attaches class to not-yet-visible targets. */
.reveal-pending{opacity:0;transform:translateY(34px);transition:transform .85s var(--motion-ease),opacity .85s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal-pending.is-visible{opacity:1;transform:translateY(0)}
.about-portrait-wrap.reveal-pending{transform:translateX(-26px)}
.about-portrait-wrap.reveal-pending.is-visible{transform:translateX(0)}
/* Hover highlighted form fields */
.contact-form-box input,.contact-form-box textarea,.contact-form-box select{transition:border-color .3s,box-shadow .3s}
.contact-form-box input:focus,.contact-form-box textarea:focus,.contact-form-box select:focus{border-color:#b48a55;box-shadow:0 2px 0 -1px rgba(178,136,80,.48)}
@media(max-width:1200px){.showcase-copy{padding-left:40px}.showcase-copy h2{font-size:clamp(32px,3.6vw,49px)}}
@media(max-width:900px){.hero-slider-panel{left:25px;width:55%;bottom:27px}.hero-photo-tag{right:22px;bottom:24%}.showcase{grid-template-columns:45% 55%;min-height:500px}.showcase-visual{min-height:500px}.showcase-copy{padding:42px 30px}.showcase-copy h2{font-size:34px}.showcase-nav{margin-top:35px}}
@media(max-width:680px){
 .hero-photo{min-height:390px}
 .hero-photo-tag{bottom:23%;width:103px;height:103px;right:18px}
 .hero-slider-panel{left:20px;bottom:22px;width:56%}
 .hero-slider-caption{gap:6px;margin-bottom:10px}
 .hero-slider-caption strong{font-size:18px}
 .slider-overline{font-size:7px;letter-spacing:.13em}
 .slider-arrow,.slider-toggle{width:32px;height:32px;font-size:16px}
 .slider-toggle{font-size:12px}
 .slider-timebar{margin-top:10px}
 .design-ticker{height:53px}.design-ticker-inner{gap:20px}.design-ticker-inner span{font-size:9px}.design-ticker-inner b{font-size:16px}
 .showcase{grid-template-columns:1fr;min-height:0}
 .showcase-copy{padding:70px 21px 35px}
 .showcase-copy h2{font-size:clamp(35px,9vw,46px);margin:18px 0}
 .showcase-copy p{font-size:12px;line-height:1.9;margin-bottom:22px}
 .showcase-nav{margin-top:30px;gap:15px}.showcase-nav button{width:43px;height:43px}
 .showcase-visual{height:410px;min-height:410px}.showcase-frame figcaption{left:23px;bottom:34px}.showcase-frame figcaption strong{font-size:28px}
 .lightbox{padding:65px 55px 50px}.lightbox-nav{width:34px;height:42px;font-size:21px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-counter{right:24px;bottom:11px}
 .gallery-item:hover .gallery-overlay{padding-bottom:15px}
}
@media(max-width:410px){.hero-slider-panel{width:60%}.hero-photo-tag{right:11px}.hero-photo-tag span:last-child{font-size:9px}.hero-slider-row{gap:5px}.slider-toggle{margin-left:3px}.showcase-visual{height:350px;min-height:350px}}
@media(hover:none){.gallery-item::after{display:none}.service-card:hover{transform:none}.gallery-item:hover .gallery-overlay{padding-bottom:13px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-slide,.hero-slide img,.showcase-frame img,.reveal-pending,.reveal-pending.is-visible{transition:none!important;transform:none!important;opacity:1}
 .hero-slide:not(.is-active){opacity:0;visibility:hidden}
 .showcase-track{transition:none!important}
 .design-ticker-inner,.hero-photo-tag,.floating-contact,.cta-star,.hero-copy h1,.hero-copy .eyebrow,.hero-lead,.hero-actions{animation:none!important}
 .hero-photo.is-playing .slider-timebar span,.showcase-visual.is-playing .showcase-line span{animation:none!important}
 .reveal-pending{opacity:1!important}
}
