@media (max-width:1100px){
/* MARMELADOV mobile v62 overrides */
:root{scroll-padding-top:12px}body{overflow-x:hidden}.wrap{width:calc(100% - 30px);max-width:none}.header.wrap{position:absolute!important;z-index:50;top:0;left:0;width:100%;height:64px;margin:0;padding:0 15px;border:0;border-bottom:1px solid rgba(255,255,255,.18);border-radius:0;background:linear-gradient(180deg,rgba(5,8,10,.94),rgba(5,8,10,.4));box-shadow:none;transform:none}.headerBrand img{width:132px;height:auto}.headerContact{display:none!important}.header nav{display:none;position:absolute;left:15px;right:15px;top:58px;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(8,12,15,.97);box-shadow:0 14px 30px rgba(0,0,0,.35)}.header.header--menuOpen nav{display:flex;flex-direction:column;gap:2px}.header.header--menuOpen nav a{padding:11px 10px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}.header.header--menuOpen nav a:last-child{border-bottom:0}.mobileMenuToggle{display:flex;position:absolute;right:15px;top:18px;width:32px;height:28px;padding:3px 0;border:0;background:transparent;flex-direction:column;justify-content:space-between;cursor:pointer}.mobileMenuToggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff}.hero{min-height:520px;align-items:flex-end}.heroContent{padding:105px 15px 30px;max-width:none}.hero h1{max-width:94%;font-size:clamp(28px,8vw,33px);line-height:1.06;letter-spacing:-.035em}.hero p{max-width:72%;font-size:14px;line-height:1.35}.actions{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.actions .button{min-height:42px;padding:0 15px;font-size:12px}.actions .textLink{font-size:12px}.trustGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px;padding:20px 15px}.logos{grid-column:1/-1;min-width:0;overflow:hidden}.logos small{display:block;margin-bottom:8px;font-size:11px}.trustedLogos{display:block;width:620px;max-width:none;height:auto;animation:mobileLogosMarquee 26s linear infinite}@keyframes mobileLogosMarquee{0%,12%{transform:translateX(0)}88%,100%{transform:translateX(-230px)}}.metric{text-align:center;min-width:0}.metricNumber{font-size:24px;line-height:1}.metric p{font-size:10px;line-height:1.25;margin-top:6px}.section{padding-top:58px}.sectionHead{min-height:auto;margin-bottom:18px;padding-top:0}.sectionHead:before{display:none}.sectionHead h2{font-size:28px;line-height:1.08}.sectionHead p{font-size:12px;line-height:1.3;margin-top:8px}.sectionHead .word{font-size:11px}.serviceGrid,.caseGrid{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% - 42px);grid-template-columns:none;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 8px}.serviceGrid::-webkit-scrollbar,.caseGrid::-webkit-scrollbar{display:none}.service,.case{scroll-snap-align:start;min-width:0}.service{min-height:188px}.serviceContent{padding:18px}.serviceContent h3{font-size:18px}.serviceContent p{max-width:62%;font-size:12px;line-height:1.35}.serviceContent>a{width:38px;height:24px;display:grid;place-items:center}.caseMedia{height:200px}.caseBody{min-height:120px;padding:14px}.caseBody h3{font-size:18px}.processGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.step{text-align:center;min-width:0}.stepIcon{margin:0 auto 8px}.step h3{font-size:14px}.step p{font-size:10px;line-height:1.25}.step:after{display:block;position:absolute;top:28px;right:-3px;width:10px;height:1px;background:rgba(255,255,255,.22)}.step:last-child:after{display:none}.teamGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.teamCard{min-height:180px;border-radius:12px;padding:10px}.teamCard summary img{width:58px;height:58px}.teamCard summary strong{font-size:11px;line-height:1.15}.teamCard summary small{font-size:9px}.teamCard p{font-size:10px;line-height:1.25}.reviewCarousel{position:relative}.reviewControls{position:absolute;right:0;top:-8px;margin:0;z-index:2}.reviewControls button{width:28px;height:28px}.reviewGrid{grid-auto-columns:calc(100% - 42px);margin-right:-15px;padding-right:15px;gap:12px}.reviewCard{min-height:360px;padding:18px}.reviewTextWrap{max-height:130px;overflow:hidden}.reviewCard p{font-size:12px;line-height:1.4}.cta{margin-top:36px}.ctaSetVisual{display:none}.ctaStory{min-height:0}.ctaIntro{padding:20px}.ctaIntro h2{font-size:23px}.cta form{padding:18px;gap:10px}.ctaAddress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:10px}.ctaAddress>*{min-width:0}.cta input,.cta textarea{font-size:13px}.footer{min-height:0;margin-top:28px;padding:18px 15px;display:grid;grid-template-columns:auto 1fr;gap:8px}.footer .brand img{width:112px}.footerLegal{font-size:10px;gap:0;justify-content:flex-end;align-items:center}.footerLegal a{display:none}
@media(max-width:380px){.teamGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mobile services: restore the original vertical reading order. */
@media (max-width: 1100px){
  .serviceGrid{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .service{
    width:100%!important;
    min-width:0!important;
    scroll-snap-align:none!important;
  }
}

/* v63.1 final-35: animate the mobile menu out before hiding it. */
@media (max-width:1100px){
  .header.header--menuOpen.header--menuClosing nav{
    pointer-events:none!important;
    animation:mobileMenuHide .28s cubic-bezier(.55,.05,.8,.35) both!important;
  }
  .header.header--menuOpen.header--menuClosing nav a{
    animation:mobileMenuItemHide .18s ease-in both!important;
  }
  .header.header--menuOpen.header--menuClosing nav a:nth-child(5){animation-delay:.02s!important}
  .header.header--menuOpen.header--menuClosing nav a:nth-child(4){animation-delay:.05s!important}
  .header.header--menuOpen.header--menuClosing nav a:nth-child(3){animation-delay:.08s!important}
  .header.header--menuOpen.header--menuClosing nav a:nth-child(2){animation-delay:.11s!important}
  .header.header--menuOpen.header--menuClosing nav a:nth-child(1){animation-delay:.14s!important}
}
@keyframes mobileMenuHide{
  from{opacity:1;transform:translateY(0) scaleY(1)}
  to{opacity:0;transform:translateY(-12px) scaleY(.96)}
}
@keyframes mobileMenuItemHide{
  from{opacity:1;transform:translateX(0)}
  to{opacity:0;transform:translateX(22px)}
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  .header.header--menuOpen.header--menuClosing nav,
  .header.header--menuOpen.header--menuClosing nav a{animation:none!important}
}

/* v63.1 final-34: keep the menu item reveal inside the viewport. */
@media (max-width:1100px){
  .header.header--menuOpen nav{
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }
}

/* v63.1 final-39: reveal service cards only when their grid enters the viewport. */
@media (max-width:1100px){
  body.mobileRevealReady #services.mobileRevealBlock .service{
    opacity:0!important;
    filter:blur(8px)!important;
    transform:translateY(28px)!important;
    animation:none!important;
    transition:opacity .78s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1),filter .78s cubic-bezier(.16,1,.3,1)!important;
  }
  body.mobileRevealReady #services.mobileRevealBlock.mobileServiceCardsVisible .service{
    opacity:1!important;
    filter:blur(0)!important;
    transform:translateY(0)!important;
  }
  body.mobileRevealReady #services.mobileRevealBlock.mobileServiceCardsVisible .service:nth-child(1){transition-delay:.12s!important}
  body.mobileRevealReady #services.mobileRevealBlock.mobileServiceCardsVisible .service:nth-child(2){transition-delay:.26s!important}
  body.mobileRevealReady #services.mobileRevealBlock.mobileServiceCardsVisible .service:nth-child(3){transition-delay:.4s!important}
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  body.mobileRevealReady #services.mobileRevealBlock .service,
  body.mobileRevealReady #services.mobileRevealBlock.mobileServiceCardsVisible .service{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
  }
}

/* v63.1 metrics: equal columns, centered values, separators on boundaries */
@media (max-width:1100px){
  .trustGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:0!important;width:100%!important}
  .trustGrid .metric{width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important}
  .trustGrid .metricNumber,.trustGrid .metric>span:not(.metricNumber),.trustGrid .metric>p{display:block!important;width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
  .trustGrid .metric:not(:last-child)::after{right:0!important;top:2px!important;height:66px!important;pointer-events:none!important}
}

/* v63.1: finish the vertical process connector at the third icon center */
  @media (max-width:1100px){
     .processGrid:before{bottom:66px!important}
  }

  /* v63.1: keep collapsed review copy clean, with an explicit ellipsis-safe clamp */
  @media (max-width:1100px){
    .reviewTextWrap{max-height:260px!important;overflow:hidden!important;position:relative!important}
    .reviewTextWrap blockquote{
      display:-webkit-box!important;
      -webkit-box-orient:vertical!important;
      -webkit-line-clamp:9!important;
      overflow:hidden!important;
      margin:0!important;
    }
    .reviewCard.isExpanded .reviewTextWrap blockquote{
      display:block!important;
      -webkit-line-clamp:unset!important;
      overflow:visible!important;
    }
  }

/* v63.1: final mobile alignment and copy corrections */
@media (max-width:1100px){
  /* Center the hero copy block vertically within the image. */
  .hero{align-items:center!important;min-height:500px!important}
  .heroContent{padding:64px 15px 42px!important;justify-content:center!important}
  .hero .lead{max-width:232px!important;width:232px!important}
  .hero .lead br{display:block!important}

  /* Keep the metrics separator close to the metrics, with no duplicate 98% copy. */
  .trustGrid{padding-bottom:10px!important}
  .trustGrid .metric:last-child p::after,
  .trustGrid .metric:last-child>span:not(.metricNumber)::after{content:none!important;display:none!important}
  .trustGrid .metric:last-child p{font-size:10px!important}

  /* Mobile service copy follows the title width and requested line rhythm. */
  .serviceContent p{max-width:178px!important}
  .service:nth-child(2) .serviceContent p{max-width:174px!important}
  .service:nth-child(3) .serviceContent p{max-width:180px!important}
  .serviceContent p br{display:block!important}

  /* The process connector stops at the final icon. */
  .processGrid:before{bottom:74px!important}

  /* Reviews end with a clean clamp ellipsis, without the old fade block. */
  .reviewTextWrap{max-height:240px!important}
  .reviewTextWrap:after{display:none!important;opacity:0!important}
  .reviewTextWrap blockquote{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:9!important;overflow:hidden!important}
  .reviewCard.isExpanded .reviewTextWrap blockquote{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}

  /* Contact icons are centered in their circles and grouped evenly. */
  .cta address{justify-content:center!important;gap:14px!important}
  .cta address a{display:grid!important;place-items:center!important;margin:0!important}
  .cta address a .contactIcon{display:block!important;margin:0!important;transform:none!important;line-height:1!important}

  /* Center the complete footer stack. */
  .footer{justify-items:center!important;text-align:center!important}
  .footer .brand{justify-self:center!important}
  .footer .social{justify-content:center!important;justify-self:center!important}
  .footerLegal{justify-content:center!important;text-align:center!important}
}

/* v63 restored iPhone layout: stable first frame and compact, readable sections. */
@media (max-width:1100px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .hero{min-height:500px!important}
  .heroContent{padding:76px 15px 26px!important;align-self:stretch;justify-content:flex-end}
  .hero h1{max-width:90%!important;font-size:clamp(28px,8vw,34px)!important;line-height:1.04!important}
  .hero p{max-width:76%!important;font-size:14px!important;line-height:1.35!important}
  .actions .textLink{display:none!important}
  .trustGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:6px!important;row-gap:12px!important;padding:18px 15px 14px!important}
  .trustGrid .logos{grid-column:1/-1!important;transform:none!important;margin:0!important;padding:0!important}
  .logos small{position:static!important;display:block!important;margin:0 0 5px!important;font-size:12px!important}
  .logosTrack{display:flex!important;width:max-content!important;animation:mobileLogosFlow 22s linear infinite!important}
  .logosTrack .trustedLogos{margin:5px 0 0!important;transform:none!important;animation:none!important}
  .trustedLogos{width:620px!important;max-width:none!important}
  .trustGrid .metric{min-width:0!important;display:flex!important;align-items:center!important;text-align:center!important;position:relative!important}
  .trustGrid .metricNumber{width:100%!important;height:28px!important;font-size:24px!important;line-height:1!important;justify-content:center!important}
  .trustGrid .metric>span:not(.metricNumber){display:block!important;width:100%!important;max-width:72px!important;margin:6px auto 0!important;font-size:10px!important;line-height:1.25!important;text-align:center!important}
  .trustGrid .metric:last-child>span:not(.metricNumber){font-size:0!important}
  .trustGrid .metric:last-child>span:not(.metricNumber)::after{content:"клиентов рекомендуют";font-size:10px!important;line-height:1.25!important}
  .trustGrid .metric:not(:last-child)::after{top:28px!important;right:-4px!important;height:56px!important;width:1px!important;background:rgba(210,216,218,.24)!important}
  .caseGrid{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:calc(100% - 42px)!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-padding-left:0!important;padding:0 0 8px!important}
  .case{scroll-snap-align:start!important;min-width:0!important}
  .caseBody{min-height:150px!important;padding:14px!important;display:flex!important;flex-direction:column!important}
  .caseBody button{margin-top:auto!important}
  .processGrid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;position:relative!important;padding:8px 0 4px!important}
  .processGrid:before{left:26px!important;right:auto!important;top:38px!important;bottom:38px!important;width:1px!important;height:auto!important;background:rgba(255,90,0,.65)!important}
  .processGrid .step{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;column-gap:12px!important;min-height:112px!important;padding:12px 0!important;text-align:left!important}
  .processGrid .stepIcon{grid-column:1!important;grid-row:1 / span 2!important;width:52px!important;height:52px!important;margin:0!important;z-index:2!important}
  .processGrid .step strong{display:none!important}
  .processGrid .step h3{grid-column:2!important;grid-row:1!important;font-size:15px!important;line-height:1.2!important;margin:2px 0 6px!important}
  .processGrid .step p{grid-column:2!important;grid-row:2!important;font-size:11px!important;line-height:1.35!important;margin:0!important}
  .teamGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .teamCard{min-height:180px!important;padding:10px 6px!important}
  .teamCard summary img{width:58px!important;height:58px!important}
  .reviewControls{display:none!important}
  .reviewCard blockquote,.reviewCard p{margin-block:0!important}
  .reviewTextWrap{max-height:260px!important}
  .cta address{display:flex!important;flex-direction:row!important;justify-content:space-evenly!important;align-items:center!important;gap:0!important}
  .cta address a{margin:0!important}
  .footer{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important}
  .footer .social{justify-content:center!important}
  .footerLegal{justify-content:center!important;text-align:center!important}
}

/* v62 mobile vertical process flow and tighter trust strip */
@media (max-width:1100px){
  .trustGrid .logos{
    transform:translateY(6px)!important;
    margin-bottom:-6px!important;
  }
  .processGrid{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:8px 0 4px!important;
  }
  .processGrid:before{
    left:20px!important;
    right:auto!important;
    top:28px!important;
    bottom:28px!important;
    width:1px!important;
    height:auto!important;
  }
  .processGrid .step{
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-rows:auto auto 1fr!important;
    column-gap:12px!important;
    min-height:92px!important;
    padding:10px 0!important;
    text-align:left!important;
  }
  .processGrid .stepIcon{grid-column:1!important;grid-row:1 / span 3!important}
  .processGrid .step strong,.processGrid .step h3,.processGrid .step p{grid-column:2!important}
  .processGrid .step:after{display:none!important}
}

/* v63 mobile CTA contacts: larger centered icons and compact trailing space. */
@media (max-width:1100px){
  .cta>address,
  .cta address{width:calc(100% - 36px)!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-evenly!important;gap:0!important;margin:0 auto!important;padding:8px 0 4px!important;min-height:0!important;text-align:center!important}
  .cta address a{min-width:40px!important;min-height:40px!important;width:40px!important;height:40px!important}
  .cta address a{justify-content:center!important;align-items:center!important;text-align:center!important;margin:0!important}
  .cta address a .contactIcon{width:24px!important;height:24px!important;font-size:24px!important}
  .cta{padding-bottom:8px!important}
}

/* Mobile metrics: equal columns with quiet separators. */
@media (max-width: 1100px){
  .trustGrid .metric{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:58px!important;
  }
  .trustGrid{column-gap:18px!important}
  .trustGrid .metric:not(:last-child)::after{
    content:"";
    position:absolute;
    top:20px;
    right:-10px;
    width:1px;
    height:56px;
    background:rgba(210,216,218,.24);
  }
  .trustGrid .metricNumber{
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }
  .trustGrid .metric p{
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:6px 0 0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    text-align:center!important;
  }
  /* Individual optical corrections for the three separators. */
  .trustGrid .metric:nth-child(2)::after{right:-8px!important}
  .trustGrid .metric:nth-child(3)::after{right:-4px!important}
  .trustGrid .metric:nth-child(4)::after{right:-4px!important}
  .trustGrid .metric:nth-child(2)::after,
  .trustGrid .metric:nth-child(3)::after,
  .trustGrid .metric:nth-child(4)::after{
    top:20px!important;
    height:56px!important;
    width:1px!important;
    display:block!important;
  }
}

/* v62 refinement pass */
@media (max-width:1100px){
  .header nav{top:64px;padding:14px 12px;gap:6px;border-radius:14px}
  .header.header--menuOpen nav a{padding:14px 12px;font-size:16px;line-height:1.2;border-bottom:0!important}
  .hero{min-height:430px}
  .heroContent{padding-top:30px;padding-bottom:20px}
  .actions .textLink{display:none!important}
  .trust{margin-top:0!important}
  .logos{padding-top:10px;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.02em}
  .logos small{display:block!important;margin:0 0 8px!important;font-size:12px!important;line-height:1.4!important;transform:none!important;opacity:1!important}
  .logosTrack{display:flex;width:max-content;gap:0;animation:mobileLogosFlow 18s linear infinite}
  .logosTrack .trustedLogos{flex:0 0 auto;margin-top:12px;animation:none}
  @keyframes mobileLogosFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .trustGrid{padding-top:14px;gap:14px 8px}
  .metricNumber{display:flex;justify-content:center;align-items:center}
  .metric p{max-width:70px;margin-inline:auto}
  .metric p{min-height:25px;display:flex;align-items:flex-start;justify-content:center}
  .metric:last-child p{font-size:0}
  .metric:last-child p::after{content:"клиентов рекомендуют";font-size:10px;line-height:1.25}
  .processGrid{display:grid!important;width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;align-items:start}
  .step{position:relative;min-width:0;padding:8px 0;text-align:center;overflow-wrap:break-word}
  .step:after{display:block!important;content:"";position:absolute;top:28px;right:-5px;left:auto;width:10px;height:1px;background:rgba(255,255,255,.28);border:0!important}
  .step:last-child:after{display:none!important}
  .stepIcon{width:42px;height:42px;margin:0 auto 7px}
  .step h3{font-size:10px;line-height:1.2;margin-bottom:4px;word-break:normal;overflow-wrap:break-word}
  .step p{font-size:8.5px;line-height:1.25;word-break:normal;overflow-wrap:break-word}
}

/* v62 process readability: keep the three-step flow compact but legible */
@media (max-width:1100px){
  .processGrid{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:4px 0 0!important;overflow:visible!important}
  .processGrid:before{content:"";position:absolute;z-index:0;left:14px;right:14px;top:37px;height:1px;background:rgba(255,90,0,.65)!important}
  .processGrid .step{position:relative!important;z-index:1;min-width:0!important;width:100%!important;max-width:100%!important;min-height:142px!important;padding:10px 3px 8px 2px!important;text-align:left!important;overflow:visible!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto auto 1fr!important;column-gap:5px!important;align-items:start!important}
  .processGrid .stepIcon{grid-column:1;grid-row:1 / span 3;width:42px!important;height:42px!important;margin:0!important}
  .processGrid .step h3{grid-column:2;grid-row:2;font-size:11.5px!important;line-height:1.22!important;min-height:27px!important;margin:0 0 5px!important;word-break:normal!important;overflow-wrap:break-word!important}
  .processGrid .step p{grid-column:2;grid-row:3;font-size:9.5px!important;line-height:1.32!important;min-height:39px!important;margin:0!important;word-break:normal!important;overflow-wrap:break-word!important}
  .processGrid .step strong{grid-column:2;grid-row:1;display:block!important;color:var(--accent)!important;font-size:11px!important;line-height:1!important;margin:0 0 4px!important;letter-spacing:.04em!important}
  .processGrid .step{background:transparent!important;border:0!important;border-radius:0!important}
  .processGrid .step h3{color:var(--text)!important;text-shadow:0 1px 8px rgba(0,0,0,.8)!important}
  .processGrid .step p{color:var(--muted)!important;text-shadow:0 1px 7px rgba(0,0,0,.8)!important}
  .processGrid .step:after{display:none!important}
  .processGrid .stepIcon{position:relative!important;z-index:2;background:var(--bg)!important;border-radius:50%!important}
  .processGrid .step strong,.processGrid .step h3,.processGrid .step p{position:relative!important;z-index:2;background:var(--bg)!important}
}

/* Final mobile process layout: vertical chronology */
@media (max-width:1100px){
  .trustGrid .logos{transform:translateY(6px)!important;margin-bottom:-6px!important}
  .trustGrid .logos small{position:relative!important;top:-5px!important;margin-bottom:3px!important}
  .processGrid{grid-template-columns:1fr!important;gap:0!important;padding:8px 0 4px!important}
  .processGrid:before{left:26px!important;right:auto!important;top:32px!important;bottom:32px!important;width:1px!important;height:auto!important}
  .processGrid .step{grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;column-gap:12px!important;min-height:112px!important;padding:12px 0!important;text-align:left!important}
  .processGrid .stepIcon{grid-column:1!important;grid-row:1 / span 2!important;width:52px!important;height:52px!important;margin:0!important}
  .processGrid .step strong,.processGrid .step h3,.processGrid .step p{grid-column:2!important}
  .processGrid .step strong{display:none!important}
  .processGrid .step h3{grid-row:1!important;font-size:15px!important;line-height:1.2!important;min-height:0!important;margin:2px 0 6px!important}
  .processGrid .step p{grid-row:2!important;font-size:11px!important;line-height:1.35!important;min-height:0!important}
  .processGrid .step:after{display:none!important}
}
@media (max-width:1100px){
  .reviewControls{display:none!important}
  address{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
  address a{font-size:0!important;line-height:1!important;display:grid!important;place-items:center!important;min-width:32px!important;min-height:32px!important}
  address a .contactIcon{font-size:18px!important;width:18px!important;height:18px!important;display:block!important}
  address small{display:none!important}
  .footerLegal{flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;column-gap:10px!important;row-gap:5px!important;white-space:nowrap!important;font-size:9px!important;line-height:1.2!important}
  .footerLegal>span:first-child{font-size:0!important;flex-basis:100%!important}
  .footerLegal>span:first-child:after{content:'MARMELADOV, 2026';font-size:11px!important}
  .footerLegal>span:nth-child(2),.footerLegal>span:nth-child(3){font-size:9px!important;display:inline-block!important}
  .footerLegal a{display:none!important}
 }

/* v63 final mobile corrections */
@media (max-width:1100px){
  .hero{min-height:500px!important}.heroContent{padding:76px 15px 26px!important}
  .trustGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:6px!important}
  .trustGrid .metric>span:not(.metricNumber){display:block!important;width:100%!important;max-width:72px!important;margin:6px auto 0!important;font-size:10px!important;line-height:1.25!important;text-align:center!important}
  .trustGrid .metric:last-child>span:not(.metricNumber){font-size:10px!important}
  .trustGrid .metric:last-child>span:not(.metricNumber)::after,
  .metric:last-child p::after{content:none!important;display:none!important}
  .caseGrid{grid-auto-flow:column!important;grid-auto-columns:calc(100% - 42px)!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-padding-left:0!important}
  .case{scroll-snap-align:start!important}.caseBody{min-height:150px!important;display:flex!important;flex-direction:column!important}.caseBody button{margin-top:auto!important}
  .processGrid{grid-template-columns:1fr!important;position:relative!important}.processGrid:before{left:26px!important;right:auto!important;top:38px!important;bottom:56px!important;width:1px!important;height:auto!important}.processGrid .step{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;column-gap:12px!important;min-height:112px!important;text-align:left!important}.processGrid .stepIcon{grid-column:1!important;grid-row:1 / span 2!important;width:52px!important;height:52px!important}.processGrid .step strong{display:none!important}.processGrid .step h3{grid-column:2!important;grid-row:1!important;font-size:15px!important}.processGrid .step p{grid-column:2!important;grid-row:2!important;font-size:11px!important}
  .teamGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.reviewControls{display:none!important}.reviewCard blockquote,.reviewCard p{margin-block:0!important}.reviewTextWrap{max-height:260px!important}
  .cta address{display:flex!important;flex-direction:row!important;justify-content:space-evenly!important;align-items:center!important}.footer{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important}.footer .social{justify-content:center!important}.footerLegal{justify-content:center!important;text-align:center!important}
}

/* v63.1: finish the vertical process connector at the third icon center */
@media (max-width:1100px){
  .processGrid:before{bottom:66px!important}
}
/* v63.1 final verification layer: mobile-only corrections */
@media (max-width:1100px){
  .hero{min-height:500px!important;align-items:center!important}
  /* Keep the hero copy optically centered in the tall image, with a little more air above it. */
  .heroContent{padding:92px 15px 34px!important;justify-content:center!important;transform:translateY(44px)!important}
  .trustGrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:0!important;row-gap:14px!important;width:100%!important}
  .trustGrid .metric{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;margin-top:6px!important;padding:9px 0 22px!important}
  .trustGrid .metricNumber,.trustGrid .metric>span:not(.metricNumber),.trustGrid .metric>p{display:block!important;width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
  .trustGrid .metric>span:not(.metricNumber),.trustGrid .metric>p{margin-top:2px!important}
  .trustGrid .logos+.metric>span:not(.metricNumber){max-width:70px!important;white-space:normal!important}
  .metric:not(:last-child){position:relative!important}
  .trustGrid .metric:not(:last-child)::after{content:"";position:absolute!important;right:0!important;top:2px!important;height:66px!important;width:1px!important;background:rgba(190,200,205,.28)!important;pointer-events:none!important}
  .serviceContent{padding:14px 18px 14px 14px!important}
  .serviceContent h3,.serviceContent p{transform:translateY(-2px)!important}
  .serviceContent p{max-width:178px!important}
  .section--process{margin-bottom:14px!important}.teamGrid{margin-top:14px!important}
  .teamCard{position:relative!important}.teamCard summary>span{display:block!important;margin-top:10px!important;color:var(--accent,#ff5a00)!important;font-size:10px!important;font-weight:600!important}.teamMore{display:none!important}
  .cta address,.cta>address{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:16px!important;width:calc(100% - 36px)!important;margin:0 auto!important}
  .cta address a{flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important;display:grid!important;place-items:center!important}
  .cta address a .contactIcon{display:block!important;width:24px!important;height:24px!important;margin:0!important;transform:none!important;line-height:1!important;text-align:center!important}
  .footer{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important}.footer .brand,.footer .social{justify-self:center!important}.footer .social{justify-content:center!important}
  .footerLegal{justify-content:center!important;text-align:center!important;white-space:normal!important}.footerLegal>span:first-child{font-size:11px!important;flex-basis:auto!important}.footerLegal>span:first-child::after{content:none!important}
}

/* v63.1 final-17: full-width, touch-friendly mobile menu. */
@media (max-width:1100px){
  .header.header--menuOpen nav{
    display:flex!important;
    left:0!important;
    right:0!important;
    top:64px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100vh - 64px)!important;
    box-sizing:border-box!important;
    padding:0!important;
    gap:0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    border-radius:0!important;
    background:rgba(8,12,15,.98)!important;
    overflow-y:auto!important;
    transform-origin:top right!important;
    animation:mobileMenuReveal .28s cubic-bezier(.2,.75,.25,1) both!important;
  }
  .header.header--menuOpen nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-height:64px!important;
    flex:0 0 64px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 24px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    font-size:24px!important;
    line-height:1.15!important;
    text-align:right!important;
    animation:mobileMenuItemReveal .3s cubic-bezier(.2,.75,.25,1) both!important;
  }
  .header.header--menuOpen nav a:nth-child(1){animation-delay:.04s!important}
  .header.header--menuOpen nav a:nth-child(2){animation-delay:.07s!important}
  .header.header--menuOpen nav a:nth-child(3){animation-delay:.1s!important}
  .header.header--menuOpen nav a:nth-child(4){animation-delay:.13s!important}
  .header.header--menuOpen nav a:nth-child(5){animation-delay:.16s!important}
  .header.header--menuOpen nav a:last-child{border-bottom:0!important}
}
@keyframes mobileMenuReveal{
  from{opacity:0;transform:translateY(-12px) scaleY(.96)}
  to{opacity:1;transform:translateY(0) scaleY(1)}
}
@keyframes mobileMenuItemReveal{
  from{opacity:0;transform:translateX(22px)}
  to{opacity:1;transform:translateX(0)}
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  .header.header--menuOpen nav,
  .header.header--menuOpen nav a{animation:none!important}
}

/* v63.1 final-21: make mobile service cards follow the desktop card format. */
@media (max-width:1100px){
  .service{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:363.3303833 / 176!important;
    grid-template-columns:1fr!important;
    padding:22px 25px 18px!important;
  }
  .serviceContent{
    padding:0!important;
  }
  .serviceContent h2,
  .serviceContent p{
    transform:none!important;
  }
  .serviceContent h2{
    font-size:18px!important;
    line-height:1.25!important;
    margin:0 0 12px!important;
  }
  .serviceContent p{
    font-size:13px!important;
    line-height:1.52!important;
    margin:0!important;
  }
  .service:nth-child(1) .serviceContent p{max-width:135px!important}
  .service:nth-child(2) .serviceContent p{max-width:175px!important}
  .service:nth-child(3) .serviceContent p{max-width:240px!important}
  .serviceContent>a{
    right:25px!important;
    bottom:18px!important;
  }
}

/* v63.1 final-22: tighten the transition from process to team on mobile. */
@media (max-width:1100px){
  #team.teamSection{
    margin-top:0!important;
    padding-top:16px!important;
  }
}

/* v63.1 final-25: compact, reversible tap-to-flip mobile team cards. */
@media (max-width:1100px){
  .teamGrid{align-items:start!important}
  .teamCard{
    height:168px!important;
    min-height:168px!important;
    padding:0!important;
    cursor:pointer!important;
    perspective:900px!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .teamCard:hover,
  .teamCard[open]{
    transform:none!important;
    border-color:rgba(255,90,0,.34)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.46)!important;
  }
  .teamCard summary,
  .teamCard>.teamBio{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    backface-visibility:hidden!important;
    transform-style:preserve-3d!important;
    transition:transform .52s cubic-bezier(.2,.72,.25,1),opacity .32s ease!important;
  }
  .teamCard summary{
    z-index:2!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:10px 6px 6px!important;
    transform:none!important;
    transition:none!important;
  }
  .teamCard summary>*{
    backface-visibility:hidden!important;
    transform:rotateY(0deg)!important;
    transition:transform .52s cubic-bezier(.2,.72,.25,1),opacity .32s ease!important;
  }
  .teamCard summary>span{
    display:none!important;
  }
  .teamCard>.teamBio{
    z-index:1!important;
    align-items:flex-start!important;
    justify-content:center!important;
    max-width:none!important;
    margin:0!important;
    padding:9px 8px!important;
    border:0!important;
    background:linear-gradient(145deg,#131a1d,#0b0f11)!important;
    color:rgba(255,255,255,.78)!important;
    font-size:9.5px!important;
    line-height:1.34!important;
    text-align:left!important;
    overflow:hidden!important;
    transform:rotateY(180deg)!important;
  }
  .teamCard[open] summary{
    z-index:4!important;
    opacity:1!important;
    transform:none!important;
  }
  .teamCard[open] summary>*{
    opacity:0!important;
    transform:rotateY(-180deg)!important;
  }
  .teamCard[open]>.teamBio{
    z-index:3!important;
    opacity:1!important;
    transform:rotateY(0deg)!important;
  }
  .teamCard:after{z-index:5!important;pointer-events:none!important}
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  .teamCard summary>*,
  .teamCard>.teamBio{transition:none!important}
}

/* v63.1 final-26: rotate the complete card, with the biography on its back. */
@media (max-width:1100px){
  .teamGrid{
    perspective:1100px!important;
    perspective-origin:50% 35%!important;
  }
  .teamCard{
    transform:rotateY(0deg)!important;
    transform-style:preserve-3d!important;
    transition:transform .62s cubic-bezier(.2,.72,.2,1),border-color .28s ease,box-shadow .28s ease!important;
    will-change:transform!important;
  }
  .teamCard:hover{
    transform:rotateY(0deg)!important;
  }
  .teamCard[open]{
    transform:rotateY(180deg)!important;
  }
  .teamCard summary,
  .teamCard>.teamBio{
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    transform-style:preserve-3d!important;
  }
  .teamCard summary{
    opacity:1!important;
    transform:rotateY(0deg)!important;
    transition:opacity .16s linear!important;
  }
  .teamCard summary>*{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .teamCard>.teamBio{
    opacity:1!important;
    transform:rotateY(180deg)!important;
    transition:none!important;
  }
  .teamCard[open] summary{
    opacity:0!important;
    transform:rotateY(0deg)!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
  .teamCard[open] summary>*{
    opacity:1!important;
    transform:none!important;
  }
  .teamCard[open]>.teamBio{
    opacity:1!important;
    transform:rotateY(180deg)!important;
  }
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  .teamCard{transition:none!important}
}

/* v63.1 final-27: keep the flip above the section reveal transform. */
@media (max-width:1100px){
  body #team.teamSection .teamCard{
    transform:rotateY(0deg)!important;
  }
  body #team.teamSection .teamCard[open]{
    transform:rotateY(180deg)!important;
  }
}

/* v63.1 final-28: preserve both 3D faces instead of flattening the back. */
@media (max-width:1100px){
  body #team.teamSection .teamCard{
    overflow:visible!important;
  }
  body #team.teamSection .teamCard summary,
  body #team.teamSection .teamCard>.teamBio{
    border-radius:9px!important;
  }
}

/* v63.1 final-29: give the front and back their own visible card surfaces. */
@media (max-width:1100px){
  body #team.teamSection .teamCard,
  body #team.teamSection .teamCard:hover,
  body #team.teamSection .teamCard[open]{
    border-color:transparent!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body #team.teamSection .teamCard:after{display:none!important}
  body #team.teamSection .teamCard summary,
  body #team.teamSection .teamCard>.teamBio{
    border:1px solid var(--line)!important;
    background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.055),transparent 34%),linear-gradient(145deg,#111619,#0b0f11)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.34)!important;
  }
  body #team.teamSection .teamCard summary,
  body #team.teamSection .teamCard[open] summary{
    transform:translateZ(1px)!important;
  }
  body #team.teamSection .teamCard>.teamBio,
  body #team.teamSection .teamCard[open]>.teamBio{
    transform:rotateY(180deg) translateZ(1px)!important;
  }
}

/* v63.1 final-30: swap faces at the midpoint of the complete-card turn. */
@media (max-width:1100px){
  body #team.teamSection .teamCard summary,
  body #team.teamSection .teamCard>.teamBio{
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
  body #team.teamSection .teamCard summary{
    opacity:1!important;
    transition:opacity .08s linear .22s!important;
  }
  body #team.teamSection .teamCard>.teamBio{
    opacity:0!important;
    transition:opacity .08s linear .22s!important;
  }
  body #team.teamSection .teamCard[open] summary{
    opacity:0!important;
  }
  body #team.teamSection .teamCard[open]>.teamBio{
    opacity:1!important;
  }
}

/* v63.1 final-31: let a tap on the back reach the card toggle. */
@media (max-width:1100px){
  body #team.teamSection .teamCard>.teamBio{
    pointer-events:none!important;
  }
}

/* v63.1 final-32: add an invisible native toggle plane to the back face. */
@media (max-width:1100px){
  body #team.teamSection .teamCard[open] summary{
    opacity:1!important;
  }
  body #team.teamSection .teamCard[open] summary>*{
    opacity:0!important;
  }
  body #team.teamSection .teamCard summary:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:20!important;
    border-radius:9px!important;
    background:transparent!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    transform:rotateY(180deg) translateZ(2px)!important;
    pointer-events:none!important;
  }
  body #team.teamSection .teamCard[open] summary:after{
    pointer-events:auto!important;
  }
}

/* v63.1 final-33: optically center all contact glyphs inside their circles. */
@media (max-width:1100px){
  .cta address a .contactIcon{
    position:relative!important;
    display:block!important;
    width:24px!important;
    height:24px!important;
    margin:0!important;
    transform:none!important;
  }
  .cta address a .contactIcon:before,
  .cta address a:first-of-type .contactIconPhone:before,
  .cta address a:nth-of-type(2) .contactIconMail:before,
  .cta address a:nth-of-type(3) .contactIconTelegram:before{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:18px!important;
    height:18px!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center!important;
    background-position:center!important;
  }
}

/* v63.1 final-36: two-line company details in the mobile footer. */
@media (max-width:1100px){
  body .footer .footerLegal{
    display:flex!important;
    width:100%!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:4px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body .footer .footerLegal>span:first-child{
    flex:0 0 100%!important;
    width:100%!important;
    font-size:11px!important;
  }
  body .footer .footerLegal>span:first-child::after{content:none!important}
  body .footer .footerLegal>span:nth-child(2),
  body .footer .footerLegal>span:nth-child(3){
    flex:0 0 auto!important;
    width:auto!important;
    font-size:9px!important;
  }
}

/* v63.1 final-37: restore scroll reveal for every main mobile block. */
@media (max-width:1100px){
  body.mobileRevealReady .mobileRevealBlock{
    opacity:0!important;
    filter:blur(10px)!important;
    transform:translateY(30px)!important;
    transition:none!important;
    will-change:opacity,filter,transform;
  }
  body.mobileRevealReady .mobileRevealBlock.mobileRevealVisible{
    opacity:1!important;
    filter:blur(0)!important;
    transform:translateY(0)!important;
    transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)!important;
  }
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){
  body.mobileRevealReady .mobileRevealBlock,
  body.mobileRevealReady .mobileRevealBlock.mobileRevealVisible{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
}
/* v63.1: subtle top-to-bottom darkening over case imagery. */
.caseMedia{position:relative;overflow:hidden}
.caseMedia::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(4,7,9,.78) 0%,rgba(4,7,9,.46) 28%,rgba(4,7,9,.16) 56%,rgba(4,7,9,0) 82%)}
.caseMedia>*{position:relative;z-index:3}
