/* Elpio – odsłona 2026. Minimalizm: biel, cienkie linie, jeden akcent. */
:root{
	--ep-ink:#141414;
	--ep-text:#2F3437;
	--ep-muted:#787774;
	--ep-line:#EAEAEA;
	--ep-bone:#F7F6F3;
	--ep-accent:#E18D0C;
	--ep-accent-ink:#B86F00;
	--ep-wrap:1240px;
	--ep-pad:clamp(20px,4.5vw,56px);
	--ep-sec:clamp(72px,10vw,144px);
	--ep-ease:cubic-bezier(.16,1,.3,1);
	--ep-sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Helvetica Neue',sans-serif;
	--ep-mono:'Geist Mono',ui-monospace,'SF Mono',monospace;
	--kit-widget-spacing:0px;
	--widgets-spacing:0px;
}

/* ---------- reset Elementora pod własną siatkę ---------- */
body.ep{font-family:var(--ep-sans);font-weight:400;color:var(--ep-text);background:#fff;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.ep .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--content-width:100%;--width:100%}
body.ep .elementor-heading-title,body.ep h1,body.ep h2,body.ep h3,body.ep h4{font-family:var(--ep-sans);color:var(--ep-ink);margin:0}
body.ep p{margin:0 0 1em}
body.ep p:last-child{margin-bottom:0}
body.ep a{color:inherit;text-decoration:none;transition:color .2s}
body.ep img{display:block;max-width:100%;height:auto}
::selection{background:var(--ep-accent);color:#fff}

body.ep .elementor-widget-text-editor{font-family:var(--ep-sans);font-weight:400;color:inherit}

/* ---------- układ ---------- */
.ep-section{padding:var(--ep-sec) var(--ep-pad)}
.ep-section--tight{padding-top:clamp(24px,4vw,48px)}
.ep-section--bone{background:var(--ep-bone)}
.ep-section--line{border-top:1px solid var(--ep-line)}
.ep-wrap{max-width:var(--ep-wrap);margin-inline:auto;width:100%}

.ep-label .elementor-heading-title,.ep-label{font-family:var(--ep-mono)!important;font-size:12px!important;font-weight:500!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-muted)!important;line-height:1.4!important}
.ep-label .elementor-heading-title::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ep-accent);margin-right:10px;vertical-align:1px}

.ep-h1 .elementor-heading-title{font-size:clamp(42px,6.6vw,92px);font-weight:300;line-height:1.02;letter-spacing:-.035em}
.ep-h1 .elementor-heading-title em{font-style:normal;color:var(--ep-accent)}
.ep-h2 .elementor-heading-title{font-size:clamp(32px,4.2vw,56px);font-weight:300;line-height:1.06;letter-spacing:-.03em}
.ep-h3 .elementor-heading-title{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.01em}
.ep-lead,.ep-lead p{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ep-text);max-width:38em}
.ep-muted,.ep-muted p{color:var(--ep-muted)}

.ep-head{display:grid!important;grid-template-columns:1fr auto;align-items:end;gap:24px 48px!important;margin-bottom:clamp(36px,5vw,64px)}
.ep-head .ep-label{grid-column:1/-1}
.ep-head--stack{grid-template-columns:1fr}
@media (max-width:640px){.ep-head{grid-template-columns:1fr;gap:16px!important}.ep-actions .elementor-widget-button{flex:1 1 100%}.ep-actions .elementor-button{width:100%;justify-content:center}}

/* ---------- przyciski ---------- */
.ep-btn .elementor-button{font-family:var(--ep-sans);font-size:16px;font-weight:500;line-height:1;padding:17px 26px;border-radius:6px;background:var(--ep-ink);color:#fff;border:1px solid var(--ep-ink);transition:background .2s,transform .2s,color .2s}
.ep-btn .elementor-button:hover{background:#333;color:#fff}
.ep-btn .elementor-button:active{transform:scale(.98)}
.ep-btn--ghost .elementor-button{background:transparent;color:var(--ep-ink);border-color:var(--ep-line)}
.ep-btn--ghost .elementor-button:hover{background:transparent;color:var(--ep-ink);border-color:var(--ep-ink)}
.ep-btn .elementor-button-icon svg{width:14px;height:14px}
.ep-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:12px!important;margin-top:clamp(28px,3vw,40px)}

.ep-link .elementor-heading-title{font-size:16px;font-weight:500;color:var(--ep-ink)}
.ep-link .elementor-heading-title a{border-bottom:1px solid var(--ep-line);padding-bottom:4px;transition:border-color .2s,color .2s}
.ep-link .elementor-heading-title a::after{content:" \2192";display:inline-block;transition:transform .25s var(--ep-ease)}
.ep-link .elementor-heading-title a:hover{border-color:var(--ep-accent)}
.ep-link .elementor-heading-title a:hover::after{transform:translateX(4px)}

/* ---------- header ---------- */
.elementor-location-header{position:sticky;top:0;z-index:100}
.ep-header{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.ep-scrolled .ep-header{border-bottom-color:var(--ep-line)}
.ep-header>.e-con{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:24px!important;padding:18px var(--ep-pad)!important;max-width:calc(var(--ep-wrap) + 2*var(--ep-pad));margin-inline:auto}
.ep-brand{display:flex!important;flex-direction:row!important;align-items:center;gap:18px!important;width:auto!important}
.ep-brand img{width:112px}
.ep-brand .ep-tag .elementor-heading-title{font-size:13px;color:var(--ep-muted);font-weight:400;white-space:nowrap;border-left:1px solid var(--ep-line);padding:6px 0 6px 18px;line-height:1.2}
.ep-navwrap{display:flex!important;flex-direction:row!important;align-items:center;gap:28px!important;width:auto!important}
.ep-nav .elementor-nav-menu--main .elementor-item{font-family:var(--ep-sans);font-size:15px;font-weight:500;color:var(--ep-text);padding:8px 14px;letter-spacing:0}
.ep-nav .elementor-nav-menu--main .elementor-item:hover,.ep-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--ep-accent-ink)}
.ep-nav .elementor-menu-toggle{background:transparent;padding:8px;margin:-8px;color:var(--ep-ink)}
.ep-nav .elementor-menu-toggle svg{width:24px;height:24px;fill:var(--ep-ink)}
.ep-header .ep-btn .elementor-button{padding:12px 18px;font-size:14px}

@media (max-width:1024px){
	.ep-brand .ep-tag,.ep-header .ep-btn{display:none}
	.ep-header>.e-con{padding:12px var(--ep-pad)!important}
	.ep-brand img{width:92px}
	.ep-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:fixed!important;left:0!important;right:0;width:100vw!important;top:var(--elpio-hdr,64px)!important;margin:0!important;background:#fff;box-shadow:none;border-top:1px solid var(--ep-line)}
	.ep-nav .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container{height:calc(100dvh - var(--elpio-hdr,64px));max-height:none!important;padding:20px var(--ep-pad) 32px;display:flex;flex-direction:column}
	.ep-nav .elementor-nav-menu--dropdown .elementor-nav-menu{counter-reset:ep}
	.ep-nav .elementor-nav-menu--dropdown a.elementor-item{counter-increment:ep;font-family:var(--ep-sans);font-size:clamp(40px,11vw,56px);font-weight:300;letter-spacing:-.03em;line-height:1.1;color:var(--ep-ink);padding:18px 0!important;border-bottom:1px solid var(--ep-line);justify-content:space-between;background:transparent!important}
	.ep-nav .elementor-nav-menu--dropdown a.elementor-item::after{content:"0" counter(ep);font-family:var(--ep-mono);font-size:12px;letter-spacing:.08em;color:var(--ep-muted);align-self:flex-start;margin-top:10px}
	.ep-nav .elementor-nav-menu--dropdown a.elementor-item-active{color:var(--ep-accent-ink)}
	.ep-menu-meta{margin-top:auto;padding-top:28px;display:grid;gap:6px;font-size:17px}
	.ep-menu-meta a{color:var(--ep-ink)}
	.ep-menu-meta small{font-family:var(--ep-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-muted);margin-bottom:6px}
	.ep-menu-meta .ep-menu-cta{display:inline-block;margin-top:18px;background:var(--ep-ink);color:#fff;padding:16px 22px;border-radius:6px;text-align:center;font-weight:500}
	.ep-nav .elementor-menu-toggle:not(.elementor-active)+.elementor-nav-menu__container .ep-menu-meta{display:none}
}
html.elpio-menu-open,html.elpio-menu-open body{overflow:hidden}

/* ---------- hero ---------- */
.ep-hero{padding-top:clamp(40px,7vw,104px);padding-bottom:clamp(56px,8vw,112px)}
.ep-hero .ep-wrap{display:grid!important;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,5vw,80px)!important}
.ep-hero .ep-h1{margin-top:28px!important}
.ep-hero .ep-lead{margin-top:28px!important}
.ep-hero .ep-art img{width:100%;max-width:520px;margin-left:auto}
@media (max-width:900px){
	.ep-hero .ep-wrap{grid-template-columns:1fr}
	.ep-hero .ep-art{order:-1}
	.ep-hero .ep-art img{max-width:340px;margin:0 auto 0 0}
}

/* ---------- liczby ---------- */
.ep-facts{padding:0 var(--ep-pad)}
.ep-facts .ep-wrap{display:grid!important;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ep-line);border-bottom:1px solid var(--ep-line)}
.ep-fact{padding:32px 24px 32px 0!important;border-right:1px solid var(--ep-line)}
.ep-fact+.ep-fact{padding-left:24px!important}
.ep-fact:last-child{border-right:0}
.ep-fact .ep-num .elementor-heading-title{font-size:clamp(36px,4vw,52px);font-weight:300;letter-spacing:-.03em;line-height:1}
.ep-fact .ep-num .elementor-heading-title span{color:var(--ep-accent)}
.ep-fact .ep-small{margin-top:10px!important;font-size:14px;color:var(--ep-muted);line-height:1.4}
@media (max-width:900px){
	.ep-facts .ep-wrap{grid-template-columns:1fr 1fr}
	.ep-fact{padding:24px 16px 24px 0!important}
	.ep-fact+.ep-fact{padding-left:16px!important}
	.ep-fact:nth-child(2){border-right:0}
	.ep-fact:nth-child(3){padding-left:0!important;border-top:1px solid var(--ep-line)}
	.ep-fact:nth-child(4){border-top:1px solid var(--ep-line)}
}

/* ---------- oferta ---------- */
.ep-offer-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px!important}
.ep-card{border:1px solid var(--ep-line);border-radius:12px;padding:28px!important;background:#fff;min-height:240px;justify-content:space-between!important;transition:border-color .25s,box-shadow .25s,transform .25s var(--ep-ease)}
.ep-card:hover{border-color:#D9D9D9;box-shadow:0 2px 12px rgba(0,0,0,.04);transform:translateY(-2px)}
.ep-card .ep-icon img{width:56px;height:56px}
.ep-card .ep-idx .elementor-heading-title{font-family:var(--ep-mono);font-size:12px;letter-spacing:.08em;color:var(--ep-muted);font-weight:500}
.ep-card .ep-top{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:flex-start}
.ep-card .ep-h3{margin-top:40px!important}
@media (max-width:1024px){.ep-offer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
	.ep-offer-grid{gap:10px!important}
	.ep-card{padding:18px!important;min-height:180px}
	.ep-card .ep-icon img{width:44px;height:44px}
	.ep-card .ep-h3{margin-top:28px!important}
	.ep-card .ep-h3 .elementor-heading-title{font-size:16px}
}

/* ---------- realizacje: bento ---------- */
.ep-bento{display:grid!important;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,13vw,190px);gap:16px!important}
.ep-tile{position:relative;overflow:hidden;border-radius:12px;background:var(--ep-bone);display:block!important}
.ep-tile .elementor-widget-image{position:absolute!important;inset:0}
.ep-tile .elementor-widget-image .elementor-widget-container,.ep-tile .elementor-widget-image a,.ep-tile img{width:100%!important;height:100%!important;max-width:none}
.ep-tile img{object-fit:cover;transition:transform 1.2s var(--ep-ease)}
.ep-tile:hover img{transform:scale(1.04)}
.ep-tile .ep-cap{position:absolute!important;left:14px;bottom:14px;width:auto!important;z-index:2}
.ep-tile .ep-cap .elementor-heading-title{display:inline-block;font-family:var(--ep-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--ep-ink);padding:7px 11px;border-radius:999px;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ep-t1{grid-column:span 5;grid-row:span 3}
.ep-t2{grid-column:span 7;grid-row:span 2}
.ep-t3{grid-column:span 3;grid-row:span 2}
.ep-t4{grid-column:span 4;grid-row:span 2}
.ep-t5{grid-column:span 5;grid-row:span 3}
.ep-t6{grid-column:span 7;grid-row:span 2}
@media (max-width:900px){
	.ep-bento{grid-template-columns:1fr 1fr;grid-auto-rows:44vw;gap:10px!important}
	.ep-t1{grid-column:span 1;grid-row:span 2}
	.ep-t2,.ep-t3,.ep-t4,.ep-t5{grid-column:span 1;grid-row:span 1}
	.ep-t6{grid-column:span 2;grid-row:span 1}
}

/* ---------- proces ---------- */
.ep-steps{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0!important;counter-reset:st}
.ep-step{padding:28px 28px 8px 0!important;border-top:1px solid #DCDAD4}
.ep-step+.ep-step{padding-left:28px!important;border-left:1px solid #DCDAD4}
.ep-step .ep-idx .elementor-heading-title{font-family:var(--ep-mono);font-size:12px;letter-spacing:.08em;color:var(--ep-accent-ink);font-weight:500}
.ep-step .ep-h3{margin:56px 0 12px!important}
.ep-step .ep-small{font-size:15px;color:var(--ep-muted);line-height:1.55}
@media (max-width:900px){
	.ep-steps{grid-template-columns:1fr}
	.ep-step,.ep-step+.ep-step{padding:22px 0!important;border-left:0;display:grid!important;grid-template-columns:48px 1fr;column-gap:8px!important}
	.ep-step .ep-idx{grid-row:span 2}
	.ep-step .ep-h3{margin:0 0 6px!important}
}

/* ---------- O nas ---------- */
.ep-about{display:grid!important;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px)!important;align-items:start}
.ep-about .ep-text,.ep-about .ep-text p{font-size:clamp(17px,1.4vw,19px);line-height:1.7;color:var(--ep-text)}
.ep-wide-art img{width:100%;max-width:1100px;margin:0 auto}
@media (max-width:900px){.ep-about{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.ep-cta .ep-wrap{border-top:1px solid var(--ep-line);padding-top:clamp(48px,6vw,80px)!important;display:grid!important;grid-template-columns:1.2fr .8fr;gap:40px!important;align-items:end}
.ep-cta .ep-h2 .elementor-heading-title{font-size:clamp(40px,6vw,84px)}
.ep-cta .ep-contact{display:grid!important;gap:8px!important;justify-items:start}
.ep-cta .ep-contact .elementor-heading-title{font-size:clamp(22px,2.2vw,30px);font-weight:300;letter-spacing:-.02em}
.ep-cta .ep-contact .elementor-heading-title a:hover{color:var(--ep-accent-ink)}
.ep-cta .ep-actions{margin-top:20px}
@media (max-width:900px){.ep-cta .ep-wrap{grid-template-columns:1fr}}

/* ---------- strona: nagłówek podstrony ---------- */
.ep-pagehead{padding-top:clamp(40px,7vw,104px);padding-bottom:clamp(32px,5vw,72px)}
.ep-pagehead .ep-h1{margin-top:24px!important;max-width:14em}
.ep-pagehead .ep-lead{margin-top:24px!important}

/* ---------- galeria realizacji ---------- */
.ep-gallery .elementor-gallery__titles-container{justify-content:flex-start!important;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,3vw,44px)!important}
.ep-gallery .elementor-gallery-title{font-family:var(--ep-sans)!important;font-size:14px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;color:var(--ep-text)!important;padding:10px 16px!important;margin:0!important;border:1px solid var(--ep-line);border-radius:999px;transition:border-color .2s,background .2s,color .2s}
.ep-gallery .elementor-gallery-title::before,.ep-gallery .elementor-gallery-title::after{display:none!important}
.ep-gallery .elementor-gallery-title:hover{border-color:var(--ep-ink)}
.ep-gallery .elementor-gallery-title.elementor-item-active{background:var(--ep-ink);border-color:var(--ep-ink);color:#fff!important}
.ep-gallery .e-gallery-item{border-radius:10px;overflow:hidden}
.ep-gallery .e-gallery-image{transition:transform 1s var(--ep-ease)}
.ep-gallery .e-gallery-item:hover .e-gallery-image{transform:scale(1.03)}
@media (max-width:767px){
	.ep-gallery .elementor-gallery__titles-container{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--ep-pad))!important;padding:0 var(--ep-pad) 4px}
	.ep-gallery .elementor-gallery__titles-container::-webkit-scrollbar{display:none}
	.ep-gallery .elementor-gallery-title{flex:0 0 auto;white-space:nowrap;font-size:13px!important;padding:9px 14px!important}
}

/* ---------- kontakt ---------- */
.ep-contact-grid{display:grid!important;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px)!important;align-items:start}
.ep-info{display:grid!important;gap:28px!important}
.ep-info-item{padding-bottom:24px!important;border-bottom:1px solid var(--ep-line)}
.ep-info-item .ep-big .elementor-heading-title{font-size:clamp(22px,2.2vw,28px);font-weight:300;letter-spacing:-.02em;margin-top:10px;line-height:1.3}
.ep-info-item .ep-big .elementor-heading-title a:hover{color:var(--ep-accent-ink)}
.ep-formcard{border:1px solid var(--ep-line);border-radius:12px;padding:clamp(24px,3vw,40px)!important}
.ep-formcard .ep-h3{margin-bottom:24px!important}
.ep-formcard .elementor-field-group{margin-bottom:14px!important}
.ep-formcard .elementor-field-textual{font-family:var(--ep-sans);font-size:16px;border:1px solid var(--ep-line)!important;border-radius:6px!important;padding:14px 16px!important;background:#fff;color:var(--ep-ink);min-height:52px}
.ep-formcard .elementor-field-textual:focus{border-color:var(--ep-ink)!important;box-shadow:none;outline:0}
.ep-formcard textarea.elementor-field-textual{min-height:150px}
.ep-formcard .elementor-button{font-family:var(--ep-sans);background:var(--ep-ink)!important;color:#fff;border-radius:6px;padding:17px 28px;font-size:16px;font-weight:500;width:100%}
.ep-formcard .elementor-button:hover{background:#333!important}
.ep-map{margin-top:clamp(48px,6vw,88px)!important;border-radius:12px;overflow:hidden;border:1px solid var(--ep-line)}
.ep-map iframe{filter:grayscale(1) contrast(1.05);display:block}
@media (max-width:900px){.ep-contact-grid{grid-template-columns:1fr}}

/* ---------- stopka ---------- */
.ep-footer{padding:clamp(56px,7vw,96px) var(--ep-pad) 32px;background:var(--ep-bone);margin-top:var(--ep-sec)}
.ep-footer .ep-wrap{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px!important}
.ep-footer img{width:104px}
.ep-footer .elementor-widget-image,.ep-brand .elementor-widget-image{text-align:left}
.ep-footer .elementor-widget-image img,.ep-brand img{margin:0}
.ep-footer .ep-small{font-size:15px;color:var(--ep-muted);margin-top:16px!important;max-width:22em;line-height:1.5}
.ep-footer .ep-col .ep-label{margin-bottom:14px!important}
.ep-footer .ep-col .elementor-widget-text-editor,.ep-footer .ep-col p{font-size:15px;line-height:1.75;color:var(--ep-text)}
.ep-footer .ep-col a:hover{color:var(--ep-accent-ink)}
.ep-footer .ep-bottom{grid-column:1/-1;display:flex!important;flex-direction:row!important;justify-content:space-between;flex-wrap:wrap;gap:12px!important;border-top:1px solid #DCDAD4;padding-top:24px!important;margin-top:24px!important;font-size:13px;color:var(--ep-muted)}
.ep-footer .ep-bottom p{margin:0}
@media (max-width:900px){.ep-footer .ep-wrap{grid-template-columns:1fr 1fr}.ep-footer .ep-brandcol{grid-column:1/-1}}
@media (max-width:480px){.ep-footer .ep-wrap{grid-template-columns:1fr}}
body.ep .elementor-location-footer{margin-top:auto}

/* ---------- ruch ---------- */
.ep-js .ep-reveal{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ep-ease),transform .8s var(--ep-ease);transition-delay:calc(var(--i,0)*70ms)}
.ep-js .ep-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ep-js .ep-reveal{opacity:1;transform:none;transition:none}}
