/* Shared finishing rules. Photo content stays visible at every breakpoint. */
:focus-visible{outline:3px solid #ff9a7d!important;outline-offset:4px}
img{max-width:100%}
[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;padding:12px 18px;background:#fff;color:#111;transform:translateY(-160%);border-radius:8px}.skip-link:focus{transform:none}
main{scroll-margin-top:110px}
[data-reveal],.service-detail-page .reveal{opacity:1!important;transform:none!important}
.zrk-header .logo{height:52px!important;width:auto!important;max-width:none}
.engraving-hero__inner,.engraving-request,.engraving-calc-form,.engraving-calc,.engraving-hero__inner>div{min-width:0}
.engraving-hero-photo{margin:0!important;width:100%;min-width:0;height:auto!important;min-height:0!important;align-self:center}
.engraving-hero-photo:after{display:none!important}
.engraving-hero-photo img{width:100%!important;height:auto!important;object-fit:contain!important;display:block}
.engraving-gallery__item img{width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important}
.engraving-gallery__item{height:auto!important;aspect-ratio:auto!important;align-self:start}
.service-detail-page .service-visual--photo>img{object-fit:contain!important;transform:none!important;filter:none!important}
.service-detail-page .service-visual--photo{background:#101216}
.service-detail-page .service-art-showcase .art-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:16px}
.service-detail-page .art-showcase-card{aspect-ratio:auto!important;display:flex;flex-direction:column;width:100%;height:auto!important;min-height:0!important;margin:0!important;align-self:start}
.service-detail-page .art-showcase-card img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important}
.service-detail-page .art-showcase-card:after{display:none!important}
.service-detail-page .art-showcase-card figcaption{position:static!important;padding:14px 16px;background:#111318}
.site-page .portfolio-tile{height:auto!important;aspect-ratio:auto!important}
.site-page .portfolio-tile img{width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important}
.map-placeholder{min-height:220px;display:grid;place-items:center;padding:32px;text-align:center;background:#111318;color:#e4e4e8;border-radius:20px}
.map-placeholder p{max-width:42ch}.map-placeholder button{min-height:48px;padding:12px 20px;border:1px solid #6b6b76;border-radius:12px;background:#24242c;color:white;font:inherit;cursor:pointer}
.release-form-status{padding:14px 16px;border:1px solid #666;border-radius:12px;line-height:1.5;margin:12px 0;background:#17171d;color:#fff}.release-form-status.error{border-color:#ff8d8d}.release-form-status.ok{border-color:#80dba1}
@media(max-width:1100px){.zrk-header .nav-left,.zrk-header .nav-right{gap:12px!important}.zrk-header .nav-left a,.zrk-header .nav-right a{font-size:12px!important}}
@media(max-width:820px){
 .engraving-hero__inner,.engraving-request{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 .engraving-hero,.engraving-content{padding-left:18px!important;padding-right:18px!important}
 .engraving-request{padding:24px 18px!important;width:100%!important;margin-left:0!important;margin-right:0!important}
 .engraving-hero h1{font-size:clamp(32px,8vw,52px)!important;overflow-wrap:anywhere}
 .engraving-calc-grid,.engraving-form-grid{grid-template-columns:minmax(0,1fr)!important}
 .engraving-calc__head{flex-wrap:wrap;gap:12px}.engraving-calc{padding:18px!important}
 
 .zrk-header .logo{height:40px!important}
 input,select,textarea{font-size:16px!important;min-width:0;max-width:100%}
}
@media(max-width:480px){.engraving-calc__result strong{font-size:32px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
.service-detail-page .service-visual--photo>img{width:100%!important;height:100%!important}
main section,main article,main figure,main form,main [class*="grid"]>*{min-width:0}
main h1,main h2,main h3{overflow-wrap:break-word}
@media(max-width:820px){
 .service-detail-page .service-hero{grid-template-columns:minmax(0,1fr)!important;padding-left:18px!important;padding-right:18px!important}
 .service-detail-page .service-hero h1{font-size:clamp(34px,9vw,58px)!important;overflow-wrap:anywhere}
 .home-page .hero h1{font-size:clamp(36px,10vw,64px)!important;overflow-wrap:anywhere}
 .home-page .hero-content{grid-template-columns:minmax(0,1fr)!important}
 .service-detail-page .series-hero-grid{grid-template-columns:minmax(0,1fr)!important}
 .service-detail-page .series-hero-card--product img{width:auto!important;height:auto!important;max-width:100%!important}
}
.service-detail-page .service-story__media{min-width:0!important;width:100%!important}
.service-detail-page .service-story__media img{min-width:0!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important}
.service-detail-page .service-story__media{height:auto!important;min-height:0!important}
.service-detail-page .service-wide>*{min-width:0}
.home-page .filebox{position:relative}.home-page .filebox input[type=file]{inset:0!important;width:100%!important;max-width:100%!important;height:100%!important}
@media(max-width:820px){.home-page .engraving--visual{grid-template-columns:minmax(0,1fr)!important}.home-page .engraving-media-card{min-width:0!important;width:100%!important}.home-page .engraving-media-card img{width:100%!important}}
.service-detail-page .service-story__item{margin:0!important;min-width:0!important}

/* One header offset, compact hero spacing and natural photo height. */
body.engraving-page{padding-top:0!important}
main.engraving-page{padding-top:80px!important}
.engraving-hero{padding-top:38px!important;padding-bottom:24px!important}
.engraving-hero h1{font-size:clamp(40px,4.3vw,72px)!important;overflow-wrap:normal;margin-top:18px;max-width:none}
.service-detail-page .service-hero .service-visual--photo{height:auto!important;min-height:0!important;align-self:center}
.service-detail-page .service-hero .service-visual--photo>img{height:auto!important;width:100%!important}
@media(max-width:900px){.engraving-hero{padding-top:28px!important}.engraving-hero h1{font-size:clamp(32px,7.8vw,52px)!important;overflow-wrap:break-word}}
.service-detail-page .service-hero h1{font-size:clamp(40px,4.3vw,64px)!important;overflow-wrap:normal;word-break:normal}
@media(max-width:820px){.service-detail-page .service-hero h1{font-size:clamp(32px,8.5vw,52px)!important;overflow-wrap:break-word}}

/* Aligned gallery rows follow each photograph's native ratio. */
.service-detail-page .art-showcase-row{display:grid;gap:16px;align-items:start;min-width:0}
.service-detail-page .art-showcase-row--three{grid-template-columns:1.77665fr 1fr 1.33333fr}
.service-detail-page .art-showcase-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-detail-page .art-showcase-card figcaption{min-height:48px;display:flex;align-items:center}
.home-page .portfolio-entry-section{padding-top:72px!important;padding-bottom:72px!important}
.home-page .portfolio-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:center;padding:32px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#101014}
.home-page .portfolio-entry__copy h2{font-size:clamp(32px,3.8vw,54px);line-height:1.06;letter-spacing:-.035em;margin:12px 0 20px}
.home-page .portfolio-entry__copy p{font-size:17px;line-height:1.65;color:#d0d0d8;margin:0 0 14px;max-width:48ch}
.home-page .portfolio-entry__copy .portfolio-entry__hint{font-size:14px;color:#aeb0bc}
.home-page .portfolio-entry__photo{display:block;min-width:0}
.home-page .portfolio-entry__photo figure{margin:0;overflow:hidden;border-radius:18px;background:#16161c}
.home-page .portfolio-entry__photo img{display:block;width:100%;height:auto;object-fit:contain}
.home-page .portfolio-entry__photo figcaption{padding:12px 16px;color:#cfd0d8;font-size:12px;line-height:1.45}
.home-page .portfolio-entry .btn{gap:12px}
.home-page .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}
.home-page .footer-links{display:flex!important;flex-wrap:wrap;gap:12px 16px;align-items:baseline;align-content:flex-start;justify-content:flex-end;align-self:start}
.home-page .footer-links>*{flex:0 0 auto;line-height:1.45;white-space:nowrap;vertical-align:baseline}
.home-page .footer-links [data-cookie-settings]{font:inherit;line-height:1.45;text-align:left;display:inline-block;align-self:baseline;margin:0;padding:0;border:0;height:auto;min-height:0;background:none}
@media(max-width:1080px){.home-page .footer-grid{grid-template-columns:minmax(0,1fr)}.home-page .footer-links{justify-content:flex-start}}
@media(max-width:820px){.home-page .portfolio-entry{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}.home-page .portfolio-entry-section{padding:48px 0!important}.service-detail-page .art-showcase-row{gap:10px}.service-detail-page .art-showcase-card figcaption{padding:10px;font-size:11px}}
@media(max-width:560px){.service-detail-page .art-showcase-row--three,.service-detail-page .art-showcase-row--two{grid-template-columns:minmax(0,1fr)}.service-detail-page .art-showcase-card figcaption{min-height:42px}.home-page .footer-links{gap:10px 14px}}

/* Keep complete photographs visible when a gallery card is hovered. */
.engraving-page .engraving-gallery__item:hover>img,.site-page .portfolio-tile:hover img{transform:none!important}

/* v38 — unified desktop header, services icon cards, and spacing fixes */
@media (min-width:1081px){
  header.zrk-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:100!important;
    height:82px!important;
    min-height:82px!important;
    padding:0 max(24px,calc((100vw - 1320px)/2))!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:22px!important;
    background:rgba(9,9,11,.86)!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    backdrop-filter:blur(16px)!important;
  }
  header.zrk-header .nav-left{
    justify-self:start!important;
    display:flex!important;
    align-items:center!important;
    gap:22px!important;
  }
  header.zrk-header .logo-center{
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
  }
  header.zrk-header .logo-center img.logo,
  header.zrk-header .logo{
    display:block!important;
    height:46px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  header.zrk-header .header-right{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    min-width:0!important;
  }
  header.zrk-header .nav-right{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:22px!important;
  }
  header.zrk-header .nav-left a,
  header.zrk-header .nav-right a{
    display:inline-flex!important;
    align-items:center!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#d7d7dc!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:720!important;
    white-space:nowrap!important;
    transition:color .2s ease!important;
  }
  header.zrk-header .nav-left a:hover,
  header.zrk-header .nav-right a:hover,
  header.zrk-header .nav-left a.active,
  header.zrk-header .nav-right a.active{
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
  }
  header.zrk-header .phone{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#f5f5f2!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  header.zrk-header .phone:hover{
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    transform:none!important;
  }
  header.zrk-header .header-mini-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:0 16px!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#cf352d!important;
    color:#fff!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:850!important;
    white-space:nowrap!important;
    box-shadow:none!important;
    transition:background .2s ease,transform .2s ease!important;
  }
  header.zrk-header .header-mini-cta:hover{
    background:#d93f36!important;
    transform:translateY(-1px)!important;
  }
  header.zrk-header .burger-btn,
  header.zrk-header .mobile-menu{display:none!important;}
}

/* Services: every 3D icon uses the same framed presentation as the laser-cutting card. */
.site-page .service-card .card-right{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  overflow:visible!important;
  background:transparent!important;
}
.site-page .service-card .service-icon,
.site-page .service-card--engraving .service-icon{
  box-sizing:border-box!important;
  width:146px!important;
  height:146px!important;
  max-width:100%!important;
  max-height:146px!important;
  padding:10px!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:18px!important;
  background:#17181d!important;
  opacity:1!important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.56))!important;
  transform:none!important;
  transition:transform .22s ease,filter .22s ease!important;
}
.site-page .service-card:hover .service-icon,
.site-page .service-card--engraving:hover .service-icon{
  transform:translateY(-2px) scale(1.025)!important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.62))!important;
}
.site-page .service-title{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.site-page .service-card[href="welding.html"] .card-left{width:64%!important;}
.site-page .service-card[href="welding.html"] .card-right{width:36%!important;}
.site-page .service-card[href="welding.html"] .service-title{
  font-size:19px!important;
  letter-spacing:-.015em!important;
}

/* CTA under the "Как мы работаем" list: add breathing room. */
.site-page .about-grid .card > .btn{margin-top:22px!important;}

@media(max-width:820px){
  .site-page .service-card .card-left,
  .site-page .service-card .card-right,
  .site-page .service-card[href="welding.html"] .card-left,
  .site-page .service-card[href="welding.html"] .card-right{width:100%!important;}
  .site-page .service-card .service-icon,
  .site-page .service-card--engraving .service-icon{
    width:132px!important;
    height:132px!important;
    max-height:132px!important;
  }
}

/* Match the homepage breakpoint: compact burger header at 1080 px and below. */
@media(max-width:1080px){
  header.zrk-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:100!important;
    height:82px!important;
    min-height:82px!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:10px!important;
    background:rgba(9,9,11,.86)!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    backdrop-filter:blur(16px)!important;
  }
  header.zrk-header .nav-left,
  header.zrk-header .header-right{display:none!important;}
  header.zrk-header .logo-center{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
  }
  header.zrk-header .logo-center img.logo,
  header.zrk-header .logo{
    display:block!important;
    height:46px!important;
    width:auto!important;
    max-width:110px!important;
    margin:0!important;
  }
  header.zrk-header .burger-btn{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    display:flex!important;
    width:42px!important;
    height:42px!important;
    padding:9px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:50%!important;
    background:transparent!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
  }
  header.zrk-header .burger-btn span{width:20px!important;height:2px!important;}
  header.zrk-header .mobile-menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:24px!important;
    right:24px!important;
    display:none!important;
    flex-direction:column!important;
    gap:2px!important;
    padding:12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:18px!important;
    background:#111318!important;
    box-shadow:0 24px 60px rgba(0,0,0,.7)!important;
  }
  header.zrk-header .mobile-menu.is-open{display:flex!important;}
  header.zrk-header .mobile-menu a{
    display:block!important;
    min-height:40px!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#f5f5f2!important;
    font-size:14px!important;
    font-weight:750!important;
  }
  header.zrk-header .mobile-menu a:hover{background:#1a1c22!important;}
}
@media(max-width:720px){
  header.zrk-header{
    height:70px!important;
    min-height:70px!important;
    padding:0 14px!important;
  }
  header.zrk-header .logo-center img.logo,
  header.zrk-header .logo{height:40px!important;max-width:96px!important;}
  header.zrk-header .burger-btn{width:40px!important;height:40px!important;}
  header.zrk-header .mobile-menu{left:14px!important;right:14px!important;}
}
