/* HomeInterior owner map: common shell for project pages. Use for repeated project-page structure, not for landing or homepage-only fixes. */

/* Auto-extracted shared CSS for HomeInterior */

/* === pswp-hi-ui-v1 === *//* PhotoSwipe: do not inherit site-wide gold hover that hides icons */.pswp__caption{ display:none !important; }/* caption moved to top bar */.pswp__counter{ display:none !important; }.pswp__hi-title{
  position:absolute;
  left:50%;
  top:0;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateX(-50%);
  max-width:calc(100% - 210px);
  padding:0 12px;
  font-size:14px;
  line-height:1;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}@media (max-width: 900px){
.pswp__hi-title{ max-width:calc(100% - 170px); font-size:12px; }
}
/* Keep PhotoSwipe icons visible on hover */.pswp__top-bar{ background: rgba(0,0,0,.35) !important; }.pswp__button{
  background-color: rgba(0,0,0,.20) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
}.pswp__button:hover{
  background-color: rgba(0,0,0,.32) !important;
  border-color: rgba(191,169,122,.55) !important;
}.pswp__button--arrow--left:hover,
.pswp__button--arrow--right:hover{
  background-color: rgba(0,0,0,.28) !important;
}@media (min-width: 901px){
/* V80: desktop PhotoSwipe — no framed buttons, no top band; subtle hover = brighter *//* Remove PhotoSwipe default top-bar backdrop (default-skin uses more specific selectors) */.pswp__top-bar,
  .pswp__ui--fit .pswp__top-bar,
  .pswp__ui--idle .pswp__top-bar,
  .pswp__ui--hidden .pswp__top-bar{
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }.pswp__top-bar::before,
  .pswp__top-bar::after,
  .pswp__ui--fit .pswp__top-bar::before,
  .pswp__ui--fit .pswp__top-bar::after{
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }.pswp__button{
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .78;
    filter: none;
    transition: opacity .18s ease, filter .18s ease;
  }.pswp__button:hover,
  .pswp__button:focus-visible{
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1;
    filter: brightness(1.35);
  }/* Desktop slider: larger arrows */.pswp__button--arrow--left,
  .pswp__button--arrow--right{
    transform: scale(1.22);
    transform-origin: center;
    will-change: transform;
  }.pswp__button--arrow--left{ transform-origin: left center; }.pswp__button--arrow--right{ transform-origin: right center; }/* Title / index: compact pill near the right controls (no full-width bar) */.pswp__hi-title{
    left: auto;
    right: 96px;
    top: 6px;
    transform: none;
    height: 34px;
    max-width: calc(100% - 240px);
    padding: 0 10px;
    font-size: 12px;
    justify-content: flex-end;
    background: rgba(0,0,0,.26);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    backdrop-filter: blur(10px) saturate(1.15);
    -webkit-backdrop-filter: blur(10px) saturate(1.15);
    text-shadow: 0 2px 10px rgba(0,0,0,.55);
  }
}
/* Phone + email: same size and slightly larger *//* CTA: center text vertically (without changing height/styling) *//* Phone icon spacing: match header (avoid double-spacing from inline margin-right) */
}
/* === v49-desktop-overrides === */
/* === project1-headerlight-noghost-v18 === */@media (max-width: 900px){
/* Keep glow stripe present but fade it out smoothly (no abrupt height/display cut) *//* Pseudo underglow: fade out smoothly when glow is OFF */
}
/* === hi-v17-project1-footer-mobile === */
/* === project1-footer-tweaks-v105 === *//* V105 tasks: footer micro-alignment */
/* === project1-desktop-hero-dim-v24 === */@media (min-width: 901px){
/* Desktop: hero darkening ONLY while header glow is ON; fade-out must be as smooth as fade-in *//* Glow element: fade out smoothly (no visibility cut) *//* Bigger room titles on desktop */.project-album-roomtitle{
    font-size: 22px;
    margin-bottom: 16px;
    line-height: 1.22;
  }
}
/* === project1-pc-header-glow-fixes-v25 === */@media (min-width: 901px){
/* Remove faint line from legacy pseudo-glow (can remain visible even when glow is off) *//* Smooth fade for under-header glow (show/hide) *//* Ensure hero dim returns smoothly */body.project-hero-fullscreen-page #hero::before{
    transition: opacity .35s ease !important;
  }
}
/* === v182-header-glow-ghost-off-fix === *//* After glow fades out, remove any residual 1px shine under header (Safari/iOS artifact). *//* Hard-disable legacy pseudo underglow when glow is OFF *//* === project-1-v39-page-bg_header_roomnav === *//* V39 (project-1): unified page tone, centered room titles, desktop header layout, bottom room nav *//* Page background tone (medium between old/new) + apply everywhere */body.project-hero-fullscreen-page{ background:var(--project-page-bg) !important; }.hi-main{ background:transparent !important; }/* Remove panel-like backgrounds so the whole page is one tone */#project-about,
  #project-floorplan{ background:transparent !important; }/* Plan size: reduce by ~1.15 from full width (a bit bigger than previous) */.project-floorplan__media{ max-width:1120px; }/* Center room titles */.project-album-roomtitle{ text-align:center; }/* Scroll anchor offset for fixed header */.project-album-section{ scroll-margin-top: 110px; }/* Desktop header: left menu, centered logo, right contacts */@media (min-width: 901px){
/* V81: desktop roomnav tone matches header */.project-roomnav{
      background: rgba(0,0,0,.65) !important;
      border-color: rgba(255,255,255,.08) !important;
      backdrop-filter: saturate(160%) blur(6px) !important;
      -webkit-backdrop-filter: saturate(160%) blur(6px) !important;
      box-shadow: 0 10px 28px rgba(0,0,0,.25) !important;
    }
}
/* Bottom room nav */.project-roomnav{
  position:absolute;
  left:50%;
  top:100000px; /* pre-position offscreen; JS sets real top (A↔B clamp) */
  --roomnav-bottom: 18px;
  transform:translateX(-50%);
  display:flex;
  gap:14px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:34px;
  background:rgba(22,22,22,0.32);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 12px 32px rgba(0,0,0,0.38), inset 0 1px 0 rgba(255,255,255,0.08);
  z-index:30;
  opacity:1;
  pointer-events:auto;
}.project-roomnav::-webkit-scrollbar{ display:none; }.project-roomnav__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  letter-spacing:.02em;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}.project-roomnav__link:hover,
.project-roomnav__link:focus-visible,
.project-roomnav__link.active{
  background:var(--hi-accent);
  color:#111;
  box-shadow:0 0 22px rgba(191,169,122,0.55);
  transform:translateY(-1px);
  border-color:transparent;
}@media (max-width: 900px){
/* Mobile/tablet: horizontal swipe for room tabs */.project-roomnav{
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x;
  }.project-roomnav::-webkit-scrollbar{ display:none; }.project-roomnav__link{
    flex:0 0 auto;
    white-space:nowrap;
  }/* Give more air above footer for the room nav */.project-album{ padding-bottom: 200px; }
}
@media (max-width:520px){
.project-roomnav{
    width:calc(100% - 44px);
    max-width:520px;
    --roomnav-bottom: 12px;
    padding:9px 8px;
    border-radius:34px;
    gap:8px;
    /* keep as a single row, swipe left/right */
    display:flex;
    align-items:center !important;
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x;
  }.project-roomnav::-webkit-scrollbar{ display:none; }.project-roomnav__link{
    width:auto;
    padding:8px 10px;
    border-radius:18px;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
    flex:0 0 auto;
  }.project-album{padding:28px 0 220px;}
}
/* Reserve space so the nav doesn't cover the last images */.project-album{ padding-bottom: 160px; }/* === hi-v44-logo-cta === *//* V44: CTA auto-active when header glow is active while scrolled *//* === hi-v46-roomnav-compact === *//* V46: bottom room navigation — typography & compactness to match header */.project-roomnav{
  gap:10px !important;
  padding:8px 10px !important;
  border-radius:18px !important;
}.project-roomnav__link{
  font-size:13px !important;
  font-weight:500 !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  letter-spacing:0.2px !important;
}/* === hi-v49-roomnav-tuning === *//* V49: roomnav fine-tuning (desktop) + mobile full-bleed behavior */@media (min-width: 901px){
/* Make nav background visually centered relative to pills */.project-roomnav{ align-items:center !important; padding:9px 10px !important; }/* Reduce vertical “fatness” (especially noticeable on active) */.project-roomnav__link{ padding:6px 12px !important; line-height:1 !important; }/* No vertical “jump” on hover/active */.project-roomnav__link:hover,
  .project-roomnav__link:focus-visible,
  .project-roomnav__link.active{ transform:none !important; }
}
/* Mobile: give the bar a bit more side inset by default,
   and expand to full width only while user scrolls it horizontally (like iOS). */@media (max-width: 520px){
.project-roomnav{ width: calc(100% - 48px) !important; }/* inset: 24px */
}
/* === hi-v50-hover-roomnav-fixes === *//* V50: вернуть неоновую подсветку на hover у кнопки "Заказать звонок" (как у остальных кнопок в шапке) *//* V50: выравнивание кнопок по вертикали внутри общей рамки нижней навигации */.project-roomnav{ align-items: center; }/* === project1-roomnav-v53 === *//* V53 — правки нижней навигации и аккуратная рамка (ПК+моб) *//* ПК: воздух сверху/снизу даём рамкой, а не уменьшая сами кнопки */@media (min-width: 901px){
.project-roomnav{ padding-top: 10px !important; padding-bottom: 10px !important; }.project-roomnav__link{ padding: 8px 12px !important; }
}
/* Моб: кнопки строго по центру по вертикали внутри рамки + рамка уже (примерно на 3 кнопки) */@media (max-width: 520px){
.project-roomnav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    height:auto !important;
    min-height: 54px !important;
    padding: 10px 10px !important; /* симметричный отступ, чтобы визуально центрировать */
    width: calc(100% - 88px) !important; /* уже, чтобы влезали ~3 кнопки без скролла */
  }.project-roomnav__inner{ align-items:center !important; }.project-roomnav__link{ padding: 8px 10px !important; }
}
/* === project1-v80-roomnav-fill-desktop === *//* V80: ПК — заливка нижней навигации как у шапки (тон/прозрачность) */@media (min-width: 901px){
.project-roomnav{
    background: rgba(0,0,0,0.65) !important;
    backdrop-filter: blur(10px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.15) !important;
  }
}
/* === project-1-hotfix-v56 === *//* v56 (P0): hero always covers viewport on resize (no black bands); top-state header in hero uses black logo + black text */body.project-hero-fullscreen-page .project-hero-fullscreen{
  height: 100vh;
  height: 100dvh;
  min-height: 0 !important;
}body.project-hero-fullscreen-page #hero > picture{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
}body.project-hero-fullscreen-page #hero > picture > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}/* Desktop: hero top-state header should be calm, with black logo + black text *//* === project1-v57-responsive-fixes === *//* V163: roomnav — keep labels on one line; positioning handled by JS clamp (A↔B) */.project-roomnav__link{ white-space: nowrap; }/* === project1-v58-mobile-roomnav-ios-pill === *//* V163: mobile roomnav — keep pill geometry; positioning handled by JS clamp (A↔B), no show/hide */@media (max-width: 900px){
.project-roomnav{
    /* Centered pill with side insets */
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 64px) !important; /* 32px inset on each side */
    max-width: 520px !important;

    /* Visual bottom gap (read by JS) */
    --roomnav-bottom: max(6px, calc(env(safe-area-inset-bottom, 0px) - 11px)) !important;

    /* Avoid absolute stretching (JS sets top) */
    bottom: auto !important;

    /* Less "fat" */
    padding: 6px 10px !important;
    gap: 10px !important;

    /* Keep iOS-like corners */
    border-radius: 22px !important;

    /* Visuals from V58 */
    border: 1px solid rgba(255,255,255,0.12) !important;
    background: rgba(255,255,255,0.06) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.42) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;

    /* Keep horizontal swipe, but never "fullbleed" */
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }
}
/* === project1-roomnav-v70-mobile-pill === */@media (max-width:520px){
/* V131: Variant B — fluid sizing for roomnav on small screens (avoid oversized pills) */.project-roomnav{
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;

    border-radius:999px !important;
    padding: clamp(7px, 2.0vw, 9px) clamp(9px, 2.6vw, 10px) !important;
    gap: clamp(7px, 2.0vw, 8px) !important;
    align-items:center !important;
  }.project-roomnav__link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    /* Keep tap target reasonable but less "fat" on 360–390px */
    height: clamp(30px, 8.3vw, 32px) !important;
    padding: 0 clamp(9px, 2.6vw, 10px) !important;
    font-size: clamp(12px, 3.2vw, 13px) !important;
    line-height: 1 !important;
    white-space:nowrap !important;
  }/* Prevent active/hover lift on mobile (keeps perfect vertical centering) */.project-roomnav__link:hover,
  .project-roomnav__link:focus-visible,
  .project-roomnav__link.active{
    transform:none !important;
  }
}
/* === project1-v125-roomnav-touch-hover-off === *//* V125: touch devices — disable sticky hover highlight on roomnav pills */@media (hover: none), (pointer: coarse){
.project-roomnav__link:not(.active):hover,
  .project-roomnav__link:not(.active):focus,
  .project-roomnav__link:not(.active):active{
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }
}
/* === project1-v73-desktop-ui === *//* V73 — Desktop UI: roomnav + header glass (match mobile pill), logo scale */@media (min-width: 901px){
/* Bottom room nav: same fill/blur as mobile, more rounded, with bottom edge highlight */.project-roomnav{
    border-radius: 999px !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid 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;
  }/* Match header menu (“Услуги”) typography */.project-roomnav__link{
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }/* Header on first load (not scrolled): same glass style + bottom edge highlight *//* Logo scale x1.2 */
}
/* === project1-v82-desktop-roomnav-tone === *//* V163: Desktop — roomnav tone matches header; no dependency on visibility classes */@media (min-width: 901px){
.project-roomnav{
    background: rgba(0,0,0,0.65) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    backdrop-filter: saturate(160%) blur(6px) !important;
    -webkit-backdrop-filter: saturate(160%) blur(6px) !important;
  }
}
/* === project1-v87-header-cta-glow === *//* V87: Header CTA ("Заказать звонок") — постоянная неоновая подсветка как у кнопки в подвале при hover (только ПК). */
/* === hi-v91-patch-v89 === *//* --- PhotoSwipe: remove zoom cursor, click image -> next (desktop) --- */@media (min-width: 901px){
.pswp__img{ cursor: pointer !important; }/* make arrows a bit larger */.pswp__button--arrow--left, .pswp__button--arrow--right{ width: 66px; height: 66px; }.pswp__button--arrow--left:before, .pswp__button--arrow--right:before{ width: 28px; height: 28px; }/* counter/title closer to right controls */.pswp__hi-title{ right: 74px !important; }
}
/* --- PhotoSwipe: mobile UI without full-width top strip; counter as a pill like close --- */@media (max-width: 900px){
.pswp__top-bar{ background: transparent !important; }.pswp__hi-title{
    left: auto !important;
    right: 74px !important;
    top: 6px !important;
    width: auto !important;
    max-width: calc(100% - 160px);
    padding: 0 12px !important;
    height: 34px !important;
    line-height: 34px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.26) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-align: center !important;
  }.pswp__counter{ display:none !important; }
}
/* footer CTA always active on mobile (no hover) */
}
/* === project1-v96-mobile-slider-footer-pc-arrows === *//* V96: выполнять пункты строго по задаче *//* --- Mobile (<=900): PhotoSwipe UI --- */@media (max-width: 900px){
/* убрать "бургер" в слайдере (кнопка share / menu) */.pswp__button--share{ display:none !important; }/* убрать рамку у закрытия */.pswp__button--close{
    border: none !important;
    box-shadow: none !important;
  }/* порядковый номер: без рамки и по центру экрана */.pswp__hi-title{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border: none !important;
    box-shadow: none !important;
  }/* на всякий случай: не показывать zoom-cursor на мобиле */.pswp__img{ cursor: default !important; }
}
/* --- Mobile footer (<=900): CTA active + phone left / email right --- */
/* --- Desktop (>=901): PhotoSwipe arrow hit area bigger --- */@media (min-width: 901px){
.pswp__button--arrow--left,
  .pswp__button--arrow--right{
    transform: none !important;
    width: 96px !important;
    height: 96px !important;
  }.pswp__button--arrow--left:before,
  .pswp__button--arrow--right:before{
    width: 28px !important;
    height: 28px !important;
  }
}
/* === project1-v98-fixes === *//* V98: mobile footer alignment + footer logo centering + gold line lift + fix header flash on PhotoSwipe + bigger desktop arrow hit area */@media (max-width: 900px){
    top: 0 !important;
    z-index: 2;
  }/* Footer padding a bit tighter to lift logo and copy *//* Footer top row: socials + CTA first, phone/email on next row */
}
@media (min-width: 901px){
/* Bigger arrow hit area (desktop) */.pswp__button--arrow--left,
  .pswp__button--arrow--right{
    width: 180px !important;
    height: 180px !important;
  }.pswp__button--arrow--left:before,
  .pswp__button--arrow--right:before{
    width: 32px !important;
    height: 32px !important;
  }
}
    transition: opacity .26s ease-out, transform .26s ease-out !important;
    opacity: 0 !important;
    transform: translateY(-6px) !important;
    pointer-events: none !important;
}
@media (min-width: 901px){
/* Desktop footer logo slightly larger */
}
/* === project1-v115-mobile-fixes === */
/* === project1-v125-footer-scale-mobile === */
/* === project1-v132-mobile-fluid-ui === */@media (max-width: 900px){
    width: clamp(16px, 4.8vw, 18px) !important;
  }/* Mobile footer */
}
/* === project1-v133-small-mobile-tuning === */@media (max-width: 900px){
/* V133: keep Android/Chrome from auto-inflating text (more consistent with iOS) */html, body{ -webkit-text-size-adjust: 100% !important; text-size-adjust: 100% !important; }
}
@media (max-width: 390px){
/* V133: small phones (360–390px) — make UI a bit tighter without touching larger iPhones (430+) *//* 1) Footer controls *//* 2) Bottom room navigation */.project-roomnav{
    padding: 6px 9px !important;
    gap: 6px !important;
  }.project-roomnav__link{
    height: 29px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }/* 3) Main page title (H1) — prevent oversized look on small Android */h1.section-title{
    font-size: clamp(24px, 6.8vw, 31px) !important;
    letter-spacing: 0 !important;
  }
}
/* === project1-v134-small-devices-tuning === */@media (max-width: 420px){
/* V134: small devices (≈360–420px) — unify visual scale (Android vs iOS) *//* Footer controls: slightly smaller (~5%) *//* Bottom room navigation: tighter pills to avoid cropping on narrow screens */.project-roomnav{
    padding: 6px 9px !important;
    gap: 6px !important;
    scroll-padding-left: 10px;
    scroll-padding-right: 10px;
  }.project-roomnav__link{
    height: 30px !important;
    padding: 0 9px !important;
    font-size: 12.5px !important;
  }/* Intro typography: prevent oversized look */h1.section-title{
    font-size: clamp(24px, 6.3vw, 30px) !important;
    letter-spacing: 0 !important;
  }.project-intro-text{ font-size: 14.5px !important; line-height: 1.65 !important; }.project-meta-list{ font-size: 14.5px !important; }
}
@media (max-width: 420px) and (max-height: 760px){
.project-roomnav__link{ font-size: 12px !important; }
}
/* === project1-v135-mobile-text-inflation-guard === *//* V135: Stop Android/Chrome text inflation so typography matches iOS more closely */@media (max-width: 900px){
html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
}
/* === project1-v139-pro-max-footer-tablet-tuning === *//* V139:
   - Pro Max (430px): mobile header logo larger ONLY in 428–440px range.
   - Small phones (<=390px): footer UI slightly smaller (~5–8%).
   - 391–420px: keep regular mobile sizing (no shrink).
   - 700–900px (iPad mini/air): footer centered; phone+email on one row (phone left, email right);
     logo/copy a touch larger.
   - <=414px (iPhone SE/XR): footer copy + disclaimer forced to 1 line (font scales down).
*//* 2) Small phones: make footer UI a touch smaller, without touching 390/412/430+ *//* 3) 391–420px: keep "regular" mobile sizing (do NOT shrink like small phones) *//* 4) Tablet (iPad mini/air): center footer; phone + email on one row */
/* 5) iPhone SE / XR: keep copy + disclaimer on one line (scale down) *//* === hi-v144-header-fluid-desktop === *//* V144: Fluid desktop/tablet header sizing (single source of truth).
   Goal: smooth compaction on 1390→901 without wrapping/overlap; mobile header only below 880px. */
/* === project1-v157-footer-mobile-tweaks === *//* v161 footer mobile tweaks: phone centered under icons; phone/email same size and a bit larger; CTA text vertically centered */
/* Footer overflow: keep gold line visible even if it shifts upward *//* 1) Docs links: always stack one per line *//* 2) Brand item must stretch so the © line can go edge-to-edge without 100vw *//* 3) Copy: edge-to-edge (compensate wrap padding), slightly larger, without wrapping */
}
/* === project1-footer-mobile-align-v208 === */@media (max-width: 900px){
/* 1) Gold line: must be visible (inside footer) + give air to logo *//* 2) Two-column alignment: icons ↕ phone, call button ↕ email *//* 3) CTA: always active (pressed/glow) on mobile */
}


html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

/* hi-header-footer reset (from project-1.html) */
[data-hi-call].hi-btn{ transition: background .35s ease, box-shadow .35s ease, color .3s ease, border-color .3s ease !important; }
.hi-btn:hover,
.hi-btn-ghost:hover {
  background: var(--hi-accent) !important;
  color: #222 !important;
  border-color: var(--hi-accent) !important;
  box-shadow: 0 10px 24px rgba(191,169,122,.35);
}:root {
  --hi-bg: transparent;
  --hi-text: #ffffff;
  --hi-accent: #BFA97A;
  --hi-shadow: rgba(0,0,0,.25);
  --hi-border-neutral: rgba(255,255,255,0.32);
  --hi-border-neutral-hover: rgba(255,255,255,0.46);

}
.hi-btn{ background: transparent; border:1px solid var(--hi-accent); color:#fff; font-weight:800; padding:12px 16px; border-radius:14px; cursor:pointer; transition: transform .15s, box-shadow .25s, background .2s, color .2s; box-shadow:none; white-space:nowrap; }.hi-btn:hover{ background: var(--hi-accent); color:#222; box-shadow: 0 10px 24px rgba(191,169,122,.35); }
.hi-modal-backdrop{ position: fixed; inset:0; background: rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; z-index:10000; opacity:0; transition: opacity .25s ease; }.hi-modal-backdrop.open{ display:flex; opacity:1; }.hi-modal{ width: min(520px, 92vw); background: #222; color:#fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.35); padding: 24px; transform: translateY(10px) scale(.98); transition: transform .25s ease; }.hi-modal-backdrop.open .hi-modal{ transform: translateY(0) scale(1); }.hi-modal h3{ margin:0 0 12px; font-size:22px; }.hi-modal p{ margin:0 0 16px; opacity:.8; }.hi-btn-ghost{ background: transparent; color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:10px 14px; cursor:pointer; }.hi-toast{ position: fixed; left:50%; bottom:24px; transform: translateX(-50%); background:#222; color:#fff; border:1px solid rgba(255,255,255,.12); padding:10px 14px; border-radius:12px; box-shadow: 0 12px 30px rgba(0,0,0,.25); opacity:0; pointer-events:none; transition: opacity .25s ease; z-index:10001; }.hi-toast.show{ opacity:1; }button:hover:not(.pswp__button),
.hi-btn:hover,
.hi-btn-ghost:hover,

.hi-actions .hi-btn:hover,
.hi-actions .hi-btn-ghost:hover {
  background: var(--hi-accent) !important;
  color: #222 !important;
  border-color: var(--hi-accent) !important;
  box-shadow: 0 10px 24px rgba(191,169,122,.35);
  transition: all .25s ease !important;
}.hi-btn{
  display: inline-block;
  border: 1px solid #BFA97A;
  border-radius: 12px;
  background: rgba(0,0,0,0.65);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  transition: all 0.35s ease;
  box-shadow: none;
  text-shadow: none;
}.hi-btn:hover{
  background: #BFA97A;
  color: #000;
  border-color: #BFA97A;
  text-shadow: 0 0 10px rgba(191,169,122,0.9), 0 0 22px rgba(191,169,122,0.75);
  box-shadow: 0 0 18px rgba(191,169,122,0.6), 0 0 36px rgba(191,169,122,0.4);
  transform: translateY(-1px);
}.hi-btn{
  border-radius: 12px;
}[data-hi-call],
[data-hi-call].hi-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;          
  padding-block: var(--hi-hdr-btn-py, 10px) !important;     
  border-radius: 12px !important;     
  box-sizing: border-box !important;
}[data-hi-call]:hover,
[data-hi-call].hi-btn:hover{
  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);
}:root{
  --hi-bg:#0f0f10;
  --hi-surface:#171718;
  --hi-text:#E8E3D4;
  --hi-text-dim:#CFC8B5;
  --hi-gold:#BFA97A;
  --hi-gold-bright:#CFB88C;
}body.project-hero-fullscreen-page.header-visible #hero::before{
  opacity:1;
}@media (max-width: 900px){
body.project-hero-fullscreen-page.header-visible #hero::before{
    background: linear-gradient(to bottom, rgba(0,0,0,.48) 0%, rgba(0,0,0,.82) 100%) !important;
  }
}










@media (min-width: 901px){
body.project-hero-fullscreen-page.header-visible #hero::before{
    background: linear-gradient(to bottom, rgba(0,0,0,.48) 0%, rgba(0,0,0,.82) 100%) !important;
  }
}

:root{--project-page-bg:#030303;--bg:var(--project-page-bg);--hi-bg:var(--project-page-bg);}








@media (max-width: 900px){
:root{
    
    --hi-mob-ctl: clamp(36px, 10vw, 42px);
    --hi-mob-ctl-r: clamp(10px, 3vw, 12px);
    --hi-mob-gap: clamp(8px, 2.8vw, 12px);
    --hi-mob-pad-x: clamp(10px, 3.2vw, 12px);
    --hi-mob-pad-y: clamp(8px, 2.4vw, 10px);
    --hi-mob-logo-h: 34px;
  }
}


@media (max-width: 414px){
:root{ --hi-mob-logo-h: clamp(30px, 8vw, 32px) !important; }
}






  /* Match index.html page background (darker tone). Intentionally last. */
  :root{
    --project-page-bg:#030303;
    --hi-bg:#030303;
    --hi-surface:#030303;
  }
  html, body{ background:#030303 !important; }
  body{ background:#030303 !important; }
  main, .hi-main{ background: transparent !important; }
  section{ background:#030303 !important; }
  #hero::before{ background: rgba(0,0,0,.62) !important; }



@media (min-width: 901px){
  .project-roomnav{
    gap:10px !important;
    padding:12px 12px !important;
    border-radius:999px !important;
    align-items:center !important;
  }
  .project-roomnav__link{
    padding:9px 14px !important;
    border-radius:999px !important;
    line-height:1 !important;
    font-size:15px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    transform:none !important;
  }
  .project-roomnav__link:hover,
  .project-roomnav__link:focus-visible,
  .project-roomnav__link.active{
    transform:none !important;
  }
}



.project-floorplan__media--zoomable{
  position:relative;
  cursor:zoom-in;
}
.project-floorplan__media--zoomable img{
  cursor:zoom-in;
}
@media (min-width: 901px){
  .project-video-review__frame,
  .project-video-review__video{
    cursor:pointer;
  }
}
.pswp.hi-plan-viewer,
.pswp.hi-plan-viewer .pswp__bg{
  background:#030303 !important;
}
.pswp.hi-plan-viewer .pswp__bg{
  opacity:1 !important;
}
.pswp.hi-plan-viewer.pswp--animate_opacity .pswp__bg,
.pswp.hi-plan-viewer .pswp__bg{
  transition:none !important;
}
.pswp.hi-plan-viewer .pswp__container,
.pswp.hi-plan-viewer .pswp__item,
.pswp.hi-plan-viewer .pswp__img,
.pswp.hi-plan-viewer .pswp__scroll-wrap{
  background:transparent !important;
}
.pswp.hi-plan-viewer .pswp__top-bar{
  height:0 !important;
  min-height:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.pswp.hi-plan-viewer .pswp__button--close{
  top:14px !important;
  right:14px !important;
}
.pswp.hi-plan-viewer .pswp__preloader,
.pswp.hi-plan-viewer .pswp__counter,
.pswp.hi-plan-viewer .pswp__caption{
  display:none !important;
}


/* === project-mobile-header-restore-v3 ===
   Backport from pre-clean donor (public_html_v0.zip).
   Goal: keep mobile burger fixed/visible on project pages and remove top gap/stripe. */



/* === hi-project-section-underline-center-v1 === */
@media (min-width: 1025px){
  section:not(#hero) h2.section-title::after,
  section:not(#hero) > .wrap > h2::after,
  .project-floorplan h2.section-title::after,
  .project-visualization-title h2.section-title::after,
  .project-about h2.section-title::after,
  .project-video-review h2.section-title::after,
  .project-realized h2.section-title::after,
  .project-related__title::after,
  #services h2::after,
  #design-steps h2::after,
  #portfolio h2::after,
  #prices h2::after,
  #pricing h2::after,
  #team h2::after,
  #partners h2::after,
  #contacts h2::after{
    left:50% !important;
    width:110% !important;
    transform:translateX(-50%) !important;
  }
}
