/* HomeInterior owner map: index only — partner/links/services-panel adjustments. */

/* hi-index-partners-links.css — consolidated bundle for index.html */

/* ---- source: hi-index-inline-13.css ---- */
/* === partners-gallery-grid-v2 === */
/* Partners gallery: thin grid like portfolio (6px), keep images uncropped and not stretched */
  #partners{ overflow-x: hidden; }
  /* v4: center title + partner texts in one column */
  #partners .wrap{
    text-align: center;
  }

  /* Stack the two partner descriptions vertically (new line) and center them */
  #partners .partners-info{
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    max-width: 980px;
    margin: 18px auto 0;
  }

  #partners .partners-info-item{
    width: 100%;
  }

  #partners .partners-info .partners-desc{
    text-align: center;
  }

  /* v4: CTA hover like header buttons (gold fill + glow) */
  #partners .partners-cta .btn{
    border: 1px solid rgba(255,255,255,0.14);
    padding: 10px 16px;
    border-radius: 999px !important;
    background: transparent;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    font-size: 14px;
    letter-spacing: .02em;
    -webkit-tap-highlight-color: transparent;
  }
  #partners .partners-cta .btn:hover,
  #partners .partners-cta .btn:focus-visible{
    background: #BFA97A !important;
    color:#000 !important;
    border-color:#BFA97A !important;
    box-shadow: 0 0 18px rgba(191,169,122,0.7), 0 0 36px rgba(191,169,122,0.45) !important;
    transform: translateY(-1px);
    opacity: 1;
  }

  /* Text block (based on archive layout, without partner names; single centered CTA) */
  #partners .partners-lead{
    margin: 0 auto 18px auto;
    max-width: 980px;
    text-align: center;
    opacity: .92;
    line-height: 1.6;
  }

  /* Two descriptions (grid cols-2 from global styles) */
  #partners .partners-info{
    margin-top: 18px;
  }
  #partners .partners-info .partners-desc{
    margin: 0;
    opacity: .92;
    line-height: 1.6;
  }

  #partners .partners-cta{
    display:flex;
    justify-content:center;
    margin-top: 22px;
  }

  /* Full-bleed gallery with thin padding equal to gap */
  #partners .partners-gallery{
    --pgap: 6px;
    width: 100%;
    margin-top: 28px;
    padding: var(--pgap);
    box-sizing: border-box;
  }

  #partners .partners-grid{
    display: grid;
    gap: var(--pgap);
    margin: 0;
    padding: 0;
  }

  /* Top row: widths proportional to original images (958 / 854 / 958) */
  #partners .partners-grid-3{
    grid-template-columns: 958fr 854fr 958fr;
  }

  /* Bottom row: two equal images */
  #partners .partners-grid-2{
    grid-template-columns: 1fr 1fr;
    margin-top: var(--pgap);
  }

  #partners .partners-shot{ margin: 0; }

  #partners .partners-shot img{
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: contain;
    border-radius: 0;
  }

  /* Mobile: stack all images one-by-one, keep natural ratio */
  @media (max-width: 900px){
    #partners .partners-gallery{ margin-top: 18px; }
    /* v5: CTA button not full-width on mobile (narrower like desktop) */
    #partners .partners-cta .btn{ width: auto; max-width: none; }
    #partners .partners-grid-3,
    #partners .partners-grid-2{
      grid-template-columns: 1fr;
    }
  }


/* === v16-partners-prices-fixes === */
/* === Partners: typography + line breaks === */
#partners .wrap{ text-align:center; }
#partners .partners-lead{
  max-width: 900px;
  margin: 0 auto 8px;
  text-align: center;
  line-height: 1.62;
}
#partners .partners-desc{
  max-width: 980px;
  margin: 18px auto 0;
  text-align: center;
}

/* Wide-only line break in lead (prevents ugly short-line breaks under 950px) */
#partners .partners-wide-br{ display:none; }
@media (min-width: 950px){
  #partners .partners-wide-br{ display:block; }
}

/* === Partners spacing vs Team / Contacts === */
@media (min-width: 901px){
  #partners{ padding-top:16px !important; padding-bottom:56px !important; }
  #contacts{ padding-top:56px !important; }
}
@media (max-width: 900px){
  #partners{ padding-top:40px !important; padding-bottom:40px !important; }
  #contacts{ padding-top:40px !important; }
}

/* === Prices: stars on top + centered header === */
#prices .price-card header{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  text-align:center !important;
}
#prices .price-card header .price-stars{
  width:100%;
  text-align:center !important;
  margin:0 !important;
  order:0 !important;
}
#prices .price-card header h3{
  text-align:center !important;
  margin:0 !important;
  order:1 !important;
}
#prices .price-card header .subtitle{
  text-align:center !important;
  margin:0 !important;
  order:2 !important;
}

/* === prices-visual-restore-v5 === */
/* Возврат более плотной подачи карточек пакетов на главной без изменения типографической системы */
#prices .price-card{
  padding:22px 22px 20px !important;
}
#prices .price-card header{
  gap:4px !important;
}
#prices .price-card header .price-stars{
  color:var(--hi-accent, #BFA97A) !important;
  font-size:19px !important;
  letter-spacing:2px !important;
  line-height:1 !important;
  margin:0 0 2px !important;
}
#prices .features{
  margin:8px 0 10px !important;
}
#prices .features li{
  margin:5px 0 !important;
}
#prices .price-row{
  margin-top:10px !important;
}
#prices .price-row .price{
  text-align:left !important;
  margin:0 !important;
}
@media (min-width: 1024px){
  #prices .price-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
  #prices .price-row a.btn{
    align-self:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    min-height:44px !important;
    padding:10px 18px !important;
  }
}

/* Variant B: contract texts take the same width as the whole prices section content (no “stairs”) */
#prices .prices-contract-note,
#prices .footnote{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* === team-layout-v22 === */
/* v23: TEAM (Обо мне и команде)
   - >=1616px: 2 колонки, пока текст и фото ещё держат аккуратную горизонталь
   - <=1615px: 1 колонка (фото сверху), переключаемся раньше — до появления чёрной пустоты над фото */
@media (min-width: 1616px){
  #team .grid.cols-2{
    grid-template-areas: "teamText teamPhoto" !important;
    align-items: stretch;
  }
  #team .team-text{
    grid-area: teamText;
    min-width: 0;
  }
  #team .team-photo-col{
    grid-area: teamPhoto;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
  }
  #team .team-photo{
    height: 100%;
    min-height: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    position: relative;
  }
  #team .team-photo picture{
    display:block;
    width:100%;
    height:100%;
  }
  #team .team-photo img.team-photo-img{
    position:absolute;
    left:0;
    bottom:0; /* низ всегда вровень */
    width:100%;
    height:auto; /* без горизонтального кропа */
    display:block;
  }
}

@media (max-width: 1615px){
  #team .grid.cols-2{
    grid-template-areas:
      "teamPhoto"
      "teamText" !important;
    grid-template-columns: 1fr !important;
    align-items: start;
  }
  #team .team-text{
    grid-area: teamText;
    min-width: 0;
  }
  #team .team-photo-col{
    grid-area: teamPhoto;
    min-width: 0;
  }
  #team .team-photo{
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
  }
  #team .team-photo picture,
  #team .team-photo img{
    display:block;
    width:100%;
    height:auto;
    position: static;
  }
}


/* === hi-pill-fill-like-portfolio-tabs-v2 === */
/* v2: pill buttons — glass fill like portfolio tabs frame (base state only; keep existing gold hover) */
#home-intro .cta .btn,
#home-intro .cta .btn-outline{
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow:
    0 10px 28px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(255,255,255,0.12) !important;
}


/* === hi-home-intro-cta-glass-v1 === */
/* v1: Home intro CTA — glass fill like portfolio tabs frame (remove black + remove gold border) */
#home-intro .cta a.btn,
#home-intro .cta a.btn-outline{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;

  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(255,255,255,0.12) !important;
}


/* === hi-home-intro-cta-layout-v2 === */
/* v2: Home intro CTA — slightly lower + buttons a bit apart */
#home-intro .cta{
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;

  /* a bit more air from the lead text */
  margin-top: 14px !important;

  /* move buttons slightly to the sides inside a limited width */
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: space-between !important;

  /* keep some breathing room, but not too wide */
  gap: 22px !important;
}
@media (max-width: 900px){
  #home-intro .cta{
    max-width: none !important;
    justify-content: center !important;
    gap: 16px !important;
    margin-top: 16px !important;
  }
}


/* === hi-home-intro-portfolio-gold-v1 === */
/* v1: "Портфолио" — gold filled by default (keep existing hover glow) */
#home-intro .cta a.btn-outline{
  background: var(--hi-accent, #BFA97A) !important;
  border-color: var(--hi-accent, #BFA97A) !important;
  color: #111 !important;

  /* remove glass-only effects for a cleaner solid gold */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 0 14px rgba(191,169,122,0.22) !important;
}

/* ---- source: hi-index-inline-15.css ---- */
/* === hi-index-hub-links-v1 === */
#services .hi-services-main li{margin-bottom:12px;}
#services .hi-service-link{
  color:var(--hi-text);
  text-decoration:none;
  border-bottom:1px solid rgba(191,169,122,.45);
  transition:color .25s ease, border-color .25s ease;
}
#services .hi-service-link:hover,
#services .hi-service-link:focus-visible{
  color:var(--hi-accent);
  border-color:rgba(191,169,122,.95);
}
.hi-link-inline{
  color:inherit;
  text-decoration-color:rgba(191,169,122,.55);
  text-underline-offset:3px;
  transition:color .25s ease, text-decoration-color .25s ease;
}
.hi-link-inline:hover,
.hi-link-inline:focus-visible{
  color:var(--hi-accent);
  text-decoration-color:rgba(191,169,122,.95);
}
.hi-video-bridge,
.hi-prices-bridge{
  max-width:1100px;
  margin:22px auto 0;
  text-align:center;
}
.hi-prices-bridge{margin-top:14px;}
.hi-video-bridge p,
.hi-prices-bridge p{margin:0;}
@media (max-width:768px){
  .hi-video-bridge,
  .hi-prices-bridge{margin-top:18px;}
}


/* === index_v5_hero_services_refine === */
/* v5: tighter hero/services rhythm + integrated services title + clean frame like repair page */
#home-intro.home-intro{
  padding-bottom:28px !important;
}
#home-intro .cta{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
  margin:14px auto 0 !important;
}
#home-intro .cta .btn,
#home-intro .cta .btn-outline{
  min-width:178px !important;
}

#services{
  padding-top:14px !important;
}

#services .hi-about-layout{
  gap:14px !important;
}
#services .hi-about{
  margin:0 0 10px 0 !important;
}

#services .hi-services-layout{
  margin-top:8px !important;
}
#services .hi-services-panel{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  padding-top:0 !important;
}
@media (min-width: 1024px){
  #services .hi-services-main{
    max-width:none !important;
  }
}
#services .hi-services-shell{
  width:100%;
  padding:20px 28px 20px !important;
  border:1px solid rgba(191,169,122,.24);
  border-radius:28px;
  background:#111114 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.01), inset 0 0 0 1px rgba(255,255,255,.01);
}
#services .hi-services-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
#services .hi-service-card{
  min-width:0;
  min-height:0;
  padding:22px 26px;
  background:transparent !important;
  transition:none !important;
}
#services .hi-service-card:nth-child(-n+6){
  border-bottom:1px solid rgba(255,255,255,.08);
}
#services .hi-service-card:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.08);
  padding-left:0 !important;
}
#services .hi-service-card:nth-child(even){
  padding-right:0 !important;
}
#services .hi-service-card:nth-child(-n+2){
  padding-top:0 !important;
  padding-bottom:24px !important;
}
#services .hi-service-card:nth-child(3),
#services .hi-service-card:nth-child(4),
#services .hi-service-card:nth-child(5),
#services .hi-service-card:nth-child(6){
  padding-top:24px !important;
  padding-bottom:24px !important;
}
#services .hi-service-card:nth-child(n+7){
  padding-top:24px !important;
  padding-bottom:0 !important;
}
#services .hi-service-card:hover{
  background:transparent !important;
}
#services .hi-service-card h3{
  margin:0 0 10px;
  font-size:clamp(22px,1.45vw,28px);
  line-height:1.2;
  letter-spacing:-.018em;
  color:#fff;
}
#services .hi-service-card p{
  margin:0;
  font-size:15.5px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}
#services .hi-service-card-link{
  color:inherit;
  text-decoration:none;
  transition:color .25s ease;
}
#services .hi-service-card-link:hover,
#services .hi-service-card-link:focus-visible{
  color:#d6bf92;
}
#services .hi-service-card-primary h3{
  font-size:clamp(24px,1.55vw,30px);
}
#services .svc-cta{
  justify-content:center;
  margin-top:20px !important;
}

@media (max-width: 900px){
  #home-intro.home-intro{
    padding-bottom:20px !important;
  }
  #home-intro .cta{
    gap:10px !important;
    margin-top:16px !important;
  }
  #home-intro .cta .btn,
  #home-intro .cta .btn-outline{
    min-width:164px !important;
  }
  #services{
    padding-top:10px !important;
  }
  
  #services .hi-about-layout{
    gap:12px !important;
  }
  #services .hi-about{
    margin-bottom:8px !important;
  }
  #services .hi-services-layout{
    margin-top:8px !important;
  }
  #services .hi-services-panel{
    padding-top:0 !important;
  }
  #services .hi-services-shell{
    padding:18px 20px 18px !important;
  }
  #services .hi-services-grid{
    grid-template-columns:1fr;
  }
  #services .hi-service-card{
    min-height:auto;
    padding:20px 0 !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    background:transparent !important;
  }
  #services .hi-service-card:first-child{
    padding-top:0 !important;
  }
  #services .hi-service-card:last-child{
    padding-bottom:0 !important;
    border-bottom:0 !important;
  }
  #services .hi-service-card h3{
    font-size:clamp(20px,5.4vw,24px);
  }
  #services .hi-service-card-primary h3{
    font-size:clamp(22px,5.8vw,26px);
  }
}


/* === index_v9_services_cta_rebalance === */
/* v9: return a bit of air after hero lead + move gold accent to service CTAs */
#home-intro.home-intro{
  padding-bottom: 26px !important;
}
#services{
  padding-top: 8px !important;
}

#services .hi-about-layout{
  gap: 12px !important;
}
#services .hi-about{
  margin: 0 0 8px 0 !important;
}

#services .hi-services-layout{
  margin-top: 6px !important;
}
#services .svc-cta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px !important;
  align-items:start !important;
  width:100%;
  max-width:none !important;
  margin:24px 0 0 !important;
}
#services .svc-cta a.btn-outline{
  justify-self:center;
  min-width:280px !important;
  min-height:54px;
  padding:14px 26px !important;
  border-radius:999px !important;
  background:#BFA97A !important;
  color:#000 !important;
  border:1px solid #BFA97A !important;
  box-shadow:0 0 0 rgba(0,0,0,0) !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}
#services .svc-cta a.btn-outline:hover,
#services .svc-cta a.btn-outline:focus-visible{
  background:#cfb988 !important;
  color:#000 !important;
  border-color:#cfb988 !important;
  box-shadow:0 0 18px rgba(191,169,122,0.38), 0 0 36px rgba(191,169,122,0.18) !important;
  transform:translateY(-1px);
}
@media (max-width: 900px){
  #home-intro.home-intro{
    padding-bottom: 18px !important;
  }
  #services{
    padding-top: 6px !important;
  }
  
  #services .hi-about-layout{
    gap: 10px !important;
  }
  #services .hi-about{
    margin: 0 0 6px 0 !important;
  }
  
  #services .hi-services-layout{
    margin-top: 4px !important;
  }
  #services .svc-cta{
    grid-template-columns:1fr;
    gap:12px !important;
    margin-top:18px !important;
  }
  #services .svc-cta a.btn-outline{
    width:100%;
    max-width:360px;
    min-width:0 !important;
  }
}


/* === index_v11_services_cta_center_and_text === */
/* v11: return service CTAs to centered placement; keep button size, slightly enlarge button text */
#home-intro.home-intro{
  padding-bottom: 34px !important;
}
#services{
  padding-top: 12px !important;
}
#services .svc-cta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px !important;
  align-items:start !important;
  justify-items:center !important;
  width:100%;
  max-width:none !important;
  margin:24px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
#services .svc-cta a.btn-outline{
  justify-self:center !important;
  min-width:252px !important;
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
}
@media (max-width: 900px){
  #home-intro.home-intro{
    padding-bottom: 24px !important;
  }
  #services{
    padding-top: 8px !important;
  }
  #services .svc-cta{
    grid-template-columns:1fr;
    gap:12px !important;
    margin-top:18px !important;
    padding:0 20px !important;
    justify-items:center !important;
  }
  #services .svc-cta a.btn-outline{
    width:100%;
    max-width:360px;
    min-width:0 !important;
    font-size:16px !important;
    font-weight:600 !important;
  }
}


/* === prices_v17_refine === */
/* v17/v37: Prices block — remove service notes and keep equal heading-to-card rhythm before workflow. */
#prices{
  padding-bottom: 2px !important;
}

#prices .prices-contract-note,
#prices .footnote{
  display: none !important;
}
#design-steps{
  padding-top: 0 !important;
  margin-top: 46px !important;
}

@media (max-width: 1099px){
  
  #design-steps{
    margin-top: 32px !important;
  }
  
}


/* === hi-v30-header-capsule-cta === */
@media (min-width: 901px){
  .hi-header [data-hi-call].hi-btn{
    border-radius: 999px !important;
    padding-inline: 16px !important;
  }
  .hi-header .hi-icon,
  .hi-header .hi-phone,
  .hi-header .hi-nav a,
  .hi-header .hi-nav .hi-link,
  .hi-header .hi-link.active{
    border-radius: 999px !important;
  }
}


/* === index_v3_hero_cta_and_services_intro === */
/* v3: explicit CTA hierarchy + centered intro copy + more air before services table */
#home-intro .cta{
  gap:14px !important;
}
#home-intro .cta a.hi-hero-cta{
  font-size:16px !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-primary{
  background:var(--hi-accent, #BFA97A) !important;
  border:1px solid var(--hi-accent, #BFA97A) !important;
  border-color:var(--hi-accent, #BFA97A) !important;
  color:#111 !important;
  background-image:none !important;
  box-shadow:0 0 14px rgba(191,169,122,0.22) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-primary:hover,
#home-intro .cta a.hi-hero-cta.hi-hero-cta-primary:focus-visible{
  background:#cfb988 !important;
  border-color:#cfb988 !important;
  color:#111 !important;
  background-image:none !important;
  box-shadow:0 0 18px rgba(191,169,122,0.34), 0 0 34px rgba(191,169,122,0.18) !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary{
  background:#262626 !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  border-color:rgba(255,255,255,0.16) !important;
  color:rgba(255,255,255,0.94) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(255,255,255,0.06) !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:hover,
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:focus-visible{
  background:#2e2e2e !important;
  border-color:rgba(191,169,122,0.34) !important;
  color:#fff !important;
  background-image:none !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,0.38),
    inset 0 1px 0 rgba(255,255,255,0.05),
    inset 0 -1px 0 rgba(255,255,255,0.07),
    0 0 18px rgba(191,169,122,0.10) !important;
}
#services{
  scroll-margin-top:120px !important;
  padding-top:30px !important;
}

#services .hi-about-layout{
  gap:20px !important;
}
#services .hi-about{
  margin:0 0 18px 0 !important;
}

#services .hi-about p:last-child{
  margin-bottom:0 !important;
}
#services .hi-services-layout{
  margin-top:34px !important;
}
@media (max-width: 900px){
  #home-intro .cta a.hi-hero-cta{
    font-size:15px !important;
  }
  #services{
    scroll-margin-top:96px !important;
    padding-top:16px !important;
  }
  
  #services .hi-about-layout{
    gap:16px !important;
  }
  #services .hi-about{
    margin-bottom:14px !important;
  }
  #services .hi-services-layout{
    margin-top:24px !important;
  }
}


/* === home-v4-wide-about-header-calm === */
/* v4: wide about text + calmer desktop header active state */
#services .hi-about-layout{
  gap: 20px !important;
}
#services .hi-about{
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  text-align: center !important;
}

@media (min-width: 901px){
  #site-header .hi-nav > a.hi-link.active,
  #site-header .hi-nav a.hi-link.active,
  #site-header .hi-nav .hi-link.active,
  header#site-header .hi-nav > a.hi-link.active,
  header#site-header .hi-nav a.hi-link.active,
  header#site-header .hi-nav .hi-link.active{
    box-shadow: none !important;
    transform: none !important;
  }

  #site-header .hi-btn[data-hi-call="1"],
  #site-header.scrolled .hi-btn[data-hi-call="1"],
  #site-header [data-hi-call].hi-btn,
  #site-header .hi-meta .hi-btn-call{
    box-shadow: none !important;
  }

  #site-header .hi-btn[data-hi-call="1"]:hover,
  #site-header .hi-btn[data-hi-call="1"]:focus-visible,
  #site-header [data-hi-call].hi-btn:hover,
  #site-header [data-hi-call].hi-btn:focus-visible,
  #site-header .hi-meta .hi-btn-call:hover,
  #site-header .hi-meta .hi-btn-call:focus-visible{
    box-shadow: 0 0 18px rgba(191,169,122,0.7), 0 0 36px rgba(191,169,122,0.45) !important;
  }
}


/* === home-v8-video-rhythm-and-subtitles === */
/* v9: align video/about headings with the same scale and spacing as prices */
#hi-video-reviews{
  padding:62px 0 8px !important;
}
#hi-video-reviews .hi-videos-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  margin-bottom:12px !important;
  text-align:center !important;
}

#hi-video-reviews .hi-coverflow{
  padding-top:0 !important;
}

#services .hi-about-layout{
  gap:0 !important;
}
#services .hi-about{
  margin:0 auto 16px !important;
}
@media (max-width: 900px){
  #hi-video-reviews{
    padding:54px 0 8px !important;
    scroll-margin-top:96px !important;
  }
  #hi-video-reviews .hi-videos-head{
    margin-bottom:8px !important;
  }
  
  
  
  #services .hi-about{
    margin:0 auto 14px !important;
  }
}


/* === index-v32-clean-headings === */
:root{
  --hi-section-title-size: clamp(30px, 2.4vw, 36px);
  --hi-section-title-line: 1.16;
  --hi-section-title-gap: 22px;
  --hi-section-stack-gap: 40px;
  --hi-section-title-underline-overshoot: 28px;
  --hi-section-subtitle-size: clamp(17px, 1.02vw, 18px);
  --hi-section-subtitle-line: 1.6;
}

#services > .wrap > h2,
#portfolio > .wrap > h2,
#hi-video-reviews .hi-videos-head > h2,
#prices > .wrap > h2,
#realized-view > .wrap > h2,
#design-steps > .wrap > h2,
#team > .wrap > h2,
#partners > .wrap > h2,
#contacts > .wrap > h2{
  position:relative;
  display:block;
  width:fit-content;
  margin:0 auto var(--hi-section-title-gap);
  text-align:center;
  font-size:var(--hi-section-title-size);
  line-height:var(--hi-section-title-line);
  letter-spacing:-0.02em;
  color:var(--hi-text);
}

#services > .wrap > h2::after,
#portfolio > .wrap > h2::after,
#hi-video-reviews .hi-videos-head > h2::after,
#prices > .wrap > h2::after,
#realized-view > .wrap > h2::after,
#design-steps > .wrap > h2::after,
#team > .wrap > h2::after,
#partners > .wrap > h2::after,
#contacts > .wrap > h2::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:calc(100% + var(--hi-section-title-underline-overshoot));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,
    rgba(191,169,122,0) 0%,
    rgba(191,169,122,.85) 12%,
    rgba(191,169,122,.95) 50%,
    rgba(191,169,122,.85) 88%,
    rgba(191,169,122,0) 100%);
  box-shadow:0 0 10px rgba(191,169,122,.45), 0 0 22px rgba(191,169,122,.25);
  border-radius:2px;
}

#portfolio > .wrap > h2,
#design-steps > .wrap > h2,
#team > .wrap > h2,
#contacts > .wrap > h2{
  margin-bottom:var(--hi-section-stack-gap);
}

#portfolio > .wrap > h2{
  margin-bottom:33px;
}

#hi-video-reviews .hi-videos-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  margin-bottom:22px;
  text-align:center;
}

#services .hi-about{
  width:100%;
  max-width:920px;
  margin:0 auto 28px;
  text-align:center;
}

#services .hi-about p{
  margin:0 auto 10px;
  max-width:860px;
  font-size:var(--hi-section-subtitle-size);
  line-height:1.58;
  color:var(--hi-text-dim);
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

#services .hi-about p:last-child{
  margin-bottom:0;
}

#hi-video-reviews .hi-video-reviews-subtitle,
#prices .hi-prices-subtitle{
  max-width:900px;
  margin:0 auto 0;
  font-size:var(--hi-section-subtitle-size);
  line-height:var(--hi-section-subtitle-line);
  color:var(--hi-text-dim);
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

@media (min-width: 1100px){
  #prices .hi-prices-subtitle{
    white-space:nowrap;
  }
}

@media (max-width: 900px){
  :root{
    --hi-section-title-size: clamp(26px, 6.8vw, 30px);
    --hi-section-title-gap: 16px;
    --hi-section-stack-gap: 30px;
    --hi-section-title-underline-overshoot: 22px;
    --hi-section-subtitle-size: 16px;
    --hi-section-subtitle-line: 1.5;
  }

  #services > .wrap > h2::after,
  #portfolio > .wrap > h2::after,
  #hi-video-reviews .hi-videos-head > h2::after,
  #prices > .wrap > h2::after,
  #design-steps > .wrap > h2::after,
  #team > .wrap > h2::after,
  #partners > .wrap > h2::after,
  #contacts > .wrap > h2::after{
    bottom:-8px;
  }

  #portfolio > .wrap > h2{
    margin-bottom:23px;
  }

  #hi-video-reviews .hi-videos-head{
    margin-bottom:18px;
  }

  #services .hi-about{
    margin-bottom:20px;
  }

  #services .hi-about p{
    margin-bottom:8px;
    line-height:1.5;
  }

  #hi-video-reviews .hi-video-reviews-subtitle,
  #prices .hi-prices-subtitle{
    margin-bottom:8px;
    white-space:normal;
  }
}


/* === index_v37_secondary_cta_unify === */
/* v37: unify secondary CTA family with header / hero secondary button */
#design-steps .svc-cta a.btn-outline,
#partners .partners-cta .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  background:#262626 !important;
  color:rgba(255,255,255,0.94) !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(255,255,255,0.06) !important;
  transition:background .25s ease, color .25s ease, border-color .25s ease, box-shadow .35s ease, transform .25s ease !important;
}
#design-steps .svc-cta a.btn-outline:hover,
#design-steps .svc-cta a.btn-outline:focus-visible,
#partners .partners-cta .btn:hover,
#partners .partners-cta .btn:focus-visible{
  background:#BFA97A !important;
  color:#111 !important;
  border-color:#BFA97A !important;
  box-shadow:0 0 18px rgba(191,169,122,0.7), 0 0 36px rgba(191,169,122,0.45) !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
}
#design-steps .svc-cta{
  gap:16px !important;
}
#partners .partners-cta{
  margin-top:24px !important;
}
@media (max-width: 900px){
  #design-steps .svc-cta a.btn-outline,
  #partners .partners-cta .btn{
    min-height:48px !important;
    font-size:15px !important;
    padding:0 20px !important;
  }
}
@media (max-width: 680px){
  #design-steps .svc-cta a.btn-outline{
    width:100% !important;
    max-width:360px !important;
  }
  #partners .partners-cta .btn{
    width:auto !important;
    max-width:none !important;
  }
}


/* === hi-v40-realized-view === */
#realized-view{
  padding:56px 0 18px;
  scroll-margin-top:120px;
}
#realized-view > .wrap > .section-title{
  margin-bottom:var(--hi-section-title-gap);
}
#realized-view .realized-view-intro{
  max-width:900px;
  margin:0 auto 30px;
  text-align:center;
  font-size:17px !important;
  line-height:1.62 !important;
  color:var(--hi-text-dim) !important;
}
#realized-view .realized-view-shell{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:34px;
  padding:28px 32px;
  background:linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 100%), linear-gradient(135deg, rgba(191,169,122,.10), rgba(12,12,14,.96) 28%, rgba(4,4,4,.98) 100%);
  border:1px solid rgba(191,169,122,.24);
  border-radius:28px;
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}
#realized-view .realized-view-copy{
  min-width:0;
}
#realized-view .realized-view-list{
  margin:0;
  padding-left:18px;
}
#realized-view .realized-view-list li{
  margin:0 0 12px;
  font-size:18px !important;
  line-height:1.5 !important;
  color:var(--hi-text-dim) !important;
}
#realized-view .realized-view-list li:last-child{
  margin-bottom:0;
}
#realized-view .realized-view-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:14px;
  min-width:0;
}
#realized-view .realized-view-actions .btn,
#realized-view .realized-view-actions .btn-outline{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:52px;
  min-width:0;
  width:100%;
  max-width:350px;
  padding:15px 24px !important;
  border-radius:12px !important;
  text-decoration:none !important;
  box-shadow:none !important;
  font-size:16px !important;
  line-height:1.2 !important;
  transition:background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease !important;
}
#realized-view .realized-view-actions .btn{
  background:#000 !important;
  color:#fff !important;
  border:1px solid rgba(191,169,122,.65) !important;
}
#realized-view .realized-view-actions .btn-outline{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
}
#realized-view .realized-view-actions .btn:hover,
#realized-view .realized-view-actions .btn:focus-visible,
#realized-view .realized-view-actions .btn-outline:hover,
#realized-view .realized-view-actions .btn-outline:focus-visible{
  background:#bfa97a !important;
  color:#000 !important;
  border-color:#bfa97a !important;
  box-shadow:0 0 18px rgba(191,169,122,.70), 0 0 36px rgba(191,169,122,.45) !important;
  transform:translateY(-1px);
  opacity:1 !important;
}
#realized-view .realized-view-note{
  display:none !important;
}
@media (max-width: 980px){
  #realized-view{
    padding:42px 0 10px;
  }
  #realized-view .realized-view-intro{
    margin-bottom:24px;
    font-size:16px !important;
    line-height:1.58 !important;
  }
  #realized-view .realized-view-shell{
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    padding:24px;
    border-radius:24px;
  }
  #realized-view .realized-view-actions{
    align-items:flex-start;
    justify-content:flex-start;
  }
}
@media (max-width: 640px){
  #realized-view .realized-view-intro{
    font-size:16px !important;
    line-height:1.56 !important;
  }
  #realized-view .realized-view-list li{
    font-size:16px !important;
    line-height:1.5 !important;
  }
  #realized-view .realized-view-actions .btn,
  #realized-view .realized-view-actions .btn-outline{
    max-width:none;
  }
}


/* === team-text-justify-v14 === */
/* Desktop: пробуем ровную правую кромку без переносов слов. */
@media (min-width: 1616px){
  #team .team-text{
    max-width: none !important;
    text-align: justify !important;
    text-justify: inter-word !important;
  }
  #team .team-text p{
    text-align: inherit !important;
    text-align-last: left !important;
    text-justify: inherit !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

@media (max-width: 1615px){
  #team .team-text,
  #team .team-text p{
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/* === index-v36-heading-card-gap === */
/* After removing subtitles, restore a controlled equal gap from H2 to the cards. */
#realized-view .realized-view-shell,
#prices .hi-prices-grid{
  margin-top:48px !important;
}

@media (max-width: 900px){
  #realized-view .realized-view-shell,
  #prices .hi-prices-grid{
    margin-top:34px !important;
  }
}


/* === index_v38_design_steps_cta_offset === */
/* v38: lower only the service CTA buttons inside "Как мы работаем" by +16px; do not move the steps grid or headings. */
#design-steps .svc-cta{
  margin-top:32px !important;
}

/* === index_v44_design_steps_cta_flow_offset === */
/* v44: lower the CTA buttons under "Как мы работаем" by another 10px in the normal flow, so the content below moves down too. */
#design-steps .svc-cta{
  margin-top:42px !important;
}

/* === index_v39_design_steps_cta_darker_glass === */
/* v39: make only the two CTA buttons under "Как мы работаем" visually closer to the portfolio dark glass buttons. */
#design-steps .svc-cta a.btn-outline{
  background:rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,0.12) !important;
  backdrop-filter:blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(255,255,255,0.12) !important;
}

/* === index_v40_partners_cleanup_cta_darker_glass === */
/* v40: remove the extra partner description in HTML and make the partner CTA visually match the darker glass service CTA style. */
#partners .partners-cta .btn{
  background:rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,0.12) !important;
  backdrop-filter:blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(255,255,255,0.12) !important;
}

/* === index_v41_partners_up_portfolio_more_darker_glass === */
/* v41: move the whole partners block 20px closer to the team section and darken only the portfolio "show more" button. */
#portfolio .portfolio-more-btn{
  background:rgba(255,255,255,0.06) !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,0.12) !important;
  backdrop-filter:blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%) !important;
  box-shadow:
    0 10px 28px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(255,255,255,0.12) !important;
}

/* === index_v42_secondary_buttons_like_hero_secondary === */
/* v42: unify dark-filled secondary buttons with the hero "Ремонт под ключ" button. Base state only; keep existing hover logic. */
#portfolio .portfolio-showcase__cta,
#portfolio .portfolio-more-btn,
#design-steps .svc-cta a.btn-outline,
#partners .partners-cta .btn{
  background:#262626 !important;
  color:rgba(255,255,255,0.94) !important;
  border-color:rgba(255,255,255,0.16) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(255,255,255,0.06) !important;
}
#portfolio .portfolio-tabs{
  background:#262626 !important;
  border-color:rgba(255,255,255,0.16) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(255,255,255,0.06) !important;
}

/* === index_v43_portfolio_tabs_restore_darker_glass === */
/* v43 updated: portfolio category tabs frame uses the same dark fill tone as "Подробнее о проекте" CTA. */
#portfolio .portfolio-tabs{
  background:#202020 !important;
  border-color:rgba(255,255,255,.14) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 10px 24px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.025), inset 0 -1px 0 rgba(255,255,255,.04) !important;
}

/* === index_v47_secondary_button_hover_gold_glow === */
/* v47: make hero secondary, portfolio project CTA and portfolio show-more button hover like the service/partners secondary CTAs. */
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary,
#portfolio .portfolio-showcase__cta,
#portfolio .portfolio-more-btn{
  transition:background .25s ease, color .25s ease, border-color .25s ease, box-shadow .35s ease, transform .25s ease !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:hover,
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:focus-visible,
#portfolio .portfolio-showcase__cta:hover,
#portfolio .portfolio-showcase__cta:focus-visible,
#portfolio .portfolio-more-btn:hover,
#portfolio .portfolio-more-btn:focus-visible{
  background:#BFA97A !important;
  color:#111 !important;
  border-color:#BFA97A !important;
  background-image:none !important;
  box-shadow:0 0 18px rgba(191,169,122,0.70), 0 0 36px rgba(191,169,122,0.45) !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
}


/* === index_v48_contacts_full_cta_form === */
/* v48: turn footer-like contacts into a full final CTA section with inline form and contact details. */
#contacts.hi-contact-section{
  padding-top:32px !important;
  padding-bottom:86px !important;
  scroll-margin-top:104px !important;
}

#contacts .hi-contact-panel{
  display:grid;
  grid-template-columns:minmax(0,0.92fr) minmax(420px,1.08fr);
  gap:28px;
  align-items:stretch;
  margin-top:48px;
}

#contacts .hi-contact-form-card,
#contacts .hi-contact-info-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(191,169,122,0.22);
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 0%, rgba(191,169,122,0.13), rgba(191,169,122,0) 34%),
    linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012) 44%, rgba(0,0,0,0.24));
  box-shadow:0 22px 58px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.07);
}

#contacts .hi-contact-form-card{
  padding:38px 40px 34px;
  text-align:left;
}

#contacts .hi-contact-info-card{
  padding:30px;
}

#contacts .hi-contact-info-head{
  text-align:left;
}

#contacts .hi-contact-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin:0 0 18px;
  padding:0 13px;
  border:1px solid rgba(191,169,122,0.36);
  border-radius:999px;
  background:rgba(191,169,122,0.10);
  color:rgba(191,169,122,0.96);
  font-size:13px !important;
  line-height:1 !important;
  font-weight:700;
  letter-spacing:0.02em;
}

#contacts .hi-contact-form-card h3,
#contacts .hi-contact-info-head h3{
  margin:0 0 14px;
  text-align:left;
  color:var(--hi-text);
  font-size:clamp(30px,2.65vw,48px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.035em;
}

#contacts .hi-contact-info-head h3{
  font-size:clamp(24px,1.7vw,32px) !important;
  letter-spacing:-0.02em;
}

#contacts .hi-contact-text,
#contacts .hi-contact-info-head p{
  max-width:680px;
  margin:0;
  text-align:left;
  color:var(--hi-text-dim);
  font-size:17px !important;
  line-height:1.62 !important;
}

#contacts .hi-contact-form{
  display:grid;
  gap:14px;
  margin-top:34px;
}

#contacts .hi-contact-form input[name="company"]{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

#contacts .hi-contact-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0;
}

#contacts .hi-contact-field span{
  color:rgba(255,255,255,0.62);
  font-size:13px;
  line-height:1.2;
}

#contacts .hi-contact-field input{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:14px;
  background:rgba(0,0,0,0.32);
  color:#fff;
  font-family:inherit;
  font-size:16px;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

#contacts .hi-contact-field input::placeholder{
  color:rgba(255,255,255,0.42);
}

#contacts .hi-contact-field input:focus,
#contacts .hi-contact-field input:focus-visible{
  border-color:rgba(191,169,122,0.55);
  background:rgba(0,0,0,0.32);
  box-shadow:0 0 18px rgba(191,169,122,0.18);
}

#contacts .hi-contact-submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 420px) !important;
  justify-self:center !important;
  min-height:54px !important;
  margin-top:26px !important;
  padding:0 24px !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  border-radius:999px !important;
  background:#262626 !important;
  color:rgba(255,255,255,0.95) !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.04), inset 0 -1px 0 rgba(255,255,255,0.06) !important;
  transition:background .25s ease, color .25s ease, border-color .25s ease, box-shadow .35s ease, transform .25s ease, opacity .25s ease !important;
}

#contacts .hi-contact-submit:hover,
#contacts .hi-contact-submit:focus-visible{
  background:#BFA97A !important;
  color:#111 !important;
  border-color:#BFA97A !important;
  box-shadow:0 0 18px rgba(191,169,122,0.70), 0 0 36px rgba(191,169,122,0.45) !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
}

#contacts .hi-contact-submit:disabled{
  cursor:wait !important;
  opacity:.68 !important;
  transform:none !important;
}

#contacts .hi-contact-consent{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  justify-self:center;
  width:min(100%, 420px);
  gap:10px;
  margin:2px 0 0;
  color:rgba(255,255,255,0.66);
  font-size:13px;
  line-height:1.45;
}

#contacts .hi-contact-consent input{
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin-top:2px;
  accent-color:#BFA97A;
}

#contacts .hi-contact-consent a{
  color:rgba(255,255,255,0.86);
  text-decoration:underline;
  text-underline-offset:3px;
}

#contacts .hi-contact-form-status{
  min-height:22px;
  color:rgba(255,255,255,0.70);
  font-size:14px;
  line-height:1.45;
}

#contacts .hi-contact-form-status.is-success{
  color:#BFA97A;
}

#contacts .hi-contact-form-status.is-error{
  color:#ffb4a8;
}

#contacts .hi-contact-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}

#contacts .hi-contact-link,
#contacts .hi-contact-address{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}

#contacts .hi-contact-link:hover,
#contacts .hi-contact-link:focus-visible,
#contacts .hi-contact-map-link:hover,
#contacts .hi-contact-map-link:focus-visible{
  border-color:rgba(191,169,122,0.55);
  background:rgba(191,169,122,0.08);
  box-shadow:0 0 18px rgba(191,169,122,0.18);
  transform:translateY(-1px);
}

#contacts .hi-contact-link span,
#contacts .hi-contact-address span{
  color:rgba(255,255,255,0.52);
  font-size:13px;
  line-height:1.2;
}

#contacts .hi-contact-link strong,
#contacts .hi-contact-address strong{
  overflow-wrap:anywhere;
  color:rgba(255,255,255,0.92);
  font-size:16px;
  line-height:1.35;
}

#contacts .hi-contact-address{
  margin-top:12px;
}

#contacts .hi-contact-map-link{
  display:inline-flex;
  align-self:flex-start;
  margin-top:6px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;
  color:rgba(255,255,255,0.86);
  font-size:13px;
  font-weight:700;
  line-height:1;
}

#contacts .hi-contact-map{
  min-height:230px;
  margin-top:16px;
  border-radius:22px;
  border-color:rgba(191,169,122,0.20);
}

#contacts .map-placeholder span{
  font-weight:700;
}

@media (max-width: 1100px){
  #contacts .hi-contact-panel{
    grid-template-columns:1fr;
    gap:20px;
  }
  #contacts .hi-contact-form-card,
  #contacts .hi-contact-info-card{
    border-radius:26px;
  }
}

@media (max-width: 900px){
  #contacts.hi-contact-section{
    padding-top:52px !important;
    padding-bottom:58px !important;
    scroll-margin-top:96px !important;
  }
  #contacts .hi-contact-panel{
    margin-top:34px;
  }
  #contacts .hi-contact-form-card,
  #contacts .hi-contact-info-card{
    padding:24px;
    border-radius:24px;
  }
  #contacts .hi-contact-form-card h3{
    font-size:34px !important;
  }
  #contacts .hi-contact-text,
  #contacts .hi-contact-info-head p{
    font-size:16px !important;
    line-height:1.56 !important;
  }
}

@media (max-width: 640px){
  #contacts .hi-contact-form-card,
  #contacts .hi-contact-info-card{
    padding:22px 18px;
  }
  #contacts .hi-contact-links{
    grid-template-columns:1fr;
  }
  #contacts .hi-contact-submit{
    max-width:none !important;
  }
  #contacts .hi-contact-map{
    min-height:210px;
  }
}

/* === index_v52_yandex_biz_widget === */
#contacts .map-canvas{
  width:100%;
  min-height:230px;
  border-radius:inherit;
  overflow:hidden;
}
#contacts .map-canvas iframe{
  display:block;
  width:100%;
  min-height:230px;
  height:100%;
  border:0;
}
@media (max-width: 640px){
  #contacts .map-canvas,
  #contacts .map-canvas iframe{
    min-height:210px;
  }
}


/* === index_secondary_buttons_tone_v08 ===
   Owner: index.html. Финальная локальная правка: вторичные тёмные CTA приведены к тону
   кнопки «Посмотреть цены» на странице design-interiera-samara (#262626). */
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary,
#portfolio .portfolio-showcase__cta,
#portfolio .portfolio-more-btn,
#services .svc-cta a.btn-outline,
#design-steps .svc-cta a.btn-outline,
#partners .partners-cta .btn,
#realized-view .realized-view-actions .btn-outline{
  background:#262626 !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,.16) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 10px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(255,255,255,.06) !important;
}
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:hover,
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary:focus-visible,
#portfolio .portfolio-showcase__cta:hover,
#portfolio .portfolio-showcase__cta:focus-visible,
#portfolio .portfolio-more-btn:hover,
#portfolio .portfolio-more-btn:focus-visible,
#services .svc-cta a.btn-outline:hover,
#services .svc-cta a.btn-outline:focus-visible,
#design-steps .svc-cta a.btn-outline:hover,
#design-steps .svc-cta a.btn-outline:focus-visible,
#partners .partners-cta .btn:hover,
#partners .partners-cta .btn:focus-visible,
#realized-view .realized-view-actions .btn-outline:hover,
#realized-view .realized-view-actions .btn-outline:focus-visible{
  background:#2e2e2e !important;
  color:#fff !important;
  border-color:rgba(191,169,122,.34) !important;
  background-image:none !important;
  box-shadow:0 12px 28px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(255,255,255,.07), 0 0 18px rgba(191,169,122,.10) !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
}

/* === index_secondary_buttons_tone_v09 ===
   Owner: index.html. Коррекция после v08: вторичные серые CTA затемнены
   до единого спокойного тона без светлой стеклянной заливки. */
#home-intro .hi-hero-cta-secondary,
#portfolio .portfolio-showcase__cta,
#portfolio .portfolio-more-btn,
#services .svc-cta a.btn-outline,
#design-steps .svc-cta a.btn-outline,
#partners .partners-cta .btn,
#realized-view .realized-view-actions .btn-outline{
  background:#202020 !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,.14) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 10px 24px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.025), inset 0 -1px 0 rgba(255,255,255,.04) !important;
  opacity:1 !important;
}
#home-intro .hi-hero-cta-secondary:hover,
#home-intro .hi-hero-cta-secondary:focus-visible,
#portfolio .portfolio-showcase__cta:hover,
#portfolio .portfolio-showcase__cta:focus-visible,
#portfolio .portfolio-more-btn:hover,
#portfolio .portfolio-more-btn:focus-visible,
#services .svc-cta a.btn-outline:hover,
#services .svc-cta a.btn-outline:focus-visible,
#design-steps .svc-cta a.btn-outline:hover,
#design-steps .svc-cta a.btn-outline:focus-visible,
#partners .partners-cta .btn:hover,
#partners .partners-cta .btn:focus-visible,
#realized-view .realized-view-actions .btn-outline:hover,
#realized-view .realized-view-actions .btn-outline:focus-visible{
  background:#262626 !important;
  color:#fff !important;
  border-color:rgba(191,169,122,.30) !important;
  background-image:none !important;
  box-shadow:0 12px 28px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.035), inset 0 -1px 0 rgba(255,255,255,.05), 0 0 16px rgba(191,169,122,.08) !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
}


/* === index-v59-unified-dark-grey-buttons ===
   Owner: index.html. Задача: привести серые CTA-кнопки главной к единому базовому тону #202020 без изменения формы, размеров и hover-логики. */
#home-intro .hi-hero-cta-secondary,
#home-intro .cta a.hi-hero-cta.hi-hero-cta-secondary,
#portfolio .portfolio-showcase__cta,
#portfolio .portfolio-more-btn,
#services .svc-cta a.btn-outline,
#design-steps .svc-cta a.btn-outline,
#partners .partners-cta .btn,
#realized-view .realized-view-actions .btn-outline{
  background:#202020 !important;
  color:rgba(255,255,255,.94) !important;
  border-color:rgba(255,255,255,.14) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 10px 24px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.025), inset 0 -1px 0 rgba(255,255,255,.04) !important;
}
