/* HERO top has one owner and follows the lower card row's real composition axes. */
@media (width < 820px){
  .cont1{padding-top:16px;}
  .cont1 > .hero-top{
    position:static;
    order:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    min-width:0;
  }
  .hero-top > .cont1_t1{
    position:static;
    order:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    margin:0;
    transform:none;
    color:#0071BC;
    text-align:center;
    white-space:normal;
    font-size:clamp(29px,calc(1.2vw + 24.3px),34px);
    line-height:1.05;
    font-weight:700;
  }
  .hero-top > .cont1_t1 i{
    order:-1;
    display:flex;
    align-items:baseline;
    justify-content:center;
    margin:0 0 6px;
    padding:0 8px;
    background:url('img/mobile-hero-registered.svg') no-repeat right 0 top 2px/7px 7px;
    color:#18242C;
    font-family:'PT Sans',sans-serif;
    font-size:clamp(20px,5.4vw,23px);
    line-height:24px;
    font-weight:600;
    font-style:normal;
    letter-spacing:.045em;
  }
  .hero-top > .cont1_t1 i::before{content:'ПЕЧАТИ';color:#18242C;}
  .hero-top > .cont1_t1 i::after{content:'5';color:#0083C7;}
  .hero-top > .cont1_t1 br{display:none;}
  .hero-top > .cont1_t1 span{
    display:block;
    margin-top:6px;
    font-size:clamp(20px,calc(1.45vw + 14.3px),26px);
    line-height:1.15;
    font-weight:400;
  }
  .hero-top > .mobile-hero-urgency{
    position:static;
    order:2;
    display:block;
    width:clamp(330px,calc(405px - 8.333vw),370px);
    max-width:100%;
    aspect-ratio:400 / 69;
    height:auto;
    margin:12px 0 0;
    padding:0;
    box-sizing:border-box;
    border-radius:10px;
    overflow:hidden;
    background:#f7931e url('img/mobile-hero-urgency-from30.webp') no-repeat center center;
    background-size:100% 100%;
    box-shadow:0 3px 10px rgba(180,99,9,.08);
    color:transparent;
    font-size:0;
    line-height:0;
  }
  .hero-top > .mobile-hero-urgency > *{display:none!important;}
}

@media (min-width:820px) and (width < 840px){
  .cont1 > .hero-top{
    position:absolute;
    top:0;
    right:0;
    left:0;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    width:100%;
  }
  .hero-top > .cont1_t1{
    position:static;
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    margin:0;
    transform:none;
    color:#0071BC;
    text-align:center;
    white-space:nowrap;
    font-size:clamp(31px,calc(7.895vw - 33.7px),32.5px);
    line-height:1.05;
    font-weight:700;
  }
  .hero-top > .cont1_t1 i{
    order:-1;
    display:flex;
    align-items:baseline;
    justify-content:center;
    margin:0 0 2px;
    padding:0 7px;
    background:url('img/mobile-hero-registered.svg') no-repeat right 0 top 2px/7px 7px;
    color:#18242C;
    font-family:'PT Sans',sans-serif;
    font-size:19px;
    line-height:22px;
    font-weight:600;
    font-style:normal;
    letter-spacing:.045em;
  }
  .hero-top > .cont1_t1 i::before{content:'ПЕЧАТИ';color:#18242C;}
  .hero-top > .cont1_t1 i::after{content:'5';color:#0083C7;}
  .hero-top > .cont1_t1 br{display:none;}
  .hero-top > .cont1_t1 span{display:block;margin-top:0;font-size:clamp(23px,calc(7.895vw - 41.74px),24.5px);line-height:1.05;font-weight:400;}
  .hero-top > .mobile-hero-urgency{
    position:static;
    display:block;
    width:clamp(330px,calc(405px - 8.333vw),370px);
    max-width:100%;
    aspect-ratio:400 / 69;
    height:auto;
    margin:0;
    padding:0;
    box-sizing:border-box;
    border-radius:10px;
    overflow:hidden;
    background:#f7931e url('img/mobile-hero-urgency-from30.webp') no-repeat center center;
    background-size:100% 100%;
    box-shadow:0 3px 10px rgba(180,99,9,.08);
    color:transparent;
    font-size:0;
    line-height:0;
  }
  .hero-top > .mobile-hero-urgency > *{display:none!important;}
}

@media (min-width:840px) and (width < 960px){
  .cont1 > .hero-top{
    position:absolute;
    top:19px;
    right:max(0px,calc((100% - 814px)/2));
    left:max(0px,calc((100% - 814px)/2));
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    column-gap:20px;
    align-items:center;
    box-sizing:border-box;
  }
  .hero-top > .cont1_t1{
    position:static;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    margin:0;
    transform:none;
    color:#0071BC;
    text-align:center;
    white-space:nowrap;
    font-size:clamp(34px,calc(10vw - 50px),46px);
    line-height:1.05;
    font-weight:700;
  }
  .hero-top > .cont1_t1 i{display:none;}
  .hero-top > .cont1_t1 br{display:none;}
  .hero-top > .cont1_t1 span{display:block;margin-top:2px;font-size:clamp(27px,calc(2.522vw + 5.812px),30px);line-height:1.05;font-weight:400;}
  .hero-top > .mobile-hero-urgency{
    position:relative;
    display:block;
    justify-self:end;
    width:330px;
    max-width:100%;
    height:clamp(68px,calc(14.2857vw - 52px),85px);
    margin:0;
    padding:0;
    box-sizing:border-box;
    border-radius:10px;
    overflow:hidden;
    background:#f7931e url('img/mobile-hero-urgency-from30.webp') no-repeat calc(50% - 6px) center;
    background-size:auto 100%;
    box-shadow:0 3px 10px rgba(180,99,9,.08);
    color:transparent;
    font-size:0;
    line-height:0;
  }
  .hero-top > .mobile-hero-urgency > *{display:none!important;}
}

@media (min-width:960px){
  .cont1 > .hero-top{
    position:absolute;
    top:10px;
    right:55px;
    left:60px;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    column-gap:20px;
    align-items:center;
    box-sizing:border-box;
  }
  .hero-top > .cont1_t1{
    position:static;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    margin:0;
    transform:none;
    color:#0071BC;
    text-align:center;
    white-space:nowrap;
    font-size:clamp(46px,calc(.833333vw + 38px),48px);
    line-height:50px;
    font-weight:700;
  }
  .hero-top > .cont1_t1 i{display:none;}
  .hero-top > .cont1_t1 br{display:none;}
  .hero-top > .cont1_t1 span{display:block;margin-top:2px;font-size:clamp(30px,calc(1.666667vw + 14px),34px);line-height:42px;font-weight:400;}
  .hero-top > .mobile-hero-urgency{
    position:relative;
    display:block;
    justify-self:end;
    align-self:end;
    width:330px;
    height:85px;
    margin:0;
    padding:0;
    box-sizing:border-box;
    border-radius:10px;
    overflow:hidden;
    background:#f7931e url('img/mobile-hero-urgency-from30.webp') no-repeat calc(50% - 11px) center;
    background-size:auto 84.5px;
    box-shadow:0 3px 10px rgba(180,99,9,.08);
    color:transparent;
    font-size:0;
    line-height:0;
  }

  /* Preserve the approved wide raster correction at its original size. */
  .hero-top > .mobile-hero-urgency::after{
    content:'';
    position:absolute;
    z-index:1;
    top:40px;
    left:10px;
    width:38px;
    height:32px;
    background:#f7931e;
    pointer-events:none;
  }
  .hero-top > .mobile-hero-urgency::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:2;
    background:transparent url('img/mobile-hero-urgency-from30.webp') no-repeat calc(50% - 11px) center;
    background-size:auto 84.5px;
    clip-path:inset(40px 282px 13px 10px);
    transform:translate(7px,4px);
    pointer-events:none;
  }
  .hero-top > .mobile-hero-urgency > *{display:none!important;}
}

@media (min-width:820px){

  /* Keep the lower pair in one visual family. The left product card retains its existing
     footprint, radius, overflow clipping and shadow; only the border weight/tone matches
     the calmer request-card outline. */
  .hero-lower > .hero-concept-card{
    border:1px solid #B7D6EA;
  }

  /* Right request card: use the approved mobile card language without copying mobile
     geometry. The desktop lower pair keeps its accepted 352x339 footprint and anchors. */
  .hero-lower > .hero-form-card{
    display:flex;
    flex-direction:column;
    width:352px;
    height:339px;
    padding:18px 14px 12px;
    border:1px solid #B7D6EA;
    border-radius:12px;
    background:#EEF6FD;
    box-shadow:0 3px 10px rgba(37,92,131,.07);
  }

  .hero-form-card > .cont1_t10,
  .hero-form-card > .cont1_t11,
  .hero-form-card > .cont1_t13{
    display:none;
  }

  .hero-form-card > .cont1_t12{
    position:static;
    top:auto;
    right:auto;
    left:auto;
    width:auto;
    margin:0 2px 10px;
    padding:0;
    color:#18242C;
    font-family:'PT Sans Narrow',sans-serif;
    font-size:20px;
    line-height:24px;
    font-weight:600;
    text-align:center;
    text-transform:none;
    transform:none;
  }

  .hero-form-card > .cont1_t12 span{
    display:block;
    font-weight:700;
    text-decoration:none;
  }

  .hero-form-card form.forma{
    position:static;
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    gap:10px;
    width:100%;
    min-height:0;
    margin:0;
  }

  .hero-form-card .form_error{
    order:0;
  }

  .hero-form-card .cont1_t14,
  .hero-form-card .cont1_t15,
  .hero-form-card .cont1_t16{
    position:static;
    top:auto;
    right:auto;
    left:auto;
    width:100%;
    margin:0;
    box-sizing:border-box;
  }

  .hero-form-card .cont1_t14,
  .hero-form-card .cont1_t15{
    height:48px;
    padding:0 14px;
    border:1px solid #c7d3dc;
    border-radius:7px;
    background:#fff;
    background-image:none;
    color:#313131;
    font-size:18px;
    text-align:left;
    box-shadow:inset 0 1px 2px rgba(37,92,131,.04);
  }

  .hero-form-card .cont1_t14{order:1;}
  .hero-form-card .cont1_t15{order:2;}

  .hero-form-card .phone-field-error{
    position:static;
    top:auto;
    right:auto;
    order:3;
    width:100%;
    margin:-4px 0 0;
    padding:1px 6px;
  }

  .hero-form-card .cont1_t16{
    order:4;
    height:52px;
    margin-top:7px;
    padding:0;
    border:0;
    border-radius:7px;
    background:#f20d0d;
    color:#fff;
    font-size:23px;
    line-height:52px;
  }

  .hero-form-card .cont1_t17{
    position:static;
    top:auto;
    right:auto;
    left:auto;
    order:5;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    margin:8px 0 0;
    color:#5f6870;
    font-size:13px;
    line-height:16px;
  }

  .hero-form-card .cont1_t17 .pol7{
    width:100%;
    margin:0;
  }

  .hero-form-card .cont1_t17 .pol7 label{
    justify-content:center;
    color:#5f6870;
    font-size:13px;
    line-height:16px;
    text-align:center;
  }

  .hero-form-card .cont1_t17 .pol7 a{
    color:#075fbd;
    text-decoration:underline;
    text-underline-offset:1px;
  }
}


.hero-form-card > .cont1_t12 .hero-form-copy--desktop{display:block;}
.hero-form-card > .cont1_t12 .hero-form-copy--mobile{display:none;}

@media (width < 820px){
  .hero-form-card > .cont1_t12 .hero-form-copy--desktop{display:none;}
  .hero-form-card > .cont1_t12 .hero-form-copy--mobile{display:inline;text-decoration:none;}
}

/* Wide tablet: keep the lower pair stacked until both cards have comfortable fixed widths. */
@media (min-width:820px) and (width < 900px){
  .cont1_bg{height:auto;min-height:516px;}
  .cont1{display:flow-root;height:auto;min-height:500px;padding-bottom:24px;}
  .cont1 > .hero-lower{
    position:relative;
    top:auto;right:auto;bottom:auto;left:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    height:auto;
    margin:155px auto 24px;
  }
  .hero-lower > .hero-concept-card{width:100%;height:auto;min-height:214px;}
  .hero-lower > .hero-form-card{
    display:flex;
    flex-direction:column;
    width:100%;height:302px;
    padding:8px 12px 7px;
    border:1px solid #B7D6EA;
    border-radius:12px;
    background:#EEF6FD;
    box-shadow:0 3px 10px rgba(37,92,131,.07);
  }
  .hero-form-card > .cont1_t12{height:48px;margin:0 2px 5px;font-size:20px;line-height:24px;overflow:hidden;}
  .hero-form-card form.forma{gap:4px;}
  .hero-form-card .cont1_t14,.hero-form-card .cont1_t15{height:48px;padding:0 14px;}
  .hero-form-card .phone-field-error{position:static;top:auto;right:auto;order:3;width:100%;margin:-1px 0 1px;}
  .hero-form-card .cont1_t16{order:4;height:50px;margin:0;line-height:50px;font-size:21px;}
  .hero-form-card .cont1_t17{order:5;min-height:44px;margin:0;font-size:12px;line-height:16px;}
  .hero-form-card .cont1_t17 .pol7 label{min-height:44px;font-size:12px;line-height:16px;}
}

/* Compact desktop: use a centered fixed-width pair and progressively restore the accepted desktop gap. */
@media (min-width:900px) and (width < 960px){
  .cont1_bg{height:auto;min-height:516px;}
  .cont1{display:flow-root;height:auto;min-height:500px;padding-bottom:24px;}
  .cont1 > .hero-lower{
    position:relative;
    top:auto;right:auto;bottom:auto;left:auto;
    display:grid;
    grid-template-columns:448px 352px;
    justify-content:center;
    gap:clamp(24px,calc(36vw - 300px),45px);
    width:100%;height:339px;
    margin:clamp(135px,calc(455px - 33.333vw),155px) auto 24px;
  }
  .hero-lower > .hero-concept-card{width:448px;height:339px;}
  .hero-lower > .hero-form-card{width:352px;height:339px;}
}

/* Stacked cards share the product card's intrinsic composition width. */
.hero-concept-card__photo-asset{display:none;}

@media (width < 900px){
  .cont1 > .hero-lower{width:fit-content;max-width:100%;min-width:0;}
  .hero-lower > .hero-concept-card{
    display:flex;
    align-items:stretch;
    height:214px;
    min-height:214px;
    min-width:0;
    box-sizing:border-box;
    padding-left:16px;
    background:linear-gradient(135deg,#f8fbfe,#edf7fd);
  }
  /* The image ratio resolves at a 1/64px layout step; this basis preserves the accepted visible gap. */
  .hero-concept-card::before{
    content:"";
    order:2;
    width:84.015625px;
    flex:0 1 auto;
    min-width:0;
  }
  .hero-concept-card__photo{
    position:relative;
    order:3;
    top:auto;right:auto;bottom:auto;left:auto;
    flex:0 0 auto;
    width:auto;height:100%;
    background-image:url('img/mobile-hero-photo-v2.webp');
    background-repeat:no-repeat;
    background-position:right center;
    background-size:auto 100%;
    overflow:hidden;
  }
  /* The hidden replaced image supplies intrinsic width; the existing background keeps the raster paint unchanged. */
  .hero-concept-card__photo-asset{display:block;width:auto;height:100%;max-width:none;visibility:hidden;}
  .hero-concept-card__cover,.hero-concept-card__divider{display:none;}
  .hero-concept-card__price{position:absolute;top:14px;left:16px;z-index:3;text-transform:uppercase;}
  .hero-concept-card__title{font-size:22px;line-height:25px;font-weight:700;letter-spacing:0.1px;}
  .hero-concept-card__price-line{display:flex;align-items:baseline;gap:5px;margin-top:2px;color:#0071BC;}
  .hero-concept-card__price-line span{font-size:19px;line-height:28px;font-weight:700;text-transform:lowercase;}
  .hero-concept-card__price-line strong{font-size:32px;line-height:34px;font-weight:700;white-space:nowrap;}
  .hero-concept-card__trust{position:relative;order:1;top:auto;left:auto;align-self:flex-start;flex:0 0 auto;width:150px;margin:134px 0 0;z-index:3;}
  .hero-lower > .hero-form-card{contain:inline-size;}
  .hero-concept-card__badge-wrap{width:138px;height:46px;overflow:hidden;border-radius:7px;box-shadow:0 0 0 1px #B7D6EA;}
  .hero-concept-card__badge-wrap iframe{display:block;width:150px;height:50px;border:0;transform:scale(.92);transform-origin:top left;}
  .hero-concept-card__reviews{display:block;margin-top:5px;color:#075fbd;font-size:13px;line-height:16px;font-weight:400;text-align:left;text-decoration:underline;text-underline-offset:1px;white-space:normal;}
  .hero-concept-card__reviews:hover{color:#29abe2;}
  .hero-concept-card__reviews:focus-visible{outline:2px solid #168bd2;outline-offset:2px;}
  .hero-concept-card__delivery{position:absolute;top:89px;left:10px;z-index:3;display:flex;align-items:center;}
  .hero-concept-card__truck{display:block;flex:0 0 42px;width:42px;height:31px;margin-right:7px;background-image:url('img/hero-truck-brand-blue-v1.png');background-repeat:no-repeat;background-size:716px 325px;background-position:-111px -160px;transform:translateY(2px);}
  .hero-concept-card__delivery-copy{display:block;flex:0 0 96px;width:96px;height:auto;transform:none;}
}

@media (max-width:340px){
  .hero-concept-card__photo{background-size:140px auto;}
}
