:root{--bg:#0b0f1c;--panel:#111827;--panel2:#1a2035;--card:#10182a;--text:#e8ecf4;--muted:#bac5db;--blue:#2563eb;--cyan:#00c8ff;--line:rgba(255,255,255,.09);--max:1280px;--header:64px;--r:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 Inter,Arial,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}img,video{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:80;inset:0 0 auto;height:var(--header);background:rgba(11,15,28,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);transition:.25s}.site-header.scrolled{box-shadow:0 12px 40px rgba(0,0,0,.28)}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.logo{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}.logo-mark{width:46px;height:29px;display:grid;place-items:center;border:2px solid #eaf1ff;border-left-color:var(--cyan);border-right-color:var(--cyan);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);font:800 12px/1 "Exo 2"}.logo>span:last-child{display:flex;flex-direction:column;font-family:"Exo 2";line-height:.8}.logo strong{font-size:14px}.logo small{font-size:7px;letter-spacing:2px;color:var(--cyan);margin-top:6px}.nav{display:flex;gap:27px;align-items:center;margin-left:auto}.nav a,.phone{font-size:12px;color:#bec8da;transition:.2s}.nav a:hover,.phone:hover{color:var(--cyan)}.nav-actions{display:flex;align-items:center;gap:18px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}.menu-toggle i{display:block;width:24px;height:2px;background:white;margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:white;font-weight:600;font-size:14px;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);background:#3471f2}.button-small{min-height:38px;padding:8px 17px;font-size:12px}.button-ghost{background:rgba(12,18,31,.45);border-color:rgba(255,255,255,.5)}.button-wide{width:100%}.hero{position:relative;min-height:780px;display:flex;align-items:center;padding-top:var(--header);background-image:linear-gradient(90deg,rgba(7,11,21,.98) 3%,rgba(7,11,21,.82) 36%,rgba(7,11,21,.22) 72%),linear-gradient(0deg,var(--bg),transparent 35%),url('https://cncsystems.pl/wp-content/uploads/2025/08/IMG_3446-1-scaled.jpeg');background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 73% 44%,transparent 0 35%,rgba(3,7,16,.32) 76%)}.hero-content{position:relative;z-index:2}.eyebrow{margin:0 0 10px;color:var(--cyan);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.hero .eyebrow{font-size:12px}.hero h1,.section-heading h2,.copy h2,.contact-copy h2{font-family:"Exo 2",sans-serif;font-weight:800;letter-spacing:-1.2px;line-height:1.08;margin:0}.hero h1{max-width:760px;font-size:clamp(50px,5vw,72px)}h1 span,h2 span{color:var(--cyan)}.hero-lead{max-width:680px;margin:25px 0 0;color:var(--muted);font-size:17px}.hero-actions{display:flex;gap:14px;margin-top:31px}.industry-strip{height:44px;display:flex;align-items:center;background:var(--panel2);border-block:1px solid var(--line);overflow:hidden}.industry-track{display:flex;align-items:center;gap:18px;min-width:max-content;margin:auto;padding:0 24px;color:#8997b0;font-size:10px;text-transform:uppercase;letter-spacing:1.3px}.industry-track strong{color:var(--cyan)}.industry-track i{font-style:normal;font-size:6px;color:rgba(0,200,255,.55)}.section{padding:96px 0}.panel{background:var(--panel)}.section-heading h2,.copy h2,.contact-copy h2{font-size:clamp(38px,3.6vw,50px)}.centered{text-align:center}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}.feature{min-height:260px;padding:25px;border:1px solid var(--line);border-radius:var(--r);background:rgba(14,22,38,.55);transition:.25s}.feature:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.55)}.feature-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(37,99,235,.45);border-radius:8px;background:rgba(37,99,235,.1);color:var(--cyan)}.feature-icon svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.feature h3{font:700 17px/1.35 "Exo 2";margin:25px 0 12px}.feature p{margin:0;color:#9aa8c1;font-size:12px;line-height:1.65}.quality{background:#090e1b}.split{display:grid;grid-template-columns:1fr 1.04fr;gap:70px;align-items:center}.quality-image{position:relative;height:495px;margin:0;border-radius:var(--r);border:1px solid var(--line);overflow:hidden}.quality-image img{width:100%;height:100%;object-fit:cover}.quality-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,25,.6),transparent 45%)}.quality-image figcaption{position:absolute;z-index:2;bottom:18px;left:18px;padding:8px 13px;border-left:3px solid var(--cyan);border-radius:3px;background:rgba(6,15,30,.88);font:700 14px "Exo 2";color:var(--cyan)}.copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;margin:17px 0}.copy strong{color:white}.checks{padding:0;margin:22px 0;list-style:none}.checks li{position:relative;padding:5px 0 5px 25px;color:#aab6ca;font-size:13px}.checks li:before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:700}.materials{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:45px}.materials article{position:relative;min-height:250px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background-image:var(--bg);background-size:cover;background-position:center}.materials article:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,10,21,.96),rgba(5,10,21,.08) 78%)}.materials h3{position:absolute;z-index:2;inset:auto 16px 17px;margin:0;font:700 14px/1.3 "Exo 2"}.machines{background:var(--panel2)}.machine-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:43px}.machine{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#101728}.machine img{width:100%;height:340px;object-fit:cover}.machine>div{padding:25px}.machine h3{font:700 21px "Exo 2";margin:0 0 13px}.machine p{margin:10px 0;color:#a6b2c8;font-size:13px;line-height:1.68}.cad{background:#090e1a}.cad-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:end}.cad-intro>p{color:var(--muted);font-size:14px;margin:0 0 4px}.cad-viewer{display:grid;grid-template-columns:278px 1fr;gap:26px;margin-top:43px}.cad-thumbs{display:grid;grid-template-rows:repeat(4,1fr);gap:16px}.cad-thumbs button{padding:8px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#0f1728;cursor:pointer;transition:.2s}.cad-thumbs button.active{border-color:var(--blue);background:rgba(37,99,235,.1);box-shadow:inset 3px 0 var(--blue)}.cad-thumbs img{width:100%;height:100%;min-height:84px;object-fit:cover;border-radius:5px;background:white}.cad-screen{position:relative;height:455px;border-radius:var(--r);overflow:hidden;background:#eff1f3}.cad-screen video{width:100%;height:100%;object-fit:contain;background:#f3f4f5}.cad-empty{position:absolute;inset:0;display:grid;place-items:center;background:#e9ecf0;color:#4f596b;font-size:13px}.demo{position:absolute;top:16px;right:16px;padding:9px 14px;border-radius:4px;background:rgba(11,15,28,.78);color:#dae0ec;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.progress{position:absolute;z-index:4;inset:auto 0 0;height:4px;background:rgba(15,23,42,.2)}.progress i{display:block;width:0;height:100%;background:var(--blue);transition:width .08s linear}.cad-note{margin:15px 0 0;color:#65728a;font-size:10px}.hall-video{position:relative;height:420px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#101728}.hall-video video{width:100%;height:100%;object-fit:cover}.hall-video .play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:66px;height:66px;border:0;border-radius:50%;background:var(--blue);color:white;font-size:20px;padding-left:5px;box-shadow:0 0 0 0 rgba(37,99,235,.4);animation:pulse 2s infinite;cursor:pointer}.hall-video>span{position:absolute;left:15px;top:15px;padding:6px 9px;background:rgba(8,14,27,.82);border-radius:3px;color:#bdc7d8;font-size:9px;letter-spacing:1px;text-transform:uppercase}@keyframes pulse{70%{box-shadow:0 0 0 15px rgba(37,99,235,0)}100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}}.gallery-section{background:#0a101e}.gallery{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:190px;gap:9px;margin-top:40px}.gallery button{padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:none;cursor:zoom-in}.gallery button:nth-child(1),.gallery button:nth-child(6),.gallery button:nth-child(8){grid-column:span 2}.gallery button:nth-child(4){grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery button:hover img{transform:scale(1.05);filter:brightness(1.1)}.contact{background:#0d1425}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-copy ul{padding:0;margin:30px 0 0;list-style:none}.contact-copy li{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-copy li b{color:#6f7b92;font-size:9px;text-transform:uppercase;letter-spacing:1px}.contact-copy li a,.contact-copy li span{color:#c0cadb}.quote-form{padding:30px;background:#121a2e;border:1px solid var(--line);border-radius:var(--r)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form label{display:block;margin-bottom:14px;color:#8793aa;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.quote-form input:not([type=checkbox]):not([type=file]),.quote-form textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid transparent;border-radius:4px;outline:0;background:#19233a;color:white;text-transform:none}.quote-form textarea{resize:vertical}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--cyan)}.file input{position:absolute;opacity:0}.file span{display:block;margin-top:6px;padding:13px;border:1px dashed rgba(0,200,255,.45);border-radius:4px;background:#10182a;color:var(--cyan);text-align:center;cursor:pointer;text-transform:none}.consent{display:flex!important;align-items:flex-start;gap:10px;text-transform:none!important;letter-spacing:0!important;font-size:10px!important;line-height:1.5}.consent input{margin-top:3px;accent-color:var(--blue)}footer{padding:60px 0 20px;background:#080d18;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-bottom:40px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-grid p,.footer-grid a,.footer-grid span{max-width:380px;margin:5px 0;color:#7f8aa0;font-size:11px}.footer-grid b{font:600 11px "Exo 2";letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);color:#5f6a80;font-size:10px}.lightbox{width:min(1200px,92vw);max-height:90vh;padding:0;border:0;background:transparent}.lightbox::backdrop{background:rgba(3,6,12,.92);backdrop-filter:blur(5px)}.lightbox img{max-height:88vh;margin:auto}.lightbox button{position:fixed;right:24px;top:16px;border:0;background:none;color:white;font-size:42px;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.nav{gap:16px}.phone{display:none}.features{grid-template-columns:1fr 1fr}.materials{grid-template-columns:repeat(3,1fr)}.materials article:nth-child(4),.materials article:nth-child(5){min-height:210px}.cad-viewer{grid-template-columns:230px 1fr}.gallery{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){:root{--header:62px}.container{width:min(100% - 32px,var(--max))}.menu-toggle{display:block}.nav-actions{display:none}.logo>span:last-child{display:none}.nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:14px 20px;background:#0b0f1c;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:9px 4px}.hero{min-height:720px;align-items:end;padding-bottom:72px;background-position:63% center;background-image:linear-gradient(0deg,rgba(7,11,21,.98) 4%,rgba(7,11,21,.78) 64%,rgba(7,11,21,.23)),url('https://cncsystems.pl/wp-content/uploads/2025/08/IMG_3446-1-scaled.jpeg')}.hero h1{font-size:42px}.hero-lead{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.section{padding:72px 0}.section-heading h2,.copy h2,.contact-copy h2{font-size:36px}.features,.split,.machine-grid,.cad-intro,.contact-grid{grid-template-columns:1fr}.features{gap:14px}.feature{min-height:auto}.split,.contact-grid{gap:38px}.quality-image{height:380px}.materials{grid-template-columns:1fr 1fr}.materials article{min-height:220px}.materials article:last-child{grid-column:span 2}.machine img{height:250px}.cad-intro{gap:22px}.cad-viewer{display:flex;flex-direction:column;gap:16px;margin-top:32px}.cad-screen{order:1;height:auto;aspect-ratio:16/10}.cad-thumbs{order:2;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cad-thumbs button{padding:5px}.cad-thumbs img{min-height:58px;height:58px}.demo{font-size:8px;padding:7px 9px}.hall .split{display:flex;flex-direction:column}.hall-video{height:320px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery button:nth-child(n){grid-column:auto;grid-row:auto}.gallery button:first-child{grid-column:span 2}.form-row{grid-template-columns:1fr}.quote-form{padding:21px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{gap:15px;flex-direction:column}.industry-track{animation:marquee 20s linear infinite}@keyframes marquee{to{transform:translateX(-45%)}}}
@media(max-width:420px){.hero h1{font-size:36px}.section-heading h2,.copy h2,.contact-copy h2{font-size:32px}.materials article{min-height:185px}.machine>div{padding:20px}.cad-screen{aspect-ratio:4/3}.cad-thumbs img{height:50px;min-height:50px}.quality-image{height:330px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hall-video .play{animation:none}.industry-track{animation:none!important}}
[hidden]{display:none!important}
.contact-copy li{display:grid!important;grid-template-columns:38px 1fr;align-items:center;gap:13px}.contact-copy li>div{display:flex;flex-direction:column}.contact-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(37,99,235,.45);border-radius:7px;background:rgba(37,99,235,.1);color:var(--cyan)}.contact-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nav a,.phone{font-size:14px}.hero-lead{font-size:18px}.feature p,.machine p,.copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow),.cad-intro>p,.checks li,.contact-copy li{font-size:16px}.feature h3{font-size:19px}.machine h3{font-size:22px}.feature{min-height:315px}.quote-form input:not([type=checkbox]):not([type=file]),.quote-form textarea,.file span{font-size:16px}.quote-form label{font-size:12px}.consent{font-size:12px!important}.cad-note,.footer-grid p,.footer-grid a,.footer-grid span{font-size:12px}
.button,.button-small{min-height:52px;padding:13px 24px;font-size:16px;line-height:1.2}.site-header .button{min-height:42px;padding:9px 18px;font-size:14px}.hero-actions .button{min-width:200px}.quote-form .button{margin-top:4px}
.materials article{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background-size .45s ease;background-size:auto 100%}.materials article:hover{transform:translateY(-5px);border-color:rgba(0,200,255,.5);box-shadow:0 18px 34px rgba(0,0,0,.28);background-size:auto 108%}.materials article:before{transition:background .3s ease}.materials article:hover:before{background:linear-gradient(0deg,rgba(5,10,21,.9),rgba(5,10,21,.02) 78%)}.materials h3{transition:color .25s ease,transform .3s ease}.materials article:hover h3{color:var(--cyan);transform:translateY(-2px)}
section[id]{scroll-margin-top:calc(var(--header) + 20px)}.cad-thumbs{height:455px;min-height:0}.cad-thumbs button{min-height:0}.cad-thumbs img{height:100%;min-height:0}.cad-screen{align-self:start}.cad-viewer{align-items:start}
section[id]{scroll-margin-top:calc(var(--header) + 20px)}.cad-thumbs{height:455px;min-height:0}.cad-thumbs button{min-height:0;background:#f4f5f6}.cad-thumbs img{height:100%;min-height:0;object-fit:contain;background:#f4f5f6}.cad-screen{align-self:start}.cad-viewer{align-items:start}
@media(max-width:760px){.cad-thumbs{height:auto}.cad-thumbs button{height:70px}.cad-thumbs img{height:58px;min-height:58px}}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#66748d;font-weight:400;opacity:1}.quote-form input:not([type=checkbox]):not([type=file]),.quote-form textarea{font-weight:400}.quote-form input:not([type=checkbox]):not([type=file]){height:54px}.quote-form textarea{min-height:132px}.quote-form input:hover,.quote-form textarea:hover{background:#1b2741}.quote-form input:focus,.quote-form textarea:focus{background:#1b2741;box-shadow:0 0 0 3px rgba(0,200,255,.07)}
.cnc-container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:999;left:16px;top:-100px;padding:10px 16px;background:#fff;color:#000}.skip-link:focus{top:16px}.site-logo{display:inline-flex;align-items:center;gap:9px;flex-shrink:0}.site-logo__mark{width:46px;height:29px;display:grid;place-items:center;border:2px solid #eaf1ff;border-left-color:var(--cyan);border-right-color:var(--cyan);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);font:800 12px/1 "Exo 2"}.site-logo__text{display:flex;flex-direction:column;font-family:"Exo 2";line-height:.8}.site-logo__text strong{font-size:14px}.site-logo__text small{font-size:7px;letter-spacing:2px;color:var(--cyan);margin-top:6px}.site-header>.cnc-container{height:100%;display:flex;align-items:center;gap:28px}.main-navigation{margin-left:auto}.cnc-menu{display:flex;align-items:center;gap:27px;margin:0;padding:0;list-style:none}.cnc-menu a,.header-phone{font-size:14px;color:#bec8da;transition:.2s}.cnc-menu a:hover,.header-phone:hover{color:var(--cyan)}.header-actions{display:flex;align-items:center;gap:18px}.header-phone{display:flex;align-items:center;gap:7px}.cnc-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 24px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:#fff;font-weight:600;font-size:16px;line-height:1.2;transition:.2s}.cnc-button:hover{transform:translateY(-2px);background:#3471f2}.site-header .cnc-button{min-height:42px;padding:9px 18px;font-size:14px}.cnc-button--ghost{background:rgba(12,18,31,.45);border-color:rgba(255,255,255,.5)}.cnc-button--wide{width:100%}.icon{width:24px;height:24px;flex:0 0 auto}.icon--small{width:17px;height:17px}.hero__shade{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,11,21,.98) 3%,rgba(7,11,21,.82) 36%,rgba(7,11,21,.22) 72%),linear-gradient(0deg,var(--bg),transparent 35%),var(--hero-image);background-size:cover;background-position:center}.hero__shade:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 73% 44%,transparent 0 35%,rgba(3,7,16,.32) 76%)}.hero__content{position:relative;z-index:2}.hero__lead{max-width:680px;margin:25px 0 0;color:var(--muted);font-size:18px}.hero__actions{display:flex;gap:14px;margin-top:31px}.hero__actions .cnc-button{min-width:200px}.industry-strip__track{display:flex;align-items:center;gap:18px;min-width:max-content;margin:auto;padding:0 24px;color:#8997b0;font-size:10px;text-transform:uppercase;letter-spacing:1.3px}.industry-strip__track strong{color:var(--cyan)}.industry-strip__track>span{font-size:6px;color:rgba(0,200,255,.55)}.industry-strip__track p{margin:0}.section--panel{background:var(--panel)}.section-heading--center{text-align:center}.advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}.feature-card{min-height:315px;padding:25px;border:1px solid var(--line);border-radius:var(--r);background:rgba(14,22,38,.55);transition:.25s}.feature-card:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.55)}.feature-card__icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(37,99,235,.45);border-radius:8px;background:rgba(37,99,235,.1);color:var(--cyan)}.feature-card__icon img,.feature-card__icon svg{width:25px;height:25px;object-fit:contain}.feature-card h3{font:700 19px/1.35 "Exo 2";margin:25px 0 12px}.feature-card p{margin:0;color:#9aa8c1;font-size:16px;line-height:1.65}.split-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:70px;align-items:center}.quality__visual{position:relative;height:495px;margin:0;border-radius:var(--r);border:1px solid var(--line);overflow:hidden}.quality__visual img{width:100%;height:100%;object-fit:cover}.quality__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,25,.6),transparent 45%)}.quality__visual figcaption{position:absolute;z-index:2;bottom:18px;left:18px;padding:8px 13px;border-left:3px solid var(--cyan);border-radius:3px;background:rgba(6,15,30,.88);font:700 14px "Exo 2";color:var(--cyan)}.quality__copy>p,.quality__body,.hall-copy>p,.contact-copy>p{color:var(--muted);font-size:16px}.quality__body strong{color:#fff}.check-list{padding:0;margin:22px 0;list-style:none}.check-list li{display:flex;gap:9px;align-items:flex-start;padding:5px 0;color:#aab6ca;font-size:16px}.check-list .icon{color:var(--cyan);margin-top:4px}.materials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:45px}.material-card{position:relative;min-height:250px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background-image:var(--material-image);background-size:auto 100%;background-position:center;transition:transform .3s,border-color .3s,box-shadow .3s,background-size .45s}.material-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,10,21,.96),rgba(5,10,21,.08) 78%);transition:.3s}.material-card h3{position:absolute;z-index:2;inset:auto 16px 17px;margin:0;font:700 16px/1.3 "Exo 2";transition:.3s}.material-card:hover{transform:translateY(-5px);border-color:rgba(0,200,255,.5);box-shadow:0 18px 34px rgba(0,0,0,.28);background-size:auto 108%}.material-card:hover:before{background:linear-gradient(0deg,rgba(5,10,21,.9),rgba(5,10,21,.02) 78%)}.material-card:hover h3{color:var(--cyan);transform:translateY(-2px)}.machines-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:43px}.machine-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#101728}.machine-card>img{width:100%;height:340px;object-fit:cover}.machine-card__content{padding:25px}.machine-card h3{font:700 22px "Exo 2";margin:0 0 13px}.machine-card p{margin:10px 0;color:#a6b2c8;font-size:16px;line-height:1.68}.cad-section{background:#090e1a}.cad-thumbnails{height:455px;min-height:0;display:grid;grid-template-rows:repeat(4,1fr);gap:16px}.cad-thumbnail{min-height:0;padding:8px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#f4f5f6;cursor:pointer;transition:.2s}.cad-thumbnail.is-active{border-color:var(--blue);background:rgba(37,99,235,.1);box-shadow:inset 3px 0 var(--blue)}.cad-thumbnail img{width:100%;height:100%;min-height:0;object-fit:contain;background:#f4f5f6}.cad-stage{position:relative;height:455px;align-self:start;border-radius:var(--r);overflow:hidden;background:#eff1f3}.cad-stage video{width:100%;height:100%;object-fit:contain;background:#f3f4f5}.cad-stage__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#4f596b;font-size:13px}.cad-stage__badge{position:absolute;top:16px;right:16px;padding:9px 14px;border-radius:4px;background:rgba(11,15,28,.78);color:#dae0ec;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.cad-progress{position:absolute;z-index:4;inset:auto 0 0;height:4px;background:rgba(15,23,42,.2)}.cad-progress span{display:block;width:0;height:100%;background:var(--blue);transition:width .08s linear}.hall-media{position:relative;height:420px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#101728}.hall-media video{width:100%;height:100%;object-fit:cover}.play-button{position:absolute;left:50%;top:50%;translate:-50% -50%;width:66px;height:66px;border:0;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 0 rgba(37,99,235,.4);animation:pulse 2s infinite;cursor:pointer}.media-label{position:absolute;left:15px;top:15px;padding:6px 9px;background:rgba(8,14,27,.82);border-radius:3px;color:#bdc7d8;font-size:9px;letter-spacing:1px;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:190px;gap:9px;margin-top:40px}.gallery-item{padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:none;cursor:zoom-in}.gallery-item--1,.gallery-item--6,.gallery-item--8{grid-column:span 2}.gallery-item--4{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery-item:hover img{transform:scale(1.05);filter:brightness(1.1)}.contact-section{background:#0d1425}.contact-details{padding:0;margin:30px 0 0;list-style:none}.contact-details li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.contact-details .icon{width:38px;height:38px;padding:9px;border:1px solid rgba(37,99,235,.45);border-radius:7px;background:rgba(37,99,235,.1);color:var(--cyan)}.contact-form-shell,.form-placeholder{padding:30px;background:#121a2e;border:1px solid var(--line);border-radius:var(--r)}.contact-form-shell .form-placeholder{padding:0;border:0;background:transparent}.contact-form-shell label{display:block;margin-bottom:14px;color:#8793aa;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.contact-form-shell input:not([type=checkbox]):not([type=file]),.contact-form-shell textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid transparent;border-radius:4px;outline:0;background:#19233a;color:#fff;font-size:16px}.contact-form-shell input::placeholder,.contact-form-shell textarea::placeholder{color:#66748d;font-weight:400}.file-control{display:block;padding:13px;border:1px dashed rgba(0,200,255,.45);border-radius:4px;background:#10182a;color:var(--cyan)!important;text-align:center}.consent{display:flex!important;gap:10px;text-transform:none!important;letter-spacing:0!important}.site-footer{padding:60px 0 20px;background:#080d18;border-top:1px solid var(--line)}.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px;padding-bottom:40px}.footer-brand p,.footer-column a,.footer-column p{color:#7f8aa0;font-size:12px}.footer-column{display:flex;flex-direction:column;gap:7px}.footer-column h2{font:600 11px "Exo 2";letter-spacing:1px;text-transform:uppercase;margin:0 0 6px}.lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:5vw;background:rgba(3,6,12,.92);backdrop-filter:blur(5px)}.lightbox img{max-width:100%;max-height:90vh}.lightbox__close{position:absolute;right:24px;top:18px;padding:8px;border:0;background:none;color:#fff;cursor:pointer}.is-lightbox-open{overflow:hidden}
@media(max-width:1050px){.advantages-grid{grid-template-columns:1fr 1fr}.materials-grid{grid-template-columns:repeat(3,1fr)}.cad-viewer{grid-template-columns:230px 1fr}.site-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:760px){.cnc-container{width:min(100% - 32px,var(--max))}.site-logo__text{display:none}.header-actions{display:none}.main-navigation{position:absolute;left:0;right:0;top:100%;display:none;margin:0;padding:14px 20px;background:#0b0f1c;border-bottom:1px solid var(--line)}.main-navigation.open{display:block}.cnc-menu{flex-direction:column;align-items:stretch;gap:0}.cnc-menu a{display:block;padding:9px 4px}.hero__shade{background-image:linear-gradient(0deg,rgba(7,11,21,.98) 4%,rgba(7,11,21,.78) 64%,rgba(7,11,21,.23)),var(--hero-image);background-position:63% center}.hero__actions{flex-direction:column}.advantages-grid,.split-grid,.machines-grid,.cad-intro,.contact-grid{grid-template-columns:1fr}.quality__visual{height:380px}.materials-grid{grid-template-columns:1fr 1fr}.material-card:last-child{grid-column:span 2}.machine-card>img{height:250px}.cad-viewer{display:flex;flex-direction:column;gap:16px}.cad-stage{order:1;width:100%;height:auto;aspect-ratio:16/10}.cad-thumbnails{order:2;height:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:none;gap:8px}.cad-thumbnail{height:70px;padding:5px}.cad-thumbnail img{height:58px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item{grid-column:auto!important;grid-row:auto!important}.gallery-item:first-child{grid-column:span 2!important}.contact-form-shell{padding:21px}.form-row{grid-template-columns:1fr}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}
@media(min-width:761px){.site-header .nav,.site-header .main-navigation{position:absolute;left:50%;margin-left:0;transform:translateX(-50%)}.site-header .nav-actions,.site-header .header-actions{margin-left:auto}}
.faq-section{background:var(--panel)}.faq-wrap{max-width:900px}.faq-list{display:grid;gap:10px;margin-top:42px}.faq-item{border:1px solid var(--line);border-radius:7px;background:#0d1525;overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:0;background:transparent;color:var(--text);font-size:16px;font-weight:600;text-align:left;cursor:pointer}.faq-question:after{content:"+";color:var(--cyan);font-size:22px;font-weight:400}.faq-item.is-open .faq-question:after{content:"−"}.faq-answer{display:none;padding:0 20px 20px;color:var(--muted);font-size:16px}.faq-item.is-open .faq-answer{display:block}
.faq-answer{display:block;max-height:0;padding:0 20px;overflow:hidden;opacity:0;color:var(--muted);font-size:16px;line-height:1.7;transition:max-height .32s ease,opacity .22s ease,padding .32s ease}.faq-item.is-open .faq-answer{display:block;max-height:240px;padding:4px 20px 22px;opacity:1}.faq-question:after{transition:transform .28s ease}.faq-item.is-open .faq-question:after{transform:rotate(180deg)}

/* Zatwierdzony wygląd V1 — wspólne linie konstrukcyjne przez sekcje. */
main>section,.industry-strip{position:relative;isolation:isolate}
main>section:before,.industry-strip:before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:50%;width:min(var(--max),calc(100% - 48px));transform:translateX(-50%);pointer-events:none;background-image:linear-gradient(to right,rgba(190,201,219,.055) 1px,transparent 1px);background-size:25% 100%;background-repeat:repeat-x;border-right:1px solid rgba(190,201,219,.055)}
main>section>*,.industry-strip>*{position:relative;z-index:1}

/* Narożniki domykają konstrukcyjną siatkę każdej sekcji. */
@media(min-width:761px){
  main>section:not(.hero):after{
    content:"";
    position:absolute;
    z-index:0;
    inset:0 auto 0 50%;
    width:min(var(--max),calc(100% - 48px));
    transform:translateX(-50%);
    pointer-events:none;
    background:
      linear-gradient(rgba(186,197,219,.25),rgba(186,197,219,.25)) 0 0/26px 1px no-repeat,
      linear-gradient(rgba(186,197,219,.25),rgba(186,197,219,.25)) 100% 0/26px 1px no-repeat,
      linear-gradient(rgba(186,197,219,.25),rgba(186,197,219,.25)) 0 100%/26px 1px no-repeat,
      linear-gradient(rgba(186,197,219,.25),rgba(186,197,219,.25)) 100% 100%/26px 1px no-repeat;
  }
}

/* Materiały pozostają stabilne na hover i zawsze wypełniają kadr. */
.material-card,.materials article{background-size:cover;transition:border-color .25s ease}
.material-card:hover,.materials article:hover{transform:none;box-shadow:none;border-color:rgba(0,200,255,.5);background-size:cover;filter:none}
.material-card:hover h3,.materials article:hover h3{color:inherit;transform:none}

/* Lżejsza typografia formularza na desktopie. */
.contact-form-shell input:not([type=checkbox]):not([type=file]),.contact-form-shell textarea,.file-control{font-size:14px}
.contact-form-shell label{font-size:11px}

/* Pasek CAD aktualizuje JavaScript klatka po klatce. */
.cad-progress span{transition:none}

/* Elementy robocze podglądu nie należą do finalnego motywu. */
.technical-demo{display:none!important}
dialog.lightbox:not([open]){display:none}

@media(max-width:760px){
  main>section:before,.industry-strip:before{width:calc(100% - 32px);background-image:linear-gradient(to right,transparent calc(50% - .5px),rgba(190,201,219,.07) calc(50% - .5px),rgba(190,201,219,.07) calc(50% + .5px),transparent calc(50% + .5px));background-size:100% 100%;background-repeat:no-repeat;border-inline:1px solid rgba(190,201,219,.05)}
  .hero{min-height:auto;align-items:center;padding-top:calc(var(--header) + 96px);padding-bottom:72px;background-position:68% center;background-image:linear-gradient(90deg,rgba(7,11,21,.92),rgba(7,11,21,.62)),linear-gradient(0deg,rgba(7,11,21,.78),transparent 62%),url('https://cncsystems.pl/wp-content/uploads/2025/08/IMG_3446-1-scaled.jpeg')}
  .hero:after{background:linear-gradient(0deg,rgba(3,7,16,.35),transparent 60%)}
  .hero__shade{background-position:68% center;background-image:linear-gradient(90deg,rgba(7,11,21,.92),rgba(7,11,21,.62)),linear-gradient(0deg,rgba(7,11,21,.78),transparent 62%),var(--hero-image)}
  .hero__shade:after{background:none}
  .feature-card,#atuty .feature{min-height:0;padding:22px 20px}
  .feature-card h3,#atuty .feature h3{margin:18px 0 10px}
  .cad-thumbnails,.cad-thumbs{height:70px;grid-template-rows:70px;grid-auto-rows:0}
  .cad-thumbnail,.cad-thumbs button{height:70px}
  .split-grid--video,.hall .split{align-items:stretch}
  .hall-media,.hall .hall-video{width:100%;height:auto;aspect-ratio:16/10}
  .quote-form,.contact-form-shell{padding:18px}
  .form-row{gap:0}
  .quote-form label,.contact-form-shell label{margin-bottom:10px}
  .quote-form input:not([type=checkbox]):not([type=file]),.contact-form-shell input:not([type=checkbox]):not([type=file]){height:46px;margin-top:4px;padding:9px 12px;font-size:16px}
  .quote-form textarea,.contact-form-shell textarea{min-height:96px;margin-top:4px;padding:10px 12px;font-size:16px}
  .file span,.file-control{min-height:46px;margin-top:4px;padding:9px 12px;font-size:16px}
  .quote-form .consent,.contact-form-shell .consent{margin-bottom:12px}
  .quote-form .button,.contact-form-shell .cnc-button{min-height:48px}
}

/* One shared heading accent for the hero and every section title. */
.hero h1{
  max-width:700px;
}
.heading-accent{
  color:var(--cyan);
}

/* CNC Design System — wspólna warstwa dla podglądu i motywu WordPress. */
:root{
  --ds-space-1:8px;
  --ds-space-2:16px;
  --ds-space-3:24px;
  --ds-space-4:32px;
  --ds-space-5:48px;
  --ds-space-6:72px;
  --ds-page-width:calc(100% - 48px);
  --ds-section-y:96px;
  --ds-radius-control:4px;
  --ds-radius-card:10px;
  --ds-control-height:50px;
  --ds-input-height:50px;
  --ds-textarea-height:112px;
  --ds-form-padding:24px;
  --ds-form-gap:16px;
  --ds-font-body:16px;
  --ds-font-label:11px;
  --ds-surface:#121a2e;
  --ds-field:#19233a;
  --ds-border:rgba(255,255,255,.09);
}

.container,.cnc-container{width:min(var(--max),var(--ds-page-width))}
.section{padding-block:var(--ds-section-y)}
.button,.cnc-button{min-height:var(--ds-control-height);padding:12px 24px;border-radius:var(--ds-radius-control);font-size:16px;line-height:1.2}
.feature,.feature-card,.machine,.machine-card,.quote-form,.contact-form-shell{border-color:var(--ds-border);border-radius:var(--ds-radius-card)}
.quote-form,.contact-form-shell{padding:var(--ds-form-padding);background:var(--ds-surface)}
.form-row{gap:var(--ds-form-gap)}
.quote-form label,.contact-form-shell label{margin-bottom:var(--ds-space-2);font-size:var(--ds-font-label)}
.quote-form input:not([type=checkbox]):not([type=file]),.contact-form-shell input:not([type=checkbox]):not([type=file]){height:var(--ds-input-height);margin-top:4px;padding:10px 12px;background:var(--ds-field);font-size:var(--ds-font-body)}
.quote-form textarea,.contact-form-shell textarea{height:var(--ds-textarea-height);min-height:var(--ds-textarea-height);margin-top:4px;padding:10px 12px;background:var(--ds-field);font-size:var(--ds-font-body)}
.file span,.file-control{min-height:48px;margin-top:4px;padding:10px 12px;font-size:var(--ds-font-body)}
.quote-form .consent,.contact-form-shell .consent{margin-bottom:var(--ds-space-2)}
.contact-copy li,.contact-details li{border-bottom:0}
.footer-grid p,.footer-grid a,.footer-grid span,.footer-brand p,.footer-column a,.footer-column p{font-size:13px}
.footer-bottom,.footer-bottom p,.footer-bottom a{font-size:13px}

/* Wspolny hover dla tekstowych linkow kontaktowych, nawigacji i stopki. */
.nav a,.phone,.cnc-menu a,.header-phone,.contact-copy a,.contact-details a,.footer-grid a,.footer-column a,.footer-bottom a{transition:color .2s ease}
.nav a:hover,.phone:hover,.cnc-menu a:hover,.header-phone:hover,.contact-copy a:hover,.contact-details a:hover,.footer-grid a:hover,.footer-column a:hover,.footer-bottom a:hover{color:var(--cyan)}
.nav a:focus-visible,.phone:focus-visible,.cnc-menu a:focus-visible,.header-phone:focus-visible,.contact-copy a:focus-visible,.contact-details a:focus-visible,.footer-grid a:focus-visible,.footer-column a:focus-visible,.footer-bottom a:focus-visible{color:var(--cyan);outline:1px solid var(--cyan);outline-offset:4px}

/* Proba kroju Manrope zamiast Exo 2 dla wszystkich naglowkow. */
h1,h2,h3,h4,h5,h6,.logo-mark,.logo>span:last-child,.site-logo__mark,.site-logo__text,.footer-grid b,.footer-column h2{font-family:"Manrope",sans-serif!important}

/* Jedna probka technicznej etykiety sekcji — pozostale eyebrow bez zmian. */
.technical-eyebrow{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin:0 0 18px;
  padding:0;
  color:#b8c4d7;
  font-family:Inter,Arial,sans-serif;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:2px;
}
.technical-eyebrow::before{
  content:"";
  width:68px;
  height:12px;
  border-left:1px solid var(--cyan);
  background:
    linear-gradient(90deg,var(--cyan) 0 18px,rgba(186,197,219,.55) 18px 100%) 0 11px/100% 1px no-repeat,
    repeating-linear-gradient(90deg,rgba(186,197,219,.6) 0 1px,transparent 1px 8px) 0 2px/100% 6px no-repeat;
}
.technical-eyebrow::after{
  content:none;
}

/* Wspólny techniczny podpis: dyskretna podziałka pomiarowa przy każdym nagłówku. */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin:0 0 18px;
  padding:0;
  color:#b8c4d7;
  font-family:Inter,Arial,sans-serif;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:2px;
}
.eyebrow::before{
  content:"";
  width:58px;
  height:11px;
  flex:0 0 58px;
  border-left:1px solid var(--cyan);
  background:
    linear-gradient(90deg,var(--cyan) 0 16px,rgba(186,197,219,.55) 16px 100%) 0 10px/100% 1px no-repeat,
    repeating-linear-gradient(90deg,rgba(186,197,219,.58) 0 1px,transparent 1px 8px) 0 1px/100% 6px no-repeat;
}
.hero .eyebrow{font-size:11px}
@media(max-width:760px){
  .eyebrow{gap:10px;font-size:9px;letter-spacing:1.55px}
  .eyebrow::before{width:46px;flex-basis:46px}
}

/* Jeden wspolny styl wszystkich glownych H2 sekcji. */
main .section h2{
  margin:0;
  color:var(--text);
  font-family:"Manrope",sans-serif!important;
  font-size:clamp(38px,3.6vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-1.2px;
}
.hero .eyebrow{font-size:10px}
@media(max-width:760px){main .section h2{font-size:36px}}
@media(max-width:420px){main .section h2{font-size:32px}}

/* Jeden identyczny komponent nad naglowkami w calej witrynie. */
main .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:13px!important;
  margin:0 0 18px!important;
  padding:0!important;
  color:#b8c4d7!important;
  font-family:"Manrope",sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:2px!important;
  text-transform:uppercase!important;
}
main .eyebrow::before{
  content:""!important;
  display:block!important;
  width:58px!important;
  height:11px!important;
  flex:0 0 58px!important;
  border:0!important;
  border-left:1px solid var(--cyan)!important;
  background:
    linear-gradient(90deg,var(--cyan) 0 16px,rgba(186,197,219,.55) 16px 100%) 0 10px/100% 1px no-repeat,
    repeating-linear-gradient(90deg,rgba(186,197,219,.58) 0 1px,transparent 1px 8px) 0 1px/100% 6px no-repeat!important;
}

/* Miniatury CAD: hover zmienia tylko border, slabiej niz stan aktywny. */
.cad-thumbnail,.cad-thumbs button{transition:border-color .22s ease}
.cad-thumbnail:hover:not(.is-active),.cad-thumbs button:hover:not(.active){border-color:rgba(37,99,235,.58)}
.cad-thumbnail:focus-visible,.cad-thumbs button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

/* Pełna galeria masonry: trzy rzędy bez pustych pól. */
.gallery,.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:190px;grid-auto-flow:row dense;gap:9px}
.gallery>button:nth-child(1),.gallery-item--1{grid-column:span 5;grid-row:span 2}
.gallery>button:nth-child(2),.gallery-item--2{grid-column:span 3;grid-row:span 1}
.gallery>button:nth-child(3),.gallery-item--3{grid-column:span 4;grid-row:span 1}
.gallery>button:nth-child(4),.gallery-item--4{grid-column:span 4;grid-row:span 1}
.gallery>button:nth-child(5),.gallery-item--5{grid-column:span 3;grid-row:span 1}
.gallery>button:nth-child(n+6),.gallery-item--6,.gallery-item--7,.gallery-item--8,.gallery-item--9{grid-column:span 3;grid-row:span 1}
.gallery button,.gallery-item{border-radius:var(--ds-radius-card);transition:border-color .22s ease}
.gallery img,.gallery-item img{transition:opacity .22s ease}
.gallery button:hover,.gallery-item:hover{border-color:rgba(0,200,255,.55)}
.gallery button:hover img,.gallery-item:hover img{transform:none;filter:none;opacity:.82}

/* Pełny lightbox galerii, zasilany zdjęciami z pola Galeria ACF. */
.lightbox{position:fixed;z-index:200;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:32px 84px;border:0;background:rgba(3,6,12,.94);backdrop-filter:blur(5px);color:#fff;overflow:hidden}
dialog.lightbox[open],.lightbox:not([hidden]){display:grid;place-items:center}
.lightbox::backdrop{background:rgba(3,6,12,.94);backdrop-filter:blur(5px)}
.lightbox__frame{position:relative;display:grid;place-items:center;width:100%;height:100%;margin:0}
.lightbox__frame img,.lightbox>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;border-radius:var(--ds-radius-card)}
.lightbox button.lightbox__close,.lightbox button.lightbox__nav{position:fixed;z-index:3;display:grid;place-items:center;margin:0;border:1px solid rgba(255,255,255,.2);background:rgba(11,15,28,.76);color:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.lightbox button.lightbox__close:hover,.lightbox button.lightbox__nav:hover{border-color:var(--cyan);background:#111a2c}
.lightbox button.lightbox__close{top:18px;right:18px;width:40px;height:40px;padding:0;border-radius:var(--ds-radius-control);font-size:24px;line-height:1}
.lightbox button.lightbox__close svg{width:20px;height:20px}
.lightbox button.lightbox__nav{top:50%;translate:0 -50%;width:42px;height:48px;padding:0;border-radius:var(--ds-radius-control);font-size:22px;line-height:1}
.lightbox button.lightbox__nav--prev{left:20px;right:auto}
.lightbox button.lightbox__nav--next{right:20px;left:auto}
.lightbox__counter{position:absolute;left:50%;bottom:8px;translate:-50% 0;padding:5px 11px;border-radius:var(--ds-radius-control);background:rgba(11,15,28,.78);color:#cbd5e1;font-size:12px;letter-spacing:.08em}

@media(max-width:760px){
  :root{
    --ds-page-width:calc(100% - 32px);
    --ds-section-y:72px;
    --ds-control-height:48px;
    --ds-input-height:46px;
    --ds-textarea-height:96px;
    --ds-form-padding:18px;
    --ds-form-gap:0px;
  }
  .quote-form,.contact-form-shell{padding:var(--ds-form-padding)!important}
  .quote-form label,.contact-form-shell label{margin-bottom:10px}
  .quote-form input:not([type=checkbox]):not([type=file]),.contact-form-shell input:not([type=checkbox]):not([type=file]){height:var(--ds-input-height)!important}
  .quote-form textarea,.contact-form-shell textarea{height:var(--ds-textarea-height)!important;min-height:var(--ds-textarea-height)!important}
  .file span,.file-control{min-height:46px}
  .gallery,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px}
  .gallery>button:nth-child(n),.gallery-grid>.gallery-item{grid-column:auto!important;grid-row:auto!important}
  .gallery>button:first-child,.gallery-grid>.gallery-item:first-child{grid-column:span 2!important}
  .lightbox{padding:70px 14px 78px}
  .lightbox__frame img,.lightbox>img{max-height:calc(100vh - 150px);border-radius:6px}
  .lightbox button.lightbox__close{top:12px;right:12px;width:38px;height:38px;font-size:22px}
  .lightbox button.lightbox__nav{top:50%;bottom:auto;translate:0 -50%;width:40px;height:40px;font-size:20px}
  .lightbox button.lightbox__nav--prev{left:14px}
  .lightbox button.lightbox__nav--next{right:14px}
  .lightbox__counter{bottom:8px}
}

/* Mobilna nawigacja: pełny, spokojny panel zamiast małej rozwijanej listy. */
@media(max-width:760px){
  body.is-menu-open{overflow:hidden}
  .site-header{z-index:120}
  .site-header .nav,
  .site-header .main-navigation{
    position:absolute;
    inset:100% 0 auto;
    height:calc(100vh - var(--header));
    height:calc(100dvh - var(--header));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:24px 24px 22px;
    overflow-y:auto;
    border-top:1px solid var(--line);
    border-bottom:0;
    background:#0b0f1c;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(18px);
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
  }
  .site-header .nav.open,
  .site-header .main-navigation.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:opacity .22s ease,transform .22s ease;
  }
  .site-header .nav a,
  .site-header .main-navigation .cnc-menu a{
    display:block;
    padding:17px 0;
    border-bottom:1px solid rgba(186,197,219,.12);
    color:#e8ecf4;
    font-family:Manrope,Arial,sans-serif;
    font-size:21px;
    font-weight:700;
    line-height:1.25;
  }
  .site-header .main-navigation .cnc-menu{display:block;margin:0;padding:0}
  .site-header .nav a:hover,
  .site-header .main-navigation .cnc-menu a:hover{color:var(--cyan)}
  .mobile-nav-contact,
  .mobile-menu-contact{
    display:grid;
    gap:14px;
    margin-top:auto;
    padding-top:26px;
  }
  .mobile-nav-phone,
  .mobile-menu-phone{
    display:block;
    padding:0 0 16px;
    border-bottom:1px solid rgba(186,197,219,.12);
    color:#b8c4d7!important;
    font-family:Inter,Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }
  .mobile-nav-contact .button,
  .mobile-menu-contact .cnc-button{width:100%;min-height:52px}
}

/* Powrót do kompaktowego menu mobilnego. */
@media(max-width:760px){
  body.is-menu-open{overflow:initial}
  .site-header .nav,
  .site-header .main-navigation{
    position:absolute;
    inset:auto 0 auto 0;
    top:100%;
    height:auto;
    display:none;
    margin:0;
    padding:14px 20px;
    overflow:visible;
    border-top:0;
    border-bottom:1px solid var(--line);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:none;
  }
  .site-header .nav.open{display:flex}
  .site-header .main-navigation.open{display:block}
  .site-header .nav a,
  .site-header .main-navigation .cnc-menu a{
    padding:9px 4px;
    border-bottom:0;
    font-family:Inter,Arial,sans-serif;
    font-size:12px;
    font-weight:400;
    line-height:1.6;
  }
  .site-header .main-navigation .cnc-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0}
  .mobile-nav-contact,.mobile-menu-contact{display:none!important}
}

/* Mobile menu: full panel; contact controls stay hidden on desktop. */
.mobile-nav-contact,.mobile-menu-contact{display:none}

/* Widoczny i klikalny hamburger motywu WordPress. */
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  margin-left:auto;
  padding:8px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:26px;
  height:2px;
  margin:5px auto;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:760px){
  .menu-toggle{display:block!important;position:relative;z-index:2;flex:0 0 44px}
  body.is-menu-open{overflow:hidden}
  .site-header .nav,
  .site-header .main-navigation{
    position:absolute;
    inset:100% 0 auto;
    height:calc(100vh - var(--header));
    height:calc(100dvh - var(--header));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:24px 24px 22px;
    overflow-y:auto;
    border-top:1px solid var(--line);
    border-bottom:0;
    background:#0b0f1c;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(18px);
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
  }
  .site-header .nav.open,
  .site-header .main-navigation.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .22s ease,transform .22s ease}
  .site-header .nav a,
  .site-header .main-navigation .cnc-menu a{
    display:block;
    padding:17px 0;
    border-bottom:1px solid rgba(186,197,219,.12);
    color:#e8ecf4;
    font-family:Manrope,Arial,sans-serif;
    font-size:21px;
    font-weight:700;
    line-height:1.25;
  }
  .site-header .main-navigation .cnc-menu{display:block;margin:0;padding:0}
  .mobile-nav-contact,.mobile-menu-contact{display:grid!important;gap:14px;margin-top:auto;padding-top:26px}
  .site-header .nav .mobile-nav-contact .button,
  .site-header .main-navigation .mobile-menu-contact .cnc-button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:12px 24px;
    border-bottom:1px solid var(--blue);
    font-family:Inter,Arial,sans-serif;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
  }
}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero--video .hero__shade{background-image:linear-gradient(90deg,rgba(7,11,21,.98) 3%,rgba(7,11,21,.82) 36%,rgba(7,11,21,.22) 72%),linear-gradient(0deg,var(--bg),transparent 35%)}
@media(max-width:760px){.hero--video .hero__video{display:none}.hero--video .hero__shade{background-image:linear-gradient(0deg,rgba(7,11,21,.98) 4%,rgba(7,11,21,.78) 64%,rgba(7,11,21,.23)),var(--hero-image);background-position:63% center}}

/* Mobile UI: one typography system in the menu and reliable ACF hero poster. */
@media(max-width:760px){
  .site-header .mobile-nav-phone,
  .site-header .mobile-menu-phone{
    color:#e8ecf4!important;
    font-family:Manrope,Arial,sans-serif!important;
    font-size:21px!important;
    font-weight:700!important;
    line-height:1.25!important;
  }

  .hero--video{
    background-image:linear-gradient(90deg,rgba(7,11,21,.92),rgba(7,11,21,.62)),linear-gradient(0deg,rgba(7,11,21,.78),transparent 62%),var(--hero-image)!important;
    background-position:68% center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
  }

  .hero--video .hero__shade{
    background-image:linear-gradient(90deg,rgba(7,11,21,.54),rgba(7,11,21,.18)),linear-gradient(0deg,rgba(7,11,21,.66),transparent 62%)!important;
  }
}

/* CF7: one visual panel, matching the approved static preview. */
.contact-form-shell{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.contact-form-shell .wpcf7{margin:0}
.contact-form-shell .quote-form{
  padding:var(--ds-form-padding,30px)!important;
  border:1px solid var(--ds-border,var(--line))!important;
  border-radius:var(--ds-radius-card,var(--r))!important;
  background:var(--ds-surface,#121a2e)!important;
}
.contact-form-shell .wpcf7-form-control-wrap{display:block}
.contact-form-shell .codedropz-upload-wrapper{margin:4px 0 14px;text-transform:none}
.contact-form-shell .codedropz-upload-handler{
  border:1px dashed rgba(0,200,255,.45)!important;
  border-radius:4px!important;
  background:#10182a!important;
  overflow:hidden;
}
.contact-form-shell .codedropz-upload-container{padding:0!important}
.contact-form-shell .codedropz-upload-inner{
  position:relative;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px!important;
  cursor:pointer;
}
.contact-form-shell .codedropz-upload-inner>*{display:none!important}
.contact-form-shell .codedropz-upload-inner:before{
  content:"+ Załącz pliki CAD / STEP / DXF";
  color:var(--cyan);
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  text-transform:none;
  letter-spacing:0;
}
.contact-form-shell .codedropz-upload-inner .cd-upload-btn{
  position:absolute;
  inset:0;
  z-index:2;
  display:block!important;
  opacity:0;
  cursor:pointer;
}
.contact-form-shell .dnd-upload-status{margin-top:9px}
.contact-form-shell .dnd-upload-status .dnd-upload-details{color:var(--muted);font-size:12px;text-transform:none}
.contact-form-shell .wpcf7-acceptance .wpcf7-list-item{margin:0}
.contact-form-shell .consent,
.contact-form-shell .wpcf7-acceptance label{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  color:#8793aa;
  font-size:12px!important;
  line-height:1.5;
  text-transform:none!important;
  letter-spacing:0!important;
}
.contact-form-shell .wpcf7-acceptance input{flex:0 0 auto;margin:3px 0 0;accent-color:var(--blue)}
.contact-form-shell input.wpcf7-submit{
  width:100%;
  min-height:52px;
  margin-top:4px;
  padding:13px 24px;
  border:1px solid var(--blue);
  border-radius:4px;
  background:var(--blue);
  color:#fff;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.contact-form-shell input.wpcf7-submit:hover{border-color:#3471f2;background:#3471f2}
.contact-form-shell .wpcf7-spinner{display:block;margin:10px auto 0}

/* Approved three-column footer. */
.site-footer .footer-grid{grid-template-columns:2fr 1fr 1fr;gap:70px}
.site-footer .footer-brand p{max-width:380px;margin:5px 0}
@media(max-width:760px){
  .contact-form-shell .quote-form{padding:18px!important}
  .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:35px}
  .site-footer .footer-brand{grid-column:span 2}
}

/* CF7 spacing and control-state polish. */
.contact-form-shell .quote-form p{margin:0!important}
.contact-form-shell .quote-form br{display:none}
.contact-form-shell .form-row{margin:0 0 16px!important}
.contact-form-shell .quote-form>label{margin:0 0 16px!important}
.contact-form-shell .codedropz-upload-wrapper{margin:4px 0 16px!important}
.contact-form-shell .dnd-upload-counter{display:none!important}
.contact-form-shell .wpcf7-acceptance{display:block;margin:2px 0 16px}
.contact-form-shell .wpcf7-acceptance label{
  align-items:center;
  color:#9eabc1;
  font-size:13px!important;
  line-height:1.45;
}
.contact-form-shell .wpcf7-acceptance input{width:15px;height:15px;margin:0}
.contact-form-shell input.wpcf7-submit{
  border-color:var(--blue)!important;
  background:var(--blue)!important;
  color:#fff!important;
}
.contact-form-shell input.wpcf7-submit:disabled{opacity:.55;cursor:not-allowed}
.contact-form-shell input.wpcf7-submit:not(:disabled):hover{
  border-color:#3471f2!important;
  background:#3471f2!important;
}

/* Final CF7 match: approved site-preview-v1 form. */
.contact-form-shell .wpcf7-form,
.contact-form-shell .quote-form{margin:0!important}
.contact-form-shell .quote-form{
  padding:24px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:10px!important;
  background:#121a2e!important;
}
.contact-form-shell .quote-form p,
.contact-form-shell .quote-form>p,
.contact-form-shell .quote-form .wpcf7-form-control-wrap{margin:0!important;padding:0!important}
.contact-form-shell .quote-form br{display:none!important}
.contact-form-shell .form-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  margin:0!important;
}
.contact-form-shell .quote-form label{
  display:block!important;
  margin:0 0 16px!important;
  color:#8793aa!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.35!important;
  letter-spacing:.8px!important;
  text-transform:uppercase!important;
}
.contact-form-shell .form-row label{min-width:0}
.contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]),
.contact-form-shell .quote-form textarea{
  width:100%!important;
  margin:6px 0 0!important;
  padding:10px 12px!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  outline:0!important;
  background:#19233a!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
  box-shadow:none!important;
}
.contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]){height:50px!important}
.contact-form-shell .quote-form textarea{height:112px!important;min-height:112px!important;resize:vertical!important}
.contact-form-shell .quote-form input::placeholder,
.contact-form-shell .quote-form textarea::placeholder{color:#66748d!important;opacity:1!important}
.contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]):hover,
.contact-form-shell .quote-form textarea:hover,
.contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]):focus,
.contact-form-shell .quote-form textarea:focus{background:#1b2741!important}
.contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]):focus,
.contact-form-shell .quote-form textarea:focus{
  border-color:var(--cyan)!important;
  box-shadow:0 0 0 3px rgba(0,200,255,.07)!important;
}
.contact-form-shell .quote-form>label:has(.codedropz-upload-wrapper){margin-bottom:16px!important}
.contact-form-shell .codedropz-upload-wrapper{margin:6px 0 0!important}
.contact-form-shell .codedropz-upload-handler{min-height:50px!important}
.contact-form-shell .codedropz-upload-inner{min-height:48px!important;padding:12px 16px!important}
.contact-form-shell .codedropz-upload-inner:before{
  content:"+ Załącz pliki CAD / STEP / DXF"!important;
  font-size:14px!important;
}
.contact-form-shell .dnd-upload-counter{display:none!important}
.contact-form-shell .wpcf7-acceptance{display:block!important;margin:0 0 16px!important}
.contact-form-shell .wpcf7-acceptance .wpcf7-list-item{margin:0!important}
.contact-form-shell .wpcf7-acceptance label{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  color:#8793aa!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.contact-form-shell .wpcf7-acceptance input{
  flex:0 0 15px!important;
  width:15px!important;
  height:15px!important;
  margin:2px 0 0!important;
}
.contact-form-shell input.wpcf7-submit{
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:13px 24px!important;
  border:1px solid var(--blue)!important;
  border-radius:4px!important;
  background:var(--blue)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1.2!important;
  opacity:1!important;
}
.contact-form-shell .wpcf7-response-output{
  margin:16px 0 0!important;
  padding:10px 12px!important;
  border-width:1px!important;
  color:var(--muted)!important;
  font-size:13px!important;
}
@media(max-width:760px){
  .contact-form-shell .quote-form{padding:18px!important}
  .contact-form-shell .form-row{grid-template-columns:1fr!important;gap:0!important}
  .contact-form-shell .quote-form label{margin-bottom:10px!important}
  .contact-form-shell .quote-form input:not([type=checkbox]):not([type=file]):not([type=submit]){height:46px!important;font-size:16px!important}
  .contact-form-shell .quote-form textarea{height:96px!important;min-height:96px!important;font-size:16px!important}
  .contact-form-shell .codedropz-upload-inner:before{font-size:13px!important}
}
