/* ===== visually different inner pages ===== */
    .page-signature{
      padding:22px 0 12px;
    }

    .signature-card{
      position:relative;
      overflow:hidden;
      min-height:185px;
      padding:24px;
      border-radius:34px;
      border:1px solid rgba(19,34,24,.08);
      background:rgba(255,255,255,.82);
      box-shadow:var(--shadow);
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:22px;
      align-items:center;
    }

    .signature-card h3{
      font-size:30px;
      line-height:1;
      letter-spacing:-.05em;
      margin-bottom:10px;
    }

    .signature-card p{
      color:var(--muted);
      margin-bottom:0;
      max-width:530px;
    }

    .signature-visual{
      min-height:135px;
      border-radius:26px;
      display:grid;
      place-items:center;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.55);
      background:rgba(255,255,255,.45);
    }

    .signature-visual svg{
      width:100%;
      height:100%;
      display:block;
    }

    .alt-split-left .split{
      grid-template-columns:1.15fr .85fr;
    }

    .alt-split-left .split > .card:first-child{
      order:2;
    }

    .alt-split-left .split > .grid,
    .alt-split-left .split > .card:last-child{
      order:1;
    }

    .compact-side .page-side{
      display:grid;
      grid-template-columns:1fr;
    }

    .wide-side .page-hero-grid{
      grid-template-columns:.72fr 1.28fr;
    }

    .wide-side .page-title-card{
      order:2;
    }

    .wide-side .page-side{
      order:1;
    }

    .wide-side .page-side .side-card{
      min-height:155px;
    }

    .mosaic-page .grid-4{
      grid-template-columns:1.25fr .75fr 1fr 1fr;
    }

    .mosaic-page .grid-4 .card:nth-child(1){
      grid-row:span 2;
    }

    .mosaic-page .grid-4 .card:nth-child(3){
      grid-column:span 2;
    }

    #avito .page-title-card,
    #avito .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(123,212,255,.25), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #edf9ff 100%);
    }

    #avito .side-card strong,
    #avito .section-kicker{
      color:#2382b2;
    }

    #yandex .page-title-card,
    #yandex .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(255,143,143,.25), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #fff2f2 100%);
    }

    #yandex .side-card strong,
    #yandex .section-kicker{
      color:#d64b4b;
    }

    #google .page-title-card,
    #google .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(255,211,109,.28), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #fff9e8 100%);
    }

    #google .side-card strong,
    #google .section-kicker{
      color:#b47b00;
    }

    #smm .page-title-card,
    #smm .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(197,161,255,.25), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f7f1ff 100%);
    }

    #smm .side-card strong,
    #smm .section-kicker{
      color:#7b4fd1;
    }

    #training .page-title-card,
    #training .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(143,229,204,.30), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #edfffa 100%);
    }

    #training .side-card strong,
    #training .section-kicker{
      color:#19896f;
    }

    #audit .page-title-card,
    #audit .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(126,217,87,.25), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f1ffe9 100%);
    }

    #audit .side-card strong,
    #audit .section-kicker{
      color:#2f8f3d;
    }

    #strategy .page-title-card,
    #strategy .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(255,198,139,.30), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #fff4e9 100%);
    }

    #strategy .side-card strong,
    #strategy .section-kicker{
      color:#b96713;
    }

    #business .page-title-card,
    #business .signature-card{
      background:
        radial-gradient(circle at 88% 12%, rgba(255,167,209,.24), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #fff1f7 100%);
    }

    #business .side-card strong,
    #business .section-kicker{
      color:#c44583;
    }

    #avito .card-icon{background:rgba(123,212,255,.14); border-color:rgba(123,212,255,.35)}
    #yandex .card-icon{background:rgba(255,143,143,.14); border-color:rgba(255,143,143,.35)}
    #google .card-icon{background:rgba(255,211,109,.18); border-color:rgba(255,211,109,.40)}
    #smm .card-icon{background:rgba(197,161,255,.16); border-color:rgba(197,161,255,.38)}
    #training .card-icon{background:rgba(143,229,204,.16); border-color:rgba(143,229,204,.38)}

    @media (max-width:1060px){
      .signature-card{
        grid-template-columns:1fr;
      }

      .wide-side .page-hero-grid{
        grid-template-columns:1fr;
      }

      .wide-side .page-title-card,
      .wide-side .page-side{
        order:initial;
      }

      .mosaic-page .grid-4{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }

      .mosaic-page .grid-4 .card:nth-child(1),
      .mosaic-page .grid-4 .card:nth-child(3){
        grid-row:auto;
        grid-column:auto;
      }
    }

    @media (max-width:720px){
      .signature-card{
        padding:20px;
        border-radius:26px;
      }

      .signature-card h3{
        font-size:25px;
      }

      .mosaic-page .grid-4{
        grid-template-columns:1fr;
      }

      .alt-split-left .split > .card:first-child,
      .alt-split-left .split > .grid,
      .alt-split-left .split > .card:last-child{
        order:initial;
      }
    }

  
    



/* ==== final brand assets integration ==== */
    .logo{
      width:58px;
      height:58px;
      padding:4px;
      border-radius:18px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(19,34,24,.08);
      box-shadow:0 12px 28px rgba(19,34,24,.10);
    }
    .logo img, .preloader-logo img, .footer-mini-logo img, .logo-badge img{
      width:100%;
      height:100%;
      object-fit:contain;
      display:block;
      border-radius:inherit;
    }
    .preloader-logo{
      width:142px;
      height:142px;
      padding:10px;
      border-radius:36px;
      background:rgba(255,255,255,.72);
      box-shadow:0 18px 55px rgba(126,217,87,.16);
    }
    .preloader-logo::before,.preloader-logo::after{display:none;}
    .brand span{font-size:12px; color:var(--muted)}

    .photo-wrap{
      position:relative;
      aspect-ratio: 4 / 5;
      background:linear-gradient(180deg,#f5f7f3 0%, #edf4ea 100%);
    }
    .photo-wrap::after{
      content:"";
      position:absolute;
      inset:auto 16px 16px auto;
      width:84px;
      height:84px;
      border-radius:24px;
      background:rgba(255,255,255,.72);
      backdrop-filter:blur(12px);
      border:1px solid rgba(255,255,255,.55);
      box-shadow:0 16px 34px rgba(19,34,24,.08);
    }
    .photo-wrap .corner-logo{
      position:absolute;
      right:28px;
      bottom:28px;
      width:60px;
      height:60px;
      z-index:2;
      border-radius:18px;
      overflow:hidden;
    }
    .photo-badge{z-index:2}
    .adaptive-note{z-index:2}

    .brand-gallery{
      padding:18px 0 10px;
    }
    .brand-gallery-grid{
      display:grid;
      grid-template-columns:.86fr 1.14fr;
      gap:18px;
      align-items:stretch;
    }
    .brand-intro-card{
      padding:28px;
      border-radius:34px;
      border:1px solid rgba(19,34,24,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.78));
      box-shadow:var(--shadow);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .logo-badge{
      width:118px;
      height:118px;
      border-radius:28px;
      overflow:hidden;
      border:1px solid rgba(19,34,24,.08);
      box-shadow:0 16px 38px rgba(19,34,24,.08);
      background:#fff;
    }
    .brand-points{display:grid; gap:10px; margin-top:10px}
    .brand-points div{
      padding:12px 14px;
      border-radius:18px;
      background:rgba(126,217,87,.08);
      border:1px solid rgba(126,217,87,.18);
      color:#385240;
      font-size:14px;
      font-weight:650;
    }
    .portrait-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      grid-template-rows:290px 220px;
      gap:14px;
    }
    .portrait-card{
      position:relative;
      overflow:hidden;
      border-radius:28px;
      border:1px solid rgba(19,34,24,.08);
      box-shadow:var(--shadow);
      background:#fff;
    }
    .portrait-card img{width:100%; height:100%; object-fit:cover; display:block;}
    .portrait-card.tall{grid-row:span 2;}
    .portrait-card .caption{
      position:absolute;
      left:14px; bottom:14px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(19,34,24,.08);
      color:var(--text);
      font-size:12px; font-weight:800;
      box-shadow:0 10px 24px rgba(19,34,24,.08);
    }

    .business-photo{
      aspect-ratio: 4 / 5;
      min-height:0;
    }

    .portrait-contact{
      margin-top:18px;
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
    }
    .portrait-contact .portrait-card{height:320px;}
    .portrait-contact .contact-note{
      padding:14px 16px;
      border-radius:18px;
      background:rgba(126,217,87,.08);
      border:1px solid rgba(126,217,87,.20);
      color:#48614e;
      font-size:14px;
    }
    .contact-brand-card{
      display:flex;
      align-items:center;
      gap:14px;
      margin-top:16px;
      padding:16px;
      border-radius:20px;
      border:1px solid rgba(19,34,24,.08);
      background:#fff;
      box-shadow:0 10px 24px rgba(19,34,24,.04);
    }
    .contact-brand-card .footer-mini-logo{
      width:64px; height:64px; border-radius:18px; overflow:hidden; flex:0 0 64px;
      border:1px solid rgba(19,34,24,.08);
      background:#fff;
    }
    .contact-brand-card strong{display:block; margin-bottom:4px;}
    .contact-brand-card span{display:block; color:var(--muted); font-size:14px;}

    .footer-brand{display:flex; align-items:center; gap:14px;}
    .footer-mini-logo{
      width:56px; height:56px; border-radius:16px; overflow:hidden;
      border:1px solid rgba(19,34,24,.08); background:#fff;
      box-shadow:0 10px 24px rgba(19,34,24,.06);
      flex:0 0 56px;
    }

    @media (max-width:1060px){
      .brand-gallery-grid{grid-template-columns:1fr;}
      .portrait-grid{grid-template-columns:1fr 1fr; grid-template-rows:250px 220px;}
    }
    @media (max-width:720px){
      .portrait-grid{grid-template-columns:1fr; grid-template-rows:auto;}
      .portrait-card.tall{grid-row:auto; height:380px;}
      .portrait-card:not(.tall){height:250px;}
      .brand-intro-card{padding:22px; border-radius:26px;}
      .logo-badge{width:96px;height:96px;}
      .photo-wrap .corner-logo{width:52px;height:52px; right:24px; bottom:24px;}
      .photo-wrap::after{width:72px;height:72px;}
    }

    



/* ==== final updates: hero carousel, per-page photos, clickable business map ==== */
    .hero-photo-slider{
      position:absolute;
      inset:0;
      overflow:hidden;
      border-radius:inherit;
    }

    .hero-slide{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      opacity:0;
      transform:scale(1.04);
      transition:opacity 1s ease, transform 3.8s ease;
    }

    .hero-slide.active{
      opacity:1;
      transform:scale(1);
    }

    .slide-dots{
      position:absolute;
      left:18px;
      top:18px;
      z-index:3;
      display:flex;
      gap:7px;
      padding:8px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.75);
      border:1px solid rgba(19,34,24,.08);
      backdrop-filter:blur(10px);
    }

    .slide-dots i{
      width:8px;
      height:8px;
      border-radius:50%;
      background:rgba(19,34,24,.18);
      transition:.25s ease;
    }

    .slide-dots i.active{
      width:22px;
      border-radius:999px;
      background:var(--accent-2);
    }

    .photo-wrap{
      overflow:hidden;
    }

    .photo-wrap .corner-logo{
      right:18px;
      bottom:18px;
      width:72px;
      height:72px;
      background:rgba(255,255,255,.78);
      padding:8px;
      box-shadow:0 18px 45px rgba(19,34,24,.12);
      border:1px solid rgba(255,255,255,.58);
      backdrop-filter:blur(10px);
    }

    .photo-wrap::after{
      display:none;
    }

    .page-photo-accent{
      padding:14px 0 36px;
    }

    .page-photo-grid{
      display:grid;
      grid-template-columns:.84fr 1.16fr;
      gap:20px;
      align-items:center;
      padding:18px;
      border-radius:36px;
      border:1px solid rgba(19,34,24,.08);
      background:rgba(255,255,255,.70);
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .page-photo-card{
      position:relative;
      height:390px;
      overflow:hidden;
      border-radius:30px;
      box-shadow:0 20px 52px rgba(19,34,24,.11);
      border:1px solid rgba(19,34,24,.08);
      background:#fff;
    }

    .page-photo-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      display:block;
    }

    .page-photo-card span{
      position:absolute;
      left:16px;
      bottom:16px;
      padding:9px 13px;
      border-radius:999px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(19,34,24,.08);
      color:var(--text);
      font-size:13px;
      font-weight:850;
      box-shadow:0 10px 26px rgba(19,34,24,.10);
    }

    .page-photo-text{
      padding:12px 20px;
    }

    .page-photo-text h2{
      max-width:720px;
    }

    .page-photo-avito .page-photo-grid{
      background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(232,248,255,.74));
    }

    .page-photo-yandex .page-photo-grid{
      grid-template-columns:1.16fr .84fr;
      background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,241,241,.78));
    }

    .page-photo-yandex .page-photo-card{
      order:2;
    }

    .page-photo-google .page-photo-grid{
      background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,248,225,.78));
    }

    .page-photo-smm .page-photo-grid{
      grid-template-columns:1.08fr .92fr;
      background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(247,240,255,.80));
    }

    .page-photo-smm .page-photo-card{
      order:2;
    }

    .page-photo-training .page-photo-grid{
      background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(235,255,249,.82));
    }

    .business-map-wrap{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
      align-items:stretch;
    }

    .business-map{
      position:relative;
      min-height:560px;
      border-radius:38px;
      border:1px solid rgba(19,34,24,.08);
      background:
        radial-gradient(circle at 50% 50%, rgba(126,217,87,.18), transparent 15rem),
        linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,241,247,.72));
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .business-map::before{
      content:"";
      position:absolute;
      inset:24px;
      border-radius:30px;
      border:1px dashed rgba(19,34,24,.10);
      pointer-events:none;
    }

    .map-lines{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      z-index:1;
      pointer-events:none;
    }

    .map-lines path{
      fill:none;
      stroke:rgba(45,96,54,.25);
      stroke-width:4;
      stroke-linecap:round;
      stroke-dasharray:10 11;
      animation:dashFlow 20s linear infinite;
    }

    @keyframes dashFlow{
      to{stroke-dashoffset:-240;}
    }

    .map-center{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      z-index:3;
      width:190px;
      height:190px;
      border-radius:42px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(126,217,87,.28);
      box-shadow:0 24px 70px rgba(19,34,24,.13);
      display:grid;
      place-items:center;
      text-align:center;
      padding:18px;
    }

    .map-logo{
      width:82px;
      height:82px;
      border-radius:24px;
      overflow:hidden;
      background:#fff;
      box-shadow:0 14px 30px rgba(19,34,24,.08);
    }

    .map-logo img{
      width:100%;
      height:100%;
      object-fit:contain;
      display:block;
    }

    .map-center strong{
      display:block;
      font-size:28px;
      letter-spacing:-.055em;
      line-height:1;
    }

    .map-center span{
      display:block;
      color:var(--muted);
      font-size:12px;
      font-weight:750;
    }

    .map-node{
      position:absolute;
      z-index:4;
      width:150px;
      min-height:76px;
      padding:15px;
      border-radius:24px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(19,34,24,.08);
      box-shadow:0 16px 40px rgba(19,34,24,.08);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .map-node:hover{
      transform:translateY(-4px) scale(1.03);
      box-shadow:0 24px 62px rgba(19,34,24,.14);
      border-color:rgba(126,217,87,.38);
    }

    .map-node b{
      display:block;
      font-size:16px;
      letter-spacing:-.025em;
      margin-bottom:4px;
    }

    .map-node small{
      display:block;
      color:var(--muted);
      font-weight:750;
      font-size:12px;
    }

    .map-node::after{
      content:attr(data-tip);
      position:absolute;
      left:50%;
      bottom:calc(100% + 10px);
      transform:translateX(-50%) translateY(6px);
      width:220px;
      padding:10px 12px;
      border-radius:16px;
      background:rgba(19,34,24,.92);
      color:#fff;
      font-size:12px;
      line-height:1.35;
      opacity:0;
      pointer-events:none;
      transition:.18s ease;
      box-shadow:0 16px 40px rgba(19,34,24,.18);
    }

    .map-node:hover::after{
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }

    .node-strategy{left:70px; top:54px; background:#fff7ef;}
    .node-site{left:50%; top:34px; transform:translateX(-50%);}
    .node-site:hover{transform:translateX(-50%) translateY(-4px) scale(1.03);}
    .node-smm{right:70px; top:54px; background:#f7f0ff;}
    .node-ads{right:36px; top:242px; background:#fff2f2;}
    .node-content{right:72px; bottom:54px; background:#effdf9;}
    .node-visual{left:50%; bottom:34px; transform:translateX(-50%); background:#fff1f7;}
    .node-visual:hover{transform:translateX(-50%) translateY(-4px) scale(1.03);}
    .node-avito{left:70px; bottom:54px; background:#edf9ff;}
    .node-google{left:34px; top:242px; background:#fff9e6;}
    .node-analytics{left:238px; top:76px; background:#f1ffe9;}

    .business-map-note{
      padding:30px;
      border-radius:34px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(19,34,24,.08);
      box-shadow:var(--shadow);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }

    .map-mini-list{
      display:grid;
      gap:10px;
    }

    .map-mini-list span{
      padding:13px 15px;
      border-radius:18px;
      background:rgba(126,217,87,.08);
      border:1px solid rgba(126,217,87,.18);
      color:#385240;
      font-weight:750;
    }

    @media (max-width:1060px){
      .business-map-wrap{
        grid-template-columns:1fr;
      }

      .business-map{
        min-height:680px;
      }

      .node-strategy{left:30px; top:52px;}
      .node-site{top:38px;}
      .node-smm{right:30px; top:52px;}
      .node-ads{right:26px; top:300px;}
      .node-google{left:26px; top:300px;}
      .node-avito{left:30px; bottom:52px;}
      .node-content{right:30px; bottom:52px;}
      .node-analytics{left:50%; top:160px; transform:translateX(-50%);}
      .node-analytics:hover{transform:translateX(-50%) translateY(-4px) scale(1.03);}
    }

    @media (max-width:820px){
      .page-photo-grid,
      .page-photo-yandex .page-photo-grid,
      .page-photo-smm .page-photo-grid{
        grid-template-columns:1fr;
      }

      .page-photo-yandex .page-photo-card,
      .page-photo-smm .page-photo-card{
        order:0;
      }

      .page-photo-card{
        height:330px;
      }
    }

    @media (max-width:720px){
      .business-map{
        min-height:auto;
        display:grid;
        gap:12px;
        padding:20px;
      }

      .map-lines{
        display:none;
      }

      .map-center,
      .map-node,
      .node-site,
      .node-visual,
      .node-analytics{
        position:relative;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        transform:none;
        width:100%;
        height:auto;
        min-height:auto;
      }

      .map-center{
        width:100%;
        border-radius:26px;
      }

      .map-node:hover,
      .node-site:hover,
      .node-visual:hover,
      .node-analytics:hover{
        transform:translateY(-2px);
      }

      .map-node::after{
        display:none;
      }
    }

    



/* ==== photo adaptive fix: images do not crop ==== */
    .photo-wrap{
      height:auto !important;
      min-height:0 !important;
      aspect-ratio: 4 / 5 !important;
      background:
        radial-gradient(circle at 50% 28%, rgba(126,217,87,.10), transparent 18rem),
        linear-gradient(180deg, #f4f7f2 0%, #edf4ea 100%) !important;
    }

    .hero-photo-slider{
      display:grid !important;
      place-items:center !important;
      background:
        radial-gradient(circle at 50% 30%, rgba(126,217,87,.08), transparent 18rem),
        #eef4ea !important;
    }

    .hero-slide{
      width:100% !important;
      height:100% !important;
      object-fit:contain !important;
      object-position:center center !important;
      padding:0 !important;
    }

    .page-photo-card,
    .portrait-card,
    .portrait-contact .portrait-card,
    .business-photo{
      height:auto !important;
      min-height:0 !important;
      display:grid !important;
      place-items:center !important;
      background:
        radial-gradient(circle at 50% 28%, rgba(126,217,87,.08), transparent 18rem),
        linear-gradient(180deg, #f7faf6 0%, #edf4ea 100%) !important;
    }

    .page-photo-card img,
    .portrait-card img,
    .portrait-contact .portrait-card img,
    .business-photo img{
      position:relative !important;
      width:100% !important;
      height:auto !important;
      max-height:560px !important;
      object-fit:contain !important;
      object-position:center center !important;
      display:block !important;
    }

    .page-photo-grid{
      align-items:center !important;
    }

    .page-photo-card{
      padding:0 !important;
      overflow:hidden !important;
    }

    .portrait-grid{
      grid-template-rows:auto !important;
      align-items:start !important;
    }

    .portrait-card.tall,
    .portrait-card:not(.tall){
      height:auto !important;
    }

    .portrait-card.tall img{
      max-height:620px !important;
    }

    .portrait-card:not(.tall) img{
      max-height:330px !important;
    }

    .contact-wrap{
      align-items:start !important;
    }

    .portrait-contact .portrait-card img{
      max-height:430px !important;
    }

    .business-photo img{
      max-height:620px !important;
    }

    @media (max-width:820px){
      .photo-wrap{
        aspect-ratio: 3 / 4 !important;
      }

      .hero-slide{
        object-fit:contain !important;
      }

      .page-photo-card img,
      .portrait-card img,
      .portrait-contact .portrait-card img,
      .business-photo img{
        max-height:none !important;
      }

      .page-photo-card,
      .portrait-card,
      .portrait-contact .portrait-card,
      .business-photo{
        width:100% !important;
      }
    }

    @media (max-width:560px){
      .photo-wrap{
        aspect-ratio: 3 / 4.4 !important;
      }

      .page-photo-grid{
        padding:12px !important;
      }

      .page-photo-card img{
        width:100% !important;
      }
    }

  
    



/* ==== final photo stretch update ==== */
    .hero-photo-slider,
    .slide-dots{
      display:none !important;
    }

    .photo-wrap{
      position:relative !important;
      overflow:hidden !important;
      aspect-ratio:4 / 5 !important;
      min-height:0 !important;
      height:auto !important;
      background:linear-gradient(180deg, #f4f7f2 0%, #edf4ea 100%) !important;
    }

    .hero-single-photo{
      width:100% !important;
      height:100% !important;
      display:block !important;
      object-fit:cover !important;
      object-position:center 22% !important;
    }

    .photo-wrap .corner-logo{
      position:absolute !important;
      right:18px !important;
      bottom:18px !important;
      z-index:3 !important;
    }

    .page-photo-card,
    .portrait-card,
    .portrait-contact .portrait-card,
    .business-photo{
      overflow:hidden !important;
      display:block !important;
      background:#eef4ea !important;
    }

    .page-photo-card{
      height:390px !important;
    }

    .portrait-card.tall{
      height:520px !important;
    }

    .portrait-card:not(.tall){
      height:250px !important;
    }

    .portrait-contact .portrait-card{
      height:320px !important;
    }

    .business-photo{
      height:520px !important;
    }

    .page-photo-card img,
    .portrait-card img,
    .portrait-contact .portrait-card img,
    .business-photo img{
      width:100% !important;
      height:100% !important;
      max-height:none !important;
      display:block !important;
      object-fit:cover !important;
      object-position:center 22% !important;
    }

    .page-photo-avito .page-photo-card img{
      object-position:center 14% !important;
    }

    .page-photo-yandex .page-photo-card img{
      object-position:center 26% !important;
    }

    .page-photo-google .page-photo-card img{
      object-position:center 18% !important;
    }

    .page-photo-smm .page-photo-card img{
      object-position:center 22% !important;
    }

    .page-photo-training .page-photo-card img{
      object-position:center 12% !important;
    }

    @media (max-width:820px){
      .photo-wrap{
        aspect-ratio: 3 / 4.2 !important;
      }

      .page-photo-card{
        height:340px !important;
      }

      .portrait-card.tall{
        height:420px !important;
      }

      .portrait-card:not(.tall){
        height:240px !important;
      }

      .business-photo{
        height:420px !important;
      }
    }

    @media (max-width:560px){
      .photo-wrap{
        aspect-ratio: 3 / 4.35 !important;
      }

      .page-photo-card{
        height:300px !important;
      }

      .portrait-card.tall{
        height:360px !important;
      }

      .portrait-card:not(.tall){
        height:220px !important;
      }

      .portrait-contact .portrait-card{
        height:280px !important;
      }

      .business-photo{
        height:360px !important;
      }

      .hero-single-photo,
      .page-photo-card img,
      .portrait-card img,
      .portrait-contact .portrait-card img,
      .business-photo img{
        object-position:center 18% !important;
      }
    }

    



/* ==== final ratio fix: all photo containers like main, not 16:9 ==== */
    :root{
      --site-photo-ratio: 4 / 5;
    }

    .photo-wrap,
    .page-photo-card,
    .portrait-card,
    .portrait-contact .portrait-card,
    .business-photo{
      width:100% !important;
      height:auto !important;
      min-height:0 !important;
      aspect-ratio:var(--site-photo-ratio) !important;
      overflow:hidden !important;
      display:block !important;
      border-radius:30px !important;
      background:
        radial-gradient(circle at 50% 28%, rgba(126,217,87,.08), transparent 18rem),
        linear-gradient(180deg, #f7faf6 0%, #edf4ea 100%) !important;
    }

    .hero-single-photo,
    .page-photo-card img,
    .portrait-card img,
    .portrait-contact .portrait-card img,
    .business-photo img{
      width:100% !important;
      height:100% !important;
      max-width:none !important;
      max-height:none !important;
      object-fit:cover !important;
      display:block !important;
    }

    .hero-single-photo{
      object-position:center 26% !important;
    }

    .page-photo-card img{
      object-position:center 24% !important;
    }

    .portrait-card img,
    .portrait-contact .portrait-card img{
      object-position:center 22% !important;
    }

    .page-photo-avito .page-photo-card img{
      object-position:center 20% !important;
    }

    .page-photo-yandex .page-photo-card img{
      object-position:center 24% !important;
    }

    .page-photo-google .page-photo-card img{
      object-position:center 22% !important;
    }

    .page-photo-smm .page-photo-card img{
      object-position:center 24% !important;
    }

    .page-photo-training .page-photo-card img{
      object-position:center 20% !important;
    }

    .page-photo-grid{
      align-items:center !important;
    }

    .portrait-grid{
      grid-template-rows:auto !important;
      align-items:stretch !important;
    }

    .portrait-card.tall,
    .portrait-card:not(.tall){
      height:auto !important;
      aspect-ratio:var(--site-photo-ratio) !important;
    }

    .portrait-card.tall{
      grid-row:span 2;
    }

    .portrait-card.tall img,
    .portrait-card:not(.tall) img{
      max-height:none !important;
    }

    @media (max-width:1060px){
      .portrait-card.tall{
        grid-row:auto;
      }
    }

    @media (max-width:820px){
      :root{
        --site-photo-ratio: 4 / 5;
      }

      .photo-wrap,
      .page-photo-card,
      .portrait-card,
      .portrait-contact .portrait-card,
      .business-photo{
        aspect-ratio:var(--site-photo-ratio) !important;
      }
    }

    @media (max-width:560px){
      :root{
        --site-photo-ratio: 4 / 5;
      }

      .photo-wrap,
      .page-photo-card,
      .portrait-card,
      .portrait-contact .portrait-card,
      .business-photo{
        border-radius:24px !important;
      }

      .page-photo-grid{
        padding:12px !important;
      }
    }
