/* Centered homepage hero, scaled consistently with the storefront typography. */
.home-page { background:#fffdfa; }
.home-page #heroSection.hero-reference {
  box-sizing:border-box; min-height:clamp(460px,70svh,640px);
  padding:64px 24px 76px; margin:0;
  display:flex; align-items:center; background:#fffdfa;
}
.home-page #heroSection .container { width:100%; }
.home-page #heroSection #heroLayout { display:block; }
.home-page #heroSection #heroCopy {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; max-width:none; width:100%; color:#080808;
}
.home-page .hero-brand {
  width:clamp(210px,25vw,350px); max-width:100%; height:auto; object-fit:contain;
  margin:0 0 28px; filter:brightness(.88) saturate(1.8);
}
.home-page #heroSection #heroTitle {
  font-family:inherit; font-size:clamp(26px,3vw,44px);
  line-height:1.5; font-weight:700; margin:0; max-width:850px; letter-spacing:0;
}
.home-page #heroSection #heroText {
  font-family:inherit; font-size:clamp(15px,1.5vw,22px);
  line-height:1.8; font-weight:400; color:#777; margin:16px 0 28px; max-width:680px;
}
.home-page #heroSection #heroActions { display:flex; justify-content:center; margin:0; }
.home-page #heroPrimaryButton {
  min-width:210px; min-height:52px; padding:12px 30px;
  font-family:inherit; font-size:16px; line-height:1.6; font-weight:500;
  background:#ad0020; color:white; border:0; box-shadow:none;
}
@media(max-width:900px){
 .home-page #heroSection.hero-reference { min-height:440px; padding:48px 20px 56px; }
 .home-page .hero-brand { width:240px; margin-bottom:24px; }
 .home-page #heroSection #heroText { margin:14px 0 24px; font-size: 15px; line-height: 1.7; }
 .home-page #heroPrimaryButton { min-width:180px; min-height:46px; padding:10px 22px; font-size:14px; }
}
@media(max-width:480px){
 .home-page #heroSection.hero-reference { min-height:380px; padding:36px 16px 44px; }
 .home-page .hero-brand { width:clamp(160px, 50vw, 210px); margin-bottom:18px; }
 .home-page #heroSection #heroTitle { font-size:24px; line-height:1.4; }
 .home-page #heroSection #heroText { font-size:14px; margin:10px 0 20px; }
}

.home-page #cvSiteHeader {
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

/* At top of page: hero is visible, so only hero section logo is shown */
.home-page #cvSiteHeader.hero-visible:not(.is-scrolled) {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.home-page #cvSiteHeader .cv-brand {
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s !important;
}

.home-page #cvSiteHeader.hero-visible .cv-brand {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(0.92) !important;
}

.home-page #cvSiteHeader:not(.hero-visible) .cv-brand {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
}

@media(min-width:901px){
 html[dir] .home-page #cvSiteHeader .cv-header-main {
  width:calc(100% - 64px); max-width:1300px;
  grid-template-rows:64px !important; height:64px !important; min-height:64px !important;
 }
 html[lang] .home-page #cvSiteHeader .cv-nav-link,html[lang] .home-page #cvSiteHeader .cv-nav-more { font-size:13.5px !important; }
 html[dir] .home-page #cvSiteHeader .cv-header-actions { gap:8px !important; }
 .home-page #cvSiteHeader .cv-icon-btn { width:34px; height:34px; }
 .home-page #cvSiteHeader .cv-icon-btn svg { width:19px; height:19px; }
}

/* Saved settings control desktop values; mobile scales without hiding content. */
.home-page #heroSection #heroTitle{font-size:clamp(24px,5vw,var(--hero-title-size,44px));}
.home-page #heroSection #heroMedia:not([hidden]){min-height:300px;margin-top:24px;background-repeat:no-repeat;}
[hidden]{display:none!important}
@media(max-width:700px){.home-page #heroSection.hero-reference{min-height:0!important;padding-block:36px!important}}
