/* Homepage polish — CSS only, no structure/JS changes */

html{
  background:#fff!important;
}
body{
  background:#fff!important;
  position:relative!important;
  isolation:isolate!important;
}
/* Very subtle festive glow — barely-there peach/blush, not a wash */
body:before,
body:after{
  content:""!important;
  position:fixed!important;
  width:min(460px,70vw)!important;
  height:min(460px,70vw)!important;
  border-radius:50%!important;
  filter:blur(90px)!important;
  pointer-events:none!important;
  z-index:0!important;
}
body:before{
  top:-6%!important;
  left:-10%!important;
  background:radial-gradient(circle,rgba(255,141,107,.16) 0%,transparent 70%)!important;
}
body:after{
  right:-8%!important;
  top:32%!important;
  background:radial-gradient(circle,rgba(255,182,193,.14) 0%,transparent 70%)!important;
}
main#main-content{
  position:relative!important;
  z-index:1!important;
}

/* ========== Studio hero — white product-photo language ========== */
.hero{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  margin-top:0!important;
  overflow:visible!important;
  min-height:0!important;
}
.hero .hero-media,
.hero .hero-shape,
.hero .hero-media:before,
.hero .hero-media:after{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  animation:none!important;
  border:0!important;
}
.hero .hero-shape{display:none!important}
.hero .hero-media img{
  background:#fff!important;
  filter:none!important;
  box-shadow:none!important;
}

/* Quiet header chrome */
.header-phone{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  box-shadow:none!important;
  border-radius:999px!important;
  overflow:visible!important;
  align-items:center!important;
  min-height:44px!important;
  padding:6px 14px 6px 10px!important;
  gap:8px!important;
}
.header-phone img,
.header-phone .vig-emoji{
  flex-shrink:0!important;
  width:20px!important;
  height:20px!important;
  object-fit:contain!important;
  display:block!important;
}
.header-phone span{
  background:#ff6b5a!important;
  background-image:none!important;
}

@media (max-width:1020px){
  .site-header,
  .header.site-header{
    background:#fff!important;
    box-shadow:none!important;
    height:76px!important;
    min-height:76px!important;
    padding:0 16px!important;
    align-items:center!important;
  }
  .header.site-header{
    display:flex!important;
    justify-content:space-between!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .site-header .brand-logo{
    width:min(168px,46vw)!important;
    display:flex!important;
    align-items:center!important;
  }
  .site-header .brand-logo img{
    width:100%!important;
    height:auto!important;
    display:block!important;
  }
  .site-header .header-side{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
  }
  .menu-button,
  .site-header .menu-button,
  .site-header-scrolled .menu-button{
    background:#fff!important;
    background-image:none!important;
    border:1.5px solid #e8e8ec!important;
    border-radius:999px!important;
    box-shadow:none!important;
    width:42px!important;
    height:42px!important;
    gap:5px!important;
  }
  .menu-button span{
    background:#2a2a32!important;
  }
  .menu-button:hover,
  .menu-button:active,
  .site-header.menu-active .menu-button{
    border-color:#ff6b5a!important;
    background:#fff5f3!important;
  }
  .site-header.menu-active .menu-button span{
    background:#ff6b5a!important;
  }
}

.eyebrow,
.quick-recipient-heading .eyebrow,
.section-heading .eyebrow,
.character-heading .eyebrow,
.faq-heading .eyebrow,
.budget-heading .eyebrow{
  color:#8b8b93!important;
  letter-spacing:.06em!important;
  font-weight:700!important;
}

/* Section jump links — coral, not legacy teal --rose-dark */
.quick-recipient-heading>a{
  color:#ff6b5a!important;
  font-weight:800!important;
}
.quick-recipient-heading>a:hover{
  color:#e85a4a!important;
}

/* hero actions / title accents */
.hero .hero-actions{gap:10px!important}
.hero .hero-actions .button-primary,
.hero .hero-actions a.button-primary{
  background:linear-gradient(135deg,#ff6b6b 0%,#ff8e53 100%)!important;
  background-image:linear-gradient(135deg,#ff6b6b 0%,#ff8e53 100%)!important;
  border:0!important;
  border-radius:999px!important;
  min-height:52px!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28),0 4px 10px rgba(255,142,83,.16)!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  color:#fff!important;
}
.hero .hero-actions .button-primary:after{
  display:none!important;
  content:none!important;
}
.hero .hero-actions .button-primary:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  background-image:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  box-shadow:0 14px 30px rgba(255,107,107,.34),0 6px 14px rgba(255,142,83,.2)!important;
  filter:none!important;
}
.hero .hero-actions .button-outline,
.hero .hero-actions a.button-outline{
  background:#fff!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:0 4px 14px rgba(30,30,40,.06)!important;
  color:#2a2a32!important;
  transform:none!important;
  animation:none!important;
  min-height:50px!important;
  font-weight:700!important;
}
.hero .hero-actions .button-outline:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 6px 18px rgba(30,30,40,.09)!important;
}
.hero .playful-title{
  color:#2a2a32!important;
}
.hero .playful-title>span{
  display:inline!important;
  color:#2a2a32!important;
}
.hero .playful-title>b,
.hero .playful-title>b.hero-accent-pill{
  display:inline!important;
  margin:0 0 0 .08em!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  font-style:normal!important;
  letter-spacing:-.02em!important;
  line-height:inherit!important;
  white-space:nowrap!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#ff6b5a!important;
  color:#ff6b5a!important;
  filter:none!important;
}
.hero .playful-title>b:after,
.hero .playful-title>b.hero-accent-pill:after,
.hero .playful-title:after{
  display:none!important;
  content:none!important;
}

/* 1) PC */
@media (min-width:1021px){
  .hero{
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    align-items:center!important;
    gap:40px!important;
    width:min(1280px,100% - 64px)!important;
    padding:20px 0 32px!important;
  }
  .hero .hero-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .hero .eyebrow{margin:0 0 8px!important;color:#6f6f78!important;font-size:14px!important}
  .hero .eyebrow strong{color:#2a2a32!important}
  .hero .playful-title{margin:0 0 10px!important;letter-spacing:-.04em!important;line-height:1.05!important}
  .hero .hero-message{
    margin:0 0 20px!important;max-width:34em!important;color:#5a5a64!important;
    font-size:16px!important;line-height:1.45!important;background:transparent!important;
    border:0!important;box-shadow:none!important;padding:0!important;
  }
  .hero .hero-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;margin:0!important}
  .hero .hero-actions .button-primary,
  .hero .hero-actions .button-outline{width:auto!important;padding-left:22px!important;padding-right:22px!important}
  .hero .hero-media{width:100%!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important}
  .hero .hero-media img{
    width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;
    object-position:center!important;border-radius:10px!important;
  }
}

/* 2-3) Tablet wide: keep 2 columns */
@media (min-width:901px) and (max-width:1020px){
  .hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:22px!important;
    width:min(100% - 40px,960px)!important;
    padding:14px 0 24px!important;
  }
  .hero .hero-copy{display:flex!important;flex-direction:column!important}
  .hero .eyebrow{margin:0 0 6px!important;font-size:13px!important;color:#6f6f78!important}
  .hero .eyebrow strong{color:#2a2a32!important}
  .hero .playful-title{margin:0 0 8px!important;font-size:clamp(32px,4.6vw,42px)!important;letter-spacing:-.035em!important;line-height:1.06!important}
  .hero .hero-message{
    margin:0 0 14px!important;font-size:15px!important;line-height:1.4!important;color:#5a5a64!important;
    max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
  }
  .hero .hero-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important;margin:0!important}
  .hero .hero-actions .button-primary,
  .hero .hero-actions .button-outline{width:auto!important;flex:1 1 160px!important;transform:none!important}
  .hero .hero-media{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
  .hero .hero-media img{
    width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;
    object-fit:contain!important;object-position:center!important;border-radius:8px!important;
  }
}

/* Narrow tablet: stack photo before CTAs */
@media (min-width:721px) and (max-width:900px){
  .hero{
    display:flex!important;flex-direction:column!important;width:100%!important;gap:0!important;padding:8px 0 20px!important;
  }
  .hero .hero-copy{display:contents!important}
  .hero .eyebrow{order:1!important;padding:0 24px!important;margin:0 0 6px!important;color:#6f6f78!important;font-size:13px!important}
  .hero .eyebrow strong{color:#2a2a32!important}
  .hero .playful-title{order:2!important;padding:0 24px!important;margin:0 0 8px!important;font-size:clamp(32px,5.5vw,40px)!important;letter-spacing:-.035em!important}
  .hero .hero-message{
    order:3!important;padding:0 24px!important;margin:0 0 12px!important;font-size:15px!important;color:#5a5a64!important;
    background:transparent!important;border:0!important;box-shadow:none!important;max-width:none!important;
  }
  .hero .hero-media{order:4!important;padding:0 24px!important;width:100%!important;box-sizing:border-box!important;height:auto!important;min-height:0!important}
  .hero .hero-media img{
    width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;
    object-position:center!important;border-radius:8px!important;
  }
  .hero .hero-actions{
    order:5!important;flex-direction:row!important;flex-wrap:wrap!important;padding:12px 24px 0!important;
    width:100%!important;box-sizing:border-box!important;gap:10px!important;margin:0!important;
  }
  .hero .hero-actions .button-primary,
  .hero .hero-actions .button-outline{flex:1 1 180px!important;width:auto!important;transform:none!important}
}

/* 4) Phone */
@media (max-width:720px){
  .hero{display:flex!important;flex-direction:column!important;gap:0!important;padding:2px 0 16px!important;width:100%!important}
  .hero .hero-copy{display:contents!important}
  .hero .eyebrow{order:1!important;margin:0 0 4px!important;padding:0 16px!important;color:#6f6f78!important;font-size:13px!important}
  .hero .eyebrow strong{color:#2a2a32!important;font-weight:800!important}
  .hero .playful-title{order:2!important;margin:0 0 6px!important;padding:0 16px!important;letter-spacing:-.035em!important;font-size:clamp(30px,8.2vw,38px)!important;line-height:1.08!important}
  .hero .hero-message{
    order:3!important;margin:0 0 10px!important;padding:0 16px!important;color:#5a5a64!important;font-size:14.5px!important;
    line-height:1.4!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  }
  .hero .hero-media{order:4!important;width:100%!important;margin:0!important;padding:0 16px!important;box-sizing:border-box!important;height:auto!important;min-height:0!important;overflow:hidden!important}
  .hero .hero-media img{
    display:block!important;width:100%!important;height:auto!important;max-height:none!important;border-radius:8px!important;
    aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;margin:0!important;
  }
  .hero .hero-actions{order:5!important;display:flex!important;flex-direction:column!important;gap:8px!important;margin:12px 0 0!important;padding:0 16px!important;box-sizing:border-box!important;width:100%!important}
  .hero .hero-actions .button,
  .hero .hero-actions .button-primary,
  .hero .hero-actions .button-outline,
  .hero .hero-actions a.button,
  .hero .hero-actions a.button-primary,
  .hero .hero-actions a.button-outline{width:100%!important;transform:none!important;min-height:48px!important}
  .quick-recipient-section{padding-top:24px!important;border-top:1px solid #f0f0f2!important}
}

@media (max-width:650px){
  .hero .hero-actions .button-primary,
  .hero .hero-actions .button-outline{transform:none!important}
  .hero .hero-media,
  .hero .hero-media img{height:auto!important;min-height:0!important}
}


/* «Для кого» — studio cards matching hero language */

.quick-recipient-section{
  background:#fff!important;
}
.quick-recipient-card{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:14px!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden!important;
}
.quick-recipient-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 22px rgba(30,30,40,.07)!important;
  border-color:#d8d8de!important;
}
/* Soft identity wash — very light, photo carries color */
.quick-recipient-card.pink{
  background:#fff!important;
}
.quick-recipient-card.blue{
  background:#fff!important;
}
.quick-recipient-card.purple{
  background:#fff!important;
}
.quick-recipient-card.navy{
  background:#fff!important;
}
.quick-recipient-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box!important;
  padding:10px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:8px!important;
  background:transparent!important;
}
/* Arrow as text cue — no white circle pillow (desktop) */
.quick-recipient-card>b{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
  color:#ff6b5a!important;
}

/* Desktop: 4 equal studio tiles */
@media (min-width:1101px){
  .quick-recipient-section{
    width:min(1280px,100% - 64px)!important;
    margin-inline:auto!important;
    padding:28px 0 20px!important;
    border-top:1px solid #f0f0f2!important;
  }
  .quick-recipient-heading{
    margin-bottom:14px!important;
  }
  .quick-recipient-list{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .quick-recipient-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    justify-items:stretch!important;
    text-align:left!important;
    gap:8px!important;
    padding:8px 8px 12px!important;
    flex:none!important;
    max-width:none!important;
  }
  .quick-recipient-card img{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
  }
  .quick-recipient-card>span{
    padding:0 2px!important;
  }
  .quick-recipient-card strong{
    font-size:15px!important;
  }
  .quick-recipient-card small{
    color:#6f6f78!important;
  }
}

/* Tablet + phone: 2×2 — avoid cramped 4-col truncation */
@media (max-width:1100px){
  .quick-recipient-section{
    padding-top:20px!important;
  }
  .quick-recipient-heading{
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    margin-bottom:10px!important;
    gap:4px 12px!important;
    padding:0 16px!important;
  }
  .quick-recipient-heading h2{
    font-size:clamp(24px,4.2vw,30px)!important;
    line-height:1.15!important;
  }
  .quick-recipient-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:0 16px 4px!important;
    overflow:visible!important;
    overflow-x:visible!important;
    scroll-snap-type:none!important;
  }
  .quick-recipient-card{
    flex:none!important;
    flex-basis:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    scroll-snap-align:none!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    justify-items:stretch!important;
    text-align:left!important;
    gap:8px!important;
    padding:8px 8px 10px!important;
    border-radius:12px!important;
  }
  .quick-recipient-card img{
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    border-radius:8px!important;
  }
  .quick-recipient-card>span{
    justify-items:start!important;
    padding:0 2px!important;
  }
  .quick-recipient-card strong{
    font-size:14px!important;
    line-height:1.2!important;
  }
  .quick-recipient-card small{
    display:none!important;
  }
  .quick-recipient-card>b{
    display:none!important;
  }
}

/* Phone: tighter tiles — keep 2×2 studio rhythm */
@media (max-width:720px){
  .quick-recipient-section{
    padding-top:16px!important;
  }
  .quick-recipient-heading{
    margin-bottom:8px!important;
    padding:0 16px!important;
  }
  .quick-recipient-heading h2{
    font-size:22px!important;
    letter-spacing:-.03em!important;
  }
  .quick-recipient-list{
    gap:8px!important;
    padding:0 16px 4px!important;
  }
  .quick-recipient-card{
    gap:6px!important;
    padding:6px 6px 10px!important;
    border-radius:12px!important;
  }
  .quick-recipient-card img{
    border-radius:6px!important;
  }
  .quick-recipient-card strong{
    font-size:13px!important;
  }
  .quick-recipient-card>b{
    display:none!important;
  }

  /* Popular: clearer swipe hint + light catalog bridge */
  .popular-footer{
    padding-inline:16px!important;
  }
  .popular-footer>span{
    display:inline-block!important;
    color:#8b8b93!important;
    font-size:12px!important;
    font-weight:600!important;
  }
}

/* ========== Popular products — same tile rhythm as «Для кого» ========== */
.live-products-section,
.homepage-first-products{
  background:#fff!important;
}
.live-product-card,
a.live-product-card{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:14px!important;
  box-shadow:none!important;
  transform:none!important;
  padding:8px 8px 12px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.live-product-card:nth-child(2n),
.live-product-card:nth-child(3n),
.live-product-card:nth-child(n){
  transform:none!important;
  --card-accent:#ff6b5a!important;
}
.live-product-card:hover,
a.live-product-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 22px rgba(30,30,40,.07)!important;
  border-color:#d8d8de!important;
}
.live-product-image{
  aspect-ratio:1 / 1!important;
  background:#fff!important;
  background-image:none!important;
  border-radius:8px!important;
  border:0!important;
  overflow:hidden!important;
}
.live-product-image img{
  object-fit:contain!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
}
.live-product-card:hover img{
  transform:none!important;
}
.live-product-copy{
  gap:6px!important;
  padding:0 2px!important;
}
.live-product-copy>small,
.live-product-meta>small{
  color:#ff6b5a!important;
  font-weight:800!important;
  font-size:12px!important;
}
.live-product-copy>strong{
  font-family:inherit!important;
  font-size:clamp(15px,1.8vw,17px)!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  color:#2a2a32!important;
  font-weight:800!important;
}
/* Hide long blurbs on homepage — photo + price carry the card */
.homepage-first-products .live-product-copy > span:not(.live-product-meta){
  display:none!important;
}
.live-product-copy>span{
  color:#6f6f78!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.live-product-copy>b{
  margin-top:4px!important;
  font-size:clamp(16px,1.8vw,18px)!important;
  color:#2a2a32!important;
  align-items:center!important;
  gap:10px!important;
}
.live-product-copy i{
  background:#ff6b5a!important;
  color:#fff!important;
  border-radius:999px!important;
  min-width:0!important;
  height:38px!important;
  padding:0 14px!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.popular-footer .button-outline,
.popular-footer a.button-outline{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:999px!important;
  color:#2a2a32!important;
  box-shadow:none!important;
  transform:none!important;
  min-height:48px!important;
  font-weight:700!important;
  padding:0 22px!important;
}
.popular-footer .button-outline:hover{
  border-color:#d8d8de!important;
  transform:translateY(-1px)!important;
}

@media (min-width:1021px){
  .live-products-section,
  .homepage-first-products{
    width:min(1280px,100% - 64px)!important;
    margin-inline:auto!important;
    padding-top:36px!important;
  }
  .live-products{
    gap:16px!important;
  }
}

@media (max-width:1020px) and (min-width:721px){
  .live-product-card{
    padding:12px 12px 16px!important;
  }
  .live-product-copy>span{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    min-height:0!important;
  }
  .live-product-copy i{
    border-radius:999px!important;
    width:auto!important;
    min-width:0!important;
    font-size:13px!important;
    padding:0 14px!important;
  }
  .live-product-copy i:after{
    content:none!important;
  }
}

@media (max-width:720px){
  .live-product-card,
  a.live-product-card{
    min-width:78vw!important;
    gap:10px!important;
    padding:10px 10px 14px!important;
    border-radius:18px!important;
  }
  .live-product-image{
    border-radius:14px!important;
  }
  .live-product-copy{
    padding:0 2px!important;
    gap:6px!important;
  }
  .live-product-copy>span{
    display:none!important;
  }
  .live-product-copy>strong{
    font-size:15px!important;
  }
  .live-product-copy>b{
    font-size:16px!important;
    margin-top:6px!important;
  }
  /* Keep pill label on mobile, not mystery circle */
  .live-product-copy i{
    background:#ff6b5a!important;
    border-radius:999px!important;
    width:auto!important;
    min-width:0!important;
    height:36px!important;
    padding:0 12px!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  .live-product-copy i:after{
    content:none!important;
  }
  .popular-footer{
    padding-inline:16px!important;
    gap:12px!important;
  }
  .popular-footer>span{
    display:inline-block!important;
    color:#8b8b93!important;
    font-size:12px!important;
    font-weight:600!important;
  }
  .popular-footer .button-outline{
    width:100%!important;
  }
}

/* «Бюджет» — studio language matching hero (white tiles, no tint washes) */
.budget-section{
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:min(1280px,100% - 64px)!important;
  margin:36px auto 0!important;
  padding:0!important;
}
.budget-heading{
  margin:0 0 20px!important;
  gap:10px!important;
}
.budget-heading .eyebrow{
  margin:0 0 6px!important;
}
.budget-heading h3,
.budget-heading h2{
  margin:0!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
}
.budget-heading h3:after,
.budget-heading h2:after{
  display:none!important;
  content:none!important;
}
.budget-heading>p,
.budget-heading>span{
  color:#6f6f78!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  max-width:36em!important;
  line-height:1.45!important;
}
.budgets{
  gap:16px!important;
}
.budget-card,
a.budget-card{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  transform:none!important;
  padding:12px 14px!important;
  gap:12px!important;
  align-items:center!important;
  grid-template-columns:72px 1fr!important;
}
.budget-card:hover,
a.budget-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(30,30,40,.08)!important;
  border-color:#d8d8de!important;
}
.budget-card.budget-red,
.budget-card.budget-orange,
.budget-card.budget-yellow,
.budget-card.budget-green,
.budget-card.budget-blue,
.budget-card.budget-purple{
  background:#fff!important;
  background-image:none!important;
}
.budget-icon{
  background:#f6f7f9!important;
  border:0!important;
  border-radius:16px!important;
  animation:none!important;
  width:72px!important;
  height:72px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 72px!important;
  overflow:hidden!important;
  padding:6px!important;
  box-sizing:border-box!important;
}
.budget-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  border-radius:10px!important;
  background:transparent!important;
}
.budget-card span{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
}
.budget-card strong{
  font-size:clamp(16px,1.6vw,18px)!important;
  letter-spacing:-.02em!important;
  color:#2a2a32!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.budget-card small{
  color:#6f6f78!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.budget-card>b{
  display:none!important;
}

@media (min-width:1021px){
  .budgets{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
  }
}

@media (max-width:1100px){
  .budget-section{
    width:min(100% - 32px,960px)!important;
    margin-top:28px!important;
  }
  .budget-heading{
    margin-bottom:14px!important;
  }
  .budgets{
    gap:10px!important;
  }
  .budget-card,
  a.budget-card{
    grid-template-columns:64px 1fr!important;
    gap:10px!important;
    padding:10px 12px!important;
    border-radius:18px!important;
  }
  .budget-icon{
    width:64px!important;
    height:64px!important;
    flex-basis:64px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    padding:5px!important;
  }
  .budget-icon img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    border-radius:8px!important;
  }
}

@media (max-width:720px){
  .budget-section{
    width:100%!important;
    margin:24px 0 0!important;
    padding:0 16px!important;
    box-sizing:border-box!important;
  }
  .budget-heading{
    margin-bottom:12px!important;
  }
  .budget-heading h3,
  .budget-heading h2{
    font-size:24px!important;
    letter-spacing:-.03em!important;
  }
  .budgets{
    gap:8px!important;
  }
  .budget-card,
  a.budget-card{
    grid-template-columns:64px 1fr!important;
    padding:8px 10px!important;
    border-radius:18px!important;
    gap:10px!important;
  }
  .budget-icon{
    width:64px!important;
    height:64px!important;
    flex-basis:64px!important;
    border-radius:12px!important;
    background:#f6f7f9!important;
    overflow:hidden!important;
    padding:4px!important;
  }
  .budget-icon img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .budget-card strong{
    font-size:15px!important;
  }
  .budget-card small{
    font-size:12px!important;
  }
}

/* «Идеи для праздника» / #catalog — studio tiles matching hero */
#catalog{
  background:#fff!important;
  background-image:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:min(1280px,100% - 64px)!important;
  margin-inline:auto!important;
  padding:48px 0 28px!important;
  overflow:visible!important;
}
#catalog:before,
#catalog:after{
  display:none!important;
  content:none!important;
}
#catalog .section-heading{
  display:grid!important;
  margin-bottom:18px!important;
  gap:12px!important;
}
#catalog .section-heading .eyebrow{
  margin:0 0 6px!important;
}
#catalog .section-heading h2{
  animation:none!important;
  margin:0!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
}
#catalog .section-heading h2:after{
  display:none!important;
  content:none!important;
}
#catalog .section-heading>p{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  padding:0!important;
  color:#6f6f78!important;
  max-width:34em!important;
  line-height:1.45!important;
}

/* Keep idea tiles visible on mobile (base CSS hides them ≤650px) */
#catalog>.section-heading,
#catalog>.categories{
  display:grid!important;
}

#catalog .categories,
.categories{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.category,
a.category{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:12px 12px 16px!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  transform:none!important;
  background:#fff!important;
  background-image:none!important;
  overflow:hidden!important;
  min-height:0!important;
}
.category:hover,
a.category:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(30,30,40,.08)!important;
  border-color:#d8d8de!important;
}
.category.pink,
.category.blue,
.category.green,
.category.purple,
.category.navy,
.category.yellow,
.category.coral,
.category.rainbow{
  background:#fff!important;
  background-image:none!important;
}
.category:after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.category-image,
.category img.category-image,
.category > img{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  filter:none!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f6f7f9!important;
  border-radius:16px!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.category:hover .category-image,
.category:hover > img{
  filter:none!important;
  transform:none!important;
}
.category-copy{
  position:relative!important;
  background:transparent!important;
  border:0!important;
  border-top:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  padding:0 4px!important;
}
.category-copy strong{
  color:#2a2a32!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
  font-size:16px!important;
}
.category-copy span,
.category-copy p{
  color:#6f6f78!important;
}
/* Title-only tiles — less grey noise on 8-card grid */
.category-copy small{
  display:none!important;
}
.category-arrow{
  display:none!important;
}

@media (max-width:1100px){
  #catalog{
    width:100%!important;
    padding:28px 16px 16px!important;
  }
  #catalog .section-heading>p{
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  #catalog .categories,
  .categories{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .category,
  a.category{
    gap:10px!important;
    padding:10px 10px 14px!important;
    border-radius:18px!important;
  }
  .category-image,
  .category img.category-image,
  .category > img{
    border-radius:14px!important;
    padding:8px!important;
  }
  .category-arrow,
  .character-go{
    display:none!important;
  }
  .category-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    padding:0 2px!important;
  }
  .category-copy strong{
    font-size:15px!important;
    line-height:1.2!important;
  }
}

@media (max-width:720px){
  #catalog{
    padding:24px 16px 12px!important;
  }
  #catalog>.section-heading,
  #catalog>.categories{
    display:grid!important;
  }
  #catalog .categories,
  .categories{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .category,
  a.category{
    gap:8px!important;
    padding:8px 8px 12px!important;
    border-radius:18px!important;
    min-height:0!important;
  }
  .category-image,
  .category img.category-image,
  .category > img{
    border-radius:12px!important;
    padding:6px!important;
  }
  .category-copy{
    padding:0 2px!important;
  }
  .category-copy strong{
    font-size:14px!important;
  }
}

/* Sticky mobile CTA — coral studio chrome */
.homepage-mobile-cta{
  background:#ffffffe6!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:999px!important;
  box-shadow:0 8px 22px rgba(42,42,50,.1)!important;
  grid-template-columns:28px 1fr!important;
  padding:8px 16px 8px 10px!important;
  min-height:52px!important;
}
.homepage-mobile-cta .vig-emoji,
.homepage-mobile-cta img{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
}
.homepage-mobile-cta strong{
  color:#2a2a32!important;
  font-weight:750!important;
}
.homepage-mobile-cta b{
  display:none!important;
}

@media (max-width:720px){
  body:has(.homepage-mobile-cta) main#main-content{
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
  }
  .studio-story .story-art,
  #about .story-art{
    margin-bottom:8px!important;
  }
}

/* «Герои» — same studio tile rhythm as «Для кого» / идеи */
.characters-section,
#characters.characters-section{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:min(1280px,100% - 64px)!important;
  margin:36px auto 0!important;
  padding:0 0 8px!important;
  position:relative!important;
  overflow:visible!important;
}
.characters-section:before,
.characters-section:after,
#characters:before,
#characters:after{
  display:none!important;
  content:none!important;
  animation:none!important;
}
.character-heading{
  margin:0 0 20px!important;
  gap:12px!important;
}
.character-heading .eyebrow{
  margin:0 0 6px!important;
  color:#8b8b93!important;
}
.character-heading h2{
  margin:0!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  animation:none!important;
}
.character-heading h2:after,
#characters .character-heading h2:after{
  display:none!important;
  content:none!important;
}
.character-heading>p{
  color:#6f6f78!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  max-width:34em!important;
  line-height:1.45!important;
  transform:none!important;
}
.character-scroll{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  padding:0!important;
}
/* Collapse wall: two full rows (5×2) until «Показать всех» */
.character-scroll:not(.characters-expanded) .character-card:nth-child(n+11){
  display:none!important;
}
.character-card,
a.character-card{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  animation:none!important;
  transform:none!important;
  padding:12px 12px 16px!important;
  overflow:hidden!important;
  color:#2a2a32!important;
}
.character-card:nth-child(2n),
.character-card:nth-child(3n),
.character-card:nth-child(n){
  animation:none!important;
  transform:none!important;
}
.character-card:hover,
a.character-card:hover{
  animation:none!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(30,30,40,.08)!important;
  border-color:#d8d8de!important;
}
.character-picture{
  aspect-ratio:1 / 1!important;
  background:#f6f7f9!important;
  border-radius:16px!important;
  border:0!important;
  overflow:hidden!important;
  display:block!important;
  position:relative!important;
  padding:6px!important;
  box-sizing:border-box!important;
}
.character-picture img{
  object-fit:cover!important;
  object-position:center!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  transition:none!important;
  border-radius:12px!important;
  display:block!important;
}
.character-card:hover img{
  transform:none!important;
}
.character-card>strong{
  min-height:0!important;
  margin:0!important;
  padding:0 4px!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  color:#2a2a32!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.character-go{
  display:none!important;
}
/* Index chips off — franchise names carry the card */
.character-card>small{
  display:none!important;
}
.all-characters{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e4e4e9!important;
  border-radius:999px!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  transform:none!important;
  font-weight:700!important;
  min-height:48px!important;
  margin:24px auto 0!important;
  padding:0 22px!important;
  gap:8px!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
}
.all-characters:hover{
  transform:translateY(-1px)!important;
  border-color:#cfcfd6!important;
  box-shadow:none!important;
}
.all-characters span{
  color:#8b8b93!important;
  font-weight:700!important;
}

@media (max-width:1100px) and (min-width:721px){
  .characters-section,
  #characters.characters-section{
    width:100%!important;
    margin-top:28px!important;
    padding:0 16px 4px!important;
    box-sizing:border-box!important;
  }
  .character-heading{
    margin-bottom:14px!important;
  }
  .character-scroll{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .character-scroll:not(.characters-expanded) .character-card:nth-child(n+7){
    display:none!important;
  }
  .character-card,
  a.character-card{
    gap:10px!important;
    padding:10px 10px 14px!important;
    border-radius:18px!important;
  }
  .character-picture{
    border-radius:14px!important;
    padding:5px!important;
  }
  .character-card>strong{
    padding:0 2px!important;
    font-size:15px!important;
  }
  .character-card>small{
    display:none!important;
  }
}

@media (max-width:720px){
  .characters-section,
  #characters.characters-section{
    margin-top:24px!important;
    padding:0 0 0!important;
  }
  .character-heading{
    margin-bottom:12px!important;
    padding:0 16px!important;
  }
  .character-heading>p{
    padding:0!important;
  }
  /* Collapsed: horizontal studio row (style-lock rhythm), not a wall */
  .character-scroll:not(.characters-expanded){
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:10px!important;
    padding:0 16px 6px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .character-scroll:not(.characters-expanded)::-webkit-scrollbar{
    display:none!important;
  }
  .character-scroll:not(.characters-expanded) .character-card,
  .character-scroll:not(.characters-expanded) a.character-card{
    flex:0 0 42vw!important;
    width:42vw!important;
    max-width:168px!important;
    min-width:132px!important;
    scroll-snap-align:start!important;
    gap:8px!important;
    padding:8px 8px 12px!important;
    border-radius:18px!important;
  }
  .character-scroll:not(.characters-expanded) .character-card:nth-child(-n+6),
  .character-scroll:not(.characters-expanded) a.character-card:nth-child(-n+6){
    display:flex!important;
  }
  .character-scroll:not(.characters-expanded) .character-card:nth-child(n+7){
    display:none!important;
  }
  .character-scroll.characters-expanded{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:0 16px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .character-scroll.characters-expanded .character-card,
  .character-scroll.characters-expanded a.character-card{
    flex:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    gap:8px!important;
    padding:8px 8px 12px!important;
    border-radius:18px!important;
  }
  .character-picture{
    border-radius:12px!important;
    padding:4px!important;
  }
  .character-card>strong{
    min-height:0!important;
    padding:0 2px!important;
    font-size:14px!important;
  }
  .character-card>small{
    display:none!important;
  }
  .all-characters{
    width:calc(100% - 32px)!important;
    margin:16px 16px 0!important;
    min-height:48px!important;
  }
}

/* «Как заказать» / #delivery — quiet studio steps */
.steps-section,
#delivery.steps-section{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:36px auto 0!important;
  padding:0 max(32px,calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  position:relative!important;
}
.steps-section:before,
.steps-section:after,
#delivery:before,
#delivery:after{
  display:none!important;
  content:none!important;
  animation:none!important;
}
.steps-section > .section-heading,
.steps-section .section-heading{
  margin:0 0 20px!important;
}
.steps-section .eyebrow{
  margin:0 0 6px!important;
  color:#8b8b93!important;
}
.steps-section h2{
  margin:0!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  animation:none!important;
}
.steps-section h2:after{
  display:none!important;
  content:none!important;
}
.steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  position:relative!important;
}
.steps:before{
  display:none!important;
  content:none!important;
  animation:none!important;
}
.step-card,
.steps .step-card,
.steps li.step-card{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  padding:22px 20px 24px!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative!important;
}
.step-card:hover,
.steps .step-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(30,30,40,.08)!important;
  border-color:#d8d8de!important;
}
.step-card:after,
.step-pink:after,
.step-blue:after,
.step-yellow:after{
  display:none!important;
  content:none!important;
}
.step-number{
  position:absolute!important;
  top:16px!important;
  right:18px!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  color:#b0b0b8!important;
  opacity:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.step-icon{
  width:96px!important;
  height:96px!important;
  margin:0 0 16px!important;
  padding:10px!important;
  background:#f6f7f9!important;
  background-image:none!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.step-pink .step-icon,
.step-blue .step-icon,
.step-yellow .step-icon{
  background:#f6f7f9!important;
  background-image:none!important;
  border:0!important;
}
.step-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
  border-radius:12px!important;
}
.steps strong,
.step-card strong{
  display:block!important;
  margin:0 0 8px!important;
  font-size:clamp(17px,1.6vw,19px)!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  line-height:1.25!important;
  color:#2a2a32!important;
  font-family:inherit!important;
}
.steps p,
.step-card p{
  margin:0!important;
  color:#6f6f78!important;
  font-size:14px!important;
  line-height:1.45!important;
  max-width:28em!important;
}

@media (max-width:1100px){
  .steps-section,
  #delivery.steps-section{
    width:100%!important;
    margin-top:28px!important;
    padding:0 16px!important;
    box-sizing:border-box!important;
  }
  .steps-section > .section-heading,
  .steps-section .section-heading{
    margin-bottom:16px!important;
  }
  .steps{
    gap:12px!important;
  }
  .step-card,
  .steps .step-card{
    padding:20px 16px 22px!important;
    border-radius:18px!important;
  }
  .step-icon{
    width:84px!important;
    height:84px!important;
    margin-bottom:14px!important;
    padding:8px!important;
    border-radius:16px!important;
  }
  .step-icon img{
    width:100%!important;
    height:100%!important;
    border-radius:10px!important;
  }
  .step-card strong{
    font-size:16px!important;
  }
  .step-card p{
    font-size:13.5px!important;
    line-height:1.5!important;
  }
}

@media (max-width:720px){
  .steps-section,
  #delivery.steps-section{
    margin-top:24px!important;
    padding:0 16px!important;
  }
  .steps{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .step-card,
  .steps .step-card,
  .steps li.step-card{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-areas:"icon title" "icon text"!important;
    column-gap:14px!important;
    row-gap:4px!important;
    align-items:start!important;
    padding:14px 40px 14px 14px!important;
    border-radius:18px!important;
  }
  .step-icon{
    grid-area:icon!important;
    width:76px!important;
    height:76px!important;
    margin:0!important;
    padding:6px!important;
    border-radius:14px!important;
    align-self:center!important;
  }
  .steps strong,
  .step-card strong{
    grid-area:title!important;
    margin:0!important;
    font-size:16px!important;
  }
  .steps p,
  .step-card p{
    grid-area:text!important;
    font-size:13px!important;
    max-width:none!important;
  }
  .step-number{
    top:12px!important;
    right:14px!important;
    font-size:12px!important;
  }
}

/* ========== Service info — delivery + price (studio) ========== */
.service-info.section,
.service-info{
  background:#fff!important;
  background-image:none!important;
  width:100%!important;
  max-width:none!important;
  margin:36px auto 0!important;
  padding:0 max(32px,calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
}
.service-info:before,
.service-info:after{
  display:none!important;
  content:none!important;
}
.service-info article,
.service-info .delivery-card,
.service-info .price-card,
.service-info a.delivery-card,
.service-info a.price-card{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  transform:none!important;
  padding:28px 28px 26px!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative!important;
  display:block!important;
  text-decoration:none!important;
  color:inherit!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;
}
.service-info article:hover,
.service-info .delivery-card:hover,
.service-info .price-card:hover,
.service-info a.delivery-card:hover,
.service-info a.price-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(30,30,40,.08)!important;
  border-color:#d8d8de!important;
}
.service-info .info-icon{
  position:static!important;
  top:auto!important;
  right:auto!important;
  width:96px!important;
  height:96px!important;
  margin:0 0 16px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  animation:none!important;
  font-size:0!important;
  overflow:visible!important;
}
.service-info .info-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
  transform:none!important;
}
.service-info .eyebrow{
  margin:0 0 6px!important;
  color:#8b8b93!important;
}
.service-info h2{
  max-width:18em!important;
  margin:0 0 18px!important;
  font-size:clamp(22px,2.4vw,28px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  font-weight:800!important;
}
.service-info ul{
  color:#6f6f78!important;
  gap:10px!important;
  margin:0 0 22px!important;
  padding:0!important;
  line-height:1.45!important;
  list-style:none!important;
  display:grid!important;
}
.service-info li{
  padding-left:22px!important;
  position:relative!important;
  font-size:15px!important;
  color:#6f6f78!important;
}
.service-info li strong{
  color:#2a2a32!important;
  font-weight:800!important;
}
.service-info li:before{
  content:"✓"!important;
  color:#ff6b5a!important;
  font-weight:700!important;
  font-size:13px!important;
  position:absolute!important;
  left:0!important;
  top:.15em!important;
}
.service-info .price-list{
  gap:0!important;
  margin:0 0 22px!important;
  display:grid!important;
}
.service-info .price-list div{
  color:#6f6f78!important;
  border-bottom:1px solid #f0f0f2!important;
  border-top:0!important;
  justify-content:space-between!important;
  align-items:baseline!important;
  gap:16px!important;
  padding:11px 0!important;
  display:flex!important;
  font-size:14px!important;
}
.service-info .price-list div:last-child{
  border-bottom:0!important;
}
.service-info .price-list strong{
  color:#2a2a32!important;
  white-space:nowrap!important;
  font-weight:800!important;
  font-size:14px!important;
}
.service-info .info-page-link,
.service-info a.info-page-link,
.service-info span.info-page-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:4px!important;
  color:#6f6f78!important;
  font-weight:700!important;
  font-size:14px!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
  transition:color .15s ease!important;
}
.service-info .info-page-link > b,
.service-info a.info-page-link > b,
.service-info span.info-page-link > b{
  font-weight:800!important;
  color:inherit!important;
  transition:transform .15s ease!important;
}
.service-info .delivery-card:hover .info-page-link,
.service-info .price-card:hover .info-page-link,
.service-info a.delivery-card:hover .info-page-link,
.service-info a.price-card:hover .info-page-link{
  color:#ff6b5a!important;
}
.service-info .delivery-card:hover .info-page-link > b,
.service-info .price-card:hover .info-page-link > b,
.service-info a.delivery-card:hover .info-page-link > b,
.service-info a.price-card:hover .info-page-link > b{
  transform:translateX(2px)!important;
}
.service-info .info-page-link:hover,
.service-info a.info-page-link:hover{
  color:#e85a4a!important;
}
.service-info .info-page-link:after,
.service-info a.info-page-link:after{
  display:none!important;
  content:none!important;
}

@media (max-width:1100px){
  .service-info.section,
  .service-info{
    margin-top:28px!important;
    padding:0 16px!important;
    gap:10px!important;
  }
  .service-info article,
  .service-info .delivery-card,
  .service-info .price-card{
    padding:22px 20px 20px!important;
    border-radius:18px!important;
  }
  .service-info h2{
    font-size:clamp(20px,4vw,24px)!important;
    margin:0 0 14px!important;
  }
  .service-info .info-icon{
    width:80px!important;
    height:80px!important;
    margin:0 0 14px!important;
  }
}

@media (max-width:720px){
  .service-info.section,
  .service-info{
    grid-template-columns:1fr!important;
    margin-top:24px!important;
    gap:8px!important;
  }
  .service-info article,
  .service-info .delivery-card,
  .service-info .price-card{
    padding:18px 16px 18px!important;
    border-radius:18px!important;
  }
  .service-info .info-icon{
    width:72px!important;
    height:72px!important;
    margin:0 0 12px!important;
  }
  .service-info li,
  .service-info .price-list div{
    font-size:14px!important;
  }
}

/* ========== Studio story / #about ========== */
.studio-story,
#about.studio-story{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  width:100%!important;
  max-width:none!important;
  margin:48px auto 0!important;
  padding:0 max(32px,calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr)!important;
  gap:40px!important;
  align-items:center!important;
  overflow:visible!important;
  position:relative!important;
  content-visibility:visible!important;
}
.studio-story:before,
.studio-story:after,
#about:before,
#about:after{
  display:none!important;
  content:none!important;
  animation:none!important;
}
.studio-story .story-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  padding:4px 0!important;
  min-width:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#2a2a32!important;
}
.studio-story .eyebrow,
.studio-story .story-copy .eyebrow{
  margin:0 0 8px!important;
  color:#8b8b93!important;
}
.studio-story h2,
.studio-story .story-copy h2{
  margin:0 0 14px!important;
  max-width:16em!important;
  font-size:clamp(26px,3vw,36px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  font-weight:800!important;
}
.studio-story .story-copy > p,
.studio-story .story-copy > p:not(.eyebrow){
  margin:0 0 20px!important;
  max-width:36em!important;
  color:#6f6f78!important;
  font-size:clamp(15px,1.5vw,17px)!important;
  line-height:1.5!important;
}
.studio-story .story-points,
#about .story-points{
  display:grid!important;
  gap:10px!important;
  margin:0 0 24px!important;
  padding:0!important;
  list-style:none!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  flex-wrap:nowrap!important;
}
.studio-story .story-points span,
.studio-story .story-points li,
#about .story-points li{
  display:block!important;
  position:relative!important;
  margin:0!important;
  padding:0 0 0 22px!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.4!important;
  white-space:normal!important;
}
.studio-story .story-points li:before,
#about .story-points li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:.1em!important;
  color:#ff6b5a!important;
  font-weight:700!important;
  font-size:13px!important;
}
.studio-story .story-link,
#about .story-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:0!important;
  padding:12px 18px!important;
  min-height:44px!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:999px!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:none!important;
  animation:none!important;
  transition:border-color .15s ease,color .15s ease,background .15s ease!important;
}
.studio-story .story-link > b,
#about .story-link > b{
  font-weight:800!important;
  color:inherit!important;
  transition:transform .15s ease!important;
}
.studio-story .story-link:hover,
#about .story-link:hover{
  background:#fff!important;
  border-color:#ff6b5a!important;
  color:#ff6b5a!important;
  transform:none!important;
  box-shadow:none!important;
}
.studio-story .story-link:hover > b,
#about .story-link:hover > b{
  transform:translateX(2px)!important;
}
.studio-story .story-link:after,
.studio-story .story-link img{
  display:none!important;
}
.studio-story .story-art,
#about .story-art{
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:none!important;
  position:relative!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.studio-story .story-art:before,
.studio-story .story-art:after,
.studio-story .story-art span,
#about .story-art span{
  display:none!important;
  content:none!important;
  animation:none!important;
  filter:none!important;
}
.studio-story .story-art img,
#about .story-art img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#fff!important;
  border:0!important;
  border-radius:inherit!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
}

@media (max-width:1100px){
  .studio-story,
  #about.studio-story{
    margin-top:36px!important;
    padding:0 16px!important;
    gap:24px!important;
  }
  .studio-story .story-art,
  #about .story-art{
    border-radius:20px!important;
    display:block!important;
  }
}

@media (max-width:900px){
  .studio-story,
  #about.studio-story{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .studio-story .story-copy{
    order:1!important;
  }
  .studio-story .story-art,
  #about .story-art{
    order:2!important;
    max-width:520px!important;
    width:100%!important;
    justify-self:start!important;
  }
  .studio-story h2,
  .studio-story .story-copy h2{
    max-width:none!important;
  }
  .studio-story .story-link,
  #about .story-link{
    width:auto!important;
    max-width:100%!important;
  }
}

@media (max-width:720px){
  .studio-story,
  #about.studio-story{
    grid-template-columns:1fr!important;
    margin-top:28px!important;
    gap:18px!important;
    padding:0 16px!important;
  }
  .studio-story .story-copy{
    order:1!important;
    padding:0!important;
  }
  .studio-story .story-art,
  #about .story-art{
    order:2!important;
    display:block!important;
    border-radius:18px!important;
    min-height:0!important;
    max-width:none!important;
  }
  .studio-story h2,
  .studio-story .story-copy h2{
    font-size:clamp(24px,7vw,30px)!important;
    max-width:none!important;
  }
  .studio-story .story-points,
  #about .story-points{
    margin:0 0 18px!important;
  }
  .studio-story .story-link,
  #about .story-link{
    width:100%!important;
  }
}

@media (max-width:650px){
  .studio-story .story-art,
  #about .story-art{
    display:block!important;
  }
}

/* ========== FAQ / .faq-section — studio ========== */
.faq-section,
.faq-section.section{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:48px auto 0!important;
  padding:0 max(32px,calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  align-items:start!important;
  gap:48px!important;
  overflow:visible!important;
  content-visibility:visible!important;
}
.faq-section:before,
.faq-section:after{
  display:none!important;
  content:none!important;
}
.faq-heading{
  position:sticky!important;
  top:28px!important;
  margin:0!important;
  padding:4px 0 0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
.faq-heading .eyebrow{
  margin:0 0 8px!important;
  color:#8b8b93!important;
}
.faq-heading h2{
  margin:0 0 14px!important;
  max-width:12em!important;
  font-size:clamp(26px,3vw,36px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  font-weight:800!important;
}
.faq-heading h2:after{
  display:none!important;
  content:none!important;
}
.faq-heading > p:last-child{
  margin:0!important;
  max-width:28em!important;
  color:#6f6f78!important;
  font-size:clamp(15px,1.5vw,17px)!important;
  line-height:1.5!important;
}
.faq-list{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.faq-list details{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:18px!important;
  box-shadow:none!important;
  overflow:hidden!important;
  margin:0!important;
  transform:none!important;
}
.faq-list details[open]{
  border-color:#d8d8de!important;
  box-shadow:0 10px 28px rgba(30,30,40,.06)!important;
}
.faq-list summary{
  cursor:pointer!important;
  display:grid!important;
  grid-template-columns:36px 1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:56px!important;
  padding:12px 16px 12px 18px!important;
  margin:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  font-size:15px!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
  line-height:1.3!important;
  list-style:none!important;
  -webkit-tap-highlight-color:transparent;
}
.faq-list summary::-webkit-details-marker{
  display:none!important;
}
.faq-list summary > span,
.faq-list details:nth-child(n) summary > span{
  color:#8b8b93!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  line-height:1!important;
}
.faq-list summary > b{
  width:30px!important;
  height:30px!important;
  color:#8b8b93!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:50%!important;
  box-shadow:none!important;
  place-items:center!important;
  font-size:18px!important;
  font-weight:600!important;
  line-height:1!important;
  transition:transform .2s ease,color .15s ease,border-color .15s ease,background .15s ease!important;
  display:grid!important;
}
.faq-list details[open] summary > b{
  transform:rotate(45deg)!important;
  color:#2a2a32!important;
  border-color:#d8d8de!important;
  background:#f6f7f9!important;
}
.faq-list details > p{
  margin:0!important;
  padding:0 18px 18px 66px!important;
  color:#6f6f78!important;
  font-size:14px!important;
  line-height:1.55!important;
  background:transparent!important;
}

@media (max-width:1100px){
  .faq-section,
  .faq-section.section{
    margin-top:36px!important;
    padding:0 16px!important;
    gap:28px!important;
  }
  .faq-heading h2{
    font-size:clamp(24px,4vw,32px)!important;
  }
}

@media (max-width:900px){
  .faq-section,
  .faq-section.section{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .faq-heading{
    position:static!important;
    top:auto!important;
  }
  .faq-heading h2{
    max-width:none!important;
  }
  .faq-heading > p:last-child{
    max-width:36em!important;
  }
}

@media (max-width:720px){
  .faq-section,
  .faq-section.section{
    margin-top:28px!important;
    padding:0 16px!important;
    gap:14px!important;
  }
  .faq-heading h2{
    font-size:clamp(24px,7vw,30px)!important;
  }
  .faq-list{
    gap:8px!important;
  }
  .faq-list details{
    border-radius:16px!important;
  }
  .faq-list summary{
    grid-template-columns:30px 1fr auto!important;
    gap:10px!important;
    min-height:52px!important;
    padding:10px 12px 10px 14px!important;
    font-size:14px!important;
  }
  .faq-list summary > b{
    width:28px!important;
    height:28px!important;
    font-size:16px!important;
  }
  .faq-list details > p{
    padding:0 14px 14px 54px!important;
    font-size:13px!important;
  }
}

/* ========== Footer — studio ========== */
main#main-content > footer,
body:has(.homepage-mobile-cta) > main footer,
main#main-content footer{
  color:#2a2a32!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:48px auto 0!important;
  padding:0 max(32px,calc((100% - 1280px) / 2)) 36px!important;
  box-sizing:border-box!important;
  display:grid!important;
  gap:28px!important;
  position:relative!important;
  overflow:visible!important;
}
main#main-content > footer:before,
main#main-content > footer:after,
main#main-content footer:before,
main#main-content footer:after{
  display:none!important;
  content:none!important;
  animation:none!important;
}

/* CTA strip */
main#main-content .footer-cta{
  z-index:1!important;
  min-height:0!important;
  color:#2a2a32!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:18px 28px!important;
  margin:0!important;
  padding:26px 28px!important;
  position:relative!important;
  overflow:hidden!important;
  transform:none!important;
}
main#main-content .footer-cta-icon{
  display:none!important;
}
main#main-content .footer-cta > div{
  min-width:0!important;
}
main#main-content .footer-cta small{
  display:block!important;
  margin:0 0 6px!important;
  color:#8b8b93!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  font-weight:700!important;
}
main#main-content .footer-cta h2{
  margin:0 0 8px!important;
  max-width:18em!important;
  font-size:clamp(22px,2.6vw,30px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#2a2a32!important;
  font-weight:800!important;
}
main#main-content .footer-cta p{
  margin:0!important;
  max-width:36em!important;
  color:#6f6f78!important;
  font-size:15px!important;
  line-height:1.45!important;
}
main#main-content .footer-cta > button{
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:0!important;
  padding:0 20px!important;
  min-height:48px!important;
  white-space:nowrap!important;
  background:#fff5f3!important;
  background-image:none!important;
  border:1.5px solid #ffc4bc!important;
  border-radius:999px!important;
  box-shadow:none!important;
  color:#e85a4a!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  cursor:pointer!important;
  transform:none!important;
  animation:none!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease!important;
}
main#main-content .footer-cta > button:hover{
  background:#ffe8e4!important;
  background-image:none!important;
  border-color:#ff6b5a!important;
  color:#d94a3a!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Columns */
main#main-content .footer-content{
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(220px,1.35fr) minmax(140px,.8fr) minmax(220px,1fr)!important;
  align-items:start!important;
  gap:28px 40px!important;
  margin:0!important;
  padding:8px 0 0!important;
  background:transparent!important;
  position:relative!important;
}
main#main-content .footer-main,
main#main-content .footer-nav,
main#main-content .footer-contacts{
  display:grid!important;
  align-content:start!important;
  gap:10px!important;
  margin:0!important;
  background:transparent!important;
}
main#main-content .footer-logo,
main#main-content a.footer-logo{
  width:auto!important;
  max-width:220px!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 4px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
main#main-content .footer-logo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
main#main-content .footer-main > p{
  margin:0!important;
  color:#6f6f78!important;
  font-size:14px!important;
  line-height:1.5!important;
}
main#main-content .footer-main > span{
  margin:2px 0 0!important;
  color:#8b8b93!important;
  font-size:13px!important;
  opacity:1!important;
}
main#main-content .footer-social-label{
  margin:14px 0 0!important;
  color:#8b8b93!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
main#main-content .footer-socials{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0 0!important;
  max-width:280px!important;
}
main#main-content .footer-socials a{
  width:auto!important;
  height:auto!important;
  min-height:62px!important;
  padding:10px 6px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-decoration:none!important;
  color:#2a2a32!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease!important;
  transform:none!important;
  filter:none!important;
}
main#main-content .footer-socials a:hover{
  transform:translateY(-1px)!important;
  filter:none!important;
  border-color:#d8d8de!important;
}
main#main-content .footer-socials a img{
  width:22px!important;
  height:22px!important;
  filter:none!important;
  opacity:1!important;
  display:block!important;
  object-fit:contain!important;
}
main#main-content .footer-socials a span{
  display:block!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
main#main-content .footer-socials .social-vk{
  background:#eef3fc!important;
  border-color:#c9d8f5!important;
}
main#main-content .footer-socials .social-instagram{
  background:#fdf0f6!important;
  border-color:#f3cfe0!important;
}
main#main-content .footer-socials .social-telegram{
  background:#eef7fc!important;
  border-color:#c5e3f5!important;
}
main#main-content .footer-nav strong,
main#main-content .footer-contacts strong{
  margin:0 0 4px!important;
  color:#8b8b93!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:700!important;
}
main#main-content .footer-nav a{
  color:#2a2a32!important;
  font-size:15px!important;
  font-weight:600!important;
  text-decoration:none!important;
  opacity:1!important;
  transform:none!important;
  transition:color .15s ease!important;
}
main#main-content .footer-nav a:hover{
  color:#ff6b5a!important;
  transform:none!important;
}
main#main-content .footer-phone{
  display:grid!important;
  grid-template-columns:48px 1fr!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  text-decoration:none!important;
  font-size:16px!important;
  font-weight:750!important;
}
main#main-content .footer-phone:hover{
  border-color:#d8d8de!important;
}
main#main-content .footer-phone small{
  display:block!important;
  color:#8b8b93!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
main#main-content .footer-phone .line-icon,
main#main-content .footer-phone .vig-emoji,
main#main-content .footer-phone i{
  width:44px!important;
  height:44px!important;
  margin:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
main#main-content .footer-contacts > button.footer-chat,
main#main-content .footer-chat{
  display:grid!important;
  grid-template-columns:48px 1fr!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-height:52px!important;
  margin:4px 0 0!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  font:inherit!important;
  font-size:16px!important;
  font-weight:750!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:none!important;
  transition:border-color .15s ease!important;
}
main#main-content .footer-contacts > button.footer-chat:hover,
main#main-content .footer-chat:hover{
  border-color:#d8d8de!important;
  color:#2a2a32!important;
  text-decoration:none!important;
}
main#main-content .footer-chat small{
  display:block!important;
  color:#8b8b93!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
main#main-content .footer-chat .line-icon,
main#main-content .footer-chat .vig-emoji{
  width:44px!important;
  height:44px!important;
  margin:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
main#main-content .footer-contacts > small{
  margin:2px 0 0!important;
  max-width:290px!important;
  color:#8b8b93!important;
  font-size:13px!important;
  line-height:1.45!important;
}

/* Bottom bar */
main#main-content .footer-bottom{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  margin:8px 0 0!important;
  padding:16px 0 0!important;
  border-top:1px solid #ececf0!important;
  color:#8b8b93!important;
  font-size:13px!important;
  background:transparent!important;
}
main#main-content .footer-bottom span:nth-child(2){
  justify-self:center!important;
  text-align:center!important;
  color:#2a2a32!important;
  font-weight:700!important;
}
main#main-content .footer-bottom a{
  justify-self:end!important;
  color:#ff6b5a!important;
  font-weight:750!important;
  text-decoration:none!important;
}
main#main-content .footer-bottom a:hover{
  color:#e85a4a!important;
}

@media (max-width:1100px){
  main#main-content > footer,
  main#main-content footer{
    margin-top:36px!important;
    padding:0 16px 28px!important;
    gap:22px!important;
  }
  main#main-content .footer-cta{
    padding:22px 20px!important;
    border-radius:20px!important;
  }
  main#main-content .footer-content{
    gap:22px 28px!important;
  }
}

@media (max-width:900px){
  main#main-content .footer-cta{
    grid-template-columns:1fr!important;
    gap:16px!important;
    text-align:left!important;
  }
  main#main-content .footer-cta > button{
    justify-self:start!important;
    width:auto!important;
    max-width:100%!important;
  }
  main#main-content .footer-content{
    grid-template-columns:1fr 1fr!important;
    gap:22px 24px!important;
  }
  main#main-content .footer-main{
    grid-column:1 / -1!important;
  }
}

@media (max-width:720px){
  main#main-content > footer,
  main#main-content footer{
    margin-top:28px!important;
    padding:0 16px calc(20px + env(safe-area-inset-bottom,0px))!important;
    gap:18px!important;
  }
  main#main-content .footer-cta{
    padding:18px 16px!important;
    border-radius:18px!important;
    gap:14px!important;
  }
  main#main-content .footer-cta h2{
    font-size:clamp(20px,5.5vw,24px)!important;
    max-width:none!important;
  }
  main#main-content .footer-cta p{
    font-size:13px!important;
  }
  main#main-content .footer-cta > button{
    width:100%!important;
    min-height:46px!important;
  }
  main#main-content .footer-content{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding-top:0!important;
  }
  main#main-content .footer-main{
    grid-column:auto!important;
  }
  main#main-content .footer-logo,
  main#main-content a.footer-logo{
    max-width:200px!important;
  }
  main#main-content .footer-bottom{
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:4px!important;
    padding-top:14px!important;
    text-align:left!important;
  }
  main#main-content .footer-bottom span:nth-child(2),
  main#main-content .footer-bottom a{
    justify-self:start!important;
    text-align:left!important;
  }
}
