@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Inter:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

.hzSharedFooter{margin-top:56px;padding:34px 18px;border-top:1px solid var(--br,#e7eaf1);background:var(--card,#fff);color:var(--mut,#6b7280)}
.hzSharedFooter__in{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.hzSharedFooter__brand{font-weight:850;color:var(--txt,#111827);letter-spacing:.04em}
.hzSharedFooter__links{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.hzSharedFooter a{color:inherit;text-decoration:none}
.hzSharedFooter a:hover{color:var(--acc,#0e8b52)}

/* Shared content keeps one source of truth, while the host selects its visual system. */
html[data-kitchen-variant="2"] {
  --acc:#b0894f;--acc2:#c8a86c;--acc-rgb:176 137 79;
  --txt:#221c14;--mut:#7d7263;--bg:#f5f0e7;--bg2:#f5f0e7;
  --card:#fffdf8;--br:#e4dac8;--shadow:0 20px 48px rgba(60,46,24,.10);
  --shadow2:0 10px 28px rgba(60,46,24,.08);--r-xl:28px;--r-lg:18px;
  color-scheme:light;
}
html[data-kitchen-variant="3"] {
  --acc:#c7a26b;--acc2:#dcc193;--acc-rgb:199 162 107;
  --txt:#ece7dd;--mut:#989488;--bg:#0e0f12;--bg2:#0e0f12;
  --card:#16181d;--br:#2a2d34;--shadow:none;--shadow2:none;
  --r-xl:8px;--r-lg:6px;color-scheme:dark;
}

html[data-kitchen-variant] body {
  color:var(--txt)!important;background:var(--bg)!important;
  min-height:100%;-webkit-font-smoothing:antialiased;
}
html[data-kitchen-variant] {--promo-h:0px!important;--hdr-h:72px!important}
html[data-kitchen-variant] .promo {display:none!important}
html[data-kitchen-variant] .hz-hdr {top:0!important;height:72px!important}
html[data-kitchen-variant] :where(.spacer,body.hz-topbars-hidden .spacer) {height:72px!important}
html[data-kitchen-variant="2"] body {font-family:'Manrope',sans-serif!important;font-weight:500}
html[data-kitchen-variant="3"] body {font-family:'Inter',sans-serif!important;font-weight:400}
html[data-kitchen-variant] :where(h1,h2,h3,.t-title,.hzEditorialTitle,.hzEditorialBand__title,.hzEditorialCard__title,.hzArticleContent h2,.hzArticleContent h3,.hzLegalCard h1,.hzH1) {
  font-family:'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.01em!important;
}
html[data-kitchen-variant="2"] :where(h1,h2,.hzEditorialTitle,.hzLegalCard h1) {font-weight:600!important}
html[data-kitchen-variant="3"] :where(h1,h2,.hzEditorialTitle,.hzLegalCard h1) {font-weight:600!important;color:var(--txt)!important}
html[data-kitchen-variant] :where(p,li,dd,dt,.t-body) {color:inherit}
html[data-kitchen-variant] a {text-underline-offset:3px}

/* Header and navigation */
html[data-kitchen-variant] :where(.hz-hdr,.hdr) {
  top:0!important;border-bottom:1px solid var(--br)!important;box-shadow:none!important;
}
html[data-kitchen-variant="2"] :where(.hz-hdr,.hdr) {background:rgba(245,240,231,.91)!important}
html[data-kitchen-variant="3"] :where(.hz-hdr,.hdr) {background:rgba(14,15,18,.90)!important}
html[data-kitchen-variant] :where(.hdr__link,.hz-hdr__link,.hdr__phone,.hz-hdr__phone,.brand__name,.brand__cap) {color:var(--txt)!important}
html[data-kitchen-variant] :where(.hdr__logo,.hdr__mobile-link) {color:var(--txt)!important}
html[data-kitchen-variant] .hdr__burger {background:transparent!important;border:1px solid var(--br)!important;color:var(--txt)!important}
html[data-kitchen-variant] .hdr__burger span {background:var(--txt)!important}
html[data-kitchen-variant] :where(.hdr__link,.hz-hdr__link):hover {color:var(--acc)!important;background:transparent!important}
html[data-kitchen-variant="3"] :where(.burger span,.hdr__burger span) {background:var(--txt)!important}

/* Buttons, labels and focus */
html[data-kitchen-variant] :where(.btn,.hz-btn,.hzH-btn,.hzDecBtn,.contact-map__btn) {
  border:1px solid var(--acc)!important;background:var(--acc)!important;color:#211a0d!important;
  box-shadow:none!important;font-weight:700!important;text-decoration:none!important;
}
html[data-kitchen-variant="2"] :where(.btn,.hz-btn,.hzH-btn,.hzDecBtn,.contact-map__btn) {border-radius:12px!important}
html[data-kitchen-variant="3"] :where(.btn,.hz-btn,.hzH-btn,.hzDecBtn,.contact-map__btn) {border-radius:4px!important}
html[data-kitchen-variant] :where(.btn--ghost,.hz-btn--ghost,.hzH-btn--ghost,.hzDecBtn2,.contact-map__btn--ghost) {
  background:transparent!important;color:var(--txt)!important;border-color:var(--br)!important;
}
html[data-kitchen-variant] :where(.pill,.hz-tag,.hz-badge,.hzEditorialKicker,.hzEditorialPill,.hzDecK,.hzVisitLabel,.t-label) {
  color:var(--acc)!important;border-color:color-mix(in srgb,var(--acc) 34%,transparent)!important;
  background:color-mix(in srgb,var(--acc) 10%,var(--card))!important;
}
html[data-kitchen-variant="3"] :where(.pill,.hz-tag,.hz-badge,.hzEditorialPill) {border-radius:3px!important;letter-spacing:.13em!important}

/* Page canvas and hero systems */
html[data-kitchen-variant] :where(.hzMain,.hzEditorial,.hzEditorialShell,.hzEditorialSection,.hz-sec,.sec,.detail-page) {background:transparent!important;color:var(--txt)!important}
html[data-kitchen-variant] :where(.hzEditorialHero,.hzH,.detail-hero,.hzDecPageTop) {
  color:var(--txt)!important;border-color:var(--br)!important;
}
html[data-kitchen-variant="2"] :where(.hzEditorialHero,.detail-hero,.hzDecPageTop) {
  background:linear-gradient(145deg,#fffdf8,#ece2d1)!important;
}
html[data-kitchen-variant="3"] :where(.hzEditorialHero,.detail-hero,.hzDecPageTop) {
  background:linear-gradient(145deg,#111318,#1b1e24)!important;
}
html[data-kitchen-variant] :where(.hzEditorialTitle,.hzEditorialLead,.hzEditorialBand__title,.hzEditorialBand__sub,.hzLead,.lead,.sub,.t-body,.hzArticleMeta,.hzLegalMeta) {color:var(--txt)!important}
html[data-kitchen-variant] :where(.hzEditorialLead,.hzEditorialBand__sub,.hzArticleMeta,.hzLegalMeta,.hzDecBody,.hzVisitSub) {color:var(--mut)!important}

/* Shared cards and panels */
html[data-kitchen-variant] :where(
  .hzEditorialCard,.hzEditorialPanel,.hzEditorialArticleCard,.hzEditorialCtaStrip,
  .hzArticleContent,.hzArticleAside__box,.hzArticleQuote,.hzLegalCard,
  .hzDecC,.hzDecPageCta,.hzVisitCard,.hzVisitMapFrame,.hz-card,.card-wrap,
  .hcard,.contact-panel,.contact-map-card,.hz-facade-card,.hz-thick-card,
  .ctaCard,.box,.adv__item,.hzCalcCard,.hzCase,.hzFaqAssist
) {
  background:var(--card)!important;color:var(--txt)!important;border-color:var(--br)!important;
}
html[data-kitchen-variant="2"] :where(
  .hzEditorialCard,.hzEditorialPanel,.hzEditorialArticleCard,.hzEditorialCtaStrip,
  .hzArticleContent,.hzArticleAside__box,.hzArticleQuote,.hzLegalCard,
  .hzDecC,.hzDecPageCta,.hzVisitCard,.hzVisitMapFrame,.hz-card,.card-wrap,
  .hcard,.contact-panel,.contact-map-card,.hz-facade-card,.hz-thick-card,
  .ctaCard,.box,.adv__item,.hzCalcCard,.hzCase,.hzFaqAssist
) {border-radius:20px!important;box-shadow:var(--shadow2)!important}
html[data-kitchen-variant="3"] :where(
  .hzEditorialCard,.hzEditorialPanel,.hzEditorialArticleCard,.hzEditorialCtaStrip,
  .hzArticleContent,.hzArticleAside__box,.hzArticleQuote,.hzLegalCard,
  .hzDecC,.hzDecPageCta,.hzVisitCard,.hzVisitMapFrame,.hz-card,.card-wrap,
  .hcard,.contact-panel,.contact-map-card,.hz-facade-card,.hz-thick-card,
  .ctaCard,.box,.adv__item,.hzCalcCard,.hzCase,.hzFaqAssist
) {border-radius:6px!important;box-shadow:none!important}
html[data-kitchen-variant] :where(.hzEditorialCard__text,.hzEditorialArticleCard__text,.hzEditorialPanel__text,.hzArticleContent p,.hzArticleContent li,.hzArticleAside,.hzLegalCard p,.hzLegalCard li,.hzDecBody,.hzVisitNote,.hzVisitRow,.hcard p,.hz-facade-desc) {color:var(--mut)!important}

/* Editorial hubs and articles */
html[data-kitchen-variant] .hzEditorialRail {border-color:var(--br)!important}
html[data-kitchen-variant] .hzEditorialArticleCard__arrow {color:var(--acc)!important}
html[data-kitchen-variant] .hzEditorialPanel--accent {background:var(--txt)!important;color:var(--bg)!important}
html[data-kitchen-variant="3"] .hzEditorialPanel--accent {background:#1c1913!important;color:var(--txt)!important;border-color:var(--acc)!important}
html[data-kitchen-variant] .hzEditorialPanel--accent :where(.hzEditorialPanel__eyebrow,.hzEditorialPanel__title,.hzEditorialPanel__text) {color:#f6efe3!important}
html[data-kitchen-variant] .hzArticleQuote {border-left:3px solid var(--acc)!important}
html[data-kitchen-variant] .hzArticleContent :where(a,strong) {color:var(--acc)!important}
html[data-kitchen-variant] .hzEditorialArticleHero img {filter:saturate(.88) contrast(1.03)}

/* Catalog, material and brand pages */
html[data-kitchen-variant] :where(.hzDecHd,.hzDecFt,.hzDecPageHd,.hzVisitHead,.hz-facade-label,.detail-breadcrumbs,.hz-breadcrumbs-mb) {border-color:var(--br)!important}
html[data-kitchen-variant] :where(.hzDecTit,.hzDecPageTit,.hzVisitTitle,.hz-facade-label__name,.t-title) {color:var(--txt)!important}
html[data-kitchen-variant] :where(.hzDecM,.hzDecD,.hzVisitRow .k,.hz-facade-label__tier,.hz-facade-tags,.hz-faq-a,.contact-note) {color:var(--mut)!important}
html[data-kitchen-variant] :where(.hzDecLogo,.hzDecPageLogo,.hzEditorialCard__icon) {color:var(--acc)!important;background:color-mix(in srgb,var(--acc) 12%,var(--card))!important}
html[data-kitchen-variant] :where(.hz-grid-rows>*,.hz-grid-cards>*,.hz-grid-faq>*,.hz-pack-row,.hz-row-accent) {border-color:var(--br)!important}
html[data-kitchen-variant="3"] :where(input,textarea,select,.hzDecInput,.hz-search-input) {background:#0f1115!important;color:var(--txt)!important;border-color:var(--br)!important}

/* Kitchen catalog-specific surfaces */
html[data-kitchen-variant] :where(.hzH-in,.hzPricingCard,.hzCmp__table tr,.hzPay__grid>*,.hzFaqItem,.hzStepsGrid>*,.hzRevCta) {
  background:var(--card)!important;color:var(--txt)!important;border-color:var(--br)!important;
}
html[data-kitchen-variant="2"] :where(.hzH-in,.hzPricingCard,.hzCmp__table tr,.hzPay__grid>*,.hzFaqItem,.hzStepsGrid>*,.hzRevCta) {border-radius:20px!important}
html[data-kitchen-variant="3"] :where(.hzH-in,.hzPricingCard,.hzCmp__table tr,.hzPay__grid>*,.hzFaqItem,.hzStepsGrid>*,.hzRevCta) {border-radius:6px!important;box-shadow:none!important}
html[data-kitchen-variant] :where(.hzH-h1,.hzPricingTitle,.hzCmp h2,.hzB2b h2,.hzFaqTitle,.hzPay h2,.hzVisitTitle) {color:var(--txt)!important}
html[data-kitchen-variant] :where(.hzH-p,.hzPricingSub,.hzCmp__hint,.hzFaqSub,.hzVisitSub) {color:var(--mut)!important}
html[data-kitchen-variant="3"] .hzB2b {background:#090a0c!important}
html[data-kitchen-variant="2"] .hzB2b {background:#221c14!important}
html[data-kitchen-variant] .hzB2b :where(h2,.lead,.hzB2b__cols li) {color:#f6efe3!important}

/* Legal pages */
html[data-kitchen-variant] .hzLegal {max-width:980px!important;padding-top:44px!important;padding-bottom:70px!important}
html[data-kitchen-variant] .hzLegalCard {padding:clamp(24px,5vw,58px)!important}
html[data-kitchen-variant] .hzLegalCard h1 {font-size:clamp(38px,6vw,66px)!important;line-height:1!important}
html[data-kitchen-variant] .hzLegalCard h2 {color:var(--txt)!important;border-top:1px solid var(--br)!important;padding-top:24px!important}
html[data-kitchen-variant] .hzLegalBack {color:var(--acc)!important}

/* Footer and persistent UI */
html[data-kitchen-variant] :where(footer,.footer) {background:transparent!important;color:var(--mut)!important;border-color:var(--br)!important}
html[data-kitchen-variant] :where(.footer__link,.footer__phone,.footer__brand,.footer__col-title) {color:var(--txt)!important}
html[data-kitchen-variant] :where(.dock,.hzSticky,#hzSticky,#dock) {display:none!important}
html[data-kitchen-variant] :where(.hzExit,.hzExitMini,.hzSP) {display:none!important}

@media(max-width:760px){
  html[data-kitchen-variant] :where(.container,.wrap,.hzEditorialShell,.hzLegal) {padding-left:16px!important;padding-right:16px!important}
  html[data-kitchen-variant] :where(.hzEditorialHero,.hzEditorialSection,.hz-sec,.sec) {padding-top:40px!important;padding-bottom:40px!important}
  html[data-kitchen-variant] :where(.hzEditorialTitle,.hzLegalCard h1,.hzH-h1) {font-size:clamp(34px,10vw,48px)!important}
  html[data-kitchen-variant] :where(.hzEditorialCard,.hzEditorialPanel,.hzEditorialArticleCard,.hzArticleContent,.hzArticleAside__box,.hzLegalCard,.hzDecC,.hzVisitCard,.card-wrap) {padding:22px!important}
  html[data-kitchen-variant] .hzEditorialGrid {gap:12px!important}
  html[data-kitchen-variant="3"] :where(.hzEditorialCard,.hzEditorialPanel,.hzEditorialArticleCard,.hzArticleContent,.hzArticleAside__box,.hzLegalCard) {border-radius:4px!important}
}

/* Mobile project modal: compact gallery, visible actions, one internal scroll area. */
@media(max-width:920px){
  .hzM {
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .hzM .hzD {
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:hidden!important;
  }
  .hzM .hzG {
    flex:0 0 clamp(210px,31dvh,270px)!important;
    height:clamp(210px,31dvh,270px)!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#0b0d10!important;
  }
  .hzM .hzGM {
    height:100%!important;
    min-height:0!important;
  }
  .hzM .hzGM :where(img,picture) {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .hzM .hzT {
    display:none!important;
  }
  .hzM .hzPr {
    display:none!important;
  }
  .hzM .hzX {
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    right:10px!important;
    width:44px!important;
    height:44px!important;
    z-index:10001!important;
  }
  .hzM .hzNav {
    width:42px!important;
    height:42px!important;
  }
  .hzM .hzC {
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    background:#fff!important;
  }
  .hzM .hzCScroll {
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .hzM .hzI {
    display:block!important;
    width:100%!important;
    min-height:auto!important;
    padding:16px 16px 12px!important;
  }
  .hzM .ttl {
    font-size:20px!important;
    line-height:1.15!important;
    margin-bottom:8px!important;
  }
  .hzM .tg {
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    font-size:13px!important;
    line-height:1.45!important;
    margin-bottom:8px!important;
  }
  .hzM .hzMeta {
    margin-bottom:4px!important;
  }
  .hzM .hzC .row {
    grid-template-columns:36px 1fr!important;
    gap:8px 10px!important;
    padding:6px 0!important;
  }
  .hzM .hzC .ic {
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
  }
  .hzM .hzC .lbl {
    font-size:10px!important;
  }
  .hzM .hzC .val {
    font-size:13px!important;
    line-height:1.3!important;
  }
  .hzM .price {
    margin-top:8px!important;
  }
  .hzM .hzPriceVal {
    font-size:24px!important;
  }
  .hzM .act {
    display:none!important;
  }
  .hzM .hzCFooter {
    position:relative!important;
    flex:0 0 auto!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important;
    border-top:1px solid rgba(15,23,42,.09)!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(14px)!important;
    z-index:60!important;
  }
  .hzM .hzCFooter .hzBtns {
    display:none!important;
  }
  .hzM .hzModalDock {
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
  }
}

@layer reset {
  @media(max-width:920px){
    .hzM.o > .hzD > .hzC {
      padding:0!important;
      padding-bottom:0!important;
      gap:0!important;
      overflow:hidden!important;
    }
    .hzM.o > .hzD > .hzC > .hzCScroll {
      flex:1 1 0!important;
      min-height:0!important;
      max-height:none!important;
      padding:0!important;
      overflow-y:auto!important;
    }
    .hzM.o > .hzD > .hzC > .hzCFooter {
      position:relative!important;
      bottom:auto!important;
      flex:0 0 auto!important;
      margin:0!important;
    }
  }
}

@media(max-width:430px) and (max-height:720px){
  .hzM .hzG {
    flex-basis:200px!important;
    height:200px!important;
  }
  .hzM .tg {
    -webkit-line-clamp:1!important;
  }
}
