:root{
  --bg:#07090c;--panel:#0e1217;--panel2:#141920;--text:#f5f5f3;--muted:#a9afb7;
  --line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.18);
  --accent:#ffc400;--accent-hover:#ffd33d;--black:#090a0b;
  --max:1280px;--radius:18px;--shadow:0 28px 80px rgba(0,0,0,.42);
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-weight:400;background:radial-gradient(circle at 85% -15%,rgba(255,196,0,.10),transparent 34%),var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
button,input,select,textarea{font-family:var(--font)}
.container{width:min(var(--max),calc(100% - 56px));margin:auto}.section{padding:118px 0}
.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.eyebrow:before{content:"";width:38px;height:2px;background:var(--accent)}
h1,h2,h3{line-height:1.04;margin:0 0 22px;font-family:var(--font)}
h1{font-size:clamp(48px,6.6vw,94px);font-weight:700;letter-spacing:-.052em;max-width:980px}
h2{font-size:clamp(36px,4.2vw,62px);font-weight:700;letter-spacing:-.042em}
h3{font-size:23px;font-weight:700;letter-spacing:-.018em}
p{margin:0 0 18px;color:var(--muted)}.lead{font-size:clamp(19px,2vw,25px);font-weight:400;max-width:780px;line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--accent);padding:16px 24px;border-radius:10px;font-size:15px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;color:var(--black)!important;background:var(--accent)}
.btn:hover{transform:translateY(-2px);background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 14px 38px rgba(255,196,0,.20)}
.btn.secondary{background:transparent;color:var(--accent)!important;border-color:var(--accent)}.btn.secondary:hover{background:rgba(255,196,0,.08);box-shadow:none}.btn.small{padding:12px 18px;font-size:14px}
.header{position:sticky;top:0;z-index:50;background:rgba(7,9,12,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{display:block;width:308px}.logo img{width:100%;height:auto;display:block}.logo span{display:inline-block;background:var(--accent);color:var(--black);padding:4px 8px;border-radius:4px;margin-left:6px}
.navlinks{display:flex;gap:30px;align-items:center}.navlinks>a:not(.btn){position:relative;color:#e1e3e6;font-size:18px;font-weight:600;transition:color .2s}.navlinks>a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--accent);transition:right .22s}.navlinks>a:not(.btn):hover,.navlinks>a:not(.btn).active{color:#fff}.navlinks>a:not(.btn):hover:after,.navlinks>a:not(.btn).active:after{right:0}.navlinks a.btn{color:var(--black)!important}.menu{display:none;background:none;border:0;color:white;font-size:28px}
.hero{padding:112px 0 82px;min-height:790px;display:flex;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.hero-visual{position:relative;min-height:540px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#151a21,#080a0d);box-shadow:var(--shadow);overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,196,0,.23);border-radius:50%;transform:rotate(-18deg)}
.cube{position:absolute;left:50%;top:50%;width:230px;height:230px;transform:translate(-50%,-50%) rotate(25deg);background:linear-gradient(145deg,#303641,#0b0e12);border:1px solid #59616c;box-shadow:20px 30px 70px rgba(0,0,0,.65),inset 0 0 50px rgba(255,196,0,.08);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.scanline{position:absolute;left:10%;right:10%;height:2px;background:var(--accent);box-shadow:0 0 24px var(--accent);animation:scan 3.2s ease-in-out infinite}@keyframes scan{0%,100%{top:18%}50%{top:80%}}
.metric{position:absolute;background:rgba(10,13,17,.90);border:1px solid var(--line);border-radius:12px;padding:15px 18px;box-shadow:var(--shadow)}.metric b{display:block;color:var(--accent);font-size:23px;font-weight:700}.m1{top:28px;right:24px}.m2{bottom:28px;left:24px}
.trust{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust div{padding:25px 18px;border-right:1px solid var(--line);text-align:center;color:#e2e5e8;font-size:14px;font-weight:500}.trust div:last-child{border:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:linear-gradient(155deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.card:hover{transform:translateY(-7px);border-color:rgba(255,196,0,.42);box-shadow:0 24px 60px rgba(0,0,0,.30)}
.icon{width:54px;height:54px;border-radius:12px;border:1px solid rgba(255,196,0,.35);background:rgba(255,196,0,.08);display:grid;place-items:center;color:var(--accent);font-size:24px;margin-bottom:26px}.service-card{min-height:330px;display:flex;flex-direction:column}.service-card .more{margin-top:auto;color:var(--accent);font-weight:700}
.darkband{background:#0b0e12;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps{counter-reset:step}.step{position:relative;padding-left:74px}.step:before{counter-increment:step;content:"0" counter(step);position:absolute;left:0;top:0;color:var(--accent);font-weight:700;font-size:30px}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.work{min-height:270px;border-radius:18px;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(145deg,#242a33,#101318);transition:transform .28s ease,border-color .28s ease}.work:hover{transform:translateY(-5px);border-color:rgba(255,196,0,.40)}.work:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.90))}.work .label{position:absolute;z-index:2;left:22px;bottom:20px}.work.big{grid-column:span 7;min-height:400px}.work.small{grid-column:span 5}.work.third{grid-column:span 4}.shape{position:absolute;inset:20%;border:1px solid #56606e;transform:rotate(22deg);background:radial-gradient(circle at 40% 30%,rgba(255,196,0,.28),transparent 35%),#1a1f27;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.cta{padding:58px;border-radius:22px;border:1px solid rgba(255,196,0,.30);background:linear-gradient(135deg,rgba(255,196,0,.13),rgba(14,18,23,.95));display:flex;justify-content:space-between;gap:32px;align-items:center}.footer{padding:64px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.footer a{color:var(--muted);transition:color .2s}.footer a:hover{color:var(--accent)}
.page-hero{padding:112px 0 70px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.list{display:grid;gap:13px}.list div{display:flex;gap:12px;color:#dce1e8}.list div:before{content:"✓";color:var(--accent);font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{border:1px solid var(--line);border-radius:999px;padding:9px 14px;color:#d9dee5;font-size:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.filter{border:1px solid var(--line);background:transparent;color:white;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:600}.filter.active{background:var(--accent);color:var(--black);border-color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}label{font-size:14px;color:#d8dde5;font-weight:500}input,select,textarea{width:100%;background:#090c10;color:white;border:1px solid var(--line);border-radius:10px;padding:15px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:rgba(255,196,0,.7);box-shadow:0 0 0 3px rgba(255,196,0,.10)}textarea{min-height:130px;resize:vertical}.estimate{font-size:48px;font-weight:700;color:var(--accent);letter-spacing:-.04em}.faq{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;padding:22px 0;background:none;border:0;color:white;text-align:left;font:inherit;font-weight:700;display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;padding:0 0 22px}.faq-item.open .faq-a{display:block}.notice{padding:16px 19px;border-left:3px solid var(--accent);background:rgba(255,196,0,.07);color:#dce1e8;border-radius:7px}.hidden{display:none!important}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.container{width:min(var(--max),calc(100% - 36px))}.navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:#0b0e12;padding:26px;flex-direction:column;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.menu{display:block}.hero-grid,.content-grid{grid-template-columns:1fr}.hero{padding-top:70px}.hero-visual{min-height:410px}.trust{grid-template-columns:1fr 1fr}.trust div{border-bottom:1px solid var(--line)}.grid3,.grid4{grid-template-columns:1fr 1fr}.work.big,.work.small,.work.third{grid-column:span 12}.cta{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:600px){.container{width:min(100% - 26px,var(--max))}.section{padding:78px 0}.grid3,.grid4{grid-template-columns:1fr}.trust{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:340px}.cube{width:165px;height:165px}.cta{padding:32px}.page-hero{padding-top:78px}h1{font-size:clamp(43px,14vw,62px)}}

/* Questionnaire calculator v0.3.0 */
.compact-hero{padding-bottom:48px}.calculator-section{padding-top:38px}.questionnaire-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:24px;align-items:start}.questionnaire-panel{min-height:650px}.questionnaire-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:26px;margin-bottom:34px;border-bottom:1px solid var(--line)}.questionnaire-progress-text{margin-top:7px;color:#aeb5bf;font-size:14px}.questionnaire-progress{width:210px;height:5px;background:#1a1f26;overflow:hidden;margin-top:9px}.questionnaire-progress span{display:block;width:16.666%;height:100%;background:var(--accent);transition:width .3s ease}.question-step{display:none}.question-step.active{display:block;animation:questionIn .28s ease}.question-step h2{font-size:clamp(28px,3.3vw,44px);margin:4px 0 10px;letter-spacing:-.035em}.question-step>p{max-width:720px;margin-bottom:28px}.question-number{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.12em}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-card{position:relative;display:block;cursor:pointer}.answer-card input{position:absolute;opacity:0;pointer-events:none}.answer-card span{height:100%;display:flex;flex-direction:column;gap:5px;padding:20px;border:1px solid var(--line);background:#090c10;transition:border-color .2s,background .2s,transform .2s}.answer-card strong{color:#f3f5f7;font-size:16px}.answer-card small{color:#9fa7b2;line-height:1.45}.answer-card:hover span{border-color:#4b515a;transform:translateY(-2px)}.answer-card input:checked+span{border-color:var(--accent);background:rgba(255,196,0,.08);box-shadow:inset 3px 0 0 var(--accent)}.answer-card input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.check-grid .answer-card input:checked+span:after{content:'✓';position:absolute;right:16px;top:14px;color:var(--accent);font-weight:700}.questionnaire-fields{margin-top:24px}.questionnaire-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.questionnaire-error{margin-top:18px;padding:12px 15px;border-left:3px solid #ff5c5c;background:rgba(255,92,92,.08);color:#ffd8d8}.questionnaire-summary{position:sticky;top:104px}.questionnaire-summary h2{font-size:30px;margin:10px 0 12px}.summary-placeholder{display:grid;gap:7px;margin-top:25px;padding:21px;background:#090c10;border:1px solid var(--line)}.summary-placeholder span{color:#9fa7b2;line-height:1.55}.recommendation-badge{display:inline-flex;margin:8px 0 16px;padding:7px 10px;background:rgba(255,196,0,.1);border:1px solid rgba(255,196,0,.35);color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.summary-result h3{font-size:26px;margin-bottom:10px}.summary-result dl{margin:24px 0;border-top:1px solid var(--line)}.summary-result dl div{padding:13px 0;border-bottom:1px solid var(--line)}.summary-result dt{font-size:12px;color:#8f98a4;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.summary-result dd{margin:0;color:#ecf0f4;line-height:1.45}.full-width{width:100%;text-align:center}.text-button{display:block;width:100%;margin-top:14px;background:none;border:0;color:#9fa7b2;font:inherit;cursor:pointer;padding:8px}.text-button:hover{color:white}@keyframes questionIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:980px){.questionnaire-layout{grid-template-columns:1fr}.questionnaire-summary{position:static}.questionnaire-panel{min-height:auto}}
@media(max-width:640px){.questionnaire-head{display:block}.questionnaire-progress{width:100%;margin-top:18px}.answer-grid{grid-template-columns:1fr}.questionnaire-controls{justify-content:stretch}.questionnaire-controls .btn{flex:1;padding-left:12px;padding-right:12px}.question-step h2{font-size:30px}}


/* Brand system inspired by the printed brochure — v0.4.0 */
.logo{display:flex;align-items:center;flex:0 0 auto;width:330px;max-width:34vw}
.logo picture,.logo img{display:block;width:100%;height:auto}
.footer-logo{width:330px;max-width:100%}
.header .logo img{max-height:74px;object-fit:contain;object-position:left center}
.brand-hero{padding-top:88px;background:radial-gradient(circle at 78% 42%,rgba(242,169,0,.10),transparent 28%)}.brand-hero .hero-grid{grid-template-columns:.95fr 1.05fr}.brand-hero h1{font-size:clamp(50px,6vw,88px);text-transform:uppercase;max-width:720px;letter-spacing:-.055em}.accent-text{color:#f2a900}.hero-copy .lead{max-width:680px}.hero-note{margin-top:26px;padding:15px 17px;border-left:2px solid #f2a900;background:rgba(242,169,0,.06);color:#c6cbd2;font-size:17px;line-height:1.55}.hero-machine{position:relative;min-height:540px;border-left:1px solid rgba(242,169,0,.55);overflow:hidden;background:linear-gradient(135deg,#11161c,#06080b 72%)}.machine-head{position:absolute;left:32%;top:-6%;width:42%;height:46%;border-radius:0 0 22px 22px;background:linear-gradient(90deg,#20262e,#090c10 75%);box-shadow:0 28px 70px rgba(0,0,0,.65)}.machine-head:after{content:"";position:absolute;left:48%;bottom:-92px;width:4px;height:100px;background:linear-gradient(#f2a900,#d8d8d8 65%,transparent)}.machine-head span{position:absolute;left:20px;bottom:26px;background:#f2a900;color:#07090c;padding:5px 10px;border-radius:5px;font-size:22px;font-weight:700}.machine-part{position:absolute;left:11%;right:7%;bottom:11%;height:43%;border:5px solid #39424d;border-radius:36px 36px 14px 14px;transform:perspective(700px) rotateX(58deg);background:#090c10;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:30px}.machine-part i{border:8px solid #202833;border-radius:40% 60% 55% 45%;box-shadow:inset 0 0 0 3px #090c10}.scan-glow{position:absolute;left:48%;top:38%;width:4px;height:43%;background:linear-gradient(transparent,#f2a900,transparent);box-shadow:0 0 24px #f2a900;opacity:.75}.service-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#090c10}.service-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-strip a{display:flex;align-items:center;gap:16px;min-height:118px;padding:24px;border-right:1px solid var(--line)}.service-strip a:last-child{border-right:0}.service-strip b{font-size:17px;line-height:1.3}.service-strip em{font-style:normal;color:#f2a900}.service-symbol{font-size:34px;color:#f2a900}.section-intro{max-width:840px;margin-top:0}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.solution-card{border:1px solid var(--line);background:#0b0f14;transition:.25s}.solution-card:hover{transform:translateY(-5px);border-color:rgba(242,169,0,.52)}.solution-card h3,.solution-card p{padding-left:20px;padding-right:20px}.solution-card h3{font-size:19px;margin-top:19px;margin-bottom:9px}.solution-card p{padding-bottom:20px;font-size:17px;line-height:1.55}.solution-visual{height:210px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#323943,#11151a 62%)}.technical-object{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%) rotate(24deg);border:18px solid #555f69;border-radius:24px;box-shadow:inset 0 0 0 7px #161b21,0 30px 45px rgba(0,0,0,.6)}.technical-object:before,.technical-object:after{content:"";position:absolute;background:#151a20;border:8px solid #616b76;border-radius:50%}.technical-object:before{width:38px;height:38px;left:-31px;top:24px}.technical-object:after{width:30px;height:30px;right:-27px;bottom:18px}.object-b{border-radius:50%;border-width:20px}.object-c{width:150px;height:105px;border-radius:50px 18px}.scan-object span{position:absolute;inset:30px 52px;border:1px solid #697483;border-radius:50%;box-shadow:0 0 0 12px rgba(242,169,0,.07),0 0 50px rgba(242,169,0,.18)}.scan-object:before,.scan-object:after{content:"";position:absolute;background:#f2a900}.scan-object:before{width:2px;top:24px;bottom:24px;left:50%}.scan-object:after{height:2px;left:38px;right:38px;top:50%}.laser-object{background:linear-gradient(140deg,#3a2d20,#111)}.laser-object:before{content:"";position:absolute;left:50%;top:0;width:2px;height:55%;background:#ffc400;box-shadow:0 0 17px #ffc400}.laser-object span{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%) rotate(-5deg);border:1px solid #f2a900;padding:12px 24px;text-align:center;color:#f2a900}.series-object{display:flex;justify-content:center;align-items:center;gap:12px}.series-object span{display:block;width:62px;height:95px;border:10px solid #56616d;border-radius:20px;background:#11161c}.material-band{background:#090c10;border-block:1px solid var(--line)}.material-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.material-features{display:grid;grid-template-columns:1fr 1fr;gap:13px}.material-features div{padding:20px;border:1px solid var(--line);background:#0e1217}.material-features b{display:block;color:#fff;margin-bottom:5px}.material-features span{font-size:16px;color:#9fa7b2}.process-steps{margin-top:38px}.trust-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.trust-cards>div{padding:28px;border-top:2px solid #f2a900;background:#0d1116}.trust-cards span{color:#f2a900;font-weight:700}.trust-cards h3{font-size:19px;margin-top:22px}.trust-cards p{font-size:17px;line-height:1.55}
@media(max-width:1000px){.brand-hero .hero-grid,.material-layout{grid-template-columns:1fr}.hero-machine{min-height:440px}.service-strip-grid,.trust-cards{grid-template-columns:1fr 1fr}.service-strip a:nth-child(2){border-right:0}.solution-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.logo{min-width:194px}.brand-mark{transform:scale(.84);transform-origin:left center}.nav{min-height:76px}.navlinks{top:76px}.brand-hero{padding-top:55px}.brand-hero h1{font-size:43px}.hero-machine{min-height:330px}.service-strip-grid,.solution-grid,.material-features,.trust-cards{grid-template-columns:1fr}.service-strip a{border-right:0;border-bottom:1px solid var(--line)}.solution-visual{height:190px}}

/* v0.5.2 — readability and exact exported logo */
body{font-size:18px;line-height:1.62}
p,.lead,.faq-a,.field label,.notice{font-size:18px;line-height:1.62}
.eyebrow{font-size:20px;font-weight:700;letter-spacing:.025em}
.hero-note,.solution-card p,.material-features span,.trust-cards p,.footer p,.footer a{font-size:17px;line-height:1.55}
.navlinks a{font-size:17px}
.btn{font-size:17px;font-weight:700}
@media(max-width:1000px){.logo{width:280px;max-width:44vw}}
@media(max-width:640px){.logo{width:209px;max-width:65vw}.header .logo img{max-height:54px}.footer-logo{width:260px}.eyebrow{font-size:18px}body{font-size:17px}p,.lead,.faq-a,.field label,.notice{font-size:17px}}

/* v0.5.3 — exact logo exported from the approved PSD */
.logo{display:flex;align-items:center;flex:0 0 auto;overflow:visible}
.logo picture{display:block;line-height:0}
.logo img{display:block;width:330px;height:auto;max-width:none;object-fit:contain}
.footer-logo img{width:260px}
@media (max-width:900px){.logo img{width:264px}}
@media (max-width:640px){.logo img{width:209px}.footer-logo img{width:210px}}

/* v0.5.5 — approved PSD logo, reduced to one third of v0.5.4 */
.header .nav{
  min-height:112px;
  padding:14px 0;
  flex-wrap:nowrap;
  align-content:normal;
}
.header .logo{
  width:440px;
  max-width:36vw;
  flex-basis:auto;
  justify-content:flex-start;
}
.header .logo picture,
.header .logo img{
  width:440px;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.header .navlinks{
  width:auto;
  justify-content:flex-end;
  margin-top:0;
}
.footer-logo,
.footer-logo img{
  width:253px;
  max-width:100%;
  height:auto;
}
@media(max-width:900px){
  .header .nav{min-height:96px;padding:12px 0}
  .header .logo,.header .logo img{width:330px;max-width:44vw}
  .navlinks{top:96px}
}
@media(max-width:640px){
  .header .nav{min-height:82px;padding:10px 0}
  .header .logo,.header .logo img{width:249px;max-width:68vw}
  .navlinks{top:82px}
  .footer-logo,.footer-logo img{width:173px;max-width:100%}
}


/* v0.5.6 — larger navigation, filters and visual service definitions */
.navlinks>a:not(.btn){font-size:20px;font-weight:600}
.navlinks .btn.small{font-size:18px}
.filters{gap:14px;margin-top:34px}
.filter{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;padding:13px 22px;border-radius:10px}
.service-strip a{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;min-height:205px;padding:18px}
.service-strip b{font-size:19px;line-height:1.35}
.service-thumb{width:100%;height:105px;object-fit:cover;object-position:center;border:1px solid rgba(255,255,255,.11);background:#11161c;display:block}
.service-card{padding:0 0 28px;overflow:hidden}
.service-card-image{width:100%;height:180px;object-fit:cover;display:block;border-bottom:1px solid var(--line);margin-bottom:24px}
.service-card h3,.service-card p,.service-card .more{margin-left:28px;margin-right:28px}
.service-card h3{font-size:24px}
.service-card p{font-size:18px;line-height:1.6}
@media(max-width:1000px){.navlinks>a:not(.btn){font-size:18px}.service-strip a{min-height:190px}}
@media(max-width:900px){.navlinks>a:not(.btn),.navlinks .btn.small{font-size:20px}.filter{font-size:17px}.service-strip-grid{grid-template-columns:1fr 1fr}.service-strip a{border-bottom:1px solid var(--line)}}
@media(max-width:640px){.filter{font-size:16px;padding:12px 16px}.service-strip-grid{grid-template-columns:1fr}.service-thumb{height:150px}.service-strip b{font-size:20px}.service-card-image{height:210px}}

/* v0.5.8 — high-resolution industrial image set */
.hero-photo-wrap{background:#080b0f;display:flex;align-items:center;justify-content:center;min-height:540px}
.hero-photo{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:center;display:block;filter:none}
.solution-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:none}
.service-thumb,.service-card-image{filter:none;image-rendering:auto}
@media(max-width:900px){.hero-photo-wrap,.hero-photo{min-height:440px}}
@media(max-width:640px){.hero-photo-wrap,.hero-photo{min-height:330px}}

/* v0.5.9: undistorted, brighter image presentation */
.hero-photo{object-fit:cover;object-position:right center;}
.service-thumb,.service-card-image,.solution-visual img{object-fit:cover;object-position:center;}
.service-thumb,.service-card-image,.solution-visual img,.hero-photo{transform:none!important;}

/* v0.6.1 — logo typography aligned with the main hero heading */
.header .logo,
.header .logo picture,
.header .logo img{
  width:440px;
  max-width:36vw;
}
.header .logo img,
.footer-logo img{
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.footer-logo,
.footer-logo img{
  width:300px;
  max-width:100%;
}
@media(max-width:1000px){
  .header .logo,.header .logo picture,.header .logo img{width:341px;max-width:42vw}
}
@media(max-width:640px){
  .header .logo,.header .logo picture,.header .logo img{width:247px;max-width:68vw}
  .footer-logo,.footer-logo img{width:225px}
}


/* v0.6.4 — approved raster logo used exactly as the default website logo. */
.header .logo,
.header .logo img {
  width: 352px;
  max-width: 34vw;
}
.header .logo img {
  height: auto;
  max-height: 78px;
  object-fit: contain;
  object-position: left center;
}
.footer-logo,
.footer-logo img {
  width: 290px;
  max-width: 100%;
  height: auto;
}
@media (max-width: 900px) {
  .header .logo, .header .logo img { width: 286px; max-width: 44vw; }
}
@media (max-width: 640px) {
  .header .logo, .header .logo img { width: 225px; max-width: 68vw; max-height: 60px; }
  .footer-logo, .footer-logo img { width: 225px; }
}


/* v0.6.5 — approved raster logo enlarged by 35%; clearer upload CTA. */
.header .logo,
.header .logo img {
  width: 475px;
  max-width: 38vw;
}
.header .logo img {
  max-height: 105px;
}
.nav {
  min-height: 112px;
  gap: 18px;
}
.navlinks {
  gap: 20px;
}
.navlinks > a:not(.btn) {
  font-size: 17px;
}
.navlinks .btn.small {
  padding: 12px 15px;
  white-space: nowrap;
}
.upload-formats {
  flex-basis: 100%;
  margin-top: -4px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .02em;
}
@media (max-width: 1100px) {
  .header .logo,
  .header .logo img {
    width: 386px;
    max-width: 38vw;
  }
  .header .logo img { max-height: 86px; }
  .nav { min-height: 96px; }
  .navlinks { gap: 15px; }
  .navlinks > a:not(.btn) { font-size: 16px; }
  .navlinks .btn.small { font-size: 13px; padding: 11px 12px; }
}
@media (max-width: 900px) {
  .header .logo,
  .header .logo img {
    width: 386px;
    max-width: 58vw;
  }
  .navlinks { top: 96px; }
}
@media (max-width: 640px) {
  .header .logo,
  .header .logo img {
    width: 304px;
    max-width: 72vw;
    max-height: 81px;
  }
  .nav { min-height: 90px; }
  .navlinks { top: 90px; }
  .upload-formats { font-size: 11px; line-height: 1.45; }
}

.header .logo img,.navbar-brand img{transform:scale(1.10);transform-origin:left center;}

nav a,.nav-link,.menu a{font-size:22px!important;font-weight:700!important;}
header,.header{min-height:92px;}

/* v0.6.9 — true full-width hero artwork, no nested website screenshot */
.brand-hero{
  position:relative;
  isolation:isolate;
  min-height:760px;
  padding:92px 0 76px;
  background:#000 url('../images/hero-topology-wide.webp?v=0.6.9') center center / cover no-repeat;
  overflow:hidden;
}
.brand-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.93) 31%,rgba(0,0,0,.48) 50%,rgba(0,0,0,.04) 72%,rgba(0,0,0,0) 100%);
}
.brand-hero .hero-grid{
  grid-template-columns:minmax(0,720px) 1fr;
  min-height:590px;
  align-items:center;
  gap:0;
}
.brand-hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:720px;
}
.brand-hero .hero-machine{
  min-height:0;
  border:0!important;
  outline:0;
  background:none;
  overflow:visible;
}
.brand-hero .hero-machine::before,
.brand-hero .hero-machine::after{
  content:none!important;
  display:none!important;
}
@media(max-width:1000px){
  .brand-hero{
    min-height:760px;
    background-position:62% center;
  }
  .brand-hero::before{
    background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.92) 45%,rgba(0,0,0,.35) 72%,rgba(0,0,0,.12) 100%);
  }
  .brand-hero .hero-grid{grid-template-columns:1fr;min-height:590px}
  .brand-hero .hero-copy{max-width:650px}
  .brand-hero .hero-machine{display:none}
}
@media(max-width:640px){
  .brand-hero{
    min-height:720px;
    padding:64px 0 56px;
    background-position:68% center;
  }
  .brand-hero::before{
    background:linear-gradient(180deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 60%,rgba(0,0,0,.42) 100%);
  }
}


/* v0.7.0 — balanced split hero: content left, clean artwork right */
.brand-hero{
  position:relative;
  padding:44px 0 0;
  min-height:720px;
  background:#000;
  overflow:hidden;
}
.brand-hero::before{display:none!important;content:none!important;}
.brand-hero .hero-grid{
  position:relative;
  z-index:1;
  width:100%;
  min-height:675px;
  display:grid;
  grid-template-columns:minmax(520px, .88fr) minmax(620px, 1.12fr);
  gap:28px;
  align-items:stretch;
}
.brand-hero .hero-copy{
  position:relative;
  z-index:2;
  align-self:center;
  max-width:730px;
  padding:42px 0 72px;
}
.brand-hero h1{
  font-size:clamp(54px,5vw,82px);
  line-height:.98;
  max-width:720px;
}
.brand-hero .hero-machine{
  display:block;
  min-height:675px;
  margin-right:calc((100vw - min(100vw - 48px, 1480px))/ -2);
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-color:#000!important;
  background-image:url('../images/hero-printing.webp?v=0.7.1')!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:calc(100% - 120px) bottom!important;
  overflow:hidden;
}
.brand-hero .hero-machine::before,
.brand-hero .hero-machine::after{display:none!important;content:none!important;}
.brand-hero .hero-photo{display:none!important;}
.brand-hero .hero-note{border-left:0!important;}

@media (max-width:1200px){
  .brand-hero .hero-grid{
    grid-template-columns:minmax(460px,.9fr) minmax(500px,1.1fr);
  }
  .brand-hero .hero-machine{background-size:contain!important;background-position:right bottom!important;}
}
@media (max-width:1000px){
  .brand-hero{padding-top:34px;min-height:auto;}
  .brand-hero .hero-grid{
    width:min(100% - 36px, 920px);
    min-height:0;
    grid-template-columns:1fr;
    gap:0;
  }
  .brand-hero .hero-copy{max-width:760px;padding:34px 0 28px;}
  .brand-hero .hero-machine{
    display:block!important;
    min-height:480px;
    margin:0 -18px;
    background-size:contain!important;
    background-position:center bottom!important;
  }
}
@media (max-width:640px){
  .brand-hero .hero-grid{width:min(100% - 28px, 620px);}
  .brand-hero h1{font-size:clamp(42px,13vw,58px);}
  .brand-hero .hero-copy{padding-top:22px;}
  .brand-hero .hero-machine{
    min-height:340px;
    margin:0 -14px;
    background-size:contain!important;
    background-position:center bottom!important;
  }
}

/* v0.7.3 — restore the hero text position from v0.6.9 without moving the artwork */
.brand-hero .hero-copy{
  align-self:center;
  padding:0;
  margin-left:calc((min(100vw - 48px, 1480px) - min(100vw - 56px, 1280px))/2);
}
@media (max-width:1000px){
  .brand-hero .hero-copy{
    margin-left:0;
    padding:34px 0 28px;
  }
}
@media (max-width:640px){
  .brand-hero .hero-copy{
    padding-top:22px;
  }
}


/* v0.7.7 — verified hero composition: visible CAD overlay in the gap, full part preserved */
.brand-hero::after{
  content:"";
  position:absolute;
  z-index:2;
  top:104px;
  bottom:70px;
  left:calc(50% - 15px);
  width:clamp(340px,22vw,430px);
  pointer-events:none;
  background:url('../images/hero-engineering-overlay.svg?v=0.7.7') center / contain no-repeat;
  opacity:.68;
}
.brand-hero .hero-grid{z-index:1;}
.brand-hero .hero-copy{position:relative;z-index:3;}
.brand-hero .hero-machine{
  z-index:1;
  margin-left:-70px;
  background-color:transparent!important;
  background-size:min(1000px,100%) auto!important;
  background-position:right bottom!important;
  overflow:visible;
}
@media(max-width:1500px){
  .brand-hero::after{
    left:calc(50% + 20px);
    width:clamp(300px,23vw,380px);
    opacity:.64;
  }
  .brand-hero .hero-machine{
    margin-left:-40px;
    background-size:contain!important;
    background-position:right bottom!important;
  }
}
@media(max-width:1200px){
  .brand-hero::after{
    left:calc(47vw + 90px);
    width:clamp(250px,24vw,320px);
    opacity:.58;
  }
  .brand-hero .hero-machine{
    margin-left:0;
    background-size:contain!important;
    background-position:right bottom!important;
  }
}
@media(max-width:1000px){
  .brand-hero::after{display:none;}
  .brand-hero .hero-machine{
    margin-left:0;
    background-position:center bottom!important;
  }
}

/* v0.7.9 — move the complete hero part 120px left without cropping or rescaling */
@media (min-width:1001px){
  .brand-hero .hero-machine{
    transform:none !important;
  }
}

/* v0.8.2 — показываем изображения карточек полностью, без обрезки */
.service-strip .service-thumb{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:contain;
  object-position:center;
  background:#070a0e;
}
@media(max-width:640px){
  .service-strip .service-thumb{
    height:auto;
    aspect-ratio:4 / 3;
  }
}

/* v0.8.3 — smaller full-frame service thumbnails; no edge cropping */
.service-strip .service-thumb{
  width:88%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto;
  background:#070a0e;
}
@media(max-width:640px){
  .service-strip .service-thumb{
    width:92%;
    height:auto;
  }
}

/* v0.8.4 — full uncropped service images, cache-busted assets */
.service-strip .service-thumb{
  display:block!important;
  width:100%!important;
  height:105px!important;
  max-width:100%!important;
  margin:0!important;
  padding:8px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  background:#070a0e!important;
  border:1px solid rgba(255,255,255,.11)!important;
}
@media(max-width:640px){
  .service-strip .service-thumb{
    width:100%!important;
    height:150px!important;
    padding:10px!important;
  }
}


/* v0.8.5 — service images fill the card width at their native 4:3 ratio, without subject cropping */
.service-strip .service-thumb{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#070a0e!important;
  border:1px solid rgba(255,255,255,.11)!important;
}
@media(max-width:640px){
  .service-strip .service-thumb{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    padding:0!important;
  }
}

/* v0.8.6 — homepage hero begins directly with the primary heading */
.brand-hero .hero-copy > h1:first-child{margin-top:0}

/* v0.8.11 — final questionnaire contact step */
.field-label{display:block;margin-bottom:9px;font-weight:700;color:var(--text)}
.contact-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.consent-field{margin-top:4px}
.consent-label{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025);font-weight:500;line-height:1.45;cursor:pointer}
.consent-label input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}
#crmSubmitMessage{margin-top:16px;padding:14px 16px;border-radius:12px;line-height:1.5;background:rgba(245,181,27,.1);border:1px solid rgba(245,181,27,.35)}
#crmSubmitMessage.success{background:rgba(45,180,95,.1);border-color:rgba(45,180,95,.35)}
#crmSubmitMessage.error{background:rgba(220,60,60,.1);border-color:rgba(220,60,60,.35)}
@media(max-width:760px){.contact-method-grid{grid-template-columns:1fr}}

/* v0.8.12 — reveal the right side of the homepage hero part by shifting only the artwork left */
@media (min-width:1001px){
  .brand-hero .hero-machine{
    transform:none!important;
  }
}

/* Language switch v0.9.0 */
.lang-switch{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:13px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.lang-switch a{color:#8f98a5;text-decoration:none}.lang-switch a.active,.lang-switch a:hover{color:#f5a300}@media(max-width:900px){.lang-switch{margin-left:auto;margin-right:10px}}

/* v1.0.0 — complete mobile and tablet adaptation */
html,body{max-width:100%;overflow-x:hidden}
.menu{width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;line-height:1;cursor:pointer;flex:0 0 auto}
.menu:focus-visible,.navlinks a:focus-visible,.lang-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media (max-width:1180px){
  .container{width:min(var(--max),calc(100% - 40px))}
  .header .nav{min-height:88px;padding:10px 0;gap:12px}
  .header .logo,.header .logo img{width:310px;max-width:42vw;max-height:76px}
  .navlinks{gap:14px}
  .navlinks>a:not(.btn){font-size:15px}
  .section{padding:88px 0}
  .cta{padding:42px}
}

@media (max-width:900px){
  body.menu-open{overflow:hidden}
  .container{width:calc(100% - 36px)}
  .header .nav{min-height:78px;padding:8px 0;position:relative}
  .header .logo,.header .logo img{width:250px;max-width:58vw;max-height:62px}
  .menu{display:flex;font-size:0;order:3}
  .menu::before{content:"☰";font-size:25px}
  .menu[aria-expanded="true"]::before{content:"×";font-size:34px;font-weight:300}
  .lang-switch{order:2;margin-left:auto;margin-right:0;font-size:12px;padding:8px 3px}
  .navlinks{
    display:flex!important;position:fixed;z-index:49;inset:78px 0 auto 0;top:78px;
    padding:16px 18px 24px;background:rgba(7,9,12,.985);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.42);
    flex-direction:column;align-items:stretch;gap:0;
    transform:translateY(-125%);opacity:0;visibility:hidden;pointer-events:none;
    transition:transform .25s ease,opacity .2s ease,visibility .2s;
  }
  .navlinks.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .navlinks>a:not(.btn){font-size:19px!important;padding:15px 6px;border-bottom:1px solid rgba(255,255,255,.07)}
  .navlinks>a:not(.btn)::after{display:none}
  .navlinks .btn{width:100%;margin-top:14px}
  .section{padding:76px 0}
  .page-hero{padding:72px 0 44px}
  h1{font-size:clamp(44px,9vw,70px)}
  h2{font-size:clamp(34px,7vw,52px)}
  .lead{font-size:20px}
  .hero-actions{margin-top:28px}
  .brand-hero{padding:42px 0 24px;min-height:auto}
  .brand-hero .hero-grid{width:calc(100% - 36px);grid-template-columns:1fr;gap:8px}
  .brand-hero .hero-copy{padding:10px 0 18px;margin:0;max-width:none}
  .brand-hero h1{font-size:clamp(46px,10vw,70px);line-height:.98;max-width:760px}
  .brand-hero .hero-machine{min-height:430px;margin:0 -18px!important;transform:none!important;background-position:center bottom!important;background-size:contain!important;overflow:hidden}
  .brand-hero::after{display:none!important}
  .service-strip-grid{grid-template-columns:1fr 1fr}
  .service-strip a{border-bottom:1px solid var(--line);min-height:auto;padding:16px}
  .solution-grid{grid-template-columns:1fr 1fr}
  .material-layout{grid-template-columns:1fr;gap:38px}
  .grid4,.trust-cards{grid-template-columns:1fr 1fr}
  .cta{padding:38px;flex-direction:column;align-items:flex-start}
  .cta .btn{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .footer-grid>div:first-child{grid-column:1/-1}
  .content-grid{grid-template-columns:1fr;gap:34px}
  .questionnaire-layout{grid-template-columns:1fr}
  .questionnaire-summary{position:static}
  .questionnaire-panel{min-height:auto}
}

@media (max-width:640px){
  :root{--radius:15px}
  body{font-size:16px;line-height:1.55}
  .container{width:calc(100% - 28px)}
  .header .nav{min-height:70px;padding:7px 0;gap:8px}
  .header .logo,.header .logo img{width:205px;max-width:58vw;max-height:52px}
  .navlinks{top:70px;inset:70px 0 auto 0;padding:12px 14px 20px}
  .lang-switch{font-size:11px;gap:5px;letter-spacing:.04em}
  .menu{width:44px;height:44px;border-radius:9px}
  .section{padding:58px 0}
  .page-hero{padding:54px 0 32px}
  h1{font-size:clamp(38px,12vw,54px);letter-spacing:-.045em}
  h2{font-size:clamp(31px,10vw,43px);margin-bottom:17px}
  h3{font-size:21px}
  p,.lead,.faq-a,.field label,.notice{font-size:16px;line-height:1.55}
  .eyebrow{font-size:14px;line-height:1.3;letter-spacing:.04em;gap:9px}
  .eyebrow::before{width:25px}
  .btn{width:100%;min-height:50px;padding:14px 18px;font-size:16px;text-align:center}
  .btn.small{min-height:44px}
  .brand-hero{padding:30px 0 8px}
  .brand-hero .hero-grid{width:calc(100% - 28px)}
  .brand-hero .hero-copy{padding:4px 0 12px}
  .brand-hero h1{font-size:clamp(42px,13vw,56px);line-height:.96;margin-bottom:19px}
  .brand-hero .lead{font-size:18px;line-height:1.45}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:23px}
  .upload-formats{font-size:11px;line-height:1.5;margin-top:2px;text-align:center}
  .hero-note{font-size:14px!important;line-height:1.5;padding:14px 0;margin-top:18px}
  .brand-hero .hero-machine{min-height:285px;margin:0 -14px!important;background-position:center bottom!important;background-size:contain!important}
  .service-strip-grid,.solution-grid,.material-features,.grid3,.grid4,.trust-cards{grid-template-columns:1fr}
  .service-strip a{padding:14px;border-right:0}
  .service-strip b{font-size:18px}
  .solution-card h3{font-size:20px}
  .solution-card p{font-size:16px}
  .solution-visual{height:auto;aspect-ratio:4/3}
  .card,.panel{padding:22px}
  .material-features div{padding:17px}
  .step{padding-left:58px}
  .step::before{font-size:25px}
  .trust-cards>div{padding:22px}
  .cta{padding:26px 22px;border-radius:17px;gap:20px}
  .footer{padding:46px 0}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-logo,.footer-logo img{width:205px}
  .form-grid{grid-template-columns:1fr;gap:14px}
  .field.full{grid-column:auto}
  input,select,textarea{font-size:16px;padding:14px}
  .filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .filter{font-size:14px;padding:11px 10px;width:100%}
  .questionnaire-panel{padding:20px}
  .questionnaire-head{display:block;margin-bottom:24px;padding-bottom:20px}
  .questionnaire-progress{width:100%;margin-top:14px}
  .question-step h2{font-size:29px;line-height:1.08}
  .question-step>p{margin-bottom:20px}
  .answer-grid{grid-template-columns:1fr;gap:10px}
  .answer-card span{padding:16px}
  .answer-card strong{font-size:16px}
  .questionnaire-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:24px;padding-top:20px}
  .questionnaire-controls .btn{padding:12px 10px;font-size:15px}
  #finishQuestionnaire{grid-column:1/-1}
  .questionnaire-summary{padding:20px;margin-top:16px}
  .questionnaire-summary h2{font-size:27px}
  .contact-method-grid{grid-template-columns:1fr}
  .consent-label{font-size:14px;padding:12px}
  .work.big,.work.small,.work.third{min-height:280px}
}

@media (max-width:380px){
  .container{width:calc(100% - 22px)}
  .header .logo,.header .logo img{width:175px;max-width:55vw}
  .lang-switch{font-size:10px}
  .brand-hero h1{font-size:39px}
  .brand-hero .hero-machine{min-height:250px}
  .filters{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Mobile hero — artwork as background behind content */
@media (max-width: 640px) {

  .brand-hero {
    position: relative;
    overflow: hidden;
  }

  .brand-hero .hero-grid {
    position: relative;
    display: block;
  }

  .brand-hero .hero-copy,
  .brand-hero .hero-actions,
  .brand-hero .upload-formats,
  .brand-hero .hero-note {
    position: relative;
    z-index: 3;
  }

  .brand-hero h1 {
    font-size: clamp(36px, 9.8vw, 44px);
    line-height: 0.95;
    letter-spacing: -0.05em;
    max-width: 100%;
    margin-bottom: 16px;
  }

  .brand-hero .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    max-width: 290px;
  }

  .brand-hero .hero-actions .btn {
    width: 290px;
    max-width: 100%;
    min-height: 56px;
    padding: 16px 22px;
    font-size: 15px;
    justify-content: center;
  }

  .brand-hero .upload-formats {
    max-width: 300px;
    font-size: 11px;
    line-height: 1.45;
  }

  .brand-hero .hero-note {
    max-width: 320px;
  }

  .brand-hero .hero-machine {
    display: block !important;
    position: absolute;
    z-index: 1;

    top: 120px;
    right: -4%;

    width: 80%;
    height: 560px;
    min-height: 0;

    margin: 0 !important;

    background-size: contain !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;

    opacity: 0.90;
    filter: brightness(1.08) contrast(1.04) saturate(0.05);

    pointer-events: none;
  }
}

  .brand-hero .hero-actions,
  .brand-hero .upload-formats,
  .brand-hero .hero-note {
    position: relative;
    z-index: 3;
  }
}

.brand-hero h1 {
  font-size: clamp(38px, 10.3vw, 46px);
  line-height: 0.96;
  letter-spacing: -0.05em;
  max-width: 100%;
}

/* Desktop hero positioning */
@media (min-width: 901px) {

  .brand-hero .hero-machine {
    right: -25%;
    top: -5px;

    width: 80%;
    height: 100%;

    background-size: contain !important;
    background-position: right bottom !important;
    background-repeat: no-repeat !important;

    opacity: 1;
    filter: brightness(1.05) contrast(1.03);
  }

}

/* Desktop hero max-width */
@media (min-width: 1001px) {

  .brand-hero .hero-grid {
    width: min(calc(100% - 64px), 1600px);
    margin: 0 auto;
  }

}

/* =========================================================
   CONTACT PAGE v1.0.1
   ========================================================= */

.contact-hero {
  position: relative;
  min-height: 760px;
  padding: 72px 0 84px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 46%, rgba(255, 196, 0, .055), transparent 33%),
    #07090c;
}

.contact-hero-grid {
  width: min(calc(100% - 64px), 1600px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(430px, .78fr) minmax(560px, 1.22fr);
  gap: 34px;
  align-items: center;
}

.contact-copy {
  position: relative;
  z-index: 3;
  max-width: 620px;
}

.contact-copy h1 {
  margin: 0 0 18px;
  font-size: clamp(54px, 5vw, 78px);
  line-height: .95;
  letter-spacing: -.05em;
}

.contact-lead {
  max-width: 570px;
  margin-bottom: 42px;
  color: #a9afb7;
  font-size: 18px;
  line-height: 1.65;
}

.contact-list {
  display: grid;
  gap: 28px;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 20px;
}

.contact-icon {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 11px;
  color: var(--accent);
  font-size: 31px;
  line-height: 1;
  background: rgba(255,255,255,.015);
}

.contact-item-copy {
  display: grid;
  gap: 5px;
}

.contact-label {
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}

.contact-link {
  position: relative;
  width: fit-content;
  color: var(--accent) !important;
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 700;
  line-height: 1.25;
  transition:
    color .2s ease,
    text-shadow .2s ease,
    transform .2s ease;
}

.contact-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -5px;
  height: 1px;
  background: var(--accent);
  transition: right .22s ease;
}

.contact-link:hover {
  color: var(--accent-hover) !important;
  text-shadow: 0 0 18px rgba(255,196,0,.18);
  transform: translateY(-1px);
}

.contact-link:hover::after {
  right: 0;
}

.contact-global-note {
  max-width: 570px;
  margin-top: 42px;
  padding: 22px 25px;
  display: flex;
  gap: 20px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 15px;
  background: rgba(10,13,17,.68);
}

.contact-global-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  color: var(--accent);
  font-size: 36px;
}

.contact-global-note strong {
  display: block;
  margin-bottom: 5px;
  color: #f5f5f3;
  font-size: 17px;
}

.contact-global-note p {
  margin: 0;
  color: #a9afb7;
  font-size: 15px;
  line-height: 1.55;
}

.contact-globe-wrap {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-globe-placeholder {
  width: min(100%, 820px);
  aspect-ratio: 1 / 1;
  position: relative;
  background-image: url('../images/contact-globe-transparent.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  opacity: 0.62;
  filter: brightness(0.82) saturate(0.9);
}

  /* временно, пока на следующем шаге не добавим наш глобус */
  background:
    radial-gradient(circle at center,
      rgba(255,196,0,.08) 0%,
      rgba(30,35,42,.20) 35%,
      rgba(7,9,12,0) 72%);
}


/* ---------- CONTACT TABLET ---------- */

@media (max-width: 1000px) {

  .contact-hero {
    min-height: auto;
    padding: 58px 0 70px;
  }

  .contact-hero-grid {
    width: calc(100% - 40px);
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .contact-copy {
    max-width: 720px;
  }

  .contact-globe-wrap {
    min-height: 440px;
  }

  .contact-globe-placeholder {
    width: min(100%, 720px);
  }
}


/* ---------- CONTACT MOBILE ---------- */

@media (max-width: 640px) {

  .contact-hero {
    padding: 42px 0 54px;
  }

  .contact-hero-grid {
    width: calc(100% - 28px);
  }

  .contact-copy h1 {
    font-size: clamp(42px, 13vw, 56px);
    margin-bottom: 15px;
  }

  .contact-lead {
    margin-bottom: 32px;
    font-size: 16px;
  }

  .contact-lead br {
    display: none;
  }

  .contact-list {
    gap: 22px;
  }

  .contact-item {
    gap: 15px;
  }

  .contact-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    font-size: 25px;
  }

  .contact-label {
    font-size: 15px;
  }

  .contact-link {
    font-size: 18px;
    word-break: break-word;
  }

  .contact-global-note {
    margin-top: 32px;
    padding: 18px;
    gap: 14px;
  }

  .contact-global-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    font-size: 29px;
  }

  .contact-global-note strong {
    font-size: 15px;
  }

  .contact-global-note p {
    font-size: 14px;
  }

  .contact-globe-wrap {
    min-height: 320px;
    margin-top: 4px;
  }

  .contact-globe-placeholder {
    width: 115%;
    max-width: none;
  }
}

.contact-phone {
  color: var(--muted) !important;
  cursor: default;
  font-weight: 500;
}

.contact-phone::after {
  display: none;
}

/* Telegram QR footer v1.1.0 */
.footer-qr{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.footer-qr h3{margin-bottom:4px}
.footer-qr-link{
  display:inline-block;
  padding:8px;
  background:#fff;
  border-radius:12px;
  line-height:0;
  transition:transform .2s ease,box-shadow .2s ease;
}
.footer-qr-link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(255,196,0,.15);
}
.footer-qr-image{
  display:block;
  width:132px;
  height:132px;
  max-width:none;
}
.footer-qr-caption{
  margin:0!important;
  max-width:190px;
  color:var(--muted);
  font-size:14px!important;
  line-height:1.45!important;
}
.footer-qr-handle{
  color:var(--accent)!important;
  font-size:14px!important;
  font-weight:700;
  word-break:break-word;
}
.footer-qr-handle:hover{color:var(--accent-hover)!important}
@media(max-width:900px){
  .footer-qr-image{width:124px;height:124px}
}
@media(max-width:640px){
  .footer-qr{margin-top:4px}
  .footer-qr-image{width:136px;height:136px}
}

.file-upload-title {
    display: block;
    color: #f4c400;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

