/*
Theme Name: ASH Textile
Theme URI: https://ash-textile.kz/
Author: ASH Textile
Description: Адаптивная WordPress-тема для студии текстиля ASH Textile. Включает лендинг, страницы каталога и юридические страницы.
Version: 1.7.5
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: ash-textile
*/

html, body { min-width: 320px; }
    body { background:#070707; }
    /* Отдельные фоновые изображения для mobile, tablet и desktop.
       Поверх каждого фона накладывается CSS-градиент слева. */
    .hero-bg {
      background-image: url('img/hero-bg-mob.webp');
      background-position: center top;
      background-size: cover;
      background-repeat: no-repeat;
      isolation: isolate;
    }

/* Inner WordPress pages and WhatsApp Product Catalog templates. */
.ash-inner-page {
  margin:0;
  color:#171717;
  background:#f6f3ee;
}
.ash-subpage-header {
  position:relative;
  z-index:50;
  color:#f7f4ef;
  background:#070707;
  border-bottom:1px solid rgba(211,168,109,.22);
}
.ash-subpage-header__inner {
  width:min(1600px,calc(100% - 40px));
  min-height:104px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:36px;
}
.ash-subpage-logo { display:block; flex:0 0 auto; }
.ash-subpage-logo img,
.ash-subpage-logo .custom-logo {
  display:block;
  width:245px;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}
.ash-subpage-logo .custom-logo-link { display:block; }
.ash-subpage-nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:26px;
}
.ash-subpage-nav a,
.ash-subpage-phone {
  color:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .2s ease;
}
.ash-subpage-nav a:hover,
.ash-subpage-phone:hover { color:#d3a86d; }
.ash-subpage-phone {
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.14);
  white-space:nowrap;
}
.ash-content-page {
  width:min(1100px,calc(100% - 40px));
  min-height:55vh;
  margin:0 auto;
  padding:80px 0 100px;
}
.ash-content-page h1 {
  margin:0 0 32px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(46px,7vw,78px);
  font-weight:600;
  line-height:1;
}
.ash-entry-content {
  font-size:17px;
  line-height:1.8;
}
.ash-entry-content > * + * { margin-top:1.2em; }
.ash-entry-content a { color:#8f632d; }
.ash-subpage-footer {
  color:rgba(255,255,255,.64);
  background:#050505;
  border-top:1px solid rgba(211,168,109,.2);
}
.ash-subpage-footer__inner {
  width:min(1600px,calc(100% - 40px));
  min-height:150px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:40px;
  font-size:13px;
  line-height:1.6;
}
.ash-subpage-footer img { display:block; width:210px; }
.ash-subpage-footer p { margin:0; }
.ash-subpage-footer a { color:inherit; text-decoration:none; }
.ash-subpage-footer a:hover { color:#d3a86d; }
.screen-reader-text {
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media (max-width:1100px) {
  .ash-subpage-nav { display:none; }
  .ash-subpage-phone { margin-left:auto; }
}
@media (max-width:680px) {
  .ash-subpage-header__inner { min-height:88px; }
  .ash-subpage-logo img,
  .ash-subpage-logo .custom-logo { width:190px; }
  .ash-subpage-phone { display:none; }
  .ash-subpage-footer__inner {
    padding:42px 0;
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
  }
  .ash-subpage-footer img { margin:0 auto; }
}
    .hero-bg::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          rgba(2,2,2,.97) 0%,
          rgba(2,2,2,.88) 42%,
          rgba(2,2,2,.46) 72%,
          rgba(2,2,2,.10) 100%
        ),
        linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.15) 52%, rgba(0,0,0,.62) 100%);
    }

    /* Tablet: 768–1279 px */
    @media (min-width:768px) {
      .hero-bg {
        background-image: url('img/hero-bg-laptop.webp');
        background-position: 62% center;
      }
      .hero-bg::before {
        background:
          linear-gradient(90deg,
            rgba(3,3,3,.98) 0%,
            rgba(3,3,3,.90) 34%,
            rgba(3,3,3,.60) 60%,
            rgba(3,3,3,.16) 100%
          ),
          linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.38) 100%);
      }
    }

    /* Desktop: from 1280 px */
    @media (min-width:1280px) {
      .hero-bg {
        background-image: url('img/hero-bg.webp');
        background-position: center center;
      }
      .hero-bg::before {
        background:
          linear-gradient(90deg,
            rgba(3,3,3,.99) 0%,
            rgba(3,3,3,.96) 24%,
            rgba(3,3,3,.82) 42%,
            rgba(3,3,3,.48) 58%,
            rgba(3,3,3,.12) 78%,
            rgba(3,3,3,.06) 100%
          ),
          linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.32) 100%);
      }
    }
    .grain::after {
      content:""; position:absolute; inset:0; pointer-events:none; opacity:.12;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
      mix-blend-mode:soft-light;
    }
    .nav-link { position:relative; }
    .nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:#d3a86d; transition:.25s; }
    .nav-link:hover::after { right:0; }

    .about-image { position: relative; overflow: hidden; background:#ded8ce; }
    .about-image img { display:block; position:relative; z-index:0; }
    /* На desktop фотография всегда остается полностью видимой.
       Мазки — отдельный декоративный слой поверх изображения, а не mask. */
    @media (min-width:1280px) {
      .about-image::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        pointer-events: none;
        /* The source archive does not contain about-brush-effect.png. */
        background: none;
      }
      .about-image::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(246,243,238,.18) 0%, transparent 16%);
      }
    }

    .services-section {
      position: relative;
      overflow: hidden;

    }
    .services-section::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background: linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,0) 16%, rgba(0,0,0,0) 84%, rgba(0,0,0,.2) 100%);
      opacity:.75;
    }
    .services-grid > article {
      position: relative;
      min-height: 290px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding: 32px 18px 28px;
    }
    .services-grid .service-icon {
      width: 96px;
      height: 96px;
      color: #d3a86d;
      margin-bottom: 26px;
      flex-shrink: 0;
    }
    .services-grid .service-title {
      color: rgba(255,255,255,.96);
      font-size: clamp(20px, 2vw, 28px);
      line-height: 1.52;
      font-weight: 400;
      max-width: 260px;
    }
    /* mobile: 2 columns / 3 rows */
    @media (max-width: 767.98px) {
      .services-grid > article { min-height: 252px; padding: 28px 14px 24px; }
      .services-grid .service-icon { width: 82px; height: 82px; margin-bottom: 22px; }
      .services-grid .service-title { font-size: 18px; line-height: 1.5; max-width: 150px; }
      .services-grid > article:nth-child(odd) { border-right: 1px solid rgba(211,168,109,.24); }
      .services-grid > article:nth-child(-n+4) { border-bottom: 1px solid rgba(211,168,109,.24); }
    }
    /* tablet: 3 columns / 2 rows */
    @media (min-width: 768px) and (max-width: 1279.98px) {
      .services-grid > article { min-height: 286px; padding: 34px 18px 28px; }
      .services-grid > article:nth-child(-n+3) { border-bottom: 1px solid rgba(211,168,109,.24); }
      .services-grid > article:not(:nth-child(3n)) { border-right: 1px solid rgba(211,168,109,.24); }
    }
    /* desktop: 6 columns / 1 row */
    @media (min-width: 1280px) {
      .services-grid > article { min-height: 356px; padding: 36px 22px 24px; }
      .services-grid > article:not(:last-child) { border-right: 1px solid rgba(211,168,109,.24); }
      .services-grid .service-title { max-width: 190px; }
    }


    .work-section {
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.95), rgba(255,255,255,.78) 42%, rgba(245,242,237,.96) 100%),
        #f7f5f1;
    }
    .work-card {
      display:grid;
      grid-template-columns: 120px minmax(0,1fr);
      gap: 28px;
      align-items:center;
      min-height: 230px;
      padding: 26px 0;
    }
    .work-icon {
      width: 106px;
      height: 106px;
      color:#111;
      justify-self:center;
    }
    .work-number {
      color:#bf8d4f;
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size:30px;
      line-height:1;
      margin-bottom:16px;
    }
    .work-title {
      font-size:clamp(28px,2.3vw,42px);
      line-height:1.12;
      font-weight:600;
      letter-spacing:-.025em;
      color:#111;
    }
    .work-text {
      margin-top:16px;
      max-width:480px;
      font-size:clamp(18px,1.5vw,27px);
      line-height:1.55;
      color:rgba(17,17,17,.78);
    }
@media (max-width:767.98px) {
      .work-card {
        grid-template-columns:76px minmax(0,1fr);
        gap:16px;
        min-height:0;
        padding:18px 0;
        border-bottom:1px solid rgba(0,0,0,.10);
      }
      .work-card:last-child { border-bottom:0; }
      .work-icon { width:68px; height:68px; }
      .work-number { font-size:24px; margin-bottom:8px; }
      .work-title { font-size:29px; }
      .work-text { font-size:18px; line-height:1.45; margin-top:9px; }
    }

/* Animated stitched 404 page. */
.ash-404-page {
  position:relative;
  isolation:isolate;
  min-height:calc(100dvh - 110px);
  overflow:hidden;
  display:flex;
  align-items:center;
  color:#f7f4ef;
  background:#080807 url('img/hero-bg.webp') center 42% / cover no-repeat;
}

.ash-legal-page {
  color:#171717;
  background:#f6f3ee;
}
.ash-404-page__scrim {
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,4,4,.9),rgba(4,4,4,.78) 48%,rgba(4,4,4,.94)),
    radial-gradient(circle at 50% 38%,rgba(211,168,109,.13),transparent 36%);
}
.ash-404-page__scrim::after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.ash-404-header {
  width:min(1500px,calc(100% - 48px));
  min-height:80px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.ash-404-header__logo img {
  display:block;
  width:230px;
  height:auto;
}
.ash-404-header__phone {
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:600;
  letter-spacing:.12em;
  text-decoration:none;
  transition:color .25s ease;
}
.ash-404-header__phone:hover,
.ash-404-header__phone:focus-visible { color:#d3a86d; }
.ash-404-content {
  width:min(1120px,calc(100% - 40px));
  margin:auto;
  padding:32px 0 28px;
  text-align:center;
}
.ash-404-eyebrow {
  margin:0;
  color:#d3a86d;
  font-size:11px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.ash-404-code {
  position:relative;
  width:min(900px,100%);
  margin:0 auto;
}
.ash-404-code svg {
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.ash-404-code text {
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:350px;
  font-weight:600;
  letter-spacing:-.045em;
  fill:none;
}
.ash-404-code__guide {
  stroke:rgba(255,255,255,.1);
  stroke-width:2;
}
.ash-404-code__thread {
  stroke:rgba(211,168,109,.24);
  stroke-width:10;
}
.ash-404-code__stitches {
  stroke:#d3a86d;
  stroke-width:5.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:2 11;
}
.ash-404-code__mask {
  transform-box:fill-box;
  transform-origin:left center;
}
.ash-404-code__seam {
  position:absolute;
  right:8%;
  bottom:12%;
  width:22%;
  height:1px;
  background:repeating-linear-gradient(90deg,#d3a86d 0 4px,transparent 4px 12px);
  transform-origin:left center;
}
.ash-404-code__seam::after {
  content:"";
  position:absolute;
  right:-8px;
  top:50%;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#d3a86d;
  transform:translateY(-50%) rotate(-18deg);
}
.ash-404-message {
  width:min(670px,100%);
  margin:-22px auto 0;
}
.ash-404-message h1 {
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(35px,5vw,58px);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.025em;
}
.ash-404-message p {
  max-width:520px;
  margin:18px auto 0;
  color:rgba(255,255,255,.64);
  font-size:16px;
  line-height:1.65;
}
.ash-404-actions {
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.ash-404-button {
  min-width:210px;
  min-height:56px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d3a86d;
  color:#f7f4ef;
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .2s ease,background-color .2s ease,color .2s ease;
}
.ash-404-button--primary {
  color:#090909;
  background:#d3a86d;
}
.ash-404-button--secondary { background:rgba(8,8,7,.48); }
.ash-404-button:hover,
.ash-404-button:focus-visible {
  color:#090909;
  background:#e0bd8c;
  border-color:#e0bd8c;
}
.ash-404-button:active { transform:translateY(1px); }
.ash-404-button:focus-visible {
  outline:2px solid #f7f4ef;
  outline-offset:3px;
}
.ash-404-footer {
  width:min(1500px,calc(100% - 48px));
  min-height:58px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:rgba(255,255,255,.32);
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
@media (prefers-reduced-motion:no-preference) {
  .ash-404-code__mask {
    animation:ash-404-sew-in 2s cubic-bezier(.22,1,.36,1) both;
  }
  .ash-404-code__stitches {
    animation:ash-404-thread-travel 1.4s steps(12,end) 2s infinite;
  }
  .ash-404-code__seam {
    animation:ash-404-seam-in .7s cubic-bezier(.22,1,.36,1) 1.65s both;
  }
  .ash-404-eyebrow,
  .ash-404-message {
    animation:ash-404-content-in .7s cubic-bezier(.22,1,.36,1) both;
  }
  .ash-404-message { animation-delay:1.35s; }
}
@keyframes ash-404-sew-in {
  from { transform:scaleX(0); }
  to { transform:scaleX(1); }
}
@keyframes ash-404-thread-travel {
  to { stroke-dashoffset:-52; }
}
@keyframes ash-404-seam-in {
  from { opacity:0; transform:scaleX(0); }
  to { opacity:1; transform:scaleX(1); }
}
@keyframes ash-404-content-in {
  from { opacity:0; transform:translateY(14px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width:767.98px) {
  .ash-404-page {
    background-image:url('img/hero-bg-mob.webp');
    background-position:center top;
  }
  .ash-404-header {
    width:calc(100% - 36px);
    min-height:74px;
    justify-content:center;
  }
  .ash-404-header__logo img { width:200px; }
  .ash-404-header__phone { display:none; }
  .ash-404-content {
    width:calc(100% - 32px);
    padding:28px 0 24px;
  }
  .ash-404-code { margin-top:8px; }
  .ash-404-code text { font-size:325px; }
  .ash-404-message { margin-top:-6px; }
  .ash-404-message p { font-size:15px; }
  .ash-404-actions {
    width:min(360px,100%);
    margin:26px auto 0;
    flex-direction:column;
  }
  .ash-404-button { width:100%; min-width:0; }
  .ash-404-footer {
    width:calc(100% - 36px);
    justify-content:center;
  }
  .ash-404-footer span:last-child { display:none; }
}
@media (max-height:760px) and (min-width:768px) {
  .ash-404-code { width:min(680px,80vw); }
  .ash-404-content { padding-top:18px; }
  .ash-404-message { margin-top:-34px; }
  .ash-404-message h1 { font-size:42px; }
  .ash-404-message p { margin-top:10px; }
  .ash-404-actions { margin-top:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .ash-404-code__mask,
  .ash-404-code__seam,
  .ash-404-eyebrow,
  .ash-404-message {
    animation:none;
    transform:none;
    opacity:1;
  }
}
    @media (min-width:768px) and (max-width:1279.98px) {
      .work-card {
        grid-template-columns:82px minmax(0,1fr);
        gap:18px;
        min-height:0;
        padding:22px 18px;
        border-bottom:1px solid rgba(0,0,0,.10);
      }
      .work-card:nth-last-child(-n+2) { border-bottom:0; }
      .work-card:nth-child(odd) { border-right:1px solid rgba(0,0,0,.10); }
      .work-icon { width:74px; height:74px; }
      .work-number { margin-bottom:9px; }
      .work-title { font-size:30px; }
      .work-text { font-size:18px; line-height:1.45; margin-top:10px; }
    }
    @media (min-width:1280px) {
      .work-card { grid-template-columns:112px minmax(0,1fr); gap:26px; min-height:260px; padding:34px 24px; }
      .work-card:nth-child(-n+3) { border-bottom:1px solid rgba(0,0,0,.10); }
      .work-card:not(:nth-child(3n)) { border-right:1px solid rgba(0,0,0,.10); }
    }


    .catalog-section {
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.88), rgba(247,245,241,1) 40%),
        #f7f5f1;
    }
    .catalog-grid {
      display:grid;
      grid-template-columns: 1fr;
      gap: 20px;
    }
    @media (min-width:768px) {
      .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
    }
    @media (min-width:1280px) {
      .catalog-grid {
        grid-template-columns: repeat(4,minmax(0,1fr));
        grid-template-rows: repeat(2,minmax(0,1fr));
        gap: 22px;
      }
      .catalog-grid > .catalog-card {
        min-height: 0;
        aspect-ratio: 1 / 1;
      }
      .catalog-grid > .catalog-card:nth-child(1) {
        grid-column: 3;
        grid-row: 1;
      }
      .catalog-grid > .catalog-card:nth-child(2) {
        grid-column: 4;
        grid-row: 1;
      }
      .catalog-grid > .catalog-card:nth-child(3) {
        grid-column: 3;
        grid-row: 2;
      }
      .catalog-grid > .catalog-card:nth-child(4) {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
        aspect-ratio: auto;
      }
      .catalog-grid > .catalog-card:nth-child(5) {
        grid-column: 4;
        grid-row: 2;
      }
      .catalog-grid > .catalog-card:nth-child(4) .catalog-title {
        font-size: clamp(34px,3vw,54px);
      }
      .catalog-grid > .catalog-card:nth-child(4) .catalog-overlay {
        padding: 30px 32px 34px;
      }
    }
    .catalog-card {
      position: relative;
      display:block;
      overflow:hidden;
      border-radius: 4px;
      background:#d8ccbd;
      aspect-ratio: 0.96;
      box-shadow: 0 1px 0 rgba(0,0,0,.03);
    }
    .catalog-card img {
      width:100%; height:100%; object-fit:cover; display:block;
      transition: transform .45s ease;
    }
    .catalog-card:hover img { transform: scale(1.04); }
    .catalog-card::after {
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.38) 100%);
      pointer-events:none;
    }
    .catalog-overlay {
      position:absolute; left:0; right:0; bottom:0; z-index:1;
      display:flex; align-items:center; justify-content:space-between;
      gap:12px;
      padding: 18px 18px 20px;
      color:#fff;
    }
    .catalog-title {
      font-size: clamp(18px, 2.2vw, 24px);
      line-height: 1.22;
      font-weight: 400;
      text-shadow: 0 1px 5px rgba(0,0,0,.25);
    }
    .catalog-arrow {
      flex-shrink:0; width: 44px; height: 24px; color:#fff; opacity:.96;
    }
    .catalog-more {
      display:inline-flex; align-items:center; gap:22px;
      font-size: clamp(18px, 1.8vw, 26px);
      letter-spacing: .28em; text-transform: uppercase; color:#111;
    }
    .catalog-more svg { width:56px; height:18px; }
    @media (max-width:767.98px) {
      .catalog-card { aspect-ratio: 0.94; }
      .catalog-overlay { padding: 16px 16px 18px; }
      .catalog-title { font-size: 17px; }
      .catalog-arrow { width: 40px; height: 20px; }
      .catalog-more { font-size: 15px; gap:14px; letter-spacing:.22em; }
      .catalog-more svg { width:42px; height:16px; }
    }


    .reviews-section {
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.92), rgba(247,245,241,1) 42%),
        #f7f5f1;
    }
    .reviews-slider {
      position: relative;
    }
    .reviews-viewport {
      position: relative;
      min-height: 0;
      overflow: hidden;
      transition: height .35s ease;
      padding-bottom: 8px;
      box-sizing: border-box;
    }
    .review-card {
      position: absolute;
      top: 0;
      left: 50%;
      width: calc(100% - 8px);
      max-width: 820px;
      transform: translateX(-50%) scale(.96);
      opacity: 0;
      pointer-events: none;
      transition: transform .55s ease, opacity .55s ease, filter .55s ease, box-shadow .55s ease;
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(17,17,17,.06);
      border-radius: 34px;
      box-shadow: 0 8px 28px rgba(0,0,0,.06);
      padding: 38px 20px 28px;
      filter: blur(0px);
    }
    .review-card.is-active {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) scale(1);
      z-index: 3;
    }
    .review-stars {
      display:flex;
      gap:8px;
      color:#E0AE35;
      font-size:26px;
      line-height:1;
    }
    .review-quote {
      margin-top:24px;
      color:#171717;
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size:clamp(24px, 2.4vw, 36px);
      line-height:1.35;
      letter-spacing:-.015em;
    }
    .review-author {
      margin-top: 34px;
      display:flex;
      align-items:center;
      gap: 20px;
    }
    .review-avatar {
      width: 86px;
      height: 86px;
      flex-shrink:0;
      border-radius:9999px;
      overflow:hidden;
      background:#e7e0d7;
    }
    .review-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
    .review-name {
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size:clamp(22px, 1.8vw, 30px);
      line-height:1.15;
      color:#111;
    }
    .reviews-controls {
      margin-top: 12px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 18px;
    }
    .reviews-arrow {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width: 54px;
      height: 54px;
      border: 1px solid rgba(17,17,17,.14);
      border-radius: 9999px;
      color:#111;
      transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    .reviews-arrow:hover { background:#111; color:#fff; border-color:#111; }
    .reviews-dots {
      display:flex;
      align-items:center;
      gap:14px;
      padding: 0 12px;
    }
    .reviews-dot {
      width: 14px;
      height: 14px;
      border-radius:9999px;
      background: rgba(17,17,17,.18);
      transition: transform .25s ease, background .25s ease;
    }
    .reviews-dot.is-active { background:#111; transform: scale(1.1); }
    .reviews-more-title {
      margin-top: 26px;
      text-align:center;
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size:clamp(30px, 3vw, 44px);
      line-height:1.08;
      color:#111;
    }
    .reviews-links {
      margin: 26px auto 0;
      display:grid;
      gap: 16px;
      max-width: 620px;
    }
    .reviews-link {
      font-family:'Montserrat', Arial, sans-serif;
      font-weight:600;
      text-transform:none;
      letter-spacing:.02em;
      min-height: 78px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid #111;
      color:#111;
      background:transparent;
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size:clamp(22px, 1.7vw, 30px);
      line-height:1;
      transition: background .25s ease, color .25s ease;
    }
    .reviews-link:hover { background:#111; color:#fff; }
    @media (max-width: 767.98px) {
      .reviews-viewport { min-height: 0; padding-bottom: 6px; }
      .review-card { padding: 28px 18px 24px; border-radius: 28px; }
      .review-stars { gap:7px; font-size:22px; }
      .review-quote { margin-top:18px; font-size:22px; line-height:1.4; }
      .review-author { margin-top:22px; gap:14px; }
      .review-avatar { width:58px; height:58px; }
      .review-name { font-size:22px; }
      .reviews-controls { gap: 10px; }
      .reviews-arrow { width: 46px; height:46px; }
      .reviews-dots { gap:10px; }
      .reviews-dot { width: 12px; height: 12px; }
      .reviews-link { min-height:64px; font-size:24px; }
    }
    @media (min-width: 768px) and (max-width: 1279.98px) {
      .reviews-viewport { min-height: 0; padding-bottom: 8px; }
      .reviews-controls { margin-top: 14px; }
    }
    @media (min-width: 1280px) {
      .reviews-viewport { min-height: 0; padding-bottom: 8px; }
      .reviews-controls { margin-top: 12px; }
      .review-card {
        width: min(760px, 47vw);
        padding: 46px 38px 34px;
      }
      .review-card.is-prev {
        opacity: .48;
        pointer-events:none;
        transform: translateX(-50%) scale(.84);
        filter: blur(3.5px);
        z-index:1;
        left: 18%;
      }
      .review-card.is-active {
        left: 50%;
      }
      .review-card.is-next {
        opacity: .48;
        pointer-events:none;
        transform: translateX(-50%) scale(.84);
        filter: blur(3.5px);
        z-index:1;
        left: 82%;
      }
      .review-card.is-hidden {
        opacity:0;
        pointer-events:none;
        transform: translateX(-50%) scale(.78);
        filter: blur(5px);
        z-index:0;
      }
    }


    .portfolio-section {
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.94), rgba(247,245,241,1) 46%),
        #f7f5f1;
    }
    .portfolio-toggle {
      display:inline-grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      border:1px solid rgba(179,160,134,.42);
      border-radius:999px;
      padding:4px;
      background: rgba(255,255,255,.72);
      box-shadow: 0 8px 22px rgba(0,0,0,.03);
    }
    .portfolio-tab {
      min-height: 64px;
      min-width: 190px;
      padding: 0 28px;
      border-radius:999px;
      font-size: 15px;
      line-height:1.15;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: .04em;
      color:#4b4b4b;
      transition: background .25s ease, color .25s ease, box-shadow .25s ease;
    }
    .portfolio-tab.is-active {
      color:#fff;
      background: linear-gradient(135deg, #141414 0%, #2c2c2c 100%);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 10px 20px rgba(0,0,0,.08);
    }
    .portfolio-panel[hidden] { display:none !important; }
    .portfolio-grid {
      display:grid;
      grid-template-columns:1fr;
      gap:18px;
      align-items:stretch;
    }
    @media (min-width: 768px) {
      .portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
    }
    @media (min-width:1280px) {
      .portfolio-grid {
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:22px;
      }
      .portfolio-grid > .portfolio-card { grid-column:span 2; }
      .portfolio-grid > .portfolio-card:last-child:nth-child(3n + 1) {
        grid-column:3 / span 2;
      }
      .portfolio-grid > .portfolio-card:nth-last-child(2):nth-child(3n + 1) {
        grid-column:2 / span 2;
      }
      .portfolio-grid > .portfolio-card:last-child:nth-child(3n + 2) {
        grid-column:4 / span 2;
      }
    }
    .portfolio-card {
      overflow:hidden;
      display:flex;
      flex-direction:column;
      height:100%;
      border-radius: 6px;
      border:1px solid rgba(184,167,145,.38);
      background:#fffdfa;
      box-shadow: 0 4px 18px rgba(0,0,0,.03);
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .portfolio-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
    .portfolio-card img {
      width:100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      display:block;
      background:#ddd2c5;
    }
    .portfolio-body {
      display:flex;
      flex:1;
      flex-direction:column;
      padding:18px 20px 22px;
    }
    .portfolio-label {
      font-size: 12px;
      line-height:1;
      text-transform: uppercase;
      letter-spacing: .28em;
      color:#b58e54;
      font-weight: 600;
    }
    .portfolio-title {
      margin-top: 16px;
      font-family:'Cormorant Garamond', Georgia, serif;
      font-size: clamp(24px, 2vw, 32px);
      line-height:1.02;
      color:#191919;
    }
    .portfolio-text {
      margin-top:10px;
      flex:1;
      font-size: 16px;
      line-height: 1.55;
      color: rgba(17,17,17,.67);
    }
    @media (max-width:767.98px) {
      .portfolio-tab { min-width: 0; min-height: 58px; padding: 0 16px; font-size: 13px; }
      .portfolio-body { padding: 16px 16px 18px; }
      .portfolio-title { font-size: 26px; }
      .portfolio-text { font-size: 15px; }
    }


    .site-footer {
     
      color: #f5f5f3;
    }
    .footer-shell {
      position: relative;
      overflow: hidden;
      border-radius: 28px;
      border: 1px solid rgba(255,255,255,.07);
      box-shadow: 0 0 0 2px rgba(255,255,255,.02), 0 14px 40px rgba(0,0,0,.28), inset 0 0 22px rgba(255,255,255,.03);
      background: rgba(0,0,0,.78);
    }
    .footer-shell::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 15%, transparent 85%, rgba(255,255,255,.02));
    }
    .footer-divider { border-color: rgba(201,159,108,.45); }
    .footer-icon {
      width: 26px;
      height: 26px;
      flex-shrink: 0;
      color: #d3b085;
    }
    .footer-social {
      width: 56px;
      height: 56px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #d3b085;
      transition: transform .25s ease, color .25s ease, opacity .25s ease;
    }
    .footer-social:hover { transform: translateY(-2px); color: #f5d9b3; }
    .footer-menu-link {
      color: rgba(255,255,255,.96);
      font-size: clamp(20px, 1.8vw, 28px);
      line-height: 1.2;
      transition: color .25s ease;
    }
    .footer-menu-link:hover { color: #d3b085; }
    .footer-cta {
      min-height: 84px;
      border: 1px solid rgba(255,255,255,.85);
      color: #fff;
      font-size: clamp(20px, 1.9vw, 28px);
      line-height: 1;
      letter-spacing: .08em;
      text-transform: uppercase;
      display:flex;
      align-items:center;
      justify-content:center;
      padding: 0 24px;
      transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    .footer-cta:hover { background:#fff; color:#111; }
    .footer-legal-link { color: #cfa772; }
    .footer-legal-link:hover { color: #efd0a7; }
    @media (max-width: 767.98px) {
      .footer-shell { border-radius: 24px; }
      .footer-social { width: 52px; height: 52px; }
      .footer-menu-link { font-size: 18px; }
      .footer-cta { min-height: 76px; font-size: 18px; }
    }


    /* Unified typography system */
    :root {
      --type-gold: #d3a86d;
      --type-dark: #171717;
      --type-muted: rgba(23,23,23,.68);
      --type-light-muted: rgba(255,255,255,.72);
    }
    .section-eyebrow {
      font-family: Inter, Arial, sans-serif;
      font-size: clamp(11px, .85vw, 13px);
      line-height: 1.2;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .30em;
      color: var(--type-gold);
    }
    .section-heading {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(46px, 6.2vw, 84px);
      line-height: .98;
      font-weight: 600;
      letter-spacing: -.035em;
      text-transform: none;
    }
    .section-heading--light { color:#fff; }
    .section-heading--dark { color:var(--type-dark); }

    /* Slightly tighter display scale for longer Kazakh headings. */
    html[lang="kk-KZ"] .section-heading {
      font-size:clamp(42px,5.65vw,76px);
    }
    html[lang="kk-KZ"] .ash-content-page h1 {
      font-size:clamp(42px,6.3vw,70px);
    }
    html[lang="kk-KZ"] .ash-404-message h1 {
      font-size:clamp(32px,4.5vw,52px);
    }
    html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(1) .font-display {
      font-size:clamp(38px,6.6vw,84px);
    }
    html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(2) {
      font-size:clamp(44px,7.8vw,98px);
    }
    html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(3) {
      font-size:clamp(41px,7.3vw,91px);
    }
    html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(4) .font-display {
      font-size:clamp(44px,7.7vw,96px);
    }
    .section-copy {
      font-family: Inter, Arial, sans-serif;
      font-size: clamp(16px, 1.25vw, 19px);
      line-height: 1.75;
      font-weight: 400;
    }
    .section-copy--dark { color:var(--type-muted); }
    .section-copy--light { color:var(--type-light-muted); }
    .card-heading {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(24px, 2.15vw, 34px) !important;
      line-height: 1.08 !important;
      font-weight: 600 !important;
      letter-spacing: -.015em !important;
      text-transform: none !important;
    }
    .card-copy {
      font-family: Inter, Arial, sans-serif !important;
      font-size: clamp(15px, 1.05vw, 17px) !important;
      line-height: 1.65 !important;
      font-weight: 400 !important;
    }
    @media (max-width:767.98px) {
      .section-heading { font-size: clamp(42px, 13vw, 58px); line-height:1; }
      html[lang="kk-KZ"] .section-heading { font-size:clamp(37px,11.5vw,52px); }
      .section-copy { font-size:16px; line-height:1.7; }
      .card-heading { font-size:26px !important; }
      .card-copy { font-size:15px !important; }
    }

    @media (max-width:399.98px) {
      html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(1) .font-display { font-size:31px; }
      html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(2) { font-size:34px; }
      html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(3) { font-size:32px; }
      html[lang="kk-KZ"] .hero-bg h1 > span:nth-child(4) .font-display { font-size:34px; }
    }


    .review-quote { font-weight:600; }
    .review-name { font-weight:600; }
    .faq-question, .faq__question { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; letter-spacing:-.01em; }
    .faq-answer, .faq__answer { font-family:Inter,Arial,sans-serif; font-size:clamp(15px,1.05vw,17px); line-height:1.7; }

  

    /* Диалог консультации в блоке контактов */
    .curtain-chat {
      position: relative;
      min-height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 32px 20px;
      background:
        radial-gradient(circle at 50% 42%, rgba(211,168,109,.10), transparent 42%),
        #050505;
    }
    .curtain-chat::before {
      content: none;
    }
    .curtain-chat__phone {
      position: relative;
      z-index: 1;
      width: min(100%, 620px);
      overflow: visible;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      backdrop-filter: none;
    }
    .curtain-chat__header {
      display: flex;
      align-items: center;
      gap: 13px;
      padding: 0 4px 24px;
      border-bottom: 0;
      background: transparent;
    }
    .curtain-chat__avatar {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      flex: 0 0 44px;
      border-radius: 999px;
      color: #090909;
      font-family: "Cormorant Garamond", Georgia, serif;
      font-size: 18px;
      font-weight: 600;
      background: #d3a86d;
    }
    .curtain-chat__name { font-size: 15px; font-weight: 600; color: #fff; }
    .curtain-chat__status { margin-top: 3px; font-size: 12px; color: rgba(255,255,255,.48); }
    .curtain-chat__online {
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 11px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(255,255,255,.52);
    }
    .curtain-chat__online::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #72c58c;
      box-shadow: 0 0 0 4px rgba(114,197,140,.10);
    }
    .curtain-chat__messages {
      min-height: 400px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 14px;
      padding: 8px 4px 12px;
    }
    .curtain-chat__message {
      width: fit-content;
      max-width: 84%;
      padding: 13px 15px;
      border-radius: 18px;
      font-size: 14px;
      line-height: 1.55;
      opacity: 0;
      transform: translateY(12px) scale(.98);
      transition: opacity .38s ease, transform .38s ease;
    }
    .curtain-chat__message.is-visible { opacity: 1; transform: translateY(0) scale(1); }
    .curtain-chat__message--client {
      align-self: flex-end;
      border-bottom-right-radius: 5px;
      color: #16110b;
      background: #d3a86d;
    }
    .curtain-chat__message--manager {
      align-self: flex-start;
      border: 0;
      border-bottom-left-radius: 5px;
      color: rgba(255,255,255,.9);
      background: rgba(255,255,255,.085);
    }
    .curtain-chat__time {
      display: block;
      margin-top: 7px;
      font-size: 10px;
      text-align: right;
      opacity: .55;
    }
    .curtain-chat__typing {
      align-self: flex-start;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-height: 42px;
      padding: 0 16px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px 18px 18px 5px;
      background: rgba(255,255,255,.065);
      opacity: 0;
      transition: opacity .25s ease;
    }
    .curtain-chat__typing.is-visible { opacity: 1; }
    .curtain-chat__typing span {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: rgba(255,255,255,.5);
      animation: curtainChatDot 1s infinite ease-in-out;
    }
    .curtain-chat__typing span:nth-child(2) { animation-delay: .15s; }
    .curtain-chat__typing span:nth-child(3) { animation-delay: .3s; }
    @keyframes curtainChatDot { 0%, 60%, 100% { transform: translateY(0); opacity:.45; } 30% { transform: translateY(-4px); opacity:1; } }
    @media (max-width: 639.98px) {
      .curtain-chat { padding: 28px 14px; }
      .curtain-chat__phone { border-radius: 0; }
      .curtain-chat__messages { min-height: 360px; padding-inline: 0; }
      .curtain-chat__message { max-width: 90%; font-size: 13px; }
      .curtain-chat__online { display:none; }
    }

    /* Premium footer */
    .footer-premium {
      position:relative;
      overflow:hidden;
      color:#f4f1eb;
      background:
        radial-gradient(circle at 18% 10%, rgba(211,168,109,.10), transparent 30%),
        linear-gradient(180deg,#080808 0%,#020202 100%);
      border-top:1px solid rgba(211,168,109,.20);
    }
    .footer-premium::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(120deg,transparent 0 62%,rgba(255,255,255,.018) 62% 63%,transparent 63% 100%);
    }
    .footer-premium__inner { position:relative; z-index:1; }
    .footer-premium__top {
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
      gap:80px;
      align-items:end;
    }
    .footer-premium__brand {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
    }
    .footer-premium__description {
      margin-top:28px;
      max-width:620px;
      font-size:clamp(16px,1.25vw,20px);
      line-height:1.75;
      color:rgba(255,255,255,.58);
    }
    .footer-premium__cta {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      justify-self:end;
      width:min(100%,480px);
    }
    .footer-premium__eyebrow,
    .footer-premium__label {
      font-size:11px;
      line-height:1.2;
      font-weight:600;
      text-transform:uppercase;
      letter-spacing:.28em;
      color:#d3a86d;
    }
    .footer-premium__phone {
      margin-top:16px;
      font-family:'Cormorant Garamond',Georgia,serif;
      font-size:clamp(34px,3.2vw,54px);
      line-height:1;
      color:#fff;
      transition:color .25s ease;
    }
    .footer-premium__phone:hover { color:#d3a86d; }
    .footer-premium__button {
      margin-top:28px;
      width:100%;
      min-height:64px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding:0 24px;
      border:1px solid rgba(211,168,109,.75);
      color:#f4f1eb;
      font-size:13px;
      font-weight:600;
      text-transform:uppercase;
      letter-spacing:.16em;
      transition:background .25s ease,color .25s ease,border-color .25s ease;
    }
    .footer-premium__button svg { width:24px; height:24px; flex:none; }
    .footer-premium__button:hover {
      background:#d3a86d;
      border-color:#d3a86d;
      color:#080808;
    }
    .footer-premium__divider {
      height:1px;
      margin:58px 0 36px;
      background:linear-gradient(90deg,rgba(211,168,109,.75),rgba(211,168,109,.16) 55%,transparent);
    }
    .footer-premium__middle {
      display:grid;
      grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
      gap:56px;
      align-items:center;
    }
    .footer-premium__contact {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
    }
    .footer-premium__value {
      margin-top:14px;
      font-size:clamp(18px,1.5vw,24px);
      line-height:1.45;
      color:rgba(255,255,255,.88);
      transition:color .25s ease;
    }
    .footer-premium__value:hover { color:#d3a86d; }
    .footer-premium__socials {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
    }
    .footer-premium__social {
      min-height:74px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      border:1px solid rgba(255,255,255,.09);
      background:rgba(255,255,255,.018);
      color:rgba(255,255,255,.76);
      font-size:13px;
      font-weight:600;
      text-transform:uppercase;
      letter-spacing:.10em;
      transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
    }
    .footer-premium__social img {
      width:32px;
      height:32px;
      object-fit:contain;
      transition:transform .25s ease;
    }
    .footer-premium__social:hover {
      transform:translateY(-3px);
      border-color:rgba(211,168,109,.55);
      background:rgba(211,168,109,.07);
      color:#fff;
    }
    .footer-premium__social:hover img { transform:scale(1.06); }
    .footer-premium__bottom {
      margin-top:40px;
      padding-top:22px;
      border-top:1px solid rgba(255,255,255,.07);
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:28px;
      color:rgba(255,255,255,.34);
      font-family:Inter,Arial,sans-serif;
      font-size:11px;
      font-weight:500;
      line-height:1.55;
      text-transform:uppercase;
      letter-spacing:.16em;
    }
    .footer-premium__copyright,
    .footer-premium__legal {
      display:flex;
      flex-wrap:wrap;
      gap:10px 24px;
    }
    .footer-premium__legal {
      justify-content:flex-end;
      text-align:right;
    }
    .footer-premium__legal a {
      color:inherit;
      font:inherit;
      letter-spacing:inherit;
      text-transform:inherit;
      transition:color .25s ease;
    }
    .footer-premium__legal a:hover {
      color:#d3a86d;
    }
    @media (max-width:1279.98px) {
      .footer-premium__top {
        grid-template-columns:1fr;
        gap:44px;
        text-align:center;
      }
      .footer-premium__brand,
      .footer-premium__cta {
        align-items:center;
        justify-self:center;
      }
      .footer-premium__description { text-align:center; }
      .footer-premium__middle {
        grid-template-columns:1fr;
        gap:34px;
      }
      .footer-premium__contact { align-items:center; text-align:center; }
      .footer-premium__divider {
        margin:46px 0 32px;
        background:linear-gradient(90deg,transparent,rgba(211,168,109,.72),transparent);
      }
    }
    @media (max-width:767.98px) {
      .footer-premium__description {
        margin-top:22px;
        font-size:15px;
        line-height:1.65;
      }
      .footer-premium__phone { font-size:34px; }
      .footer-premium__button {
        min-height:58px;
        padding:0 18px;
        font-size:11px;
      }
      .footer-premium__socials {
        grid-template-columns:1fr;
        width:100%;
      }
      .footer-premium__social {
        min-height:64px;
        justify-content:flex-start;
        padding:0 22px;
      }
      .footer-premium__bottom {
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:16px;
      }
      .footer-premium__copyright,
      .footer-premium__legal {
        justify-content:center;
        text-align:center;
        gap:8px 16px;
      }
    }
