:root{
  --orange:#ee1447; --orange-dark:#cf0d3b; --text:#111; --muted:#696969;
  --line:#e8e8e8; --soft:#f7f7f5; --white:#fff; --black:#121212;
  --radius:22px; --shadow:0 24px 80px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.section{padding:100px 0}.compact{padding-top:60px}.soft{background:var(--soft)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand img{width:210px;height:auto}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.main-nav a:hover{color:var(--orange)}
.menu-toggle{display:none;border:0;background:#f2f2f2;border-radius:12px;padding:9px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:14px 20px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 30px rgba(238,20,71,.25)}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-1px)}
.btn-secondary{border-color:#ccc;background:#fff}.btn-secondary:hover{border-color:#111}
.nav-cta{padding:11px 17px;color:#fff!important}.btn-full{width:100%}
.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--orange)}
.hero{padding-top:70px}.hero-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:55px;align-items:center}
.hero h1{font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.05em;margin:18px 0 24px}.hero h1 span{font-weight:500}
.lead{font-size:18px;color:var(--muted);max-width:590px}
.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{margin:10px 0;padding-left:28px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:900}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.platforms{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:36px;color:#777;font-size:12px}.platforms b{color:#333}
.demo-shell{position:relative;min-height:610px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,#f6f6f3);box-shadow:var(--shadow);overflow:hidden}
.viewer-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}
.tab{border:0;background:#eee;padding:8px 13px;border-radius:9px;font-size:11px;font-weight:800;margin-right:6px}.tab.is-active{background:#111;color:#fff}.live-dot{font-size:10px;font-weight:800;color:#2b9b58}
.product-stage{position:absolute;left:0;top:58px;right:285px;bottom:0;display:grid;place-items:center;overflow:hidden}

.product-stage img{width:82%;max-height:80%;object-fit:contain;transition:filter .25s,opacity .25s}
.stage-hint{position:absolute;bottom:22px;font-size:11px;color:#777;background:rgba(255,255,255,.8);padding:8px 12px;border-radius:20px}
.config-panel{position:absolute;right:18px;top:78px;width:265px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 12px 35px rgba(0,0,0,.06)}
.config-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-bottom:1px solid var(--line);padding-bottom:10px}
.config-tab{border:0;background:transparent;font-size:10px;padding:7px 3px}.config-tab.is-active{color:var(--orange);font-weight:800;border-bottom:2px solid var(--orange)}
.panel-content{display:none;padding:14px 0;min-height:210px}.panel-content.is-active{display:block}.panel-content h3{font-size:14px;margin:0 0 4px}.panel-content p{font-size:12px;color:#777}
.panel-content label{display:block;padding:10px 0;font-size:12px;border-bottom:1px solid #f1f1f1}
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-top:14px}.swatch{width:31px;height:31px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ddd;background:var(--sw);cursor:pointer}.swatch.is-active{box-shadow:0 0 0 2px var(--orange)}
.price-box{border-top:1px solid var(--line);padding-top:14px}.price-box small,.price-box strong{display:block}.price-box strong{margin:3px 0 12px}
.section-heading{margin-bottom:36px}.section-heading.centered{text-align:center}.section-heading h2,.split-section h2,.faq-layout h2,.contact-section h2{font-size:clamp(34px,4vw,56px);line-height:1.1;letter-spacing:-.04em;margin:10px 0 18px}.accent{color:var(--orange)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.feature-card .icon{font-size:30px}.feature-card h3{margin:18px 0 8px}.feature-card p{margin:0;color:var(--muted);font-size:14px}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:24px}.visual-card img{width:100%;border-radius:14px}
.industry-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:12px}.industry-grid div{border:1px solid var(--line);border-radius:16px;padding:20px 8px;text-align:center;font-size:12px;font-weight:700}.industry-grid span{display:block;font-size:28px;margin-bottom:10px}
.stats-section{background:#111;color:#fff;padding:52px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stats-grid div{border-right:1px solid #333}.stats-grid div:last-child{border:0}.stats-grid strong{display:block;color:var(--orange);font-size:42px}.stats-grid span{font-size:13px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;list-style:none;padding:0;position:relative}.timeline:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:1px;background:#ddd}.timeline li{text-align:center;position:relative}.timeline li>span{width:42px;height:42px;border-radius:50%;border:2px solid var(--orange);display:grid;place-items:center;background:#fff;color:var(--orange);font-weight:800;margin:0 auto 20px}.timeline h3{font-size:15px}.timeline p{font-size:12px;color:var(--muted)}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.compare-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.compare-grid .featured{border-color:var(--orange);transform:translateY(-8px)}.compare-grid small{color:var(--orange);font-weight:800}.compare-grid p{color:var(--muted)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:var(--muted)}
.contact-section{background:#111;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:start}.light{color:#ff8e5a}.contact-section p{color:#bbb}.contact-data{display:flex;flex-direction:column;gap:8px;margin-top:32px}.contact-data a{color:var(--orange);font-size:20px;font-weight:800}
.contact-form{background:#fff;color:#111;border-radius:22px;padding:28px}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:13px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #ddd;border-radius:10px;padding:12px;margin-top:6px}.contact-form small{display:block;color:#777;margin-top:10px}
.site-footer{padding:32px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center;color:#777;font-size:12px}.footer-grid img{width:190px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#111;color:#fff;padding:12px 18px;border-radius:12px;transition:.3s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){
 .main-nav{display:none;position:absolute;top:76px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}
 .hero-grid,.split-section,.faq-layout,.contact-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy .lead{margin-inline:auto}.check-list{display:inline-block;text-align:left}.hero-actions,.platforms{justify-content:center}
 .industry-grid{grid-template-columns:repeat(3,1fr)}.timeline{grid-template-columns:1fr 1fr}.timeline:before{display:none}
}
@media(max-width:720px){
 .section{padding:70px 0}.container{width:min(100% - 28px,1180px)}.brand img{width:175px}
 .demo-shell{min-height:800px}.product-stage{right:0;bottom:330px}.config-panel{top:auto;left:14px;right:14px;bottom:14px;width:auto}.feature-grid,.compare-grid,.stats-grid{grid-template-columns:1fr}.stats-grid div{padding:20px;border-right:0;border-bottom:1px solid #333}
 .industry-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-grid img{margin:auto}
}



.model-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;color:#555}
.loader{width:34px;height:34px;border-radius:50%;border:3px solid #ddd;border-top-color:var(--orange);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.model-toolbar{position:absolute;left:50%;bottom:58px;transform:translateX(-50%);display:flex;gap:7px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:7px;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:3}
.model-toolbar button{min-width:36px;height:36px;border:0;border-radius:9px;background:#f4f4f4;font-weight:800;cursor:pointer}
.model-toolbar button:hover,.model-toolbar button.is-active{background:var(--orange);color:#fff}
.ar-button{position:absolute;left:18px;top:18px;border:0;border-radius:10px;background:#fff;color:#111;padding:10px 14px;font-size:11px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.model-error{padding:18px;border-radius:14px;background:#fff3f5;color:#9a1234;text-align:center}
@media(max-width:720px){.model-toolbar{bottom:52px}.ar-button{top:10px;left:10px}}


.three-viewer{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:radial-gradient(circle at 50% 42%,#ffffff 0,#f7f7f5 52%,#eeeeeb 100%);
}
#productCanvas{
  display:block;
  width:100%;
  height:100%;
  cursor:grab;
  touch-action:none;
}
#productCanvas:active{cursor:grabbing}
.model-loading{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:rgba(255,255,255,.94);
  z-index:5;
}
.model-loading small{color:#777}
.model-error{
  position:absolute;
  inset:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  background:#fff3f5;
  color:#9a1234;
  border:1px solid #f4b5c5;
  border-radius:18px;
  z-index:6;
}
.model-error[hidden]{display:none}
.product-stage.is-dark .three-viewer{
  background:radial-gradient(circle at 50% 42%,#30323a 0,#17181d 55%,#0b0c0f 100%);
}
.product-stage.is-warm .three-viewer{
  background:radial-gradient(circle at 50% 42%,#fffaf3 0,#e9dfd4 58%,#d6c6b6 100%);
}


.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand-name{font-size:22px;font-weight:800;letter-spacing:-.04em}
.brand-name>span{font-weight:500}
.brand-owner{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:9px;color:#777}
.brand-owner img{width:92px;height:25px;object-fit:contain;object-position:left center}
.header-phones{display:flex;flex-direction:column;gap:1px;font-size:11px;font-weight:700;line-height:1.25}
.header-phones a:hover,.footer-contact a:hover{color:var(--orange)}
.contact-phones{display:flex;gap:20px;flex-wrap:wrap}
.contact-data>span{display:flex;align-items:center;gap:8px;color:#bbb}
.contact-data>span img{width:135px;height:38px;object-fit:contain}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand>strong{font-size:19px;color:#111;letter-spacing:-.04em}
.footer-brand>strong span{font-weight:500}
.footer-brand small{display:flex;align-items:center;gap:6px;color:#777;margin-top:5px}
.footer-brand img{width:105px;height:29px;object-fit:contain}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent-row{display:flex!important;align-items:flex-start;gap:9px}
.consent-row input{width:auto!important;margin:3px 0 0!important}
.form-status{width:min(1180px,calc(100% - 40px));margin:0 auto 24px;padding:14px 18px;border-radius:12px;font-weight:700}
.form-status.success{display:block;background:#eaf9ef;color:#176c37}
.form-status.error{display:block;background:#fff0f3;color:#9b1735}
@media(max-width:1100px){.header-phones{display:none}}
@media(max-width:720px){
  .footer-contact{align-items:center}
  .footer-brand{align-items:center}
  .contact-data>span{justify-content:flex-start;flex-wrap:wrap}
}


/* v5.1 — kompaktowe logo C4creative i optymalizacja mobilna */
.brand-owner{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  font-size:9px;
  color:#777;
  white-space:nowrap;
}
.brand-owner img{
  width:22px;
  height:22px;
  object-fit:contain;
  flex:none;
}
.brand-owner b{color:#ee1447;font-weight:800}
.c4-inline{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.c4-inline img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
}
.c4-inline b{color:#ee1447}
.contact-owner{display:flex!important;align-items:center;gap:7px;flex-wrap:wrap}
.footer-brand small{gap:7px}
.footer-brand .c4-inline{font-size:11px}

.ar-mobile-button{display:none!important}
.ar-modal{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:14px;
}
.ar-modal[hidden]{display:none}
.ar-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}
.ar-modal-panel{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.ar-modal-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:18px 18px 12px;
}
.ar-modal-header strong,.ar-modal-header small{display:block}
.ar-modal-header small{margin-top:4px;color:#777;font-size:11px}
.ar-close{
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#f1f1f1;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
#arViewer{
  width:100%;
  height:58vh;
  min-height:360px;
  background:radial-gradient(circle at 50% 40%,#fff,#efefec);
}
.launch-ar{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  border:0;
  border-radius:12px;
  background:#ee1447;
  color:#fff;
  padding:13px 20px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 10px 28px rgba(238,20,71,.3);
}
.ar-poster{display:grid;place-items:center;width:100%;height:100%;color:#666}
.ar-note{margin:0;padding:12px 18px 18px;color:#777;font-size:11px;text-align:center}

@media(max-width:980px){
  .site-header{position:sticky}
  .nav-wrap{min-height:68px}
  .hero{padding-top:44px}
  .hero-grid{gap:34px}
  .hero h1{font-size:clamp(38px,9vw,58px)}
  .hero-copy{order:1}
  .demo-shell{order:2;width:100%}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid{grid-template-columns:repeat(3,1fr)}
  .contact-grid{gap:38px}
}

@media(max-width:720px){
  body{overflow-x:hidden}
  .container{width:min(100% - 24px,1180px)}
  .site-header .container{width:min(100% - 20px,1180px)}
  .nav-wrap{min-height:64px}
  .brand-name{font-size:20px}
  .brand-owner{font-size:8px}
  .brand-owner img{width:20px;height:20px}
  .menu-toggle{font-size:0}
  .menu-toggle::after{content:"☰";font-size:20px}
  .main-nav{top:66px;left:10px;right:10px;gap:6px;padding:14px}
  .main-nav a{padding:11px 10px;border-bottom:1px solid #eee}
  .main-nav .nav-cta{margin-top:7px;border-bottom:0}
  .hero{padding:34px 0 56px}
  .hero-copy{text-align:left}
  .hero-copy .lead{font-size:16px;margin-inline:0}
  .hero h1{margin:14px 0 20px;font-size:clamp(38px,12vw,53px)}
  .hero-actions{justify-content:flex-start}
  .platforms{justify-content:flex-start;gap:10px;margin-top:28px}
  .check-list{display:block}
  .demo-shell{min-height:720px;border-radius:20px}
  .viewer-topbar{padding:0 12px}
  .viewer-topbar .live-dot{font-size:8px}
  .product-stage{top:58px;bottom:335px}
  .config-panel{left:10px;right:10px;bottom:10px;padding:14px;border-radius:16px}
  .panel-content{min-height:175px}
  .model-toolbar{
    left:12px;
    right:12px;
    bottom:50px;
    transform:none;
    justify-content:center;
  }
  .model-toolbar button{min-width:38px;height:38px}
  .ar-mobile-button{
    display:inline-flex!important;
    background:#ee1447!important;
    color:#fff!important;
  }
  .stage-hint{left:12px;right:12px;text-align:center;font-size:9px}
  .feature-grid{grid-template-columns:1fr}
  .feature-card{padding:22px}
  .industry-grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid div{padding:18px 6px}
  .split-section{gap:32px}
  .stats-grid strong{font-size:36px}
  .compare-grid .featured{transform:none}
  .faq-layout{gap:28px}
  .contact-section{padding-top:72px}
  .contact-grid{gap:30px}
  .contact-form{padding:20px}
  .contact-phones{flex-direction:column;gap:5px}
  .contact-data>span{font-size:11px}
  .footer-grid{gap:18px}
  .footer-contact{align-items:center}
  .footer-brand{align-items:center}
  .footer-grid p{text-align:center}
  #arViewer{height:62vh;min-height:420px}
}

@media(max-width:420px){
  .hero h1{font-size:40px}
  .hero-actions .btn{width:100%}
  .demo-shell{min-height:690px}
  .product-stage{bottom:325px}
  .config-tabs{grid-template-columns:repeat(4,1fr)}
  .swatches{grid-template-columns:repeat(4,1fr)}
  .industry-grid{grid-template-columns:1fr 1fr}
  .section-heading h2,.split-section h2,.faq-layout h2,.contact-section h2{font-size:34px}
}


/* v5.2 — centrowanie modelu, widoczny reset i tekstowy branding */
.brand-owner{
  margin-top:4px;
}
.brand-owner img,
.c4-inline img,
.footer-brand img{
  display:none!important;
}
.brand-owner span{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:9px;
}
.c4-inline{
  gap:3px;
}
.model-toolbar{
  align-items:center;
}
.model-toolbar .reset-view-button{
  width:auto;
  min-width:132px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#111;
  color:#fff;
}
.model-toolbar .reset-view-button:hover{
  background:#ee1447;
}
.reset-icon{
  font-size:18px;
  line-height:1;
}
.reset-label{
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
#productCanvas{
  object-position:center center;
}
@media(max-width:720px){
  .model-toolbar{
    flex-wrap:wrap;
    padding:8px;
  }
  .model-toolbar .reset-view-button{
    order:-1;
    flex:1 0 100%;
    min-width:100%;
    height:40px;
  }
  .reset-label{
    font-size:12px;
  }
}


/* v5.3 — wyróżniona funkcja AR/VR i linki C4creative */
.feature-card-ar{
  position:relative;
  border:2px solid #ee1447;
  background:linear-gradient(145deg,#fff 0%,#fff5f7 100%);
  box-shadow:0 18px 46px rgba(238,20,71,.13);
}
.feature-card-ar .icon{
  color:#ee1447;
}
.feature-card-ar h3{
  color:#b80d38;
}
.feature-badge{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border-radius:999px;
  background:#ee1447;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
}
.feature-link{
  display:inline-flex;
  margin-top:16px;
  color:#ee1447;
  font-size:12px;
  font-weight:800;
}
.feature-link:hover{
  text-decoration:underline;
}
.brand-owner a,
.c4-inline,
.footer-contact a[href*="c4creative"],
.site-footer a[href*="c4creative"]{
  transition:color .2s ease;
}
.brand-owner a:hover,
.c4-inline:hover,
.footer-contact a[href*="c4creative"]:hover,
.site-footer a[href*="c4creative"]:hover{
  color:#ee1447;
}
@media(min-width:981px){
  .feature-grid{
    grid-template-columns:repeat(4,1fr);
  }
  .feature-card-ar{
    grid-column:span 2;
  }
}
@media(max-width:980px) and (min-width:721px){
  .feature-card-ar{
    grid-column:span 2;
  }
}
@media(max-width:720px){
  .feature-card-ar{
    grid-column:auto;
  }
}


/* v5.4 — poprawione logo oraz kompleksowa oferta od 1000 PLN */
.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  flex:0 0 auto;
  line-height:1;
}
.brand-main-link{
  display:block;
  line-height:1;
}
.brand-owner{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  margin:5px 0 0!important;
  padding:0!important;
  transform:none!important;
  text-align:left!important;
  white-space:nowrap;
  font-size:9px!important;
  line-height:1.2!important;
}
.brand-owner a{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.brand-owner b{
  color:#ee1447;
}
.hero-offer-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:25px 0 2px;
  padding:15px 17px;
  border:1px solid rgba(238,20,71,.25);
  border-radius:14px;
  background:#fff5f7;
  max-width:590px;
}
.hero-offer-icon{
  display:grid;
  place-items:center;
  flex:none;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#ee1447;
  color:#fff;
  font-weight:900;
}
.hero-offer-note strong,
.hero-offer-note span{
  display:block;
}
.hero-offer-note strong{
  font-size:13px;
}
.hero-offer-note div>span{
  margin-top:3px;
  color:#666;
  font-size:12px;
}
.all-in-section{
  background:#111;
  color:#fff;
  overflow:hidden;
}
.all-in-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.all-in-copy h2{
  margin:12px 0 22px;
  font-size:clamp(38px,5vw,64px);
  line-height:1.05;
  letter-spacing:-.05em;
}
.all-in-copy h2 span{
  color:#ee1447;
}
.all-in-lead{
  max-width:680px;
  color:#c8c8c8;
  font-size:17px;
}
.all-in-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:32px;
}
.all-in-points div{
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px;
  border:1px solid #303030;
  border-radius:14px;
  background:#181818;
}
.all-in-points strong{
  color:#ee1447;
  font-size:13px;
}
.all-in-points span{
  font-size:13px;
  font-weight:700;
}
.pricing-highlight{
  position:relative;
  padding:34px;
  border-radius:26px;
  background:#fff;
  color:#111;
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.pricing-highlight::before{
  content:"";
  position:absolute;
  top:0;
  left:28px;
  right:28px;
  height:4px;
  border-radius:0 0 6px 6px;
  background:#ee1447;
}
.pricing-kicker{
  color:#ee1447;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
}
.pricing-highlight h3{
  margin:13px 0;
  font-size:29px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.pricing-highlight p{
  color:#666;
  font-size:14px;
}
.price-from{
  margin:25px 0 22px;
  padding:20px 0;
  border-top:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
}
.price-from small{
  display:block;
  color:#666;
}
.price-from strong{
  display:block;
  margin-top:2px;
  color:#ee1447;
  font-size:54px;
  line-height:1;
  letter-spacing:-.055em;
}
.price-from strong span{
  font-size:20px;
  letter-spacing:0;
}
.pricing-note{
  display:block;
  margin-top:12px;
  color:#888;
  font-size:10px;
  line-height:1.4;
}
@media(max-width:1100px){
  .main-nav{gap:18px}
  .main-nav>a:not(.nav-cta){font-size:12px}
}
@media(max-width:980px){
  .all-in-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
}
@media(max-width:720px){
  .brand{
    min-width:0;
  }
  .brand-owner{
    font-size:8px!important;
    margin-top:4px!important;
  }
  .hero-offer-note{
    margin-top:20px;
  }
  .all-in-points{
    grid-template-columns:1fr;
  }
  .pricing-highlight{
    padding:25px 20px;
  }
  .price-from strong{
    font-size:47px;
  }
}


/* v5.5 — animowana cena przy modelu 3D */
.model-price-badge{
  position:absolute;
  top:20px;
  right:18px;
  z-index:8;
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  min-width:190px;
  padding:13px 14px;
  border:1px solid rgba(238,20,71,.22);
  border-radius:16px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(12px);
  box-shadow:0 16px 42px rgba(0,0,0,.12);
  animation:priceBadgeFloat 3.2s ease-in-out infinite;
  transition:transform .25s ease,box-shadow .25s ease;
}
.model-price-badge:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 22px 54px rgba(238,20,71,.18);
}
.model-price-badge small{
  grid-column:2;
  color:#777;
  font-size:9px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.model-price-badge strong{
  grid-column:2;
  color:#ee1447;
  font-size:21px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.price-pulse{
  grid-row:1 / span 2;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#ee1447;
  box-shadow:0 0 0 0 rgba(238,20,71,.45);
  animation:pricePulse 1.8s ease-out infinite;
}
.price-arrow{
  grid-column:3;
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-weight:800;
}
@keyframes pricePulse{
  0%{box-shadow:0 0 0 0 rgba(238,20,71,.45)}
  70%{box-shadow:0 0 0 10px rgba(238,20,71,0)}
  100%{box-shadow:0 0 0 0 rgba(238,20,71,0)}
}
@keyframes priceBadgeFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@media(max-width:720px){
  .model-price-badge{
    top:12px;
    right:10px;
    min-width:162px;
    padding:10px 11px;
    border-radius:13px;
  }
  .model-price-badge strong{
    font-size:18px;
  }
  .price-arrow{
    width:27px;
    height:27px;
  }
}
@media(prefers-reduced-motion:reduce){
  .model-price-badge,
  .price-pulse{
    animation:none;
  }
}


/* v5.6 - poprawione centrowanie ptaszka i generowanie PDF */
.hero-offer-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0!important;
  line-height:1!important;
  font-family:Arial,sans-serif!important;
  font-size:15px!important;
  transform:none!important;
  flex:0 0 26px!important;
}
#saveConfig.is-generating{
  opacity:.72;
  pointer-events:none;
}


/* v5.7 — cena promocyjna 2500 PLN -> 1990 PLN */
.promo-price{
  display:flex!important;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.old-price{
  position:relative;
  display:inline-block;
  color:#999;
  font-size:.65em;
  font-weight:700;
  white-space:nowrap;
}
.old-price::after{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  top:50%;
  height:2px;
  background:#ee1447;
  transform:rotate(-6deg);
  transform-origin:center;
}
.new-price{
  color:#ee1447;
  font-size:1.18em;
  font-weight:800;
  white-space:nowrap;
}
.price-pair{
  display:flex;
  align-items:baseline;
  gap:16px;
  flex-wrap:wrap;
  margin-top:8px;
}
.promo-main-price .old-price{
  font-size:24px;
}
.promo-main-price strong{
  margin:0;
}
.model-price-badge .promo-price{
  grid-column:2;
}
.model-price-badge .promo-price .old-price{
  font-size:11px;
}
.model-price-badge .promo-price .new-price{
  font-size:22px;
}
@media(max-width:720px){
  .model-price-badge .promo-price{
    gap:5px;
  }
  .model-price-badge .promo-price .new-price{
    font-size:18px;
  }
  .promo-main-price .old-price{
    font-size:20px;
  }
}


/* v6.0 — system CTA "Bezpłatna wycena" */
.section-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:42px;
  text-align:center;
}
.section-cta small{
  color:#777;
  font-size:11px;
}
.animated-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  animation:ctaFloat 4.5s ease-in-out infinite;
}
.animated-cta::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-2;
  border-radius:inherit;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.5) 45%,transparent 70%);
  transform:translateX(-130%);
  animation:ctaShine 5.8s ease-in-out infinite;
}
.animated-cta::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  box-shadow:0 0 0 0 rgba(238,20,71,.34);
  animation:ctaPulse 5.5s ease-out infinite;
}
.animated-cta:hover{
  transform:translateY(-3px) scale(1.025);
  box-shadow:0 18px 42px rgba(238,20,71,.28);
}
.model-price-cta{
  grid-column:2 / span 2;
  margin-top:4px;
  color:#111;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.reveal-section{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}
.reveal-section.is-visible{
  opacity:1;
  transform:none;
}
@keyframes ctaFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes ctaShine{
  0%,65%{transform:translateX(-130%)}
  85%,100%{transform:translateX(130%)}
}
@keyframes ctaPulse{
  0%,70%{box-shadow:0 0 0 0 rgba(238,20,71,.30)}
  85%{box-shadow:0 0 0 12px rgba(238,20,71,0)}
  100%{box-shadow:0 0 0 0 rgba(238,20,71,0)}
}
@media(max-width:720px){
  .section-cta{
    margin-top:30px;
  }
  .section-cta .btn{
    width:100%;
    max-width:420px;
  }
}
@media(prefers-reduced-motion:reduce){
  .animated-cta,
  .animated-cta::before,
  .animated-cta::after{
    animation:none!important;
  }
  .reveal-section{
    opacity:1;
    transform:none;
  }
}


/* v6.1 — animowana droga produktu: szkic → model 3D → sprzedaż */
.process-showcase{
  position:relative;
  padding:84px 0 92px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 10%,rgba(238,20,71,.07),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fafafa 100%);
  border-top:1px solid #ececec;
  border-bottom:1px solid #ececec;
}
.process-showcase-heading{
  max-width:820px;
  margin:0 auto 58px;
  text-align:center;
}
.process-showcase-heading h2{
  margin:12px 0 18px;
  font-size:clamp(34px,4.3vw,58px);
  line-height:1.08;
  letter-spacing:-.045em;
}
.process-showcase-heading p{
  margin:0 auto;
  max-width:700px;
  color:#6a6a6a;
  font-size:16px;
}
.process-animation{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.process-line{
  position:absolute;
  top:66px;
  left:8.5%;
  right:8.5%;
  height:4px;
  border-radius:99px;
  background:#e6e6e6;
  overflow:visible;
  z-index:0;
}
.process-line-progress{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ee1447,#ff7695);
  box-shadow:0 0 18px rgba(238,20,71,.35);
  transition:width .65s cubic-bezier(.2,.8,.2,1);
}
.process-moving-dot{
  position:absolute;
  top:50%;
  left:0%;
  width:16px;
  height:16px;
  border:4px solid #fff;
  border-radius:50%;
  background:#ee1447;
  box-shadow:0 0 0 5px rgba(238,20,71,.16),0 4px 14px rgba(0,0,0,.18);
  transform:translate(-50%,-50%);
  transition:left .65s cubic-bezier(.2,.8,.2,1);
}
.process-step{
  position:relative;
  z-index:1;
  min-width:0;
  padding:0 5px;
  text-align:center;
  opacity:.48;
  transform:translateY(8px);
  transition:opacity .45s ease,transform .45s ease;
}
.process-step.is-active,
.process-step.is-complete{
  opacity:1;
  transform:none;
}
.process-visual{
  position:relative;
  width:118px;
  height:118px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  border:1px solid #dedede;
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(0,0,0,.07);
  transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
.process-step.is-active .process-visual{
  border-color:#ee1447;
  box-shadow:0 20px 48px rgba(238,20,71,.16);
  transform:translateY(-6px);
}
.process-number{
  display:inline-flex;
  margin-bottom:8px;
  color:#ee1447;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.process-step h3{
  margin:0 0 8px;
  font-size:15px;
}
.process-step p{
  margin:0;
  color:#757575;
  font-size:11px;
  line-height:1.55;
}
.process-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:38px;
  font-size:12px;
}
.process-status-label{color:#777}
.process-status strong{color:#ee1447}

/* szkic */
.sketch-visual svg{
  width:88px;
  height:70px;
  fill:none;
  stroke:#ee1447;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.draw-line{
  stroke-dasharray:220;
  stroke-dashoffset:220;
}
.process-step.is-active .draw-line{
  animation:drawSketch 1.4s ease forwards;
}
.process-step.is-active .draw-line.delay-1{animation-delay:.25s}
.process-step.is-active .draw-line.delay-2{animation-delay:.5s}
.draw-dot{fill:#111;stroke:none;opacity:0}
.process-step.is-active .draw-dot{animation:showDot .4s .8s forwards}

/* modelowanie */
.wire-cube{
  position:relative;
  width:46px;
  height:46px;
  transform-style:preserve-3d;
  transform:rotateX(-24deg) rotateY(35deg);
}
.wire-cube::before,
.wire-cube::after,
.wire-cube span{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid #ee1447;
}
.wire-cube::after{transform:translate(12px,-12px)}
.wire-cube span:nth-child(1){border-width:0 2px 2px 0;transform:translate(6px,-6px)}
.wire-cube span:nth-child(2){border-width:2px 0 0 2px;transform:translate(6px,-6px)}
.wire-cube span:nth-child(3){border-width:0 0 2px 2px;transform:translate(6px,-6px)}
.modeling-ring{
  position:absolute;
  width:86px;
  height:26px;
  border:1px dashed #b7b7b7;
  border-radius:50%;
}
.process-step.is-active .wire-cube{animation:cubeTurn 2.4s linear infinite}
.process-step.is-active .modeling-ring{animation:ringSpin 2.4s linear infinite}

/* kod */
.code-window{
  width:88px;
  padding:12px 10px;
  border-radius:10px;
  background:#111;
  color:#fff;
  text-align:left;
  font:600 8px/1.7 monospace;
}
.code-window span{
  display:block;
  width:max-content;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
}
.code-indent{padding-left:8px;color:#ff7896}
.process-step.is-active .code-window span{
  animation:typeCode .75s steps(18,end) both;
}
.process-step.is-active .code-window span:nth-child(2){animation-delay:.25s}
.process-step.is-active .code-window span:nth-child(3){animation-delay:.5s}
.process-step.is-active .code-window span:nth-child(4){animation-delay:.75s}

/* strona */
.browser-frame{
  width:88px;
  height:68px;
  overflow:hidden;
  border:2px solid #1d1d1d;
  border-radius:9px;
  background:#fff;
}
.browser-top{
  display:flex;
  gap:3px;
  padding:5px;
  background:#ededed;
}
.browser-top i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#999;
}
.browser-product{
  display:grid;
  grid-template-columns:1fr 23px;
  gap:5px;
  height:50px;
  padding:7px;
}
.mini-product{
  position:relative;
  border-radius:6px;
  background:#f4f4f4;
}
.mini-product::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:23px;
  height:29px;
  border-radius:7px 7px 4px 4px;
  background:#ee1447;
  transform:translate(-50%,-50%);
}
.mini-panel{
  border-radius:4px;
  background:repeating-linear-gradient(#ddd 0 3px,transparent 3px 8px);
}
.process-step.is-active .browser-frame{animation:websitePop 1.2s ease-in-out infinite alternate}

/* AR */
.phone-ar{
  position:relative;
  width:48px;
  height:76px;
  border:3px solid #111;
  border-radius:10px;
  display:grid;
  place-items:center;
}
.phone-ar::before{
  content:"";
  position:absolute;
  top:4px;
  width:14px;
  height:2px;
  border-radius:2px;
  background:#111;
}
.ar-chair{
  color:#ee1447;
  font-size:28px;
  transform:rotate(-12deg);
}
.ar-corners{
  position:absolute;
  inset:15px 7px 9px;
  border:1px solid rgba(238,20,71,.35);
}
.ar-wave{
  position:absolute;
  width:72px;
  height:72px;
  border:1px solid rgba(238,20,71,.35);
  border-radius:50%;
  opacity:0;
}
.process-step.is-active .wave-1{animation:arPulse 1.8s ease-out infinite}
.process-step.is-active .wave-2{animation:arPulse 1.8s .7s ease-out infinite}

/* sprzedaż */
.sale-visual{display:flex;gap:10px}
.customer-icon{
  position:relative;
  width:40px;
  height:60px;
}
.customer-head{
  position:absolute;
  left:12px;
  top:4px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#111;
}
.customer-body{
  position:absolute;
  left:5px;
  bottom:3px;
  width:32px;
  height:31px;
  border-radius:16px 16px 7px 7px;
  background:#111;
}
.sale-cart{
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#ee1447;
  color:#fff;
  font-size:21px;
  font-weight:900;
}
.sale-pulse{
  position:absolute;
  right:20px;
  top:24px;
  width:40px;
  height:40px;
  border-radius:12px;
  border:2px solid #ee1447;
  opacity:0;
}
.process-step.is-active .sale-cart{animation:saleBounce 1s ease-in-out infinite alternate}
.process-step.is-active .sale-pulse{animation:salePulse 1.6s ease-out infinite}

@keyframes drawSketch{to{stroke-dashoffset:0}}
@keyframes showDot{to{opacity:1}}
@keyframes cubeTurn{to{transform:rotateX(-24deg) rotateY(395deg)}}
@keyframes ringSpin{to{transform:rotate(360deg)}}
@keyframes typeCode{from{width:0}to{width:100%}}
@keyframes websitePop{from{transform:scale(.96)}to{transform:scale(1.03)}}
@keyframes arPulse{0%{transform:scale(.55);opacity:.65}100%{transform:scale(1.4);opacity:0}}
@keyframes saleBounce{to{transform:translateY(-6px) scale(1.05)}}
@keyframes salePulse{0%{transform:scale(.7);opacity:.65}100%{transform:scale(1.55);opacity:0}}

@media(max-width:980px){
  .process-animation{
    grid-template-columns:repeat(3,1fr);
    row-gap:42px;
  }
  .process-line{display:none}
}
@media(max-width:620px){
  .process-showcase{padding:68px 0}
  .process-showcase-heading{text-align:left;margin-bottom:38px}
  .process-animation{
    grid-template-columns:1fr;
    gap:0;
    padding-left:48px;
  }
  .process-animation::before{
    content:"";
    position:absolute;
    left:19px;
    top:52px;
    bottom:52px;
    width:3px;
    border-radius:99px;
    background:linear-gradient(#ee1447,#f4b1c1);
  }
  .process-step{
    min-height:154px;
    display:grid;
    grid-template-columns:96px 1fr;
    grid-template-rows:auto auto auto;
    column-gap:16px;
    padding:12px 0;
    text-align:left;
    opacity:.72;
  }
  .process-visual{
    grid-row:1 / span 3;
    width:92px;
    height:92px;
    margin:0;
    border-radius:20px;
  }
  .process-number{align-self:end;margin:0}
  .process-step h3{font-size:16px}
  .process-step p{font-size:12px}
  .process-status{justify-content:flex-start;margin-left:48px}
}
@media(prefers-reduced-motion:reduce){
  .process-line-progress,
  .process-moving-dot,
  .process-step,
  .process-visual,
  .draw-line,
  .wire-cube,
  .modeling-ring,
  .code-window span,
  .browser-frame,
  .ar-wave,
  .sale-cart,
  .sale-pulse{
    animation:none!important;
    transition:none!important;
  }
}


/* v6.2 — trwała ikona szkicu + pełna optymalizacja mobilna */

/* Szkic pozostaje widoczny po zakończeniu animacji */
.draw-line{
  stroke-dasharray:220;
  stroke-dashoffset:0;
  opacity:.42;
}
.draw-dot{
  fill:#111;
  stroke:none;
  opacity:.35;
}
.process-step.is-active .draw-line{
  opacity:1;
  stroke-dashoffset:220;
  animation:drawSketch 1.4s ease forwards;
}
.process-step.is-active .draw-line.delay-1{animation-delay:.25s}
.process-step.is-active .draw-line.delay-2{animation-delay:.5s}
.process-step.is-active .draw-dot{
  opacity:0;
  animation:showDot .4s .8s forwards;
}
.process-step.is-complete .draw-line,
.process-step.is-complete .draw-dot{
  opacity:1;
  stroke-dashoffset:0;
}

/* Mobile layout refinement */
@media(max-width:980px){
  .site-header{
    backdrop-filter:blur(14px);
  }
  .nav-wrap{
    gap:14px;
  }
  .hero-grid{
    grid-template-columns:1fr;
  }
  .demo-shell{
    width:100%;
    max-width:760px;
    margin-inline:auto;
  }
  .all-in-grid,
  .split-section,
  .faq-layout,
  .contact-grid{
    grid-template-columns:1fr;
  }
  .pricing-highlight{
    max-width:620px;
    width:100%;
    margin-inline:auto;
  }
  .stats-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .compare-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  html{
    scroll-padding-top:72px;
  }
  body{
    font-size:15px;
  }
  .section{
    padding:62px 0;
  }
  .compact{
    padding-top:48px;
  }

  /* Header */
  .site-header{
    background:rgba(255,255,255,.96);
  }
  .nav-wrap{
    min-height:62px;
  }
  .brand-name{
    font-size:19px;
  }
  .brand-owner{
    max-width:190px;
    white-space:normal;
    line-height:1.15!important;
  }
  .menu-toggle{
    flex:0 0 auto;
  }
  .main-nav{
    max-height:calc(100vh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  /* Hero */
  .hero{
    padding-top:30px;
  }
  .hero h1{
    font-size:clamp(38px,11vw,50px);
    line-height:1.02;
  }
  .lead{
    font-size:16px;
  }
  .hero-offer-note{
    padding:13px;
  }
  .hero-offer-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-actions .btn{
    width:100%;
  }
  .platforms{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:center;
  }
  .platforms>span{
    grid-column:1/-1;
  }

  /* 3D viewer */
  .demo-shell{
    min-height:760px;
    border-radius:18px;
  }
  .viewer-topbar{
    height:52px;
  }
  .product-stage{
    top:52px;
    bottom:355px;
  }
  .three-viewer{
    border-radius:0;
  }
  .model-price-badge{
    left:10px;
    right:10px;
    top:10px;
    min-width:0;
    width:auto;
    grid-template-columns:auto 1fr auto;
  }
  .model-toolbar{
    left:8px;
    right:8px;
    bottom:48px;
    gap:5px;
  }
  .model-toolbar button{
    flex:1;
    min-width:0;
  }
  .model-toolbar .reset-view-button{
    flex-basis:100%;
  }
  .stage-hint{
    bottom:8px;
    padding:6px 9px;
  }
  .config-panel{
    bottom:8px;
    left:8px;
    right:8px;
  }
  .config-tabs{
    gap:2px;
  }
  .config-tab{
    font-size:9px;
  }
  .panel-content{
    min-height:165px;
  }
  .swatches{
    grid-template-columns:repeat(4,1fr);
    justify-items:center;
  }
  .price-box .btn{
    min-height:46px;
  }

  /* Animated process */
  .process-showcase{
    padding:60px 0;
  }
  .process-showcase-heading h2{
    font-size:36px;
  }
  .process-animation{
    padding-left:42px;
  }
  .process-animation::before{
    left:16px;
  }
  .process-step{
    grid-template-columns:86px minmax(0,1fr);
    min-height:142px;
    column-gap:14px;
  }
  .process-visual{
    width:84px;
    height:84px;
  }
  .process-step p{
    max-width:100%;
  }
  .process-status{
    margin-left:42px;
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }

  /* Content cards */
  .feature-grid{
    grid-template-columns:1fr;
  }
  .feature-card,
  .compare-grid article{
    padding:22px 18px;
  }
  .feature-card-ar{
    grid-column:auto;
  }
  .industry-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .industry-grid div{
    min-width:0;
  }
  .all-in-points{
    grid-template-columns:1fr;
  }
  .all-in-copy h2{
    font-size:38px;
  }
  .pricing-highlight h3{
    font-size:26px;
  }
  .price-pair{
    gap:10px;
  }
  .price-from strong{
    font-size:44px;
  }

  /* Stats and timeline */
  .stats-grid{
    grid-template-columns:1fr 1fr;
  }
  .stats-grid div{
    min-height:120px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .timeline{
    grid-template-columns:1fr;
  }
  .timeline li{
    text-align:left;
    display:grid;
    grid-template-columns:48px 1fr;
    column-gap:14px;
  }
  .timeline li>span{
    grid-row:1/span 2;
    margin:0;
  }

  /* CTA */
  .section-cta{
    align-items:stretch;
  }
  .section-cta .btn{
    max-width:none;
  }

  /* Contact */
  .contact-section h2{
    font-size:36px;
  }
  .contact-form{
    padding:18px;
  }
  .contact-form input,
  .contact-form textarea{
    font-size:16px;
  }
  .contact-data a{
    font-size:17px;
    overflow-wrap:anywhere;
  }

  /* Footer */
  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-brand,
  .footer-contact{
    align-items:center;
  }
}

@media(max-width:430px){
  .container{
    width:min(100% - 18px,1180px);
  }
  .hero h1{
    font-size:37px;
  }
  .eyebrow{
    font-size:10px;
  }
  .demo-shell{
    min-height:735px;
  }
  .product-stage{
    bottom:350px;
  }
  .model-price-badge strong,
  .model-price-badge .new-price{
    font-size:17px;
  }
  .model-price-badge .old-price{
    font-size:10px;
  }
  .industry-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .industry-grid div{
    font-size:11px;
  }
  .stats-grid{
    grid-template-columns:1fr;
  }
  .stats-grid div{
    min-height:105px;
  }
  .section-heading h2,
  .split-section h2,
  .faq-layout h2,
  .contact-section h2,
  .process-showcase-heading h2{
    font-size:32px;
  }
  #arViewer{
    min-height:360px;
    height:58vh;
  }
}


/* v6.3 — nierozdzielna nazwa 3DKonfigurator i optymalizacja hero mobile */
.hero-title{
  max-width:100%;
}
.hero-brand-word{
  display:inline-block;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
}
.hero-comma{
  display:inline;
}
.hero-title-secondary{
  font-weight:500;
}

@media(max-width:980px){
  .hero-copy{
    min-width:0;
  }
  .hero-title{
    width:100%;
  }
  .hero-brand-word{
    font-size:.93em;
  }
}

@media(max-width:720px){
  .hero-title{
    font-size:clamp(35px,10.4vw,48px)!important;
    letter-spacing:-.055em;
  }
  .hero-brand-word{
    font-size:1em;
    max-width:100%;
  }
  .hero-title-secondary{
    display:inline-block;
    margin-top:5px;
    font-size:.88em;
    line-height:1.08;
  }
}

@media(max-width:430px){
  .hero-title{
    font-size:clamp(31px,9.7vw,40px)!important;
    letter-spacing:-.06em;
  }
  .hero-brand-word{
    font-size:.98em;
  }
  .hero-title-secondary{
    font-size:.86em;
  }
}

@media(max-width:360px){
  .hero-title{
    font-size:29px!important;
    letter-spacing:-.065em;
  }
}


/* v6.4 — Hero: mocna marka + animowany proces */
.hero-workflow{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.hero-workflow-label{
  display:block;
}
.hero-workflow-animation{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:7px 11px;
  border:1px solid rgba(238,20,71,.18);
  border-radius:999px;
  background:rgba(238,20,71,.055);
  color:#222;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  text-transform:none;
}
.hero-workflow-prefix{
  color:#777;
  font-weight:600;
}
#heroWorkflowWord{
  display:inline-block;
  min-width:92px;
  color:#ee1447;
  font-weight:800;
}
.hero-workflow-caret{
  width:2px;
  height:15px;
  border-radius:2px;
  background:#ee1447;
  animation:workflowCaret .8s steps(1,end) infinite;
}
.hero-brand-word{
  display:inline-block;
  max-width:100%;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
  font-weight:900!important;
  letter-spacing:-.065em;
}
.hero-title-secondary{
  display:inline-block;
  margin-top:4px;
  font-weight:500;
  letter-spacing:-.04em;
}

@keyframes workflowCaret{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}

/* Dodatkowe dopracowanie hero i mobile */
@media(max-width:980px){
  .hero-grid{
    gap:40px;
  }
  .hero-copy{
    max-width:760px;
  }
  .hero-workflow{
    align-items:flex-start;
  }
}

@media(max-width:720px){
  .hero{
    padding-top:24px;
    padding-bottom:54px;
  }
  .hero-grid{
    gap:30px;
  }
  .hero-copy{
    text-align:left;
  }
  .hero-workflow{
    width:100%;
    gap:7px;
  }
  .hero-workflow-animation{
    max-width:100%;
    padding:7px 10px;
    font-size:11px;
  }
  #heroWorkflowWord{
    min-width:78px;
  }
  .hero-title{
    margin-top:14px;
    font-size:clamp(34px,10.6vw,48px)!important;
    line-height:1.01;
  }
  .hero-brand-word{
    font-size:1em;
    letter-spacing:-.07em;
  }
  .hero-title-secondary{
    margin-top:7px;
    font-size:.84em;
    line-height:1.08;
  }
  .lead{
    margin-top:19px;
  }
  .hero-actions{
    margin-top:22px;
  }
  .hero-actions .btn{
    min-height:50px;
    font-size:14px;
  }
  .demo-shell{
    margin-top:4px;
  }
}

@media(max-width:430px){
  .hero{
    padding-top:18px;
  }
  .hero-workflow-label{
    font-size:9px;
    letter-spacing:.1em;
  }
  .hero-workflow-animation{
    width:max-content;
    max-width:100%;
    font-size:10px;
  }
  .hero-title{
    font-size:clamp(30px,9.8vw,39px)!important;
    letter-spacing:-.065em;
  }
  .hero-brand-word{
    font-size:.98em;
  }
  .hero-title-secondary{
    font-size:.82em;
  }
  .hero-offer-note{
    align-items:flex-start;
  }
  .hero-offer-note strong,
  .hero-offer-note span{
    line-height:1.35;
  }
}

@media(max-width:360px){
  .hero-workflow-animation{
    gap:4px;
    padding-inline:8px;
  }
  .hero-workflow-prefix{
    display:none;
  }
  #heroWorkflowWord{
    min-width:70px;
  }
  .hero-title{
    font-size:28px!important;
  }
  .hero-title-secondary{
    font-size:.8em;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-workflow-caret{
    animation:none!important;
    opacity:1;
  }
}


/* v6.5 — wyróżniona sekcja usług C4creative Studio */
.studio-services{
  position:relative;
  padding:92px 0;
  overflow:hidden;
  background:#0f0f11;
  color:#fff;
}
.studio-services::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-170px;
  top:-230px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(238,20,71,.22),transparent 68%);
  pointer-events:none;
}
.studio-services::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.08;
  background-image:
    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
  pointer-events:none;
}
.studio-services .container{
  position:relative;
  z-index:1;
}
.studio-services-shell{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.48fr);
  gap:56px;
  align-items:center;
}
.studio-services-copy{
  max-width:470px;
}
.studio-services .eyebrow{
  color:#ff6d8f;
}
.studio-services-copy h2{
  margin:14px 0 20px;
  color:#fff;
  font-size:clamp(40px,4.4vw,64px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.studio-services-copy h2 span{
  color:#ee1447;
}
.studio-services-copy p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.75;
}
.studio-services-button{
  margin-top:28px;
  min-height:52px;
}
.studio-services-button span{
  margin-left:8px;
  font-size:18px;
  transition:transform .25s ease;
}
.studio-services-button:hover span{
  transform:translate(3px,-3px);
}
.studio-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.studio-service-card{
  position:relative;
  min-width:0;
  min-height:366px;
  display:flex;
  flex-direction:column;
  padding:25px 21px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  backdrop-filter:blur(10px);
  transition:transform .3s ease,border-color .3s ease,background .3s ease;
}
.studio-service-card:hover{
  transform:translateY(-8px);
  border-color:rgba(238,20,71,.7);
  background:rgba(255,255,255,.085);
}
.studio-service-number{
  position:absolute;
  right:18px;
  top:17px;
  color:rgba(255,255,255,.22);
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
}
.studio-service-icon{
  position:relative;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  margin-bottom:30px;
  border-radius:23px;
  background:rgba(238,20,71,.1);
  color:#ee1447;
}
.studio-service-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:20px;
}
.studio-service-card p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.65;
}
.studio-service-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.studio-service-link b{
  color:#ee1447;
  font-size:17px;
  transition:transform .25s ease;
}
.studio-service-card:hover .studio-service-link b{
  transform:translate(3px,-3px);
}
.studio-services-signature{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:-28px;
  color:rgba(255,255,255,.45);
  font-size:11px;
}
.studio-services-signature a{
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
.studio-services-signature a:hover{
  color:#ee1447;
}

/* Modelowanie icon */
.modeling-icon i{
  position:absolute;
  width:37px;
  height:37px;
  border:2px solid currentColor;
}
.modeling-icon i:nth-child(1){transform:translate(-8px,8px)}
.modeling-icon i:nth-child(2){transform:translate(8px,-8px);opacity:.55}
.modeling-icon i:nth-child(3){
  width:53px;
  height:19px;
  border-width:1px;
  border-style:dashed;
  border-radius:50%;
  transform:rotate(-15deg);
}

/* Visualization icon */
.viz-object{
  position:absolute;
  left:27px;
  top:29px;
  width:32px;
  height:34px;
  border-radius:8px 8px 4px 4px;
  background:currentColor;
  transform:skewY(-7deg);
}
.viz-light{
  position:absolute;
  right:18px;
  top:15px;
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-radius:50%;
  box-shadow:0 0 20px currentColor;
}
.viz-floor{
  position:absolute;
  left:17px;
  right:17px;
  bottom:18px;
  height:2px;
  background:currentColor;
  transform:perspective(30px) rotateX(55deg);
}

/* Animation icon */
.play-triangle{
  position:relative;
  z-index:2;
  width:0;
  height:0;
  margin-left:5px;
  border-top:13px solid transparent;
  border-bottom:13px solid transparent;
  border-left:20px solid currentColor;
}
.animation-ring{
  position:absolute;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.5;
}
.ring-a{width:48px;height:48px}
.ring-b{width:68px;height:68px;opacity:.2}
.studio-service-card:hover .ring-a{animation:c4Ring 1.4s ease-out infinite}
.studio-service-card:hover .ring-b{animation:c4Ring 1.4s .35s ease-out infinite}
@keyframes c4Ring{
  0%{transform:scale(.72);opacity:.55}
  100%{transform:scale(1.28);opacity:0}
}

/* Mobile optimisation for studio section and nearby content */
@media(max-width:1050px){
  .studio-services-shell{
    grid-template-columns:1fr;
    gap:38px;
  }
  .studio-services-copy{
    max-width:760px;
  }
  .studio-services-grid{
    max-width:920px;
  }
  .studio-services-signature{
    margin-top:-12px;
  }
}
@media(max-width:720px){
  .studio-services{
    padding:64px 0;
  }
  .studio-services::before{
    width:360px;
    height:360px;
    right:-180px;
    top:-120px;
  }
  .studio-services-shell{
    gap:32px;
  }
  .studio-services-copy h2{
    font-size:clamp(35px,10vw,46px);
  }
  .studio-services-copy p{
    font-size:14px;
    line-height:1.7;
  }
  .studio-services-button{
    width:100%;
    justify-content:center;
  }
  .studio-services-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .studio-service-card{
    min-height:0;
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    column-gap:17px;
    padding:19px;
    border-radius:19px;
  }
  .studio-service-icon{
    grid-row:1/span 3;
    width:70px;
    height:70px;
    margin:0;
    border-radius:18px;
  }
  .studio-service-number{
    top:14px;
    right:15px;
  }
  .studio-service-card h3{
    padding-right:35px;
    font-size:18px;
  }
  .studio-service-card p{
    font-size:12px;
  }
  .studio-service-link{
    justify-content:flex-start;
    border-top:0;
    margin-top:8px;
    padding-top:0;
    color:#ff7897;
  }
  .studio-service-link b{
    margin-left:2px;
  }
  .studio-services-signature{
    justify-content:center;
    flex-wrap:wrap;
    margin-top:0;
    text-align:center;
  }
}
@media(max-width:420px){
  .studio-services-copy h2{
    font-size:34px;
  }
  .studio-service-card{
    grid-template-columns:62px minmax(0,1fr);
    column-gap:14px;
    padding:16px 14px;
  }
  .studio-service-icon{
    width:60px;
    height:60px;
  }
  .modeling-icon i{
    width:28px;
    height:28px;
  }
  .modeling-icon i:nth-child(3){
    width:43px;
    height:15px;
  }
  .viz-object{
    left:20px;
    top:22px;
    width:23px;
    height:27px;
  }
  .viz-light{
    right:10px;
    top:10px;
    width:13px;
    height:13px;
  }
  .viz-floor{
    left:11px;
    right:11px;
    bottom:12px;
  }
  .ring-a{width:38px;height:38px}
  .ring-b{width:52px;height:52px}
  .studio-service-card h3{
    font-size:17px;
  }
}
@media(prefers-reduced-motion:reduce){
  .studio-service-card,
  .studio-services-button span,
  .studio-service-link b,
  .animation-ring{
    transition:none!important;
    animation:none!important;
  }
}


/* v6.6 — interaktywne tło reagujące na scroll */
.scroll-background{
  position:fixed;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  contain:strict;
}
.scroll-background > *{
  position:absolute;
  will-change:transform;
  transform:translate3d(0,var(--parallax-y,0),0);
}
.scroll-orb{
  border-radius:50%;
  filter:blur(18px);
  opacity:.16;
}
.scroll-orb-a{
  width:min(42vw,620px);
  aspect-ratio:1;
  right:-14vw;
  top:9vh;
  background:radial-gradient(circle at 35% 35%,rgba(238,20,71,.56),rgba(238,20,71,.12) 44%,transparent 72%);
}
.scroll-orb-b{
  width:min(34vw,470px);
  aspect-ratio:1;
  left:-12vw;
  top:58vh;
  background:radial-gradient(circle at 55% 45%,rgba(40,40,48,.2),rgba(238,20,71,.1) 48%,transparent 73%);
}
.scroll-wire{
  width:180px;
  height:180px;
  border:1px solid rgba(238,20,71,.14);
  opacity:.58;
}
.scroll-wire::before,
.scroll-wire::after{
  content:"";
  position:absolute;
  inset:18%;
  border:1px solid currentColor;
}
.scroll-wire::after{
  inset:36%;
}
.scroll-wire-a{
  right:7vw;
  top:45vh;
  color:rgba(238,20,71,.17);
  transform:translate3d(0,var(--parallax-y,0),0) rotate(24deg);
}
.scroll-wire-b{
  left:5vw;
  top:122vh;
  color:rgba(20,20,24,.11);
  transform:translate3d(0,var(--parallax-y,0),0) rotate(-18deg);
}
.scroll-grid-layer{
  inset:-25%;
  opacity:.18;
  background-image:
    linear-gradient(rgba(238,20,71,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(238,20,71,.07) 1px,transparent 1px);
  background-size:86px 86px;
  mask-image:radial-gradient(circle at 50% 46%,#000,transparent 68%);
  transform:translate3d(0,var(--parallax-y,0),0) rotate(-4deg) scale(1.15);
}

/* Keep page content above decorative background */
.site-header,
main,
footer{
  position:relative;
  z-index:1;
}

/* Gentle movement on hover-capable devices */
@media(hover:hover) and (pointer:fine){
  .scroll-wire{
    transition:opacity .35s ease,border-color .35s ease;
  }
  body:hover .scroll-wire{
    opacity:.78;
  }
}

/* Mobile: simpler and lighter parallax */
@media(max-width:720px){
  .scroll-orb{
    filter:blur(24px);
    opacity:.12;
  }
  .scroll-orb-a{
    width:78vw;
    right:-42vw;
    top:18vh;
  }
  .scroll-orb-b{
    width:68vw;
    left:-38vw;
    top:100vh;
  }
  .scroll-wire{
    width:112px;
    height:112px;
    opacity:.38;
  }
  .scroll-wire-a{
    right:-26px;
    top:66vh;
  }
  .scroll-wire-b{
    left:-30px;
    top:170vh;
  }
  .scroll-grid-layer{
    opacity:.11;
    background-size:62px 62px;
  }
}
@media(max-width:430px){
  .scroll-wire{
    width:88px;
    height:88px;
  }
  .scroll-grid-layer{
    opacity:.08;
  }
}
@media(prefers-reduced-motion:reduce){
  .scroll-background > *{
    transform:none!important;
    will-change:auto;
  }
}


/* v6.8 — sticky menu + poprawiony mobilny viewer 3D */

/* Menu stale widoczne */
.site-header{
  position:sticky!important;
  top:0;
  z-index:1000!important;
  width:100%;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(20,20,24,.07);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:box-shadow .25s ease,background .25s ease;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(238,20,71,.22),transparent);
  pointer-events:none;
}
.site-header .container{
  min-height:72px;
}
html{
  scroll-padding-top:92px;
}

/* Zabezpieczenie przed nachodzeniem warstw w viewerze */
.demo-shell,
.viewer-shell,
.model-viewer,
.viewer-stage,
.viewer-canvas-wrap{
  min-width:0;
}
.demo-shell{
  isolation:isolate;
}
.demo-shell canvas,
.viewer-shell canvas,
.model-viewer canvas,
.viewer-stage canvas{
  display:block;
  max-width:100%;
}

/* Mobilny układ sekcji interaktywnego modelu */
@media(max-width:720px){
  .site-header .container{
    min-height:62px;
  }
  html{
    scroll-padding-top:78px;
  }

  /* Główna rama modelu dostaje prawidłową wysokość */
  .demo-shell{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    border-radius:20px;
  }

  /* Sam obszar renderowania pozostaje niezależny od ceny i sterowania */
  .viewer-shell,
  .model-viewer,
  .viewer-stage,
  .viewer-canvas-wrap,
  #viewer3d,
  #viewer,
  #modelViewer{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:420px!important;
    aspect-ratio:4/5;
    overflow:hidden!important;
    order:1;
  }

  /* Nakładka ceny przeniesiona nad model i poza canvas */
  .price-card,
  .viewer-price,
  .demo-price,
  .price-badge,
  .model-price,
  .promo-price{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:3!important;
    order:0;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:12px 12px 0!important;
    transform:none!important;
  }

  /* Panel sterowania trafia pod model */
  .viewer-controls,
  .demo-controls,
  .model-controls,
  .viewer-toolbar,
  .controls-bar,
  .viewer-actions{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:3!important;
    order:2;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:0 12px 12px!important;
    transform:none!important;
  }

  .viewer-controls,
  .demo-controls,
  .model-controls,
  .viewer-toolbar,
  .controls-bar,
  .viewer-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .viewer-controls button,
  .demo-controls button,
  .model-controls button,
  .viewer-toolbar button,
  .controls-bar button,
  .viewer-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:10px 8px!important;
    white-space:normal!important;
    line-height:1.2!important;
    touch-action:manipulation;
  }

  /* Jeśli cena lub kontrolki są wewnątrz sceny, rezerwujemy miejsce */
  .viewer-stage:has(.price-card),
  .viewer-stage:has(.viewer-price),
  .viewer-stage:has(.viewer-controls),
  .viewer-stage:has(.demo-controls){
    padding:0!important;
  }
}

/* Węższe telefony */
@media(max-width:430px){
  .site-header .container{
    min-height:58px;
  }
  html{
    scroll-padding-top:72px;
  }
  .viewer-shell,
  .model-viewer,
  .viewer-stage,
  .viewer-canvas-wrap,
  #viewer3d,
  #viewer,
  #modelViewer{
    min-height:370px!important;
    aspect-ratio:1/1.18;
  }
  .viewer-controls,
  .demo-controls,
  .model-controls,
  .viewer-toolbar,
  .controls-bar,
  .viewer-actions{
    grid-template-columns:1fr!important;
  }
}

/* Bardzo małe ekrany */
@media(max-width:360px){
  .viewer-shell,
  .model-viewer,
  .viewer-stage,
  .viewer-canvas-wrap,
  #viewer3d,
  #viewer,
  #modelViewer{
    min-height:340px!important;
  }
}

/* Menu bez kosztownego blur na słabszych urządzeniach */
@media(max-width:720px) and (prefers-reduced-transparency:reduce){
  .site-header{
    background:#fff;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}


/* v6.9 — poprawny układ mobilny: model 3D nad opcjami konfiguracji */
@media(max-width:720px){

  /* Cały konfigurator działa w zwykłym pionowym przepływie dokumentu */
  #demo.demo-shell{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }

  #demo .viewer-topbar{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    z-index:5!important;
  }

  /* Pole z modelem zawsze jako pierwszy duży element */
  #demo .product-stage{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    order:1!important;
    background:#f7f7f5;
  }

  #demo .three-viewer{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:clamp(390px,112vw,520px)!important;
    min-height:390px!important;
    max-height:520px!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:linear-gradient(145deg,#fafafa,#ededeb)!important;
  }

  #demo #productCanvas{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    touch-action:none!important;
  }

  #demo .model-loading,
  #demo .model-error{
    position:absolute!important;
    inset:0!important;
    z-index:4!important;
  }

  /* Cena pozostaje dyskretna, bez zasłaniania centralnej części modelu */
  #demo .model-price-badge{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
    z-index:6!important;
  }

  /* Sterowanie bezwzględnie pod polem 3D */
  #demo .model-toolbar{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    width:calc(100% - 20px)!important;
    margin:10px!important;
    padding:8px!important;
    z-index:3!important;
    background:rgba(255,255,255,.98)!important;
    box-sizing:border-box!important;
  }

  #demo .model-toolbar .reset-view-button{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    order:-1!important;
  }

  #demo .model-toolbar button:not(.reset-view-button){
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    padding:0 4px!important;
  }

  #demo .stage-hint{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:calc(100% - 20px)!important;
    margin:0 10px 12px!important;
    padding:7px 10px!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Panel kolorów i pozostałych opcji zawsze pod modelem i sterowaniem */
  #demo .config-panel{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin:0 10px 10px!important;
    padding:14px!important;
    transform:none!important;
    box-sizing:border-box!important;
    z-index:2!important;
  }

  #demo .config-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
  }

  #demo .config-tab{
    min-width:0!important;
    min-height:42px!important;
    padding:8px 3px!important;
    font-size:10px!important;
  }

  #demo .panel-content{
    position:relative!important;
    min-height:0!important;
    padding-top:16px!important;
  }

  #demo .swatches{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
  }

  #demo .swatch{
    width:100%!important;
    max-width:54px!important;
    aspect-ratio:1!important;
    height:auto!important;
    justify-self:center!important;
    touch-action:manipulation!important;
  }

  #demo .price-box{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    margin-top:18px!important;
  }
}

@media(max-width:430px){
  #demo .three-viewer{
    height:400px!important;
    min-height:400px!important;
  }

  #demo .model-toolbar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  #demo .model-toolbar .reset-view-button{
    grid-column:1/-1!important;
  }

  #demo .config-tab{
    font-size:9px!important;
  }
}

@media(max-width:360px){
  #demo .three-viewer{
    height:360px!important;
    min-height:360px!important;
  }

  #demo .model-price-badge{
    grid-template-columns:auto 1fr!important;
  }

  #demo .model-price-cta,
  #demo .price-arrow{
    display:none!important;
  }
}


/* v7.0 — dwa okna ofertowe w sekcji KOMPLEKSOWA USŁUGA */
.pricing-column{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  min-width:0;
}
.pricing-column .pricing-highlight{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.pricing-highlight-model{
  background:#f7f7f7;
  border:1px solid rgba(238,20,71,.16);
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.pricing-highlight-model::before{
  background:linear-gradient(90deg,#ee1447,#ff6d8f);
}
.pricing-highlight-model .price-pair strong{
  color:#ee1447;
}

/* Desktop: cards stay compact in the right column */
@media(min-width:981px){
  .all-in-grid{
    align-items:start;
  }
  .pricing-column{
    align-self:start;
  }
  .pricing-column .pricing-highlight{
    padding:30px;
  }
  .pricing-column .pricing-highlight h3{
    font-size:26px;
  }
  .pricing-column .pricing-highlight p{
    margin-bottom:0;
  }
  .pricing-column .price-from{
    margin-top:22px;
  }
}

/* Tablet: full-width cards under the service description */
@media(max-width:980px){
  .pricing-column{
    width:100%;
    max-width:720px;
    margin-inline:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
  }
  .pricing-column .pricing-highlight{
    display:flex;
    flex-direction:column;
  }
  .pricing-column .btn-full{
    margin-top:auto;
  }
}

/* Mobile: one card under another with comfortable touch spacing */
@media(max-width:720px){
  .pricing-column{
    grid-template-columns:1fr;
    gap:14px;
    max-width:620px;
  }
  .pricing-column .pricing-highlight{
    padding:25px 20px;
    border-radius:22px;
  }
  .pricing-column .pricing-highlight h3{
    font-size:25px;
  }
  .pricing-column .pricing-highlight p{
    font-size:13px;
    line-height:1.65;
  }
  .pricing-column .price-from{
    margin:22px 0 18px;
  }
  .pricing-column .btn-full{
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}

/* Narrow mobile */
@media(max-width:390px){
  .pricing-column .pricing-highlight{
    padding:22px 17px;
  }
  .pricing-column .pricing-highlight h3{
    font-size:23px;
  }
  .pricing-column .price-pair{
    align-items:flex-end;
  }
  .pricing-column .promo-main-price .old-price{
    width:100%;
    font-size:19px;
  }
  .pricing-column .price-from strong{
    font-size:42px;
  }
}


/* v7.1 desktop - dwa boksy obok siebie */
@media(min-width:981px){
  .pricing-column{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:stretch!important;
    width:100%!important;
  }
  .pricing-column .pricing-highlight{
    height:100%;
  }
}


/* v7.2 - więcej miejsca na dwie karty */
@media(min-width:1180px){
  .all-in-grid{
    display:grid!important;
    grid-template-columns:minmax(320px,0.85fr) minmax(760px,1.55fr)!important;
    gap:42px!important;
    align-items:start!important;
  }

  .pricing-column{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:24px!important;
    width:100%!important;
  }

  .pricing-column .pricing-highlight{
    padding:32px!important;
  }
}

@media(min-width:981px) and (max-width:1179px){
  .all-in-grid{
    display:grid!important;
    grid-template-columns:0.95fr 1.35fr!important;
    gap:28px!important;
  }
}


/* v7.3 - wyrównanie wysokości sekcji Kompleksowa usługa */
@media(min-width:981px){
  .all-in-grid{
    align-items:stretch!important;
  }

  .all-in-grid > :first-child{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    height:100%!important;
    padding-right:12px!important;
  }

  .all-in-grid > :first-child h2{
    font-size:42px!important;
    line-height:1.08!important;
    margin-bottom:18px!important;
  }

  .all-in-grid > :first-child p{
    font-size:16px!important;
    line-height:1.65!important;
    margin-bottom:12px!important;
  }

  .all-in-grid > :first-child li{
    font-size:15px!important;
    line-height:1.55!important;
    margin-bottom:8px!important;
  }

  .all-in-grid > :first-child .section-label{
    font-size:13px!important;
    margin-bottom:12px!important;
  }

  .pricing-column{
    align-self:stretch!important;
  }
}


/* v7.5 - mobilne przekreślenie ceny tylko na szerokość tekstu */
@media(max-width:720px){
  .pricing-column .old-price,
  .pricing-column .promo-main-price .old-price{
    display:inline-block!important;
    width:auto!important;
    max-width:max-content!important;
    align-self:flex-start!important;
    position:relative!important;
    text-decoration:none!important;
  }

  .pricing-column .old-price::after,
  .pricing-column .promo-main-price .old-price::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:50%!important;
    width:auto!important;
    height:2px!important;
    transform:translateY(-50%) rotate(-4deg)!important;
    transform-origin:center!important;
    background:currentColor!important;
    pointer-events:none!important;
  }
}

@media(max-width:390px){
  .pricing-column .promo-main-price .old-price{
    width:auto!important;
    max-width:max-content!important;
  }
}


/* v7.6 - wyśrodkowanie sekcji AR wyłącznie na urządzeniach mobilnych */
@media(max-width:720px){
  .ar-modal-header{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    align-items:start!important;
    gap:8px!important;
    text-align:center!important;
  }

  .ar-modal-header > div{
    grid-column:2!important;
    min-width:0!important;
    text-align:center!important;
  }

  .ar-modal-header .ar-close{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }

  .ar-modal-header strong,
  .ar-modal-header small,
  .ar-note{
    text-align:center!important;
  }

  .launch-ar{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    text-align:center!important;
  }
}


/* v8.0 - przełącznik językowy */
.language-switcher{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
}
.lang-link{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:30px;
  padding:0 8px!important;
  border-radius:999px;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.04em;
  color:#555!important;
  text-decoration:none!important;
}
.lang-link:hover,
.lang-link.is-active{
  background:#ee1447!important;
  color:#fff!important;
}
@media(max-width:980px){
  .language-switcher{
    order:-1;
    align-self:flex-start;
    margin:4px 0 8px;
  }
  .lang-link{
    min-width:38px;
    height:34px;
  }
}


/* v8.2 - jednoliniowy przycisk CTA w wersjach językowych */
.nav-cta{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
body[data-lang="de"] .nav-cta,
body[data-lang="es"] .nav-cta{
  padding-left:14px!important;
  padding-right:14px!important;
  font-size:12px!important;
  letter-spacing:-.015em!important;
}
@media(max-width:1180px) and (min-width:981px){
  body[data-lang="de"] .main-nav,
  body[data-lang="es"] .main-nav{
    gap:10px!important;
  }
  body[data-lang="de"] .nav-cta,
  body[data-lang="es"] .nav-cta{
    padding-left:11px!important;
    padding-right:11px!important;
    font-size:11px!important;
  }
}


/* v8.4 - jednoliniowe menu i dwa stałe wiersze telefonów */
.main-nav{
  flex-wrap:nowrap!important;
}
.main-nav a,
.main-nav .nav-cta{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  flex:0 0 auto!important;
}

.header-phones{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}
.header-phones a{
  display:block!important;
  width:auto!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.2!important;
}

/* Dłuższe wersje językowe — kompaktowo, ale nadal w jednej linii */
body[data-lang="en"] .main-nav,
body[data-lang="de"] .main-nav,
body[data-lang="es"] .main-nav{
  gap:12px!important;
}
body[data-lang="en"] .main-nav a:not(.nav-cta),
body[data-lang="de"] .main-nav a:not(.nav-cta),
body[data-lang="es"] .main-nav a:not(.nav-cta){
  font-size:12px!important;
  letter-spacing:-.015em!important;
}
body[data-lang="de"] .main-nav a:not(.nav-cta),
body[data-lang="es"] .main-nav a:not(.nav-cta){
  font-size:11.5px!important;
}

@media(max-width:1260px) and (min-width:981px){
  .header-inner{
    gap:14px!important;
  }
  .main-nav{
    gap:9px!important;
  }
  .main-nav a:not(.nav-cta){
    font-size:11px!important;
    letter-spacing:-.02em!important;
  }
  .nav-cta{
    padding-left:11px!important;
    padding-right:11px!important;
    font-size:11px!important;
  }
  .header-phones{
    font-size:11px!important;
  }
}

/* W menu mobilnym pozycje mogą zajmować pełną szerokość,
   ale sam tekst nadal nie jest łamany. */
@media(max-width:980px){
  .main-nav{
    flex-wrap:nowrap!important;
  }
  .main-nav a{
    white-space:nowrap!important;
  }
  .header-phones{
    width:auto!important;
    min-width:max-content!important;
  }
}


/* v9.0.1 — wyśrodkowanie menu tylko w EN, DE i ES.
   Polska wersja korzysta z wcześniejszego, oryginalnego układu. */
@media (min-width: 1181px) {
  html[lang="en"] .site-header .nav-wrap,
  html[lang="de"] .site-header .nav-wrap,
  html[lang="es"] .site-header .nav-wrap {
    position: relative;
  }

  html[lang="en"] .site-header .main-nav,
  html[lang="de"] .site-header .main-nav,
  html[lang="es"] .site-header .main-nav {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    display: flex;
    align-items: center;
    justify-content: center !important;
    width: max-content;
    max-width: calc(100vw - 40px);
    margin: 0 !important;
    text-align: center;
  }

  html[lang="en"] .site-header .main-nav > a,
  html[lang="de"] .site-header .main-nav > a,
  html[lang="es"] .site-header .main-nav > a,
  html[lang="en"] .site-header .main-nav .language-switcher,
  html[lang="de"] .site-header .main-nav .language-switcher,
  html[lang="es"] .site-header .main-nav .language-switcher,
  html[lang="en"] .site-header .main-nav .header-phones,
  html[lang="de"] .site-header .main-nav .header-phones,
  html[lang="es"] .site-header .main-nav .header-phones {
    flex: 0 0 auto;
  }

  html[lang="en"] .site-header .main-nav a,
  html[lang="de"] .site-header .main-nav a,
  html[lang="es"] .site-header .main-nav a,
  html[lang="en"] .site-header .header-phones a,
  html[lang="de"] .site-header .header-phones a,
  html[lang="es"] .site-header .header-phones a {
    white-space: nowrap;
    text-align: center;
  }
}

@media (max-width: 1180px) {
  html[lang="en"] .site-header .main-nav,
  html[lang="de"] .site-header .main-nav,
  html[lang="es"] .site-header .main-nav {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100%;
    max-width: none;
    margin: 0 auto !important;
    justify-content: center !important;
    text-align: center;
  }
}


/* v9.0.2 — mobilny przełącznik języków bez wychodzenia poza ekran */
@media (max-width: 1180px) {
  .site-header .nav-wrap,
  .site-header .main-nav {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .site-header .main-nav {
    overflow-x: hidden;
    padding-left: 16px;
    padding-right: 16px;
  }

  .site-header .language-switcher {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin: 10px auto 0;
    padding: 0;
    box-sizing: border-box;
  }

  .site-header .language-switcher .lang-link {
    flex: 0 0 auto;
    min-width: 40px;
    padding: 8px 10px;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
  }

  .site-header .header-phones,
  .site-header .nav-cta {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 420px) {
  .site-header .main-nav {
    padding-left: 12px;
    padding-right: 12px;
  }

  .site-header .language-switcher {
    gap: 6px;
  }

  .site-header .language-switcher .lang-link {
    min-width: 36px;
    padding: 7px 8px;
  }
}

/* v9.0.4 — prefiks „od / from / ab / desde” przed ceną */
.price-from strong .price-prefix {
  display: inline;
  margin: 0;
  font-size: 0.42em;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
  text-transform: lowercase;
}
