/* HomeInterior owner map: index only — hero block. */

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

/* ---- source: hi-index-inline-01.css ---- */
/* === inline-1 === */
@media (max-width: 900px){
  /* Центровка текста в блоке "О студии HomeInterior" на мобильной версии */
  #services .hi-about{
    text-align: center;
  }
  
/* Тексты под ценами на мобиле — строго по левому краю */
  #prices .muted.prices-contract-note,
  #prices .muted.footnote{
    text-align: left;
  }

  /* В разделе "Обо мне и команде" на мобиле сначала фото, потом текст */
  #team .grid.cols-2 > div:first-child{
    order: 2;
  }
  #team .grid.cols-2 > div:last-child{
    order: 1;
  }
}

/* vNext SEO: disable not-ready projects */
.gallery-item-inner.is-disabled{pointer-events:none;cursor:default;}
.gallery-item-inner.is-disabled .project-cta-circle{display:none;}
.gallery-item-inner.soon-clickable{pointer-events:auto;cursor:pointer;}
.project-badge{position:absolute;left:14px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(191,169,122,.35);color:#fff;font-size:12px;letter-spacing:.06em;text-transform:uppercase;}


/* === hi-video-coverflow-css-v9 === */
/* Видеообзоры: лёгкий coverflow без библиотек */
#hi-video-reviews{padding:120px 0 8px;scroll-margin-top:120px;position:relative;z-index:0;overflow-x:hidden;}
#hi-video-reviews .hi-videos-head{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;margin-bottom:22px;text-align:center;}

#hi-video-reviews .hi-coverflow{position:relative;max-width:100vw;margin:0 auto;padding:22px 0 0;overflow:visible;--hi-card-w: clamp(260px, 72vw, 420px);--hi-gap: clamp(18px, 4vw, 26px);--hi-gutter: var(--hi-gap);}
#hi-video-reviews .hi-coverflow-track{
  display:flex;
  gap: var(--hi-gap);
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding: 44px calc(50% - (var(--hi-card-w) * 0.5)) 64px;
  scroll-padding-left: calc(50% - (var(--hi-card-w) * 0.5));
  scroll-padding-right: calc(50% - (var(--hi-card-w) * 0.5));
}
#hi-video-reviews .hi-coverflow-track::-webkit-scrollbar{height:10px;}
#hi-video-reviews .hi-coverflow-track::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:999px;}
#hi-video-reviews .hi-coverflow-track::-webkit-scrollbar-corner{background:transparent;}
#hi-video-reviews .hi-coverflow-track::-webkit-resizer{background:transparent;}
#hi-video-reviews .hi-coverflow-track.is-dragging{scroll-snap-type:none;cursor:grabbing;}

#hi-video-reviews .hi-video-card{flex:0 0 var(--hi-card-w);scroll-snap-align:center;}
/* ВАЖНО: трансформы — только на внутреннем слое, иначе ломается расчёт центра (особенно на iOS) */
#hi-video-reviews .hi-video-card-btn{
  all:unset;
  display:block;
  cursor:pointer;
  transform-style:preserve-3d;
  will-change:transform,opacity,filter;
  transform: perspective(900px) translateX(var(--hi-x, 0px)) rotateY(var(--hi-rotate, 0deg)) scale(var(--hi-scale, 1));
  opacity: var(--hi-opacity, 1);
  filter: brightness(var(--hi-bright, 1));
  transition: transform .18s ease, opacity .18s ease, filter .18s ease;
}
#hi-video-reviews .hi-video-card-btn:focus-visible{outline:2px solid rgba(191,169,122,.7);outline-offset:6px;border-radius:18px;}
#hi-video-reviews .hi-coverflow-track.is-dragging .hi-video-card-btn{transition:none;}
#hi-video-reviews .hi-video-card-btn,
#hi-video-reviews .hi-video-card-btn:hover,
#hi-video-reviews .hi-video-card-btn:active{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
}
#hi-video-reviews .hi-video-poster{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#0b0b0b;box-shadow:0 16px 48px rgba(0,0,0,.18);}
#hi-video-reviews .hi-video-poster img{width:100%;height:100%;object-fit:cover;display:block;}
#hi-video-reviews .hi-video-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:999px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
#hi-video-reviews .hi-video-play::before{
  content:"";
  position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);
  width:0;height:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:18px solid rgba(255,255,255,.95);
}
#hi-video-reviews .hi-video-caption{margin-top:10px;text-align:center;}
#hi-video-reviews .hi-video-caption-title{font-weight:700;letter-spacing:.02em;font-size:clamp(13px, .9vw + 10px, 16px);line-height:1.08;}
#hi-video-reviews .hi-video-caption-sub{margin-top:6px;font-size:clamp(12px, .75vw + 8px, 14px);line-height:1.35;opacity:.65;}

#hi-video-reviews .hi-video-card.is-active .hi-video-poster{box-shadow:0 22px 64px rgba(0,0,0,.26);}

@media (min-width: 920px){
  #hi-video-reviews{padding:120px 0 8px;scroll-margin-top:120px;position:relative;z-index:0;}
  #hi-video-reviews .hi-coverflow{--hi-gap: clamp(18px, 1.6vw, 26px);--hi-gutter: var(--hi-gap);}
  #hi-video-reviews .hi-coverflow-track{--hi-card-w: clamp(255px, 21vw, 340px);}
}

/* Мобилка: показываем «ушки» соседних карточек, чтобы было понятно, что это карусель */
@media (max-width: 560px){
  #hi-video-reviews .hi-coverflow{
    /* уже, чем раньше: чтобы соседние карточки читались по бокам */
    --hi-card-w: clamp(210px, 64vw, 280px);
    /* чуть меньше зазор, чтобы «ушки» были заметнее */
    --hi-gap: clamp(12px, 3vw, 16px);
  }
  /* запас по низу под подписи + чуть меньше верхний отступ */
  #hi-video-reviews .hi-coverflow-track{
    padding-top: 38px;
    padding-bottom: 70px;
  }
}

/* Модалка (фолбэк, если full-screen не сработал/для закрытия) */
#hi-video-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.78);}
#hi-video-modal.is-open{display:flex;}
#hi-video-modal .hi-video-modal-inner{width:min(92vw,430px);max-height:86vh;display:flex;flex-direction:column;gap:10px;}
#hi-video-modal .hi-video-modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;}
#hi-video-modal .hi-video-modal-title{font-size:14px;letter-spacing:.02em;opacity:.9;}
#hi-video-modal .hi-video-close{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;cursor:pointer;}
#hi-video-modal video{width:100%;height:auto;max-height:78vh;background:#000;}

#hi-video-reviews .hi-coverflow-arrows{
  position:static;
  display:flex;
  justify-content:center;
  gap:18px;
  margin:6px 0 14px;
  pointer-events:auto;
  z-index:500;
}
#hi-video-reviews .hi-coverflow-arrow{
  pointer-events:auto;
  position:static;
  width:52px;height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  color:rgba(255,255,255,.92);
  font-size:56px;
  line-height:1;
  cursor:pointer;
  opacity:.72;
  transition:opacity .2s ease, text-shadow .2s ease;
  -webkit-tap-highlight-color: transparent;
}
#hi-video-reviews .hi-coverflow-arrow span{pointer-events:none;}
#hi-video-reviews .hi-coverflow-arrow:hover{opacity:1;text-shadow:0 0 18px rgba(191,169,122,.35);}
#hi-video-reviews .hi-coverflow-arrow:disabled{opacity:.22;cursor:default;text-shadow:none;}

#hi-video-reviews .hi-video-card-btn:hover{background:transparent!important;}

/* === hi-video-coverflow-fix-v1 ===
   1) Убираем вертикальный микроскролл/подрезание: трек не должен скроллиться по Y.
   2) Стрелки на десктопе — как на мобиле: под заголовком, без боковых «рамок».
*/
#hi-video-reviews .hi-coverflow{padding-left:0; padding-right:0;}
#hi-video-reviews .hi-coverflow-track{
  overflow-y:hidden;
  touch-action: auto;
  padding-bottom: 86px;
  scrollbar-gutter: stable;
}
#hi-video-reviews .hi-coverflow-arrows{
  position:static;
  inset:auto;
  display:flex;
  justify-content:center;
  gap:18px;
  margin:6px 0 14px;
  pointer-events:auto;
}
#hi-video-reviews .hi-coverflow-arrow{
  position:static;
  top:auto; bottom:auto; left:auto; right:auto;
  width:52px;
  height:52px;
  font-size:56px;
  opacity:.85;
  text-shadow:none;
}
#hi-video-reviews .hi-coverflow-arrow:hover{
  opacity:1;
  transform:none;
  text-shadow:none;
}

/* hi-fix: portfolio 'more projects' hover glow should not be covered by next section */
#portfolio{position:relative;z-index:2;}
#hi-video-reviews{position:relative;z-index:1;}

#hi-video-reviews .hi-coverflow-track.hi-loop-jump{scroll-behavior:auto !important; scroll-snap-type:none !important;}

/* ---- source: hi-index-inline-02.css ---- */
/* === inline-1 === */
*{box-sizing:border-box;}body{margin:0;font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;}h1,h2,h3{margin:0 0 12px;line-height:1.2}p{margin:0 0 12px}a{text-decoration:none}.wrap{width:min(90%,1600px);margin-inline:auto;}section{padding:80px 0;border-top:1px solid var(--border);}.btn,.btn-outline{display:inline-block;padding:13px 22px;border-radius:10px;font-weight:600;transition:.25s}.btn{background:#222;color:#fff}.btn-outline{border:1px solid #222;color:#222}.btn:hover,.btn-outline:hover{opacity:.9}/* HERO */#hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    overflow:hidden;
  }.hero-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity 1.2s ease-in-out;
    will-change: opacity;
  }.hero-bg.active{opacity:1;}#hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:1;
  }#hero .content{
    position:relative;
    z-index:2;
    width:min(96%,1280px);
  }.hero-subtitle{
    font-size:clamp(16px,1.8vw,22px); /* увеличен размер */
    letter-spacing:.4px;
    margin:0 0 8px; /* меньше отступа вниз */
    text-shadow:0 1px 3px rgba(0,0,0,.45); /* чуть сильнее тень */
  }.hero-title{
    font-size:clamp(26px,3.6vw,46px);
    font-weight:700;
    margin-bottom:8px;
    position:relative;
    min-height:44px;
  }.hero-title span{
    position:absolute;
    left:0;right:0;
    opacity:0;
    transition:opacity 0.7s ease;
    white-space:nowrap;
  }.hero-title span.active{opacity:1;}.hero-subline{
    position:relative;
    min-height:30px;
    font-size:clamp(14px,1.6vw,20px);
    opacity:.95;
    text-shadow:0 1px 2px rgba(0,0,0,.35);
    margin-bottom:12px;
  
    transition: opacity .28s ease;
  }.hero-subline.is-fading{opacity:0;}#hero .cta{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}/* Навигация: стрелки */.hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 42px;
    color: #fff;
    cursor: pointer;
    z-index: 5;
    padding: 8px 16px;
    user-select: none;
    transition: opacity .3s;
    opacity: .7;
  }.hero-nav:hover { opacity: 1; }.hero-nav.left { left: 20px; }.hero-nav.right { right: 20px; }/* Навигация: точки (под обоими текстами) */.hero-dots{
    display:flex;
    gap:10px;
    justify-content:center;
    margin:10px auto 0;
  }.hero-dot{
    width:12px;height:12px;border-radius:50%;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.7);
    cursor:pointer;
    transition:transform .2s ease, background .2s ease, border-color .2s ease;
  }.hero-dot:hover{ transform:scale(1.1); }.hero-dot.active{ background:#fff; border-color:#fff; transform:scale(1.18);}.hero-counter{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    margin:10px auto 0;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.85;
    user-select:none;
  }.grid{display:grid;gap:28px}@media (min-width:920px){
.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}
}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.gallery img{width:100%;height:auto;border-radius:12px;}.gallery-item{
    width:100%;
  }.gallery-item img{
    width:100%;
    height:auto;
    border-radius:12px;
    transition:transform .6s ease-out;
  }.gallery-item-more{
    display:none;
  }
/* Portfolio category tabs (v7) — layout from v5, frame fill like project-1 mobile roomnav (same on mobile+desktop) */
.portfolio-tabs{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:12px 14px;

  border:1px solid rgba(255,255,255,0.12);
  border-radius:34px;

  /* Fill like project-1 mobile roomnav */
  background: rgba(255,255,255,0.06);
  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);

  /* ПК: рамка не должна растягиваться */
  width:fit-content;
  max-width:calc(100% - 48px);

  margin:34px auto 0;
  flex-wrap:nowrap;
}
.portfolio-tab{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  color:#fff;
  font-weight:600;
  font-size:14px;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
  -webkit-tap-highlight-color: transparent;
  white-space:nowrap;
}
.portfolio-tab:hover,
.portfolio-tab:focus-visible{
  background:var(--hi-accent);
  color:#111;
  box-shadow:
    0 0 0 1px rgba(191,169,122,0.18),
    0 0 18px rgba(191,169,122,0.34),
    0 0 34px rgba(191,169,122,0.18);
  transform:none;
}
.portfolio-tab.is-active{
  background:var(--hi-accent);
  color:#111;
  box-shadow:none;
  transform:none;
}
@media (max-width: 900px){
  .portfolio-tabs{
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x;
    width:fit-content;
    max-width:min(520px, calc(100% - 44px));
  }
  .portfolio-tabs::-webkit-scrollbar{ display:none; }
  .portfolio-tab{ flex:0 0 auto; }
}
@media (max-width:520px){
  /* Моб: заливка по ширине текста (как на ПК). Если не влезают — горизонтальная прокрутка. */
  .portfolio-tabs{
    width:fit-content;
    max-width:min(520px, calc(100% - 44px));
    padding:8px 8px;
    gap:6px;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x;
  }
  .portfolio-tabs::-webkit-scrollbar{ display:none; }
  .portfolio-tab{
    flex:0 0 auto;
    padding:8px 10px;
    font-size:12px;
    letter-spacing:0;
  }
}
/* Touch devices: don't "stick" hover */
@media (hover: none), (pointer: coarse){
  .portfolio-tab:not(.is-active):hover,
  .portfolio-tab:not(.is-active):focus,
  .portfolio-tab:not(.is-active):active{
    background:transparent;
    color:#fff;
    box-shadow:none;
    transform:none;
  }
}

.gallery-item{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:12px;
  }.gallery-item img{
    display:block;
    width:100%;
    height:auto;
    border-radius:12px;
    transition:transform .4s ease;
  }.gallery-item-inner{
    position:relative;
    display:block;
    width:100%;
    height:100%;
  }.project-cta-circle{
    position:absolute;
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
    border-radius:999px;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 0 0 rgba(191,169,122,0);
    transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease, background .3s ease;
    z-index:2;
  }.project-cta-circle span{
    display:block;
    font-size:26px;
    line-height:1;
    color:#fff;
    transition:transform .3s ease;
  }.gallery-item:hover .project-cta-circle span{
    transform:rotate(-45deg);
  }.gallery-item:hover img{
    transform:scale(1.08);
  }.gallery-item:hover .project-cta-circle:not(.cta-in-caption){
    box-shadow: 0 0 30px rgba(191,169,122,.85), 0 0 60px rgba(191,169,122,.25);
background:transparent;
    transform:translateY(-2px);
  }/* Touch feedback for project cards on tap (mobile) */.gallery-item-inner.is-touching img{
    transform:scale(1.08);
  }.gallery-item-inner.is-touching .project-cta-circle{
    box-shadow: 0 0 30px rgba(191,169,122,.85), 0 0 60px rgba(191,169,122,.25);
background:transparent;
    transform:translateY(-2px);
  }.gallery-item-inner.is-touching .project-cta-circle span{
    transform:rotate(-45deg);
  }.gallery-item-inner.is-touching + .project-caption-link .project-cta-circle.cta-in-caption{
    box-shadow: 0 0 30px rgba(191,169,122,.85), 0 0 60px rgba(191,169,122,.25);
background:transparent;
    transform:translateY(-2px);
  }.gallery-item-inner.is-touching + .project-caption-link .project-cta-circle.cta-in-caption span{
    transform:rotate(-45deg);
  }.portfolio-more-wrap{
    margin-top:24px;
    text-align:center;
  }.portfolio-more-btn{
    min-width:260px;
  }.muted{color:var(--muted)}footer{padding:60px 0;border-top:1px solid var(--border);color:var(--muted);font-size:14px}#about{padding:60px 0;}@media (max-width: 768px){
section { padding: 40px 0; }#hero { min-height: 90vh; }.hero-title span{white-space:normal;position:relative;display:none;opacity:1;}.hero-title{min-height:auto;}.hero-subline{min-height:auto;}.hero-title span.active{display:block;}.wrap { width: 92%; }.btn, .btn-outline { width: 100%; max-width: 300px; margin-inline: auto; }
}
/* == Active menu highlight (scrollspy) == *//* == Unified button hover (gold bg, dark text — matches social icons) == */@media (max-width: 900px){
#portfolio{
      scroll-margin-top:80px !important;
    }
}

/* ---- source: hi-landing-cta-align.css ---- */
/* === v34: Perfect horizontal alignment for hero CTA buttons === */
#hero .cta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: nowrap;
  margin-top: 22px;
}

#hero .cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 38px;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 768px) {
  #hero .cta {
    flex-wrap: wrap;
    gap: 14px;
  }
  #hero .cta a {
    width: 100%;
    max-width: 300px;
  }
}

/* ---- source: hi-index-inline-03.css ---- */
/* === hero-cta-capsule-v103 === */
/* v103: Hero CTA buttons — capsule shape for 'Портфолио' and 'Оставить заявку' */
.cta .btn, .cta .btn-outline {
  padding-inline: 20px !important;  /* was 18px, now a bit wider again */
  padding-block: 20px !important;   /* keep height */
  line-height: 1 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}


/* === hi-pill-fill-like-portfolio-tabs-v1 === */
/* v1: pill buttons — default fill like portfolio tabs frame (glass) */
#hero .cta .btn,
#hero .cta .btn-outline,
#services .svc-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;
}

/* ---- source: hi-landing-core-grid.css ---- */
/* Original white dots + GOLD neon glow on hover & active; active fills gold */
.hero-dot{
  background: rgba(255,255,255,0.12) !important;  /* original subtle white fill */
  border: 1px solid rgba(255,255,255,0.8) !important; /* original white border */
  border-radius: 50% !important;
  box-shadow: none !important;
  transition: background .25s ease, box-shadow .35s ease, transform .25s ease, border-color .25s ease;
}
.hero-dot:hover{
  background: rgba(255,255,255,0.22) !important;       /* slight brighten on hover */
  box-shadow: 0 0 18px rgba(191,169,122,0.70),          /* GOLD glow like buttons */
              0 0 36px rgba(191,169,122,0.45) !important;
  transform: scale(1.12);
  border-color: rgba(255,255,255,0.95) !important;      /* keep white edge crisp */
}
.hero-dot.active{
  background: #BFA97A !important;                      /* solid GOLD when active */
  border-color: #BFA97A !important;
  box-shadow: 0 0 22px rgba(191,169,122,0.85),
              0 0 48px rgba(191,169,122,0.60),
              0 0 80px rgba(191,169,122,0.40) !important; /* deeper GOLD halo */
  transform: scale(1.18);
}

.contact-grid{display:grid;grid-template-columns:1.1fr 1.6fr;gap:24px;align-items:start}
@media(max-width: 900px){.contact-grid{grid-template-columns:1fr;gap:16px}}
.contact-info .nap p{margin:4px 0 8px}
.contact-info .cta-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.contact-map{position:relative;min-height:280px;border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center, rgba(255,255,255,.12), rgba(0,0,0,.35)), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"><rect width="12" height="12" fill="%23111111"/></svg>');backdrop-filter: blur(2px);cursor:pointer}
.map-placeholder span{padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;box-shadow:0 0 16px rgba(191,169,122,.5), 0 0 36px rgba(191,169,122,.35)}
.map-canvas{position:absolute;inset:0}

.hi-prices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:1024px){.hi-prices-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.hi-prices-grid{grid-template-columns:1fr}}
.price-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 8px 28px rgba(0,0,0,.04);transition:transform .25s ease, box-shadow .25s ease}
.price-card:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,.07)}
.price-card header{margin-bottom:10px}
.price-card h3{margin:4px 0 2px;font-size:20px}
.price-card .subtitle{margin:0;color:#6b7280;font-size:14px}
.price-card .features{margin:12px 0 16px;padding-left:18px;line-height:1.6}
.price-card .price{font-weight:700;font-size:18px;margin:0 0 14px}
.price-card .price.main{font-size:20px}
.price-card .icon-dot,.price-card .icon-crown,.price-card .icon-star{width:26px;height:26px;border-radius:50%;box-shadow:0 0 16px rgba(191,169,122,.45), 0 0 32px rgba(191,169,122,.25);margin-bottom:6px}
.price-card .icon-dot{background:radial-gradient(circle at 50% 50%, #f2e7c8 0%, #bfa97a 70%)}
.price-card .icon-crown{background:radial-gradient(circle at 50% 50%, #fff8db 0%, #d4b97a 70%)}
.price-card .icon-star{background:radial-gradient(circle at 50% 50%, #fdeab8 0%, #c9ad6e 70%)}
.price-card.featured{border:2px solid var(--hi-accent);position:relative}
.price-card.featured::after{content:'';position:absolute;top:10px;right:12px;font-size:12px;color:#bfa97a}

.hi-prices-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff}
.hi-prices-table{width:100%;border-collapse:separate;border-spacing:0}
.hi-prices-table th,.hi-prices-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top}
.hi-prices-table thead th{font-weight:700;text-align:left;background:#fafafa}
.hi-prices-table tbody tr:last-child td{border-bottom:0}
.hi-prices-table .price-col{white-space:nowrap}
.hi-prices-table tbody tr.featured{background:linear-gradient(180deg,#fff,#fffef7)}
.btn.sm{padding:8px 12px;font-size:14px}
.btn-outline.sm{padding:8px 12px;font-size:14px}
@media(max-width:720px){
  .hi-prices-table thead{display:none}
  .hi-prices-table tbody tr{display:block;border-bottom:1px solid var(--border)}
  .hi-prices-table td{display:flex;justify-content:space-between;gap:12px}
  .hi-prices-table td::before{content:attr(data-label);font-weight:600;color:#6b7280}
  .hi-prices-table td.price-col{justify-content:flex-start}
}

/* ---- source: hi-index-inline-04.css ---- */
/* === hi-about-min === */
#services{--hi-content-w:1100px;}
  #services .hi-about{margin: 0 0 22px 0; width:100%; max-width:var(--hi-content-w);}
  
  

  /* v28: "О студии" — текст сверху, фото по центру; фото не растёт шире 1100px */
  #services .hi-about-layout{display:flex;flex-direction:column;align-items:center;gap:22px;}
  #services .hi-about-photo{width:100%;max-width:var(--hi-content-w);margin:0 auto;}
#services .hi-about-photo img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:none;object-fit:cover;}
#services .hi-services-main strong{
  color:var(--hi-text);
  font-weight:700;
  font-size:20px;
}

#services .hi-services-layout{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:28px;
  margin-top:22px;
}

/* Services: один центральный столбец */
#services .hi-services-main{
  width:100%;
  max-width:var(--hi-content-w);
  margin-left:auto;
  margin-right:auto;
  text-align: left;
}

/* Заголовки: по центру независимо от глобальных правил h2 */
#services .hi-services-main h2{
  display:block !important;
  width:fit-content !important;
  margin:0 auto  24px auto !important;
  text-align:center !important;
}

/* Списки: блок по центру, текст внутри слева (читать удобно) */
#services .hi-services-main ul{
  display:block;
  text-align:left;
  width:100%;
  margin:0;
  font-size:16px;
  line-height:1.7;
  list-style:none;
  padding-left:0;
}

#services .hi-services-main li{
  margin-bottom:8px;
}

/* Calm block under services image */
#services .hi-calm{width:100%;max-width:var(--hi-content-w);margin:0 auto;text-align:left;}
#services .hi-calm h2{display:block !important;width:fit-content !important;margin:0 auto  24px auto !important;text-align:center !important;}
#services .hi-calm .hi-calm-lead{
  margin:0 auto 18px auto;
  max-width:980px;
  opacity:.92;
  line-height:1.6;
  text-align:center;
  font-size:18px;
}

#services .hi-calm ul{
  display:block;
  text-align:left;
  width:100%;
  margin:0;
  font-size:16px;
  line-height:1.7;
  list-style:disc;
  padding-left:22px;
}

#services .hi-calm li{margin-bottom:8px;}

  @media(max-width:900px){
    
    #services .hi-services-layout{gap:22px;margin-top:16px;}
#services .hi-about-layout{flex-direction:column;}
    #services .hi-about-photo{max-width:100%;}
  }

/* ---- source: hi-landing-footer-hero-underline.css ---- */
/* Золотая линия‑разделитель между блоком контактов и подвалом */
footer{
  position: relative;
}
footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1px;
  background: linear-gradient(90deg,
    rgba(191,169,122,0.0) 0%,
    rgba(191,169,122,0.85) 12%,
    rgba(191,169,122,0.95) 50%,
    rgba(191,169,122,0.85) 88%,
    rgba(191,169,122,0.0) 100%);
  box-shadow: 0 0 10px rgba(191,169,122,.45), 0 0 22px rgba(191,169,122,.25);
  border-radius:2px;
}

/* Thin, subtle animated gold underline (auto-width) */
#hero .hero-subtitle{
  position:relative; display:inline-block; padding-bottom:14px;
}
#hero .hero-subtitle .u-core,
#hero .hero-subtitle .u-glow{ top:100%;
  position:absolute; left:50%; transform: translate(-50%,-50%); bottom:0; width:0; pointer-events:none;
}
/* Core line: 2px with tapered gradient */
#hero .hero-subtitle .u-core{
  height:2px;
  background: linear-gradient(90deg,
    rgba(191,169,122,0.00) 0%,
    rgba(191,169,122,0.70) 15%,
    rgba(191,169,122,0.90) 50%,
    rgba(191,169,122,0.70) 85%,
    rgba(191,169,122,0.00) 100%);
  box-shadow: 0 0 4px rgba(191,169,122,.25), 0 0 10px rgba(191,169,122,.18);
  -webkit-mask-image: radial-gradient(110% 100% at 50% 50%, #000 55%, rgba(0,0,0,0) 100%);
          mask-image: radial-gradient(110% 100% at 50% 50%, #000 55%, rgba(0,0,0,0) 100%);
  border-radius: 2px;
}
/* Mid highlight strip inside core for metallic feel (1px) */
#hero .hero-subtitle .u-core::before{
  content:""; position:absolute; left:0; right:0; top:50%; height:1px; transform:translateY(-50%);
  background: linear-gradient(90deg,
    rgba(255, 240, 200, 0.00) 0%,
    rgba(255, 240, 200, 0.70) 48%,
    rgba(255, 240, 200, 0.70) 52%,
    rgba(255, 240, 200, 0.00) 100%);
  -webkit-mask-image: radial-gradient(110% 100% at 50% 50%, #000 60%, rgba(0,0,0,0) 100%);
          mask-image: radial-gradient(110% 100% at 50% 50%, #000 60%, rgba(0,0,0,0) 100%);
  border-radius: 1px;
}
/* Soft halo: 6px height, light blur & low opacity */
#hero .hero-subtitle .u-glow{
  top:100%; height:8px;
  background: linear-gradient(90deg,
    rgba(191,169,122,0.00) 0%,
    rgba(191,169,122,0.22) 20%,
    rgba(191,169,122,0.28) 50%,
    rgba(191,169,122,0.22) 80%,
    rgba(191,169,122,0.00) 100%);
  filter: blur(1px); opacity:.75;
  -webkit-mask-image: radial-gradient(140% 100% at 50% 50%, #000 55%, rgba(0,0,0,0) 100%);
          mask-image: radial-gradient(140% 100% at 50% 50%, #000 55%, rgba(0,0,0,0) 100%);
  border-radius: 6px;
}
@media (max-width: 768px){
  #hero .hero-subtitle{ padding-bottom:12px; }
  #hero .hero-subtitle .u-glow{ top:100%; height:8px; }
}

/* ---- source: hi-index-inline-05.css ---- */
/* === hero-subtitle-size-clamp === */
#hero .hero-subtitle{ font-size: clamp(16px, calc(1.2vw + 12px), 22px) !important; line-height: 1.25; }


/* === home-hero-video-preview-v20260401c === */
#hero{isolation:isolate;}
#hero .hero-bg{z-index:0;}
#hero.hero-video-on .hero-bg{opacity:0 !important;}
#hero.hero-video-fallback .hero-bg.active{opacity:1 !important;}
#hero .hero-video-wrap{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:1;transition:opacity .35s ease;background:#000;}
#hero.hero-video-fallback .hero-video-wrap{opacity:0;}
#hero .hero-video-wrap.is-ready{opacity:1;}
#hero .hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
body.project-hero-fullscreen-page.header-visible #hero::before{z-index:4 !important;}
#hero::before{z-index:2 !important;}
#hero::after{z-index:3 !important;}
#hero .content,
#hero .hero-title,
#hero .hero-subtitle,
#hero .hero-subline,
#hero .cta,
#hero .hero-nav,
#hero .hero-dots,
#hero .hero-counter{position:relative;z-index:5;}

#hero .hero-master-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;}
#hero .hero-video{position:relative;z-index:1;}


/* === hi-video-coverflow-virtual-loop-v14 ===
   Круговая карусель без scrollLeft-переноса.
   v14 возвращает прежнюю плотность coverflow и убирает двойной translateX. */
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual{
  position:relative;
  display:block;
  overflow:hidden !important;
  scroll-snap-type:none !important;
  scroll-behavior:auto !important;
  touch-action:pan-y;
  cursor:grab;
  scrollbar-width:none;
  padding:0 !important;
  height:clamp(660px, calc(var(--hi-card-w) * 2.28), 810px);
  perspective:1000px;
}
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual::-webkit-scrollbar{
  display:none;
}
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual.is-dragging{
  cursor:grabbing;
}
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual .hi-video-card{
  position:absolute !important;
  left:50%;
  top:44px;
  width:var(--hi-card-w);
  flex:0 0 var(--hi-card-w);
  transform:translate3d(calc(-50% + var(--hi-x, 0px)), 0, 0);
  transform-origin:center center;
  transition:transform .34s ease, opacity .24s ease;
}
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual .hi-video-card-btn{
  transform-origin:center center;
  transform:perspective(900px) rotateY(var(--hi-rotate, 0deg)) scale(var(--hi-scale, 1));
  transition:transform .34s ease, opacity .24s ease, filter .24s ease;
}
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual.is-dragging .hi-video-card,
#hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual.is-dragging .hi-video-card-btn{
  transition:none;
}
@media (max-width: 560px){
  #hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual{
    height:clamp(500px, calc(var(--hi-card-w) * 2.34), 640px);
  }
  #hi-video-reviews .hi-coverflow-track.hi-coverflow-track--virtual .hi-video-card{
    top:34px;
  }
}


/* === hi-video-reviews-compact-head-v1 ===
   Убран подзаголовок блока видеообзоров: подтягиваем стрелки и карусель выше, не меняя механику coverflow. */
#hi-video-reviews.hi-video-reviews--compact .hi-videos-head{
  gap:0;
  margin-bottom:8px;
}
#hi-video-reviews.hi-video-reviews--compact .hi-coverflow{
  padding-top:8px;
}
#hi-video-reviews.hi-video-reviews--compact .hi-coverflow-arrows{
  margin:0 0 8px;
}
@media (max-width: 560px){
  #hi-video-reviews.hi-video-reviews--compact .hi-videos-head{
    margin-bottom:6px;
  }
  #hi-video-reviews.hi-video-reviews--compact .hi-coverflow{
    padding-top:6px;
  }
}

/* === hi-video-coverflow-arrow-circle-hover-v2 ===
   Локальная правка стрелок видеообзоров: круглая hover-заливка и центрированный chevron вместо общей квадратной заливки button:hover. */
#hi-video-reviews .hi-coverflow-arrow{
  position:relative !important;
  border-radius:50% !important;
  background:transparent !important;
  border:0 !important;
  color:rgba(255,255,255,.92) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible;
  font-size:0 !important;
  line-height:1 !important;
  text-align:center !important;
  transition:color .25s ease, opacity .2s ease !important;
}
#hi-video-reviews .hi-coverflow-arrow::after{
  content:"";
  position:absolute;
  inset:0;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(3,3,3,.18);
  box-shadow:none;
  transform:translateX(0);
  transition:background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  pointer-events:none;
  z-index:0;
}
#hi-video-reviews .hi-coverflow-arrow::before{
  content:"";
  position:relative;
  z-index:1;
  display:block;
  width:15px;
  height:15px;
  border-top:1.8px solid currentColor;
  border-right:1.8px solid currentColor;
}
#hi-video-reviews .hi-coverflow-arrow--prev::before{
  transform:rotate(-135deg) translate(-1px,-1px);
}
#hi-video-reviews .hi-coverflow-arrow--next::before{
  transform:rotate(45deg) translate(-1px,1px);
}
#hi-video-reviews .hi-coverflow-arrow--prev::after{
  transform:translateX(-3px);
}
#hi-video-reviews .hi-coverflow-arrow--next::after{
  transform:translateX(3px);
}
#hi-video-reviews .hi-coverflow-arrow.is-pointer-hover,
#hi-video-reviews .hi-coverflow-arrow.is-key-active{
  background:transparent !important;
  color:#080808 !important;
  border-radius:50% !important;
  box-shadow:none !important;
  text-shadow:none !important;
  outline:none !important;
  opacity:1 !important;
}
#hi-video-reviews .hi-coverflow-arrow.is-pointer-hover::after,
#hi-video-reviews .hi-coverflow-arrow.is-key-active::after{
  border-color:rgba(191,169,122,.96);
  background:var(--hi-accent, #bfa97a);
  box-shadow:0 0 18px rgba(191,169,122,.34);
}
#hi-video-reviews .hi-coverflow-arrow:focus-visible{
  outline:2px solid rgba(191,169,122,.72) !important;
  outline-offset:4px !important;
}
#hi-video-reviews .hi-coverflow-arrow:disabled,
#hi-video-reviews .hi-coverflow-arrow:disabled:hover,
#hi-video-reviews .hi-coverflow-arrow:disabled:focus-visible,
#hi-video-reviews .hi-coverflow-arrow:disabled.is-pointer-hover,
#hi-video-reviews .hi-coverflow-arrow:disabled.is-key-active{
  background:transparent !important;
  color:rgba(255,255,255,.92) !important;
  box-shadow:none !important;
  opacity:.22 !important;
  cursor:default !important;
}
#hi-video-reviews .hi-coverflow-arrow:disabled::after,
#hi-video-reviews .hi-coverflow-arrow:disabled:hover::after,
#hi-video-reviews .hi-coverflow-arrow:disabled:focus-visible::after,
#hi-video-reviews .hi-coverflow-arrow:disabled.is-pointer-hover::after,
#hi-video-reviews .hi-coverflow-arrow:disabled.is-key-active::after{
  border-color:rgba(255,255,255,.10);
  background:transparent;
  box-shadow:none;
}

