/*
Theme Name: Poprojektowana Studio
Author: Poprojektowana — projekt wewnętrzny
Description: Autorski, niezależny motyw dla portfolio Poprojektowana. Wersja bazowa 3.1.
Version: 0.7.7
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: poprojektowana
*/

:root{--ink:#151514;--paper:#fff;--soft:#767674;--side:clamp(22px,4.3vw,90px);--main:'Zalando Sans Expanded','Arial Narrow',Arial,sans-serif;--mono:'Courier New',Courier,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--main);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid #fffc9f;outline-offset:4px}::selection{background:#ded8ce;color:#161616}.machine{font-family:var(--mono);font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.tiny{font-size:11px}.gridline{border-top:1px solid currentColor;opacity:.28}.btn-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding:0 0 8px;font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;transition:gap .2s}.btn-link:hover{gap:35px}
.navbar{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent);text-shadow:0 1px 10px rgba(0,0,0,.38);display:flex;align-items:center;justify-content:space-between;padding:27px var(--side);gap:24px;border-bottom:1px solid rgba(255,255,255,.38)}.logo{font-size:clamp(18px,1.6vw,27px);font-weight:800;letter-spacing:-.075em;white-space:nowrap}.logo i{font-style:normal;font-weight:400}.navlinks{display:flex;align-items:center;gap:clamp(15px,2.5vw,52px)}.navlinks a{font:10px var(--mono);letter-spacing:.09em;white-space:nowrap}.navlinks a span{opacity:.7}.navlinks a:hover{opacity:.58}.mobile-btn{display:none;border:1px solid rgba(255,255,255,.75);background:transparent;color:white;padding:9px 12px;font:11px var(--mono)}
.hero{min-height:900px;height:100svh;position:relative;color:#fff;overflow:hidden;background:#171716}.fullphoto{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.002)}.hero .fullphoto{background-position:58% 29%}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.51) 44%,rgba(0,0,0,.16) 75%),linear-gradient(0deg,rgba(0,0,0,.68),transparent 66%),linear-gradient(180deg,rgba(0,0,0,.28),transparent 35%)}.hero-content{position:relative;z-index:2;height:100%;max-width:1900px;margin:auto;padding:clamp(150px,15vh,240px) var(--side) clamp(45px,7vh,108px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.hero-eyebrow{display:flex;gap:40px;align-items:center;margin-bottom:30px;color:#fff}.hero h1{font-size:clamp(70px,8.1vw,159px);font-weight:700;letter-spacing:-.085em;line-height:.87;max-width:1100px;margin:0;text-transform:uppercase}.hero h1 span{display:block}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-top:45px;width:100%}.hero-bottom p{max-width:380px;line-height:1.6;font-size:clamp(13px,1vw,16px);font-weight:300;margin:0}
.photo-section{position:relative;color:#fff;isolation:isolate;background:#151515;overflow:hidden}.photo-section .fullphoto{z-index:-2}.photo-section:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.36) 65%,rgba(0,0,0,.1)),linear-gradient(0deg,rgba(0,0,0,.26),transparent 75%);z-index:-1}.page-pad{padding-left:var(--side);padding-right:var(--side)}.section-id{font:11px var(--mono);letter-spacing:.05em;text-transform:uppercase;display:flex;justify-content:space-between;gap:15px}.intro{min-height:750px;display:flex;flex-direction:column;justify-content:space-between;padding-top:62px;padding-bottom:65px}.intro .fullphoto{background-position:63% 36%}.intro .mainquote{padding:90px 0 65px;max-width:1100px}.mainquote h2{font-size:clamp(54px,7.3vw,132px);font-weight:650;letter-spacing:-.085em;line-height:.97;margin:0 0 34px}.mainquote p{font-size:clamp(16px,1.5vw,22px);font-weight:300;line-height:1.48;max-width:500px;margin:0}.intro-bottom{display:flex;gap:30px;align-items:center;justify-content:space-between}
.works-section{background:#fff;min-height:800px;padding-top:clamp(90px,10vw,185px);padding-bottom:clamp(95px,10vw,185px)}.works-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-top:65px;margin-bottom:80px}.works-head h2{margin:0;font-size:clamp(58px,8.5vw,154px);line-height:.92;letter-spacing:-.095em;font-weight:700;text-transform:uppercase}.works-intro{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:10px}.works-intro p{max-width:390px;font-size:clamp(15px,1.3vw,18px);line-height:1.6;font-weight:350;margin:0 0 30px}.slider-tools{display:flex;align-items:center;gap:8px;margin-top:14px}.slide-button{background:#fff;color:#111;border:1px solid #222;display:grid;place-items:center;width:53px;height:53px;font-size:22px;transition:.2s}.slide-button:hover{background:#111;color:#fff}.slide-button:disabled{opacity:.25;cursor:default;background:#fff;color:#111}.slider-num{font:12px var(--mono);margin-left:20px}.carousel{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;display:flex;gap:clamp(16px,2.4vw,38px);padding-right:var(--side);padding-bottom:16px;cursor:grab;user-select:none}.carousel::-webkit-scrollbar{display:none}.carousel.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}.work{scroll-snap-align:start;flex:0 0 clamp(320px,39vw,700px);max-width:calc(100vw - 48px);cursor:pointer;outline-offset:-5px}.work-img{position:relative;aspect-ratio:4 / 4.55;overflow:hidden;background:#eceae7}.work-img img{transition:transform 700ms cubic-bezier(.22,.61,.36,1)}.work:hover .work-img img{transform:scale(1.04)}.work-overlay{position:absolute;inset:0;background:rgba(0,0,0,.2);color:#fff;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .28s}.work:hover .work-overlay{opacity:1}.work-name{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-top:1px solid #1b1b1b;margin-top:17px;padding-top:16px}.work-name h3{font-size:clamp(20px,2.2vw,34px);line-height:1.1;letter-spacing:-.058em;margin:12px 0 0;font-weight:600}.work-arrow{font-size:27px;font-weight:200}.progress-bar{height:1px;background:#cdcdcd;margin-top:48px;position:relative}.progress-marker{width:20%;height:2px;background:#111;position:absolute;top:0;left:0;transition:left .1s,width .1s}.works-end{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font:11px var(--mono)}
.studio{min-height:840px;display:flex;flex-direction:column;justify-content:space-between;padding-top:62px;padding-bottom:70px}.studio .fullphoto{background-position:center 45%}.studio:before{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.6) 42%,rgba(0,0,0,.08) 90%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 65%)}.studio-main{max-width:900px;padding-top:140px;padding-bottom:100px}.studio-main h2{margin:0 0 28px;font-size:clamp(60px,7.3vw,132px);line-height:.92;letter-spacing:-.09em;font-weight:650;text-transform:uppercase}.studio-main p{font-size:clamp(15px,1.3vw,19px);line-height:1.65;font-weight:350;max-width:450px}.studio-footer{display:flex;align-items:end;justify-content:space-between;gap:30px}
.services{min-height:850px;padding-top:65px;padding-bottom:100px}.services .fullphoto{background-position:57% 28%}.services:before{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.66) 57%,rgba(0,0,0,.3)),linear-gradient(0deg,rgba(0,0,0,.38),transparent 85%)}.services-inner{display:grid;grid-template-columns:1fr minmax(400px,.95fr);gap:clamp(50px,7vw,130px);padding-top:140px}.services h2{font-size:clamp(62px,7vw,125px);line-height:.9;letter-spacing:-.095em;margin:0 0 35px;font-weight:650}.services-left p{max-width:390px;font-size:clamp(15px,1.25vw,19px);line-height:1.6;font-weight:300}.services-list{border-top:1px solid rgba(255,255,255,.5)}.service{border-bottom:1px solid rgba(255,255,255,.5)}.service-btn{width:100%;display:grid;grid-template-columns:35px 1fr 24px;gap:16px;align-items:center;border:0;background:transparent;color:white;padding:24px 0;text-align:left}.service-btn .service-title{font-size:clamp(20px,2.15vw,33px);font-weight:600;letter-spacing:-.06em}.service-btn .plus{font-size:27px;font-weight:250}.service-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.service-body p{margin:0 30px 25px 52px;max-width:410px;line-height:1.6;font-size:14px;font-weight:300}.pricing-note{padding-top:40px;font:11px var(--mono);max-width:510px;line-height:1.7}
.contact{padding-top:120px;padding-bottom:60px;background:#fff}.contact-main{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;padding-top:80px;padding-bottom:110px}.contact h2{font-size:clamp(65px,8.5vw,154px);line-height:.88;letter-spacing:-.1em;text-transform:uppercase;font-weight:700;margin:0 0 40px}.contact-intro p{font-size:clamp(16px,1.3vw,20px);line-height:1.6;max-width:450px}.contact-form{display:grid;gap:24px;align-self:center}.contact-form label{display:block;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid #1b1b1b;background:transparent;color:#121212;border-radius:0;width:100%;padding:15px 3px 16px;font-size:15px;font-weight:350;outline-offset:4px}.contact-form textarea{min-height:100px;resize:vertical}.contact-form .submit{background:#141414;color:white;border:1px solid #141414;text-align:left;padding:19px 22px;font-size:12px;font-weight:600;display:flex;justify-content:space-between}.contact-form .submit:hover{background:#fff;color:#141414}.formnote{font:10px var(--mono);color:#747474;line-height:1.6}.notice{display:none;background:#f2f2ef;padding:14px 16px;font:12px var(--mono);line-height:1.5}.notice.active{display:block}.footer{border-top:1px solid #171717;padding-top:30px;display:flex;justify-content:space-between;align-items:end;gap:24px}.footer-brand{font-weight:800;font-size:clamp(27px,4.3vw,68px);letter-spacing:-.09em;line-height:.95}.foot-right{text-align:right}.foot-right a{font:11px var(--mono);text-decoration:underline;text-underline-offset:4px;margin-left:20px}.legal{padding-top:75px;font:10px var(--mono);color:#777;display:flex;justify-content:space-between;gap:30px}
.overlay-modal{position:fixed;inset:0;z-index:100;background:rgba(12,12,12,.98);color:white;display:none;overflow-y:auto}.overlay-modal.open{display:block}.modal-inner{max-width:1600px;margin:auto;padding:90px var(--side) 65px}.modal-close{position:fixed;right:var(--side);top:25px;z-index:101;background:#fff;border:0;padding:14px 23px;color:#111;font:11px var(--mono)}.modal-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:50px;border-bottom:1px solid #777;padding-bottom:30px}.modal-heading h2{font-size:clamp(45px,7.5vw,140px);letter-spacing:-.08em;line-height:.9;font-weight:600;margin:10px 0 0}.modal-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px}.modal-gallery img{width:100%;height:auto;object-fit:contain}.modal-gallery img:nth-child(2){margin-top:80px}.modal-bottom{margin-top:55px;display:flex;justify-content:space-between;gap:30px}body.lock{overflow:hidden}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(min-width:2000px){.hero{max-height:1200px}}
@media(max-width:950px){.navbar{padding:19px var(--side)}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;padding:30px var(--side) 45px;background:#101010;flex-direction:column;align-items:flex-start;gap:28px;border-top:1px solid #555}.navlinks.open{display:flex}.navlinks a{font-size:13px}.mobile-btn{display:block}.hero{min-height:750px}.hero-content{padding-top:170px}.hero h1{font-size:clamp(63px,10vw,105px)}.works-head{grid-template-columns:1fr;gap:22px;margin-top:45px;margin-bottom:50px}.works-head h2{font-size:clamp(56px,11vw,115px)}.works-intro{max-width:520px}.work{flex-basis:64vw}.services-inner{grid-template-columns:1fr;gap:60px;padding-top:100px}.services-list{max-width:700px}.contact-main{grid-template-columns:1fr;gap:55px}.contact-form{max-width:700px;width:100%}}
@media(max-width:620px){:root{--side:21px}.navbar{padding:18px var(--side)}.logo{font-size:18px}.hero{min-height:690px;height:95svh}.hero .fullphoto{background-position:58% 37%}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.23)),linear-gradient(0deg,rgba(0,0,0,.88),transparent 84%)}.hero-content{padding:140px var(--side) 52px}.hero-eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(44px,11vw,76px);letter-spacing:-.085em}.hero-bottom{margin-top:24px;display:block}.hero-bottom p{font-size:13px;max-width:310px}.hero .machine{font-size:9px}.intro{min-height:700px;padding-top:32px;padding-bottom:34px}.intro .fullphoto{background-position:60% center}.intro:before{background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.36),transparent)}.intro .mainquote{padding:70px 0 50px}.mainquote h2{font-size:clamp(45px,11vw,76px)}.mainquote p{font-size:16px}.section-id{font-size:9px}.works-section{padding-top:85px;padding-bottom:100px}.works-head{margin-bottom:38px;margin-top:45px}.works-head h2{font-size:clamp(49px,12vw,78px)}.works-intro p{font-size:15px}.carousel{gap:15px}.work{flex-basis:81vw}.work-img{aspect-ratio:4/4.9}.work-name h3{font-size:22px}.slide-button{width:48px;height:48px}.studio{min-height:740px;padding-top:32px;padding-bottom:36px}.studio .fullphoto{background-position:60% center}.studio-main{padding-top:125px;padding-bottom:80px}.studio-main h2{font-size:clamp(48px,11vw,76px)}.studio-main p{font-size:15px}.services{min-height:740px;padding-top:35px;padding-bottom:65px}.services .fullphoto{background-position:60% center}.services-inner{padding-top:110px}.services h2{font-size:clamp(55px,11vw,84px)}.service-btn{padding:19px 0;grid-template-columns:26px 1fr 20px;gap:9px}.service-btn .service-title{font-size:21px}.service-body p{margin-left:34px}.contact{padding-top:80px;padding-bottom:32px}.contact-main{padding-top:70px;padding-bottom:80px}.contact h2{font-size:clamp(52px,12vw,82px)}.contact-intro p{font-size:15px}.footer{align-items:start}.footer-brand{font-size:28px}.foot-right a{display:block;margin:0 0 15px}.legal{padding-top:60px}.modal-inner{padding:100px 22px 55px}.modal-gallery{grid-template-columns:1fr;gap:16px}.modal-gallery img:nth-child(2){margin-top:0}.modal-heading{display:block}.modal-heading h2{font-size:clamp(45px,11vw,72px)}.modal-close{right:20px;top:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* --- CONCEPT 03.1 | ART DIRECTION / JULIA FEEDBACK --- */
:root {--display-tracking:.025em;--display-leading:1.045;}
.hero {min-height:720px;height:100svh;}
.hero .fullphoto {background-position:50% 39%; filter:brightness(1.12);}
.hero:before {background:
 linear-gradient(90deg,rgba(0,0,0,.60) 0%,rgba(0,0,0,.36) 46%,rgba(0,0,0,.09) 79%,rgba(0,0,0,.03) 100%),
 linear-gradient(0deg,rgba(0,0,0,.52),transparent 52%),
 linear-gradient(180deg,rgba(0,0,0,.22),transparent 24%);}
.hero-content {padding-bottom:clamp(65px,9vh,105px);}
.hero-eyebrow {margin-bottom:24px;}
.hero h1 {width:100%;max-width:none;font-size:clamp(54px,6.5vw,116px);letter-spacing:var(--display-tracking);line-height:1.01;font-weight:700;white-space:nowrap;}
.hero h1 span{display:block;}
.hero-bottom {margin-top:32px;}
.hero-bottom p {font-size:clamp(13px,1vw,16px);max-width:440px;line-height:1.55;}
/* Heading language is consistent across sections; use Expanded Sans with open tracking. */
.works-head h2,.studio-main h2,.services h2,.contact h2,.mainquote h2 {font-family:var(--main);font-weight:650;letter-spacing:var(--display-tracking);line-height:var(--display-leading);text-transform:uppercase;}
.works-head h2 span,.studio-main h2 span,.services h2 span,.contact h2 span,.mainquote h2 span{display:block;}
/* 00 — clean white interlude, typography visually counterbalances hero */
.intro-white {background:#fff;color:#161616;isolation:auto;min-height:675px;padding-top:65px;padding-bottom:66px;display:flex;flex-direction:column;justify-content:space-between;}
.intro-white::before,.intro-white::after{display:none!important;}
.intro-white .mainquote{width:min(70vw,1030px);max-width:none;margin-left:auto;padding:95px 0 72px;}
.intro-white .mainquote h2{font-size:clamp(35px,4.15vw,78px);margin:0 0 38px;font-weight:650;}
.intro-white .mainquote p{max-width:560px;font-size:clamp(15px,1.25vw,19px);line-height:1.65;}
.intro-white .intro-bottom{border-top:1px solid #dbdbdb;padding-top:26px;}
.intro-white .btn-link{color:#171717;}
/* 01 — large, clean project titles; original carousel design preserved */
.works-head {grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:6vw;align-items:end;}
.works-head h2 {font-size:clamp(57px,6.25vw,117px);}
.works-intro p{max-width:390px;}
/* 02 — two specific photographic panels, left/right; text lives over controlled dark area. */
.studio {position:relative;isolation:isolate;min-height:850px;background:#292422;}
.studio-photo-pair{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.studio-photo{background-position:center 40%;background-size:cover;background-repeat:no-repeat;}
.studio-photo-left{background-position:57% 27%;}
.studio-photo-right{background-position:53% 42%;}
.studio::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.63) 31%,rgba(0,0,0,.31) 54%,rgba(0,0,0,.12) 77%),linear-gradient(0deg,rgba(0,0,0,.53),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.34),transparent 26%);}
.studio-main{padding-top:125px;padding-bottom:120px;max-width:850px;}
.studio-main h2{font-size:clamp(65px,7.1vw,127px);line-height:1.03;margin-top:17px;margin-bottom:28px;}
.studio-main p{max-width:410px;line-height:1.72;}
/* 03 — services return to white background, black content, with preserved accordion */
.services-white{background:#fff;color:#161616;min-height:780px;padding-top:80px;padding-bottom:125px;}
.services-white::before,.services-white::after{display:none!important;}
.services-inner{grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:clamp(60px,7vw,130px);padding-top:125px;}
.services h2{font-size:clamp(51px,5.0vw,90px);margin-bottom:38px;line-height:1.065;}
.services-left p{line-height:1.7;font-weight:350;}
.services-white .services-list{border-color:rgba(0,0,0,.42);}
.services-white .service{border-color:rgba(0,0,0,.28);}
.services-white .service-btn{color:#171717;}
.services-white .service-btn:hover .service-title{opacity:.5;}
.services-white .service-body p{color:#424242;}
.services-white .pricing-note{color:#515151;}
/* 04 — concise, deliberate invitation in matching typography. */
.contact{padding-top:100px;}
.contact-main{grid-template-columns:minmax(0,1fr) minmax(410px,.95fr);gap:clamp(55px,7.5vw,155px);padding-top:105px;}
.contact h2{font-size:clamp(47px,5.1vw,96px);margin-bottom:42px;letter-spacing:.016em;}
.contact-intro p{max-width:430px;}
/* smoother micro typography in supporting features */
.work-name h3{letter-spacing:-.015em;}
.service-btn .service-title{letter-spacing:-.02em;}
@media(max-width:1150px){
 .hero h1{font-size:clamp(46px,6.65vw,85px);}
 .works-head{grid-template-columns:1fr 1fr;gap:4vw;}
 .services-inner{grid-template-columns:1fr 1fr;gap:55px;}
 .services h2{font-size:clamp(49px,5vw,70px);}
 .contact-main{grid-template-columns:1fr 1fr;gap:55px;}
}
@media(max-width:950px){
 .hero h1{font-size:clamp(44px,6.4vw,70px);}
 .intro-white .mainquote{width:78%;}
 .works-head{grid-template-columns:1fr;}
 .works-head h2{font-size:clamp(58px,8vw,90px);}
 .studio-main{padding-top:125px;}
 .services-inner{grid-template-columns:1fr;gap:65px;padding-top:95px;}
 .services h2{font-size:clamp(52px,8vw,80px);}
 .contact-main{grid-template-columns:1fr;}
}
@media(max-width:620px){
 .hero{height:92svh;min-height:690px;}
 .hero .fullphoto{background-position:52% 27%;filter:brightness(1.05);}
 .hero:before{background:linear-gradient(0deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.27) 54%,rgba(0,0,0,.2) 100%);}
 .hero-content{padding:155px var(--side) 95px;}
 .hero h1{font-size:clamp(27px,6.65vw,43px);letter-spacing:.012em;line-height:1.1;max-width:100%;}
 .hero-eyebrow{gap:20px;flex-wrap:wrap;}
 .hero-bottom{margin-top:25px;}
 .hero-bottom p{max-width:300px;font-size:12px;}
 .intro-white{min-height:600px;padding-top:35px;padding-bottom:40px;}
 .intro-white .mainquote{width:100%;padding:110px 0 90px;margin-left:auto;}
 .intro-white .mainquote h2{font-size:clamp(23px,5.3vw,37px);line-height:1.18;letter-spacing:.015em;margin-bottom:28px;}
 .intro-white .mainquote p{max-width:340px;font-size:15px;}
 .intro-white .intro-bottom{align-items:start;gap:18px;flex-direction:column;}
 .works-head h2{font-size:clamp(47px,10.5vw,70px);line-height:1.08;letter-spacing:.015em;}
 .studio{min-height:790px;}
 .studio-photo-pair{display:flex;flex-direction:column;}
 .studio-photo{flex:1 1 50%;background-position:55% 27%;}
 .studio-photo-right{background-position:53% 38%;}
 .studio::before{background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.47) 64%,rgba(0,0,0,.3));}
 .studio-main{padding-top:170px;padding-bottom:100px;}
 .studio-main h2{font-size:clamp(52px,11vw,75px);line-height:1.08;letter-spacing:.02em;}
 .studio-main p{max-width:320px;font-size:14px;}
 .studio-footer{gap:14px;}
 .studio-footer span{font-size:8px;}
 .services-white{min-height:auto;padding-top:38px;padding-bottom:90px;}
 .services-inner{padding-top:90px;gap:55px;}
 .services h2{font-size:clamp(35px,7.1vw,48px);line-height:1.12;letter-spacing:.017em;}
 .services-left p{font-size:15px;}
 .contact{padding-top:70px;}
 .contact-main{padding-top:85px;gap:60px;}
 .contact h2{font-size:clamp(37px,7.3vw,53px);line-height:1.12;letter-spacing:.012em;}
}

/* WordPress-specific refinements */
body.admin-bar .navbar{top:32px}
@media(max-width:782px){body.admin-bar .navbar{top:46px}}
body:not(.home) .navbar{position:relative;background:#fff;color:#151514;text-shadow:none;border-bottom:1px solid #dfdfdf}
body:not(.home) .navbar .mobile-btn{color:#151514;border-color:#222}
body:not(.home) .navlinks.open{background:#fff;color:#151514}
.pop-inner{padding:clamp(80px,9vw,145px) var(--side);max-width:1500px;margin:auto;min-height:65vh}
.pop-inner h1{font-size:clamp(50px,7vw,115px);letter-spacing:-.07em;line-height:1;margin:15px 0 45px}
.pop-inner .entry-content{max-width:920px;font-size:clamp(16px,1.2vw,19px);line-height:1.8}
.pop-inner .entry-content img{width:100%;height:auto;margin:35px 0;object-fit:contain}
.pop-inner .entry-content figure{margin:35px 0}
.pop-inner .entry-content p{margin:1.2em 0}
.pop-inner .entry-meta{font:11px var(--mono);opacity:.7}
.pop-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:50px}
.pop-archive-grid a img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#eee}
.pop-archive-grid h2{font-size:clamp(20px,2vw,32px);letter-spacing:-.05em}
.pop-simple-footer{border-top:1px solid #ddd;padding:30px var(--side);font:11px var(--mono);display:flex;justify-content:space-between;gap:12px}
@media(max-width:740px){.pop-archive-grid{grid-template-columns:1fr}.pop-simple-footer{flex-wrap:wrap}}


/* 0.3 — Individual editorial case study pages. Home gallery remains visually unchanged. */
.work {display:block;color:inherit;text-decoration:none}
.work:focus-visible {outline:2px solid #171717;outline-offset:5px}
.case-study {background:#fff;overflow:hidden}
.case-study-head {padding-top:clamp(75px,8.5vw,140px);padding-bottom:clamp(55px,6vw,95px);}
.case-study-meta,.case-study-head-bottom,.case-study-gallery-title,.case-study-end-top {display:flex;justify-content:space-between;align-items:center;gap:24px}
.case-study-meta {border-bottom:1px solid #d8d8d8;padding-bottom:20px;color:#555}
.case-study-head h1{max-width:1600px;margin:clamp(45px,7vw,110px) 0 clamp(60px,6vw,95px);font-size:clamp(52px,7.4vw,142px);font-weight:700;line-height:.96;letter-spacing:.015em;text-transform:uppercase;overflow-wrap:anywhere}
.case-study-head-bottom{border-top:1px solid #d8d8d8;padding-top:20px;color:#464646}
.case-study-back{border-bottom:1px solid #171717;padding-bottom:4px}
.case-study-back:hover{opacity:.6}
.case-study-cover{margin:0;background:#eae9e6;display:flex;align-items:center;justify-content:center;min-height:280px;overflow:hidden}
.case-study-cover-image{display:block;width:100%;max-width:1600px;height:auto;max-height:1500px;object-fit:contain}
.case-study-story{display:grid;grid-template-columns:1fr 1.5fr;gap:7vw;padding-top:clamp(70px,10vw,170px);padding-bottom:clamp(70px,10vw,170px);border-bottom:1px solid #e6e6e6}
.case-study-story-label{align-self:start;color:#60605e}
.case-study-story-content{max-width:800px}
.case-study-story h2{font-size:clamp(28px,3.3vw,60px);line-height:1.12;font-weight:550;letter-spacing:-.02em;margin:0 0 32px}
.case-study-copy{font-size:clamp(16px,1.2vw,20px);font-weight:350;line-height:1.8;max-width:700px}
.case-study-copy p{margin:0 0 1.35em}
.case-study-copy a{text-decoration:underline;text-underline-offset:4px}
.case-study-gallery{padding-top:clamp(75px,9vw,150px);padding-bottom:clamp(65px,8vw,135px);background:#fff}
.case-study-gallery-title{border-bottom:1px solid #d9d9d9;padding-bottom:20px;margin-bottom:clamp(40px,6vw,95px);color:#555}
.case-study-frame{margin:0 0 clamp(50px,7vw,120px);display:flex;flex-direction:column;align-items:center}
.case-study-frame--offset{width:78%;margin-left:auto}
.case-study-photo{width:100%;height:auto;max-height:1350px;object-fit:contain;background:#f4f3f1}
.case-study-frame figcaption{align-self:flex-start;padding-top:15px;color:#777}
.case-study-end{padding-top:55px;padding-bottom:clamp(90px,10vw,165px);background:#151514;color:#fff}
.case-study-end-top{padding-bottom:clamp(55px,8vw,130px);border-bottom:1px solid #555}
.case-study-end-top a{border-bottom:1px solid #ccc;padding-bottom:4px}
.case-study-next{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:20px;padding-top:clamp(45px,6vw,95px)}
.case-study-next .machine{grid-column:1 / -1;color:#c1c1bf;margin-bottom:22px}
.case-study-next-name{font-size:clamp(42px,6.3vw,120px);line-height:1.03;letter-spacing:.012em;font-weight:650;overflow-wrap:anywhere;text-transform:uppercase}
.case-study-next-arrow{font-size:clamp(38px,5vw,85px);line-height:1;transition:transform .2s}
.case-study-next:hover .case-study-next-arrow{transform:translate(8px,-8px)}
body:not(.home) .navbar{position:relative}
@media(max-width:950px){body:not(.home) .navlinks.open{color:#fff}}
@media(max-width:760px){
 .case-study-meta,.case-study-head-bottom,.case-study-gallery-title,.case-study-end-top{align-items:flex-start;flex-wrap:wrap}
 .case-study-head{padding-top:55px;padding-bottom:48px}
 .case-study-head h1{font-size:clamp(40px,10.2vw,76px);margin:55px 0 65px}
 .case-study-head-bottom .machine:last-child{display:none}
 .case-study-story{grid-template-columns:1fr;gap:32px}
 .case-study-frame--offset{width:100%}
 .case-study-cover-image{max-height:none}
 .case-study-next-name{font-size:clamp(35px,8.4vw,64px)}
}

/* 0.3.1 — CTA label replaces the oversized arrow on the next-case panel. */
.case-study-next{grid-template-columns:minmax(0,1fr) max-content}
.case-study-next-label{
  justify-self:end;align-self:end;margin-bottom:clamp(8px,1.2vw,18px);
  padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.75);
  color:#fff;font-family:var(--mono);font-size:clamp(10px,.85vw,13px);
  line-height:1.5;letter-spacing:.11em;text-transform:uppercase;
  white-space:nowrap;transition:color .2s ease,border-color .2s ease
}
.case-study-next:hover .case-study-next-label,
.case-study-next:focus-visible .case-study-next-label{color:#c5c3be;border-color:#c5c3be}
@media(max-width:760px){
  .case-study-next:has(.case-study-next-label){grid-template-columns:minmax(0,1fr)}
  .case-study-next:has(.case-study-next-label) .case-study-next-label{
    justify-self:start;align-self:start;margin:26px 0 0;
  }
}


/* 0.4.0 — Single-case horizontal image gallery (cover + gallery in one slider).
   Does not affect the horizontal Selected Works gallery on the homepage. */
.case-study-slider-gallery{background:#fff;padding-top:clamp(28px,3.8vw,60px);padding-bottom:clamp(64px,7.2vw,105px)}
.case-study-slider-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #dededb;padding-bottom:22px;margin-bottom:clamp(22px,3.2vw,50px)}
.case-study-slider-eyebrow{font-size:clamp(10px,.78vw,13px)}
.case-study-swipe-hint{color:#767674;margin-left:14px}
.case-study-slider-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}
.case-study-slider-count{font-size:clamp(11px,.9vw,14px);white-space:nowrap;font-variant-numeric:tabular-nums}
.case-study-slider-buttons{display:flex;gap:8px}
.case-study-slider-arrow{width:54px;height:54px;border:1px solid #171717;background:#fff;color:#171717;cursor:pointer;font-family:Arial,sans-serif;font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,opacity .18s}
.case-study-slider-arrow:hover:not(:disabled){background:#171717;color:#fff}
.case-study-slider-arrow:disabled{opacity:.28;cursor:default}
.case-study-slider-arrow:focus-visible,.case-study-slider-track:focus-visible{outline:2px solid #171717;outline-offset:4px}
.case-study-slider-track{display:flex;background:#fff;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.case-study-slider-track::-webkit-scrollbar{display:none}
.case-study-slider-track.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.case-study-slide{display:flex;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;align-items:center;justify-content:center;margin:0;background:#fff}
.case-study-slide-artwork{width:100%;min-height:0;background:#fff;height:clamp(300px,65svh,820px);display:flex;justify-content:center;align-items:center;padding:clamp(8px,1.5vw,24px)}
.case-study-slide-photo{display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.case-study-slide-caption{color:#555;background:#fff;width:100%;padding:12px 4px 2px;text-align:left;font-size:11px}
.case-study-slider-bottom{display:grid;grid-template-columns:auto minmax(50px,1fr) auto;align-items:center;gap:clamp(14px,4vw,80px);padding-top:24px}
.case-study-slider-bottom .machine{color:#626260;font-size:clamp(9px,.75vw,12px);white-space:nowrap}
.case-study-slider-progress{height:2px;position:relative;background:#dededb;overflow:hidden}
.case-study-slider-progress>span{position:absolute;left:0;top:0;bottom:0;width:0;background:#171717;transition:width .22s ease}
.case-study-mobile-hint{display:none}
@media(max-width:760px){
 .case-study-slider-gallery{padding-top:18px;padding-bottom:65px}
 .case-study-slider-top{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:18px;padding-bottom:18px}
 .case-study-swipe-hint{display:none}
 .case-study-slider-actions{width:100%;justify-content:space-between}
 .case-study-slider-arrow{width:48px;height:48px}
 .case-study-slide-artwork{height:clamp(290px,53svh,600px);padding:9px}
 .case-study-slider-bottom{grid-template-columns:1fr auto;gap:14px;padding-top:16px}
 .case-study-slider-bottom>.machine:first-child{grid-column:1 / -1}
 .case-study-slider-progress{grid-row:2;grid-column:1}
 .case-study-slider-bottom>.machine:last-child{grid-row:2;grid-column:2}
 .case-study-mobile-hint{display:inline}
}
@media(prefers-reduced-motion:reduce){.case-study-slider-track{scroll-behavior:auto}.case-study-slider-arrow,.case-study-slider-progress>span{transition:none}}

/* 0.4.3 — Editorial spacing + centered project story.
   Only single project pages are affected. Homepage and image slider stay unchanged. */
.case-study-head{
  padding-bottom:clamp(30px,3.2vw,52px);
}
.case-study-head h1{
  margin-bottom:clamp(38px,4vw,65px);
}
.case-study-slider-gallery{
  padding-top:clamp(16px,2vw,30px);
  padding-bottom:clamp(24px,2.6vw,40px);
}
.case-study-story{
  grid-template-columns:minmax(0,1fr) minmax(0,500px) minmax(0,1fr);
  column-gap:0;
  padding-top:clamp(24px,3.2vw,48px);
}
.case-study-story-label{
  grid-column:1;
  grid-row:1;
}
.case-study-story-content{
  grid-column:2;
  grid-row:1;
  width:100%;
  max-width:500px;
  justify-self:center;
  text-align:center;
}
.case-study-copy{
  font-family:'Zalando Sans Expanded','Arial Narrow',Arial,sans-serif;
  font-weight:300;
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.7;
  letter-spacing:-.015em;
  max-width:none;
}
@media(max-width:760px){
  .case-study-head{padding-bottom:26px}
  .case-study-head h1{margin-bottom:36px}
  .case-study-slider-gallery{padding-top:16px;padding-bottom:24px}
  .case-study-story{
    grid-template-columns:minmax(0,1fr);
    row-gap:18px;
    padding-top:26px;
  }
  .case-study-story-label{grid-column:1;grid-row:1}
  .case-study-story-content{
    grid-column:1;
    grid-row:2;
    max-width:min(100%,500px);
    justify-self:center;
  }
  .case-study-copy{font-size:15px;line-height:1.7}
}

@media(min-width:761px) and (max-width:1080px){
  .case-study-story{grid-template-columns:minmax(0,1fr);row-gap:22px}
  .case-study-story-label{grid-column:1;grid-row:1}
  .case-study-story-content{grid-column:1;grid-row:2}
}

/* 0.5.0 — non-destructive visual editing controls. */
.studio-photo{position:relative;overflow:hidden;background:none!important}
.pop-photo-image{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;will-change:transform}
.pop-photo-preview [data-pop-preview-inner]{position:absolute;inset:0}
.work-img img{object-position:center;transform:scale(var(--pop-frame-zoom,1));transform-origin:var(--pop-frame-origin-x,50%) var(--pop-frame-origin-y,50%)}
.work:hover .work-img img{transform:scale(calc(var(--pop-frame-zoom,1) * 1.04))}
.case-study-slide-artwork{overflow:hidden}
.case-study-slide-photo{transform:scale(var(--pop-frame-zoom,1));transform-origin:var(--pop-frame-origin-x,50%) var(--pop-frame-origin-y,50%)}
.case-study-slide-artwork.pop-photo-crop .case-study-slide-photo{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none}
[style*="--pop-edit-size"]{font-size:var(--pop-edit-size)!important}
[style*="--pop-edit-x"],[style*="--pop-edit-y"]{translate:var(--pop-edit-x,0px) var(--pop-edit-y,0px)}
@media(max-width:760px){
 [style*="--pop-edit-size"]{font-size:clamp(13px,calc(var(--pop-edit-size) * .58),54px)!important}
 [style*="--pop-edit-x"],[style*="--pop-edit-y"]{translate:calc(var(--pop-edit-x,0px) * .4) calc(var(--pop-edit-y,0px) * .4)}
}

@media(max-width:620px){
 .hero .fullphoto:not(.pop-photo-custom){background-position:58% 37%!important}
 .studio-photo-left .pop-photo-image:not(.pop-photo-custom){background-position:55% 27%!important}
 .studio-photo-right .pop-photo-image:not(.pop-photo-custom){background-position:53% 38%!important}
}


/* 0.5.1 — Selected Works carousel now has persistent white gutters on both sides.
   The gallery remains horizontal and keeps its existing drag, arrows and snap behavior. */
.home #portfolio #works-carousel {
  margin-inline: var(--side);
  padding-inline: 0;
  scroll-padding-inline: 0;
}


/* 0.5.2 — Case gallery compatibility fix: fit mode should NEVER fill/crop the image.
   Older portfolio images are full frames unless the editor explicitly says "crop". */
.case-study-slide-artwork.pop-photo-fit .case-study-slide-photo {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.case-study-slide-artwork.pop-photo-crop .case-study-slide-photo {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}


/* 0.5.3 — Consistent editorial heading scale.
   Standalone headings have no final full stop (the text layer handles punctuation).
   The selected-works heading was disproportionally larger than service/contact titles.
   Preserve manually configured font sizes from the WordPress editor. */
@media (min-width: 951px) {
  .works-head h2 { font-size: clamp(49px, 5.1vw, 96px); }
}
@media (min-width: 621px) and (max-width: 950px) {
  .works-head h2 { font-size: clamp(47px, 6.4vw, 70px); }
}
@media (max-width: 620px) {
  .works-head h2 { font-size: clamp(35px, 8vw, 50px); }
}


/* 0.5.4 — Sections 03 (offer) and 04 (contact): align the left edge of
   the services accordion with the left edge of the contact form.
   Only horizontal grid geometry changes: section padding, heights,
   vertical distances, accordion styling and mobile stacking are unchanged. */
@media (min-width: 1151px) {
  .services-inner {
    grid-template-columns: minmax(0, 1fr) minmax(410px, .95fr);
    gap: clamp(55px, 7.5vw, 155px);
  }
}


/* 0.5.5 — One coherent editorial type scale for case-study titles.
   Match the homepage contact heading (clamp(47px, 5.1vw, 96px)).
   Keep two-word brand names on a single line; on narrow screens the
   small dedicated fit script reduces the size only when necessary.
   This affects case pages only — galleries, CMS images and spacing are untouched. */
.case-study-head h1,
.case-study-next-name {
  font-family:var(--main);
  font-size:clamp(47px,5.1vw,96px);
  font-weight:650;
  line-height:var(--display-leading,1.045);
  letter-spacing:.016em;
  text-transform:uppercase;
}
.case-study-head h1.case-title-single-line,
.case-study-next-name.case-title-single-line {
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
@media (max-width:760px) {
  .case-study-head h1,
  .case-study-next-name {
    font-size:clamp(30px,8vw,50px);
  }
}


/* 0.5.6 — Editable top navigation. Defaults retain the original theme styling.
   Home: the bar overlays the hero; subpages: it remains in document flow.
   Sticky mode adds a persistent bar without shifting the existing layout. */
.navbar.pop-nav-custom {
  background:var(--pop-nav-bg);
  color:var(--pop-nav-text);
  text-shadow:none;
  border-bottom:1px solid var(--pop-nav-border);
}
body:not(.home) .navbar.pop-nav-custom {
  background:var(--pop-nav-bg);
  color:var(--pop-nav-text);
  border-bottom-color:var(--pop-nav-border);
}
.navbar.pop-nav-custom .mobile-btn,
body:not(.home) .navbar.pop-nav-custom .mobile-btn {
  color:var(--pop-nav-text);
  border-color:currentColor;
}
@media(max-width:950px){
  .navbar.pop-nav-custom .navlinks.open,
  body:not(.home) .navbar.pop-nav-custom .navlinks.open {
    background:var(--pop-nav-menu-bg);
    color:var(--pop-nav-text);
    border-top-color:currentColor;
  }
}
body.home .navbar.pop-nav-sticky {
  position:fixed;
  z-index:1000;
  width:100%;
}
body:not(.home) .navbar.pop-nav-sticky {
  position:sticky;
  z-index:1000;
}
body.home .navbar.pop-nav-sticky:not(.pop-nav-custom).pop-nav-scrolled {
  background:rgba(255,255,255,.97);
  color:#151514;
  text-shadow:none;
  border-bottom-color:rgba(21,21,20,.15);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
body.home .navbar.pop-nav-sticky:not(.pop-nav-custom).pop-nav-scrolled .mobile-btn {
  color:#151514;
  border-color:#151514;
}
@media(max-width:950px){
 body.home .navbar.pop-nav-sticky:not(.pop-nav-custom).pop-nav-scrolled .navlinks.open {
   background:#fff;
   color:#151514;
   border-top-color:#ddd;
 }
}
body.pop-has-sticky-nav :is(#portfolio,#studio,#oferta,#kontakt,#top){scroll-margin-top:110px}
@media(max-width:950px){body.pop-has-sticky-nav :is(#portfolio,#studio,#oferta,#kontakt,#top){scroll-margin-top:86px}}

/* 0.5.7 — contact form: accessible honeypot without changing visual layout. */



/* 0.6.0 — Shared viewport rhythm, without cropping sections with long content.
   These are MINIMUM heights: content always has room to expand. */
.home .hero,
.home .intro-white,
.home .works-section,
.home .studio,
.home .services-white,
.home .contact {
  min-height: 100vh;
  min-height: 100svh;
}

/* Desktop: keep the selected-work slider within a mostly one-screen section,
   while preserving the portrait-like proportions and project links. */
@media (min-width: 951px) and (min-height: 720px) {
  .home .works-section {
    padding-top: clamp(25px, 3.5svh, 55px);
    padding-bottom: clamp(25px, 3.5svh, 55px);
  }
  .home .works-section .works-head {
    margin-top: clamp(18px, 2.5svh, 32px);
    margin-bottom: clamp(22px, 3svh, 38px);
  }
  .home .works-section .work {
    flex-basis: clamp(300px, 28vw, 480px);
  }
  .home .works-section .work-img { aspect-ratio: 4 / 4.25; }
  .home .works-section .progress-bar { margin-top: 24px; }
}

/* The intro's single statement sits naturally in the middle of its screen.
   Keep the tiny labels near the top/bottom edges. */
.home .intro-white .mainquote {
  margin-block: auto;
}

/* Mobile portfolio: one centered project card at a time.
   Navigation buttons still move to the NEXT PROJECT; tapping the card opens it. */
@media (max-width: 760px) {
  .home .hero {
    height: 100vh;
    height: 100svh;
  }
  .home .intro-white .mainquote {
    padding-block: clamp(40px, 7svh, 95px);
  }
  .home .works-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: clamp(28px, 4.5svh, 55px);
    padding-bottom: clamp(28px, 4.5svh, 55px);
  }
  .home .works-section .works-head {
    margin-top: clamp(16px, 2.5svh, 35px);
    margin-bottom: clamp(18px, 2.6svh, 35px);
    gap: clamp(12px, 2svh, 22px);
  }
  .home .works-section .works-intro p {
    font-size: clamp(12px, 3.2vw, 15px);
    line-height: 1.48;
    margin-bottom: 8px;
  }
  .home .works-section .slider-tools {
    margin-top: 6px;
  }
  .home #portfolio #works-carousel {
    align-self: stretch;
    min-width: 0;
    margin-inline: var(--side);
    padding-inline: 0;
    gap: 0;
    scroll-padding-inline: 0;
  }
  .home #portfolio #works-carousel .work {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    scroll-snap-align: center;
  }
  .home #portfolio .work-img {
    width: min(100%, 360px);
    max-width: 100%;
    height: clamp(230px, 43svh, 385px);
    aspect-ratio: auto;
    margin-inline: auto;
  }
  .home #portfolio .work-name {
    width: min(100%, 360px);
    max-width: 100%;
    margin: 13px auto 0;
    padding-top: 12px;
  }
  .home #portfolio .progress-bar { margin-top: 24px; }
  .home #portfolio .works-end { margin-top: 13px; }
  .home #portfolio .works-end span { font-size: 9px; }
}

/* Truly compact displays: prefer readable controls, allow natural overflow. */
@media (max-width: 620px) {
  .home .works-section .works-head h2 {
    font-size: clamp(33px, 8vw, 50px);
  }
  .home .works-section .slide-button {
    width: 44px;
    height: 44px;
  }
  .home .works-section .slider-num { margin-left: 12px; }
  .home .works-section .work-name h3 { font-size: clamp(18px, 5vw, 24px); }
}


/* 0.6.1 — Mobile & tablet layout corrections.
   Align breakpoint with compact browser/mobile layouts (including browser DevTools).
   In narrow layouts the selected works carousel must show exactly ONE project:
   the project card fills the track; the image is centered INSIDE the card. */
@media (max-width: 1100px) {
  .home #portfolio #works-carousel {
    display: flex;
    box-sizing: border-box;
    align-self: stretch;
    width: auto;
    max-width: none;
    min-width: 0;
    margin-left: var(--side);
    margin-right: var(--side);
    padding-left: 0;
    padding-right: 0;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
  }
  .home #portfolio #works-carousel > .work {
    flex: 0 0 100%;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .home #portfolio #works-carousel .work-img {
    box-sizing: border-box;
    display: block;
    width: min(100%, 420px);
    max-width: 100%;
    height: clamp(230px, 43svh, 420px);
    aspect-ratio: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .home #portfolio #works-carousel .work-name {
    box-sizing: border-box;
    width: min(100%, 420px);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  /* 00 / Approach — center the whole editorial statement, not only its heading.
     Respect user-editable text content and typography settings. */
  .home .intro-white .mainquote {
    box-sizing: border-box;
    width: min(100%, 720px);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .home .intro-white .mainquote h2 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .home .intro-white .mainquote p {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
@media (max-width: 620px) {
  .home #portfolio #works-carousel .work-img,
  .home #portfolio #works-carousel .work-name {
    width: min(100%, 360px);
  }
}


/* 0.6.2 — Two Julia photographs: one slide on phone/tablet, two unchanged on desktop.
   The existing photo editor controls are untouched; image position and crop remain editable. */
.studio-mobile-controls{display:none}
@media (max-width:1100px) {
  .home .studio .studio-photo-pair{
    display:flex;
    flex-direction:row;
    grid-template-columns:none;
    align-items:stretch;
    overflow:hidden;
  }
  /* Lead with the seated portrait (face visible), then the fashion shot. */
  .home .studio .studio-photo-pair > .studio-photo-right{order:-1}
  .home .studio .studio-photo-pair > .studio-photo{
    display:block;
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    height:100%;
    transition:transform .75s cubic-bezier(.25,.8,.25,1);
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .home .studio .studio-photo-pair[data-pop-slide="1"] > .studio-photo {
    transform:translate3d(-100%,0,0);
  }
  .home .studio .studio-mobile-controls {
    position:absolute;
    z-index:4;
    right:var(--side);
    bottom:clamp(105px,14svh,150px);
    display:flex;
    gap:10px;
    align-items:center;
    color:#fff;
  }
  .home .studio .studio-photo-arrow{
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.7);
    background:rgba(12,12,12,.2);
    color:inherit;
    width:34px;
    height:34px;
    font:20px/1 var(--mono);
    touch-action:manipulation;
    transition:background .2s ease;
  }
  .home .studio .studio-photo-arrow:hover,
  .home .studio .studio-photo-arrow:focus-visible {background:rgba(10,10,10,.64)}
  .home .studio .studio-photo-count{
    display:inline-block;
    min-width:52px;
    text-align:center;
    font:10px/1.2 var(--mono);
    letter-spacing:.08em;
  }
  /* Legible captions regardless of the currently displayed photo. */
  .home .studio::before{
    background:linear-gradient(0deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.10) 74%),
               linear-gradient(90deg,rgba(0,0,0,.24),rgba(0,0,0,.04)),
               linear-gradient(180deg,rgba(0,0,0,.32),transparent 28%);
  }
}
@media (max-width:620px) {
  /* Above existing tiny footer; don't cover the "POZNAJMY SIĘ" CTA. */
  .home .studio .studio-mobile-controls{bottom:52px}
  .home .studio .studio-main{padding-bottom:130px}
}
@media (prefers-reduced-motion:reduce){
  .home .studio .studio-photo-pair > .studio-photo{transition:none!important}
}


/* 0.6.3 — Real 320–620 px hero: allow natural line breaks instead of clipped heading.
   Respect WordPress text editing, while limiting extreme user-configured display sizes on tiny screens. */
@media (max-width:620px) {
  .home .hero h1,
  .home .hero h1 span {
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    max-width:100%;
  }
  .home .hero h1 {
    min-width:0;
    width:100%;
    font-size:clamp(23px,7.05vw,39px);
    line-height:1.10;
    letter-spacing:.012em;
  }
  /* An explicit size configured in the editor must not make the heading spill off screen. */
  .home .hero h1[style*="--pop-edit-size"] {
    font-size:clamp(23px, min(7.05vw,calc(var(--pop-edit-size) * .58)),39px)!important;
  }
  .home .hero-content {min-width:0;}
}

/* 0.6.3 — Robust single-photo studio slideshow. Avoid flex-column/mobile half heights:
   each photo is pinned to the same full-bleed frame, and the slides shift horizontally.
   Desktop deliberately retains the original editorial side-by-side composition. */
@media (max-width:1100px) {
  .home #studio .studio-photo-pair {
    position:absolute;
    inset:0;
    display:block;
    overflow:hidden;
    grid-template-columns:none;
    height:100%;
    width:100%;
  }
  .home #studio .studio-photo-pair > .studio-photo {
    position:absolute;
    top:0;right:0;bottom:0;left:0;
    display:block;
    width:100%;
    min-width:0;
    height:100%;
    min-height:0;
    flex:none;
    background:none;
    will-change:transform;
    transition:transform .72s cubic-bezier(.25,.8,.25,1);
  }
  /* Begin with the seated portrait. Second image waits immediately to the right. */
  .home #studio .studio-photo-pair > .studio-photo-right {
    transform:translate3d(0,0,0);
  }
  .home #studio .studio-photo-pair > .studio-photo-left {
    transform:translate3d(100%,0,0);
  }
  .home #studio .studio-photo-pair[data-pop-slide="1"] > .studio-photo-right {
    transform:translate3d(-100%,0,0);
  }
  .home #studio .studio-photo-pair[data-pop-slide="1"] > .studio-photo-left {
    transform:translate3d(0,0,0);
  }
  .home #studio .studio-photo .pop-photo-image {
    position:absolute;
    inset:0;
    width:100%;height:100%;
  }
  .home #studio .studio-mobile-controls{display:flex;z-index:5}
}
@media (max-width:620px) {
  .home #studio {min-height:100svh;}
  .home #studio .studio-main {
    position:relative;
    z-index:2;
    margin-top:auto;
    padding-top:20px;
    padding-bottom:clamp(76px,11svh,118px);
  }
  .home #studio .studio-mobile-controls {
    bottom:clamp(42px,6svh,60px);
    right:var(--side);
  }
  .home #studio .studio-footer{position:relative;z-index:2}
}
@media (prefers-reduced-motion:reduce) {
  .home #studio .studio-photo-pair > .studio-photo{transition:none!important}
}


/* 0.6.4 — Wordmark: restrained spacing, no artificial extra bold oversized footer. */
.navbar .logo,
.contact .footer-brand {
  letter-spacing: -.045em;
}
.contact .footer-brand {
  font-size: clamp(18px,1.6vw,27px);
  line-height: 1.05;
  font-weight: 800;
}
.contact .foot-right {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:clamp(16px,2.2vw,32px)}
.contact .foot-right a{margin:0}
.contact .foot-right a[href*="instagram.com"]{
  font-family:var(--main);
  font-size:clamp(13px,1.15vw,17px);
  font-weight:650;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding:7px 0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:gap .2s ease,opacity .2s ease;
}
.contact .foot-right a[href*="instagram.com"]:hover{gap:17px;opacity:.75}
@media(max-width:620px){
  .navbar .logo,.contact .footer-brand{font-size:18px;letter-spacing:-.045em}
  .contact .footer{align-items:center;gap:16px;flex-wrap:wrap}
  .contact .foot-right{width:100%;justify-content:space-between;gap:20px}
  .contact .foot-right a[href*="instagram.com"]{font-size:14px}
}

/* 0.6.4 — Studio: seamless single-direction loop, with two original photos + two
   invisible auxiliary copies. Desktop keeps the original two-image editorial grid. */
.home .studio .studio-photo-clone{display:none!important}
@media(max-width:1100px){
  .home #studio .studio-photo-pair{
    position:absolute;
    top:0;bottom:0;left:0;right:auto;
    display:flex;
    flex-direction:row;
    align-items:stretch;
    grid-template-columns:none;
    height:100%;
    width:400%;
    overflow:visible;
    transform:translate3d(-25%,0,0);
    transition:transform .7s cubic-bezier(.25,.78,.25,1);
    will-change:transform;
  }
  .home #studio .studio-photo-pair.pop-studio-snap{transition:none!important}
  .home #studio .studio-photo-pair > .studio-photo{
    position:relative;
    top:auto;right:auto;bottom:auto;left:auto;
    flex:0 0 25%;
    order:2;
    display:block;
    width:25%;
    max-width:25%;
    min-width:0;
    height:100%;
    min-height:0;
    transform:none!important;
    transition:none!important;
    overflow:hidden;
  }
  .home #studio .studio-photo-pair > .studio-photo-right:not(.studio-photo-clone){order:1}
  .home #studio .studio-photo-pair > .studio-photo-left:not(.studio-photo-clone){order:2}
  .home #studio .studio-photo-pair > .studio-photo-clone-before{order:0;display:block!important}
  .home #studio .studio-photo-pair > .studio-photo-clone-after{order:3;display:block!important}
  .home #studio .studio-photo .pop-photo-image{position:absolute;inset:0;width:100%;height:100%;}
  .home #studio .studio-mobile-controls{z-index:5;display:flex}
}
/* A real viewport-sized photo panel, not two stacked halves. Allow extra height
   for very short screens, so text and controls never overlap. */
@media(max-width:620px){
  .home #studio{
    min-height:100svh;
    height:100svh;
    padding-top:clamp(22px,3.5svh,36px);
    padding-bottom:clamp(20px,2.8svh,30px);
    overflow:hidden;
  }
  .home #studio .studio-main{
    margin-block:auto;
    padding-top:clamp(48px,8svh,96px);
    padding-bottom:clamp(74px,10svh,108px);
  }
  .home #studio .studio-mobile-controls{bottom:clamp(37px,6svh,54px)}
  .home #studio .studio-footer{position:relative;z-index:2}
}
@media(max-width:620px) and (max-height:670px){
  .home #studio{height:auto;min-height:max(100svh,670px)}
  .home #studio .studio-main{padding-top:50px;padding-bottom:84px}
}
/* Natural document scrolling is preserved: forced scroll-snap would interfere
   with short viewports and the contact section below. */
@media(prefers-reduced-motion:reduce){
  .home #studio .studio-photo-pair{transition:none!important}
  .contact .foot-right a[href*="instagram.com"]{transition:none}
}


/* 0.6.5 — Direct navigation to the contact section.
   Previously the generic sticky-header anchor offset (86px on mobile)
   left a visible slice of section 03 above section 04. The contact panel
   already has enough top padding for the sticky navigation, so its anchor
   should align with the top of the viewport. Natural scrolling and the
   other section offsets remain unchanged. */
body.home.pop-has-sticky-nav #kontakt {
  scroll-margin-top: 0;
}

/* 0.6.6 — One anchor system for the whole one-page site.
   Every navigation target begins at the top of the viewport. The previous
   section must NEVER peek above the navbar on phones, tablets or desktop.
   Anchors and the user's header sticky switch remain intact. */
body.home.pop-has-sticky-nav :is(#top,#manifest,#portfolio,#studio,#oferta,#kontakt) {
  scroll-margin-top: 0;
}
/* On WordPress mobile (<600px) the admin toolbar scrolls with the document,
   unlike the fixed theme menu. Do not reserve a phantom 46px above the
   fixed menu after the toolbar has scrolled away. */
@media (max-width:600px) {
  body.admin-bar.home .navbar.pop-nav-sticky.pop-nav-scrolled {
    top: 0;
  }
}
/* Since the navbar covers the very top of the section, ensure the small
   section index remains legible below it. This affects only sticky-nav mode. */
@media (min-width:951px) {
  body.home.pop-has-sticky-nav :is(#manifest,#portfolio,#studio,#oferta,#kontakt) {padding-top:134px;}
}
@media (min-width:621px) and (max-width:950px) {
  body.home.pop-has-sticky-nav :is(#manifest,#portfolio,#studio,#oferta,#kontakt) {padding-top:134px;}
}
@media (max-width:620px) {
  body.home.pop-has-sticky-nav :is(#manifest,#portfolio,#studio,#oferta,#kontakt) {padding-top:84px;}
}
/* Between 601 and 620px the WordPress administrator toolbar is still fixed:
   it needs the same extra clearance as a tablet, unlike smaller phones. */
@media (min-width:601px) and (max-width:620px) {
  body.admin-bar.home.pop-has-sticky-nav :is(#manifest,#portfolio,#studio,#oferta,#kontakt) {padding-top:134px;}
}


/* 0.6.7 — Mobile case-study first impression.
   Keep the title, full-bleed image, arrows and the project description close
   together, without oversized whitespace. Only individual projects on phones
   change; desktop / homepage layouts and media frame settings are untouched. */
@media (max-width:760px) {
  .case-study-head {
    padding-top: clamp(16px, 2.4svh, 24px);
    padding-bottom: 8px;
  }
  .case-study-meta {
    gap: 10px;
    padding-bottom: 7px;
    font-size: 8px;
  }
  .case-study-head h1 {
    margin: 13px 0 11px;
    font-size: clamp(25px, 6.9vw, 40px);
    line-height: 1.08;
    text-align: center;
  }
  .case-study-head-bottom {
    padding-top: 8px;
    border-top: 1px solid #e4e4e2;
    justify-content: flex-start;
    gap: 4px;
  }
  .case-study-back {font-size: 9px;}
  .case-study-slider-gallery {
    padding-top: 13px;
    padding-bottom: 7px;
  }
  .case-study-slider-top {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    padding-bottom: 8px;
  }
  .case-study-slider-eyebrow {font-size: 8px;white-space: nowrap;}
  .case-study-slider-actions {width: auto;margin-left: auto;gap: 9px;justify-content: flex-end;}
  .case-study-slider-count {font-size: 9px;}
  .case-study-slider-buttons {gap: 5px;}
  .case-study-slider-arrow {width: 36px;height: 36px;font-size: 18px;}
  .case-study-slide-artwork {
    height: clamp(245px, 39svh, 390px);
    padding: 2px;
  }
  .case-study-slide-caption {
    font-size: 10px;
    padding-top: 7px;
    padding-bottom: 2px;
    text-align: center;
  }
  .case-study-slider-bottom {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    padding-top: 11px;
  }
  .case-study-slider-bottom > .machine:first-child {
    display: none;
  }
  .case-study-slider-progress {grid-row: 1;grid-column: 1;}
  .case-study-slider-bottom > .machine:last-child {grid-row: 1;grid-column: 2;font-size: 9px;}
  .case-study-story {
    padding-top: 11px;
    padding-bottom: clamp(42px, 9svh, 90px);
    row-gap: 8px;
  }
  .case-study-story-label {font-size: 9px;text-align: center;}
  .case-study-story-content {max-width: 480px;}
  .case-study-story h2 {font-size: 18px;margin-bottom: 9px;}
  .case-study-copy {font-size: 13px;line-height: 1.52;letter-spacing:-.01em;}
  .case-study-copy p {margin-bottom: .85em;}
}
/* Smaller screens may need a slightly shorter artwork to reveal the project
   description without scrolling; always preserve the whole image. */
@media (max-width:760px) and (max-height:740px) {
  .case-study-slide-artwork {height: clamp(210px, 35svh, 320px);}
  .case-study-head {padding-top: 12px;}
}


/* 0.6.8 — Desktop case-study opening, aligned with the compact mobile design.
   The first photo and the beginning of the description should be reachable
   within the initial desktop viewport (subject to browser/viewport size).
   Images remain uncropped in "fit" mode; intentional CMS crop settings are
   preserved. This only affects individual project pages, not the homepage. */
@media (min-width:761px) {
  .case-study-head {
    padding-top: clamp(18px, 3svh, 38px);
    padding-bottom: clamp(9px, 1.5svh, 16px);
  }
  .case-study-meta {
    padding-bottom: 10px;
  }
  .case-study-head h1 {
    margin-top: clamp(16px, 2.5svh, 25px);
    margin-bottom: clamp(15px, 2.3svh, 23px);
    text-align: center;
  }
  .case-study-head-bottom {
    padding-top: 10px;
  }
  .case-study-slider-gallery {
    padding-top: clamp(9px, 1.8svh, 16px);
    padding-bottom: 10px;
  }
  .case-study-slider-top {
    padding-bottom: 11px;
    margin-bottom: clamp(12px, 1.8svh, 17px);
  }
  .case-study-slider-arrow {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .case-study-slide-artwork {
    height: clamp(255px, 41svh, 450px);
    padding: 4px;
  }
  .case-study-slider-bottom {
    padding-top: 12px;
  }
  .case-study-story {
    padding-top: clamp(12px, 2svh, 20px);
  }
}
/* Short desktop/laptop windows should not crop the project out of the first view. */
@media (min-width:761px) and (max-height:740px) {
  .case-study-head {
    padding-top: 14px;
    padding-bottom: 8px;
  }
  .case-study-head h1 {
    margin-top: 12px;
    margin-bottom: 12px;
    font-size: clamp(39px, 4.5vw, 72px);
  }
  .case-study-slider-top {margin-bottom: 9px; padding-bottom: 8px;}
  .case-study-slide-artwork {height: clamp(210px, 38svh, 310px);}
  .case-study-slider-bottom {padding-top: 8px;}
  .case-study-story {padding-top: 8px;}
}


/* 0.6.9 — Larger desktop project photographs and a calmer heading scale.
   Small-screen case pages keep their approved 0.6.7 layout untouched.
   FIT images retain their complete proportions; manual framing still works. */
@media (min-width: 761px) {
  .case-study-head h1,
  .case-study-next-name {
    font-size: clamp(36px, 3.7vw, 68px);
    line-height: 1.06;
  }
  .case-study-head h1 {
    margin-top: clamp(12px, 1.9svh, 19px);
    margin-bottom: clamp(12px, 1.8svh, 19px);
    text-align: center;
  }
  .case-study-slider-top {
    margin-bottom: clamp(9px, 1.5svh, 14px);
  }
  .case-study-slide-artwork {
    height: clamp(400px, 60svh, 680px);
    padding: clamp(4px, .55vw, 10px);
  }
}
/* On low laptop displays, scale the artwork gently rather than returning
   to the overly small 0.6.8 image. */
@media (min-width: 761px) and (max-height: 740px) {
  .case-study-head h1,
  .case-study-next-name {
    font-size: clamp(34px, 3.5vw, 62px);
  }
  .case-study-head h1 {margin-top: 10px; margin-bottom: 10px;}
  .case-study-slide-artwork {
    height: clamp(320px, 55svh, 470px);
  }
}


/* 0.6.10 — Center case-study titles to the actual gallery/viewport axis.
   Previously saved horizontal offsets in the editor could visibly shift a
   two-word title despite text-align:center. Keep vertical positioning.
   Desktop titles are smaller; mobile case layout and next-case CTA retain
   their approved type scales. */
.case-study-head h1 {
  display: block;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  translate: 0 var(--pop-edit-y, 0px);
}
@media (min-width: 761px) {
  .case-study-head h1 {
    font-size: clamp(28px, 2.85vw, 51px);
    line-height: 1.08;
    letter-spacing: .012em;
  }
}
@media (max-width: 760px) {
  .case-study-head h1 {
    translate: 0 calc(var(--pop-edit-y, 0px) * .4);
  }
}

/* 0.7.0 — Offer and price list. Entirely scoped to the new page and its link. */
.services-white .pop-service-offer-link{display:inline-flex;align-items:center;gap:28px;min-height:38px;margin:0 30px 25px 52px;border-bottom:1px solid currentColor;color:#151514;text-decoration:none;font-size:11px;letter-spacing:.055em;font-weight:700;transition:gap .2s ease}
.services-white .pop-service-offer-link:hover{gap:38px}
@media(max-width:620px){.services-white .pop-service-offer-link{margin-left:34px;margin-right:8px;font-size:10px}}
.pop-offer-page{background:#fff;color:var(--ink)}
.pop-offer-section-meta{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #c9c9c6;color:#454541;font:11px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.pop-offer-hero{min-height:clamp(520px,62svh,760px);display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(36px,4vw,65px);padding-bottom:clamp(70px,8vw,120px);background:#fff;color:#161616}
.pop-offer-hero-copy{padding-top:clamp(82px,9vw,145px);max-width:1200px}
.pop-offer-hero h1{font-family:var(--main);font-size:clamp(54px,7.3vw,132px);font-weight:650;line-height:.97;letter-spacing:-.085em;overflow-wrap:break-word;margin:18px 0 0;text-transform:uppercase;max-width:820px}
.pop-offer-hero .pop-offer-brand{display:block;font-size:clamp(10px,.82vw,13px);letter-spacing:.07em;line-height:1.55;max-width:340px}
.pop-offer-scroll{display:inline-flex;align-items:center;justify-content:space-between;min-width:210px;gap:25px;border-bottom:1px solid currentColor;color:#151514;text-decoration:none;font-size:11px;letter-spacing:.055em;font-weight:700;padding-bottom:13px;margin-top:clamp(36px,4.5vw,60px);transition:gap .2s ease}
.pop-offer-scroll:hover{gap:38px}
.pop-offer-scroll span{font-size:22px;line-height:1}
.pop-offer-packages,.pop-offer-catalog{width:100%;margin:0;padding-top:clamp(72px,8.5vw,145px);padding-bottom:clamp(95px,10vw,170px)}
.pop-offer-packages-start{padding-top:clamp(88px,9vw,150px)}
.pop-offer-section-title-start{margin-top:0}
.pop-offer-section-title{font-family:var(--main);font-size:clamp(51px,5vw,90px);font-weight:650;line-height:1.065;letter-spacing:var(--display-tracking);text-transform:uppercase;max-width:1200px;margin:clamp(42px,5vw,80px) 0 clamp(75px,8vw,120px);overflow-wrap:break-word}
.pop-offer-package{display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:clamp(60px,7vw,130px);border-top:1px solid #c6c6c2;padding:clamp(60px,7vw,110px) 0}
.pop-offer-package-index-wrap{display:flex;align-items:flex-start;justify-content:flex-start}
.pop-offer-package-index{font-family:var(--main);font-size:clamp(80px,8vw,145px);line-height:.9;font-weight:650;letter-spacing:var(--display-tracking);white-space:nowrap;color:#111}
.pop-offer-package-body{position:relative;width:100%;max-width:none;margin-left:0;padding:34px 0 0 clamp(62px,4.6vw,85px)}
.pop-offer-package-corner{position:absolute;top:0;right:0;color:#676763;letter-spacing:.07em;font-size:10px;line-height:1.5;text-align:right}
.pop-offer-package h3{font-size:clamp(20px,2.15vw,33px);line-height:1.08;letter-spacing:-.02em;text-transform:uppercase;font-weight:600;margin:0 0 18px;overflow-wrap:break-word;max-width:410px}
.pop-offer-package-intro{max-width:410px;font-size:14px;font-weight:300;line-height:1.6;margin:0 0 20px;color:#1e1e1c}
.pop-offer-bullets{list-style:none;margin:0;padding-left:0;max-width:650px;font-size:14px;font-weight:300;line-height:1.6;letter-spacing:-.01em;color:#424242}
.pop-offer-bullets li{padding-left:0;margin:0 0 10px}
.pop-offer-bullets strong{font-weight:700;color:#171717}
.pop-offer-package-price{font-size:clamp(20px,1.9vw,31px);letter-spacing:-.03em;line-height:1.08;font-weight:650;margin-top:clamp(24px,2.6vw,34px)}
.pop-offer-catalog{border-top:0}
.pop-offer-catalog-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:clamp(60px,7vw,130px);align-items:start}
.pop-offer-section-title-side{margin:clamp(42px,5vw,80px) 0 0;max-width:460px}
/* 0.7.6 — Print heading: break lines only between whole words.
   Keep the exact editable text, without splitting PROJEKTY / MATERIAŁÓW / DRUKOWANYCH into fragments. */
#pop-offer-print-heading{
  font-size:clamp(32px,3.4vw,64px);
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
.pop-offer-catalog-content{max-width:none;margin:clamp(42px,5vw,80px) 0 0;padding-left:clamp(62px,4.6vw,85px)}
.pop-offer-pricerows{border-top:1px solid #dadad6;padding:28px 0;margin-top:clamp(34px,3.8vw,58px)}
.pop-offer-catalog-content .pop-offer-pricerows:first-child{margin-top:0}
.pop-offer-priceitem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:clamp(14px,3vw,60px);font-size:14px;line-height:1.6;letter-spacing:-.01em;padding:8px 0;color:#1d1d1b}
.pop-offer-priceitem-label{max-width:600px}
.pop-offer-priceitem-amount{text-align:right;white-space:normal;min-width:120px;max-width:360px;font-size:13px;line-height:1.5;color:#424242}
.pop-offer-last-prices .pop-offer-pricerows{margin-bottom:0}
.pop-offer-price-note{text-align:right;font-size:11px;margin:0;line-height:1.6;color:#5b5b59}
.pop-offer-social .pop-offer-catalog-content{margin-bottom:clamp(80px,8vw,130px)}
.pop-offer-end-labels{display:flex;align-items:end;justify-content:space-between;gap:30px;line-height:1.6;padding-top:30px;border-top:1px solid #d5d5d2;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.pop-offer-end-labels span:last-child{text-align:right}
.pop-offer-additional{margin:0 auto;max-width:1350px;padding-top:65px;padding-bottom:80px;font-size:clamp(14px,1.15vw,19px);line-height:1.75}
.pop-offer-additional img{height:auto}
@media(max-width:1150px){
 .pop-offer-package,.pop-offer-catalog-layout{grid-template-columns:1fr 1fr;gap:55px}
 .pop-offer-package-index{font-size:clamp(68px,7.4vw,118px)}
}
@media(max-width:950px){
 .pop-offer-hero{min-height:460px}
 .pop-offer-hero h1{font-size:clamp(43px,6.2vw,75px)}
 .pop-offer-package,.pop-offer-catalog-layout{grid-template-columns:1fr;gap:36px}
 .pop-offer-package-index{font-size:92px}
 .pop-offer-section-title-side,.pop-offer-catalog-content{margin-top:44px}
}
@media(max-width:640px){
 .pop-offer-hero{min-height:430px;padding-top:32px;padding-bottom:55px}
 .pop-offer-hero-copy{padding-top:95px}
 .pop-offer-hero h1{font-size:clamp(35px,7.1vw,48px);line-height:1.12;letter-spacing:.017em;max-width:100%}
 .pop-offer-packages,.pop-offer-catalog{padding-top:70px;padding-bottom:80px}
 .pop-offer-section-meta{font-size:9px;gap:8px}
 .pop-offer-section-meta span:last-child{text-align:right}
 .pop-offer-section-title{font-size:clamp(35px,7.1vw,48px);line-height:1.12;letter-spacing:.017em;margin:48px 0 62px}
 #pop-offer-print-heading{font-size:clamp(26px,6.6vw,39px);overflow-wrap:normal;word-break:normal;hyphens:none}
 .pop-offer-package{padding:54px 0 70px;gap:26px}
 .pop-offer-package-index{font-size:clamp(52px,12vw,74px);margin-bottom:0}
 .pop-offer-package-top{font-size:9px}
 .pop-offer-package h3{font-size:21px;margin-bottom:16px;max-width:100%}
 .pop-offer-package-intro,.pop-offer-bullets,.pop-offer-priceitem{font-size:14px}
 .pop-offer-package-price{font-size:22px;margin-top:24px}
 .pop-offer-package-corner{position:static;display:block;margin-bottom:10px;text-align:right;font-size:9px}
 .pop-offer-package-body{width:100%;margin-left:0;padding:0}
 .pop-offer-catalog-content,.pop-offer-section-title-side{margin-top:0}
 .pop-offer-catalog-content{padding-left:0}
 .pop-offer-pricerows{margin-top:28px;padding-top:18px}
 .pop-offer-priceitem{grid-template-columns:minmax(0,1fr) minmax(100px,37%);gap:10px;padding:10px 0;overflow-wrap:anywhere}
 .pop-offer-priceitem-amount{min-width:0;font-size:12px}
 .pop-offer-price-note{font-size:11px}
 .pop-offer-end-labels{font-size:9px;flex-wrap:wrap}
}

/* Cenniki są wyświetlane bez punktorów, przy zachowaniu edytowalnych pozycji. */
.pop-offer-priceitem-label::before{content:none;display:none}


/* 0.7.7 — Text alignment: apply the editor's selected paragraph alignment
   to actual rendered text, not just its inline wrapper. Unselected fields
   keep every original theme style and layout. */
[style*="--pop-edit-align:"] {
  text-align: var(--pop-edit-align) !important;
}
/* Inline spans have no paragraph box. Give only explicitly aligned labels
   a real text box; natural size and appearance remain unchanged otherwise. */
span[style*="--pop-edit-align:"] {
  display: block;
  min-width: 0;
}
/* The theme uses two labels in flex rows; create enough width to align their
   text within each side instead of just centering inside the label itself. */
.section-id > span[style*="--pop-edit-align:"],
.studio-footer > span[style*="--pop-edit-align:"],
.works-end > span[style*="--pop-edit-align:"],
.pop-offer-section-meta > span[style*="--pop-edit-align:"],
.pop-offer-end-labels > span[style*="--pop-edit-align:"],
.legal > span[style*="--pop-edit-align:"] {
  flex: 1 1 0;
}
.hero-eyebrow > span[style*="--pop-edit-align:"],
.intro-bottom > span[style*="--pop-edit-align:"],
.footer .foot-right > a > span[style*="--pop-edit-align:"],
.btn-link > span[style*="--pop-edit-align:"],
.contact-form .submit > span[style*="--pop-edit-align:"] {
  flex: 1 1 auto;
}
/* WordPress renders post descriptions as nested Gutenberg paragraphs/blocks.
   Setting alignment on their parent alone cannot defeat block-level classes. */
.case-study-copy[style*="--pop-edit-align:"] :is(p, li, h2, h3, h4, blockquote),
/* Offer tables also contain named child columns with their own alignment. */
.pop-offer-pricerows[style*="--pop-edit-align:"] :is(.pop-offer-priceitem-label,.pop-offer-priceitem-amount),
.pop-offer-bullets[style*="--pop-edit-align:"] > li {
  text-align: var(--pop-edit-align) !important;
}
