@media(max-width:1023px){
  /* figma-canon 1024 (t_745bcc4b): contacts row + form stack; canon 1024 contacts 944x668 stacked */
  /* tablet 768-1023: full nav+actions (812px) exceed 768 viewport — burger menu like <=767 (t_4b417f26) */
  .nav,.header-actions{display:none}
  .burger{display:block}
  .footer-top{flex-direction:column}
  .contacts-card{width:100%;flex:0 0 auto}
  .labs-card{flex:0 0 auto;width:100%}
  .form-grid{flex-direction:column;grid-template-columns:minmax(0,1fr)!important}
  .form-grid>.form-stack{width:100%!important;flex:0 0 auto;min-width:0}

  /* Figma 1024 contract: separate layout, content 944, gutter 40 (NOT scaled 1280) */
  :root{--max:944px}.container{width:min(var(--max),calc(100% - 2*var(--fb-gutter,40px)))}.site-header{height:64px}.logo{width:190px}.nav{gap:15px;font-size:11px}.nav a,.nav button{font-size:11px;line-height:13px}.header-actions .circle-btn:nth-child(2){display:none}.hero-box{height:500px}.hero-copy h1{font-size:44px}.hero--products .hero-copy{top:80px}.hero--products .hero-copy h1{font-size:39px}.career-message{padding-inline:40px}.gallery-grid img{height:170px}.catalogue{grid-template-columns:230px 1fr}
  /* Figma 1024 intro contract: motto text 40/42 teal + 18/22 paragraph, NO logo lockup/vector */
  .intro-grid{display:block}.intro-emblem{display:none}
    .intro-right{max-width:487px;margin-top:32px}
  .intro-right p{font-size:18px;line-height:22px}
  .cert-row{gap:32px;margin-top:32px}
  /* Figma 1024 numbers: cards 240h (auto), number 50/50, media 592x364 */
  .stat-value,.stat-year .stat-value{font-size:50px;line-height:50px}
  .stat{min-height:220px;padding:40px 24px 24px}
  .stat-media{grid-column:auto;min-height:364px;height:364px}
  /* awards 1024: 944x654 same paddings, thanks photo 239x340 */
  .awards-widget{padding:40px 32px}
}
@media(max-width:767px){
  /* Figma 375 contract: content 343 = 375 - 2*16 */
  body{font-size:16px;overflow-x:hidden}.container{width:calc(100% - 2*var(--fb-gutter,16px))}.section{padding:20px 0}.section-lg{padding:28px 0}.site-header{height:var(--header-mobile,64px);position:sticky;top:0}.site-header__in{justify-content:space-between}.logo{width:190px}.nav,.header-actions{display:none}.burger{display:block}.mobile-nav{position:fixed;inset:var(--header-mobile,64px) 0 0;background:#fff;z-index:99;padding:24px;overflow:auto;overscroll-behavior:contain}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}.hero{padding-bottom:18px}.hero-box{height:330px;border-radius:14px}.hero-box:after{background:linear-gradient(0deg,rgba(0,20,30,.62),rgba(0,20,30,.06) 72%)}.hero-copy{left:16px;right:16px;bottom:20px}.hero-copy h1{font-size:29px;line-height:1}.hero-copy p{font-size:13px}.hero--products .hero-box{height:350px}.hero--products .hero-copy{top:46px;left:16px;max-width:270px}.hero--products .hero-copy h1{font-size:28px}.hero--products .hero-copy p{font-size:14px}.hero-search{width:min(260px,100%)}
  /* Figma 375 intro contract: motto 32/34 + paragraph 16/18, cert row hidden in Figma mobile */
  .main-intro{padding:40px 0 0}
  .intro-motto{font-size:32px;line-height:34px;max-width:343px}
  .intro-right{margin-top:24px;max-width:343px}
  .intro-right p{font-size:16px;line-height:18px}
  .cert-row{flex-wrap:wrap;gap:20px;margin-top:24px}
  /* Figma 375 numbers: panel pad 24/16, cards 239w pad 24/16, number 40/42, txt 14/16, dots pager */
  .stats-panel{padding:24px 16px;border-radius:16px;gap:24px}
  .stats-panel h2{font-size:24px;line-height:26px;max-width:193px}
  .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .stat{min-height:0;min-width:0;padding:24px 16px;border-radius:16px}
  .stat-value,.stat-year .stat-value{font-size:40px;line-height:42px;white-space:nowrap}
  .stat-text{font-size:14px;line-height:16px;overflow-wrap:anywhere}
  .stat-media{grid-column:auto;height:210px;min-height:0}
  .stat-year{grid-column:1/-1}
  .stat-year .btn{min-height:56px}
  /* Figma 375 awards: 343x502, pad 24/16, title 24/26 max-w 311, doc 200x282; card stacks column-wise */
  .awards-widget{padding:24px 16px;border-radius:16px;gap:24px}
  .awards-head h2{font-size:24px;line-height:26px}
  .awards-head{flex-direction:column;gap:24px}
  .awards-stage{flex-direction:column;align-items:flex-start;padding:24px 16px;min-height:0;gap:24px}
  .awards-meta h3{font-size:20px;line-height:22px;overflow-wrap:anywhere}
  .awards-meta p{overflow-wrap:anywhere}
  /* career glass: 86px number does not fit 295px card with 20px caption -> shrink both */
  .career-photo__num{height:auto;min-height:96px;padding:16px;gap:12px}
  .career-photo__num strong{font-size:56px}
  .career-photo__num span{font-size:14px;line-height:18px}.cta-water{height:330px}.cta-water__copy{top:20px;left:16px;max-width:250px}.cta-water__copy h2{font-size:22px}.teal-block{padding:12px}.teal-block>.section-title{font-size:17px}.service-grid{grid-template-columns:1fr;gap:5px}.service-card{min-height:150px}.service-card.photo{min-height:210px}.career-banner{grid-template-columns:1fr}.career-copy,.career-photo{min-height:280px}.award-slide{grid-template-columns:1fr 1.2fr;padding:14px 18px;min-height:250px;gap:12px}.award-slide img{height:190px}.award-slide h3{font-size:12px}.award-slide p{font-size:9px}.news-track .slide{flex-basis:78%}.news-card{width:239px;min-width:239px;height:260px;min-height:260px;flex:0 0 239px}.form-head h2{font-size:24px}.form-grid{flex-direction:column}.form-grid>.form-stack:first-child,.form-grid>.form-stack:last-child{width:100%;flex:0 0 auto}.footer-top{flex-direction:column}.contacts-card{width:100%;flex:0 0 auto;min-height:0}.mobile-accordion{display:grid;gap:4px}.mobile-accordion details{background:var(--pale);border-radius:12px;padding:14px}.mobile-accordion summary{font-weight:600;color:#516977}.mobile-accordion p{font-size:10px}.legal-footer__in{grid-template-columns:1fr;gap:7px;text-align:left}.mission{grid-template-columns:1fr;gap:16px}.mission img{height:300px}.capability-grid{grid-template-columns:1fr}.capability-list{grid-template-columns:1fr}.history-grid{grid-template-columns:1fr}.years{display:flex;overflow:auto}.national-award{display:flex;overflow:auto}.national-award>*{min-width:220px}.trust-grid{grid-template-columns:1fr 1fr}.trust-card:nth-child(3){grid-column:1/-1}.trust-strip{grid-template-columns:1fr}.labs-tabs{grid-template-columns:1fr}.labs-tabs__nav{display:flex;overflow:auto}.labs-tabs__nav button{white-space:nowrap}.cabinet{grid-template-columns:1fr}.cabinet img{grid-row:1}.steps-grid{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}.career-hero .hero-box{height:370px}.career-hero .hero-copy{top:auto;left:16px;bottom:18px}.career-hero .hero-copy h1{font-size:24px}.career-tags span{padding:6px 8px;font-size:9px}.career-message{padding:18px 10px}.career-message h2{font-size:22px}.benefit-grid{grid-template-columns:1fr}.mentor{grid-template-columns:1fr}.mentor img{height:240px}.calc-options{grid-template-columns:1fr}.gallery-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.gallery-grid img,.gallery-grid img:nth-child(n+4){min-width:75%;height:220px;scroll-snap-align:start}.catalogue-toolbar{grid-template-columns:minmax(0,1fr)}.mode-tabs{grid-column:1;overflow:auto;max-width:100%}.catalogue-toolbar>.btn{width:100%}.search-line{min-width:0}.catalogue{grid-template-columns:1fr}.category-list{display:flex;overflow:auto;max-width:100%}.category-list button{white-space:nowrap}.catalogue-list{padding:8px;min-width:0}.catalogue-item{grid-template-columns:minmax(0,1fr);padding:16px 10px;min-width:0}.catalogue-item>*{min-width:0}.catalogue-side{border-left:0;border-top:1px solid var(--teal);padding:10px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0}.catalogue-side .add-btn{justify-self:end}.catalogue-price,.price-private{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1023px){html{overflow-x:hidden}}

@media(min-width:1441px){.container{width:min(1440px,calc(100% - 80px))}.hero-box{height:650px}.hero-copy h1{font-size:60px}.hero--products .hero-copy h1{font-size:54px}}
@media(max-width:1100px){.cert-row{flex-wrap:wrap}.history-widget{grid-template-columns:1fr}.history-rail{max-height:none;padding:10px 0;overflow:auto}.history-years{flex-direction:row;transform:none!important}.history-year{width:auto;white-space:nowrap}.history-year.active{transform:scale(1.12)}.step-card{flex-basis:calc((100% - 12px)/2)}.maps-grid{grid-template-columns:1fr}.awards-stage{padding:40px 16px;min-height:420px}.awards-doc{width:239px;height:340px}.awards-meta h3{font-size:20px;line-height:22px}.awards-widget{padding:40px 32px}}
@media(max-width:767px){.cert-row{flex-wrap:wrap;gap:20px!important}.cert-item img{height:50px}.awards-widget{padding:24px 16px;border-radius:16px;gap:24px}.awards-head{flex-direction:column;gap:24px}.awards-stage{padding:24px 16px;min-height:0;gap:24px}.awards-doc{width:200px;height:282px}.awards-meta h3{font-size:20px;line-height:22px}.history-media{min-height:400px}.history-info{left:10px;right:10px;bottom:10px;padding:14px}.history-info h3{font-size:19px}.history-rail{padding:4px 0}.history-years{overflow:auto;padding:10px 4px}.history-year{font-size:17px;padding:9px 13px}.step-card{flex-basis:86%;min-height:220px}.maps-grid{grid-template-columns:1fr}.map-shell{min-height:260px}.fb-viewer__prev{left:8px}.fb-viewer__next{right:8px}.fb-viewer__close{top:12px;right:12px}.fb-viewer__caption{max-width:88vw;font-size:11px}.service-card.photo{min-height:240px}.awards-filters{gap:6px}.awards-filter{padding:7px 11px}.awards-controls button{width:40px;height:40px}.awards-count{font-size:11px}.awards-meta p{font-size:16px;line-height:18px}.footer-top{flex-direction:column!important}.contacts-card,.labs-card,.callback{width:100%!important;flex:0 0 auto!important}.form-grid{flex-direction:column!important}.form-grid>.form-stack{width:100%!important;flex:0 0 auto!important}.topbar{padding:0 12px}.topTitle{font-size:17px}.kpi{padding:12px}.kpi .value{font-size:22px}.content{padding:14px 12px 40px}}

/* ── Figma production adaptive coverage (news, staff cards, galleries) ── */
@media(max-width:1100px){
 .news-grid{grid-template-columns:repeat(2,1fr)}
 .news-card{min-height:170px;padding:15px}
 .awards-head h2{font-size:20px}
 .section-title{font-size:22px}
}
@media(max-width:767px){
 .news-grid,.employees-grid,.hero-stats,.benefits-grid,.faq-list{grid-template-columns:1fr!important}
 .news-card{min-height:0;padding:14px}
 .news-card h3{font-size:15px}
 .section-title{font-size:19px;letter-spacing:0}
 .page-head h2{font-size:20px}
 .hero h1{font-size:26px}
 .hero-box{grid-template-columns:1fr}
 .awards-head{flex-direction:column;align-items:flex-start}
 .awards-head .btn{align-self:flex-start}
 .steps-track{gap:10px}
 table{font-size:12px}
 .table-wrap{overflow-x:auto}
}

/* figma-canon 1024 (t_745bcc4b): MQ boundary — the 1023 block misses the exact 1024 viewport (scrollbar), so contacts/form stacking lives here */
@media(max-width:1024px){
  .footer-top{flex-direction:column}
  .contacts-card{width:100%;flex:0 0 auto}
  .labs-card{flex:0 0 auto;width:100%}
  .form-grid{flex-direction:column;grid-template-columns:minmax(0,1fr)!important}
  .form-grid>.form-stack{width:100%!important;flex:0 0 auto;min-width:0}
}
/* figma-canon (t_fa37e048): nav 16px (6f215ec) needs 1107px; band 1024-1180 must shrink nav so header fits (no h-scroll on small desktop) */
@media(max-width:1180px) and (min-width:1024px){
  .nav{gap:12px}
  .nav a,.nav button{font-size:13px;line-height:15px}
  .logo{width:190px}
}

/* figma-canon 375 (t_745bcc4b): form foot + labs grid + callback + footer stacking */
@media(max-width:767px){

/* figma-canon 375 (t_745bcc4b): form foot row + labs grid + callback + footer stack */
  .checks{grid-column:1/-1;grid-row:2}
  .form-actions{grid-column:1/-1;grid-row:3}
  .form-status{grid-column:1/-1;grid-row:4}
  .labs-grid{grid-template-columns:1fr!important}
  .callback{flex-direction:column!important;align-items:flex-start!important;padding:24px 16px!important;width:calc(100% - 0px)!important}
  .contacts-card{padding:24px 16px!important}
  .labs-card{padding:24px 16px!important}
  .callback .btn{width:100%;justify-content:center}
  .legal-footer__in{flex-direction:column;align-items:flex-start;gap:16px}
  .legal-footer__in .legal-links{max-width:100%}
}