/* P4.23-C1: opt-in, theme-owned typography/palette; scoped Home composition. */
.zaco-fe-home {
  --zaco-home-ink: var(--zaco-fe-heading, var(--theme-palette-color-4, #172a23));
  --zaco-home-soft: var(--zaco-fe-surface-soft, var(--theme-palette-color-10, #e5f0e2));
  --zaco-home-border: var(--zaco-fe-border, var(--theme-palette-color-5, #d9e1db));
  --zaco-home-display: var(--zaco-fe-font-display, Georgia, serif);
  color: var(--zaco-home-ink);
}
.zaco-fe-home *, .zaco-fe-home *::before, .zaco-fe-home *::after { box-sizing: border-box; }
.zaco-fe-home-hero { position: relative; isolation: isolate; overflow: hidden; background: #26332d; color: #fff; min-height: 620px; }
.zaco-fe-home-hero__media, .zaco-fe-home-hero__poster, .zaco-fe-home-hero__scrim, .zaco-fe-home-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; }
.zaco-fe-home-hero__poster img, .zaco-fe-home-hero__video { width: 100%; height: 100%; object-fit: cover; object-position: var(--zaco-home-mobile-focal, 50%) var(--zaco-home-mobile-focal-y, 50%); }
.zaco-fe-home-hero__video { opacity: 0; transition: opacity .4s ease; }
.zaco-fe-home-hero__video.is-playing { opacity: 1; }
.zaco-fe-home-hero__scrim { pointer-events: none; z-index: 1; background: linear-gradient(90deg, rgba(23,42,35,.92) 0%, rgba(23,42,35,.65) 55%, rgba(23,42,35,.28) 100%), linear-gradient(0deg,rgba(23,42,35,.85),transparent 52%); }
.zaco-fe-home-hero--balanced .zaco-fe-home-hero__scrim { background: linear-gradient(90deg,rgba(23,42,35,.78),rgba(23,42,35,.3)),linear-gradient(0deg,rgba(23,42,35,.75),transparent); }
.zaco-fe-home-hero--strong .zaco-fe-home-hero__scrim { background: linear-gradient(90deg,rgba(23,42,35,.95),rgba(23,42,35,.52)),linear-gradient(0deg,rgba(23,42,35,.9),transparent); }
/* P4.30: bring the introductory copy higher and balance the top/bottom
   breathing room. The theme owns the header, so retain a safe top inset. */
.zaco-fe-home-hero__inner { position: relative; z-index: 2; min-height: 620px; padding-top: clamp(64px, 7.5vw, 105px); padding-bottom: clamp(48px, 6vw, 78px); display: flex; flex-direction: column; justify-content: space-between; gap: clamp(40px, 5vw, 65px); }
.zaco-fe-home-hero__columns { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); align-items: end; gap: 36px; }
.zaco-fe-home-hero__intro { max-width: 730px; }
.zaco-fe-home-hero__eyebrow { display: inline-block; font-family: var(--zaco-fe-label-font-family); font-weight: 700; font-size: 11px; line-height: 1.5; letter-spacing: .17em; text-transform: uppercase; color: #dbf4e7; padding: 6px 12px; background: rgba(18,36,29,.5); border-radius: 6px; margin-bottom: 18px; }
.zaco-fe-home-hero h1 { font-family: var(--zaco-home-display); font-weight: 400; font-size: clamp(36px, 4.5vw, 56px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 22px; color: #fff; }
.zaco-fe-home-hero h1 em { font-style: italic; font-weight: 400; color: #e5f0e2; }
.zaco-fe-home-hero__description { color: #eaf5ef; max-width: 590px; font-size: clamp(15px,1.15vw,18px); line-height: 1.65; margin: 0 0 26px; }
.zaco-fe-home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.zaco-fe-home-hero__button { display: inline-flex; gap: 16px; justify-content: space-between; align-items: center; min-height: 44px; padding: 11px 20px; border-radius: 4px; text-decoration: none; font-weight: 650; font-size: 13px; transition: background .2s,color .2s,transform .2s; }
.zaco-fe-home-hero__button--primary { color: #26332d; background: #fff; }
.zaco-fe-home-hero__button--secondary { color: #fff; background: rgba(255,255,255,.1); }
.zaco-fe-home-hero__button:hover { transform: translateY(-2px); }
.zaco-fe-home-hero__button--primary:hover { background: #e5f0e2; color:#172a23; }
.zaco-fe-home-hero__button--secondary:hover { background:rgba(255,255,255,.22);color:#fff; }
.zaco-fe-home-hero__region { max-width: 330px; border-radius: 8px; background: rgba(23,42,35,.7); backdrop-filter: blur(8px); padding: 24px; justify-self: end; }
.zaco-fe-home-hero__region-label { display: block; color: #d2f5c1; font-weight: 700; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 9px; }
.zaco-fe-home-hero__region p { font-family: var(--zaco-home-display); font-style: italic; font-size: clamp(22px,2vw,28px); line-height:1.25; margin: 0; color: #fff; }
.zaco-fe-home-hero__trust { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding: 20px 26px; border-radius: 8px; background:rgba(23,42,35,.70); backdrop-filter:blur(8px); }
.zaco-fe-home-trust { display:flex; align-items:center; gap:12px; min-width:0; }
.zaco-fe-home-trust__icon { display:flex; align-items:center; justify-content:center; width:43px; height:43px; min-width:43px; border-radius:5px; background:rgba(255,255,255,.09); }
.zaco-fe-home-trust__icon .zaco-fe-icon { width:23px; height:23px; filter:brightness(0) saturate(100%) invert(95%); }
.zaco-fe-home-trust strong, .zaco-fe-home-trust small { display:block; color:#fff; font-size:12px; line-height:1.45; }
.zaco-fe-home-trust strong { font-weight:700; }
.zaco-fe-home-trust small { opacity:.80; }
.zaco-fe-home-hero__pause { position:absolute; z-index:3; bottom:12px; right:16px; border:1px solid rgba(255,255,255,.7); color:#fff; background:rgba(23,42,35,.8); border-radius:4px; padding:7px 12px; font-size:12px; cursor:pointer; }
.zaco-fe-home-hero__pause[hidden] { display:none; }
.zaco-fe-home-section { padding: clamp(56px,7vw,94px) 0; }
.zaco-fe-home-section__header { display:flex; gap:20px; justify-content:space-between; align-items:end; margin-bottom:33px; }
.zaco-fe-home-eyebrow { display:block; font-family: var(--zaco-fe-label-font-family); letter-spacing:var(--zaco-fe-eyebrow-tracking); text-transform:uppercase; font-size:var(--zaco-fe-eyebrow-font-size); line-height:var(--zaco-fe-eyebrow-leading); font-weight:var(--zaco-fe-eyebrow-weight); color:var(--zaco-fe-eyebrow-ink); margin-bottom:var(--zaco-fe-eyebrow-margin-bottom); }
.zaco-fe-home-section h2 { margin:0; color:var(--zaco-home-ink); font:400 clamp(30px,3.1vw,42px)/1.15 var(--zaco-home-display); }
.zaco-fe-home-view-all { display:inline-flex; flex:none; align-items:center; gap:12px; color:var(--theme-palette-color-2,#3f7333); font-size:13px; font-weight:650; text-decoration:none; }
.zaco-fe-home-view-all:hover { text-decoration:underline; }
.zaco-fe-home .zaco-fe-home-solutions.zaco-fe-collection--grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.zaco-fe-home-solution { display:flex; flex-direction:column; min-width:0; color:var(--zaco-home-ink); background:#fff; border:1px solid var(--zaco-home-border); border-radius:7px; overflow:hidden; text-decoration:none; box-shadow:var(--zaco-theme-shadow-card,0 4px 14px rgba(23,42,35,.06)); transition:transform .2s,box-shadow .2s; }
.zaco-fe-home-solution__media { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--zaco-home-soft); }
.zaco-fe-home-solution__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.zaco-fe-home-solution__footer { display:flex; min-height:64px; gap:12px; justify-content:space-between; align-items:center; padding:15px 18px; }
.zaco-fe-home-solution__footer strong { color:var(--zaco-home-ink); font-family: inherit; font-weight:600; font-size:16px; line-height:1.35; }
.zaco-fe-home-solution__arrow { display:flex; flex:none; align-items:center; justify-content:center; width:32px; height:32px; border-radius:12px; background:var(--zaco-home-soft); color:var(--theme-palette-color-2,#3f7333); font-size:20px; transition:background-color .15s,color .15s,transform var(--zaco-fe-motion-fast) var(--zaco-fe-motion-ease); }
.zaco-fe-home-solution:hover { transform:translateY(-2px); box-shadow:var(--zaco-theme-shadow-card,0 9px 18px rgba(23,42,35,.13)); }
.zaco-fe-home-solution:hover img { transform:scale(1.04); }
.zaco-fe-home-section--brands { padding:60px 0; border-top:1px solid var(--zaco-home-border); border-bottom:1px solid var(--zaco-home-border); }
.zaco-fe-home-section__header--center { position:relative; justify-content:center; text-align:center; }
.zaco-fe-home-section__header--center > div { max-width:690px; }
.zaco-fe-home-section__header--center p { color:var(--zaco-fe-text,#596c60); margin:10px auto 0; }
.zaco-fe-home-section__header--center .zaco-fe-home-view-all { position:absolute; right:0; bottom:0; }
.zaco-fe-home-brands { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:12px; }
.zaco-fe-home-brands[data-count="1"] { grid-template-columns:minmax(0,190px); justify-content:center; }
.zaco-fe-home-brands[data-count="2"] { grid-template-columns:repeat(2,minmax(0,190px)); justify-content:center; }
.zaco-fe-home-brand { min-width:0; min-height:112px; display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; padding:12px 8px; text-align:center; text-decoration:none; color:var(--zaco-home-ink); background:var(--zaco-home-soft); border:1px solid var(--zaco-home-border); border-radius:7px; }
.zaco-fe-home-brand img { max-width:100%; max-height:41px; width:auto; height:auto; object-fit:contain; }
.zaco-fe-home-brands--logo-name { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.zaco-fe-home-brands--logo-name .zaco-fe-home-brand { min-height:138px; gap:12px; padding:20px 14px; }
.zaco-fe-home-brands--logo-name .zaco-fe-home-brand img { max-width:min(100%,175px); max-height:55px; }
.zaco-fe-home-brands--logo-name .zaco-fe-home-brand strong { font-size:clamp(12px,1.05vw,15px); line-height:1.3; }
.zaco-fe-home-brands--logo-name[data-count="1"] { grid-template-columns:minmax(0,240px); }
.zaco-fe-home-brands--logo-name[data-count="2"] { grid-template-columns:repeat(2,minmax(0,240px)); }
.zaco-fe-home-brand strong { color:var(--zaco-home-ink); font-weight:700; font-size:clamp(11px,1vw,14px); overflow-wrap:anywhere; }
.zaco-fe-home-brand small { font-size:10px; line-height:1.35; color:var(--zaco-fe-text,#596c60); overflow-wrap:anywhere; }
.zaco-fe-home-brand:is(a):hover { border-color:var(--theme-palette-color-1,#569542); background:#fff; }
.zaco-fe-home a:focus-visible, .zaco-fe-home button:focus-visible { outline:3px solid var(--theme-palette-color-1,#569542); outline-offset:3px; }
@media (min-width:768px) {
  .zaco-fe-home-hero__poster img,.zaco-fe-home-hero__video { object-position:var(--zaco-home-focal-x,50%) var(--zaco-home-focal-y,50%); }
}
@media(max-width:1023px){
  .zaco-fe-home-brands { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .zaco-fe-home-hero__trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zaco-fe-home .zaco-fe-home-solutions.zaco-fe-collection--grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px){
  .zaco-fe-home-hero,.zaco-fe-home-hero__inner { min-height:620px; }
  .zaco-fe-home-hero__inner { padding-top:clamp(58px, 12vw, 78px); padding-bottom:40px; gap:42px; }
  .zaco-fe-home-hero__columns { display:flex; flex-direction:column; align-items:start; }
  .zaco-fe-home-hero__region { justify-self:auto; max-width:100%; }
  .zaco-fe-home-hero__trust { width:100%; gap:15px; padding:15px; }
  .zaco-fe-home-trust__icon { width:34px;height:34px;min-width:34px; }
  .zaco-fe-home-trust strong,.zaco-fe-home-trust small { font-size:11px; }
  .zaco-fe-home-section__header { flex-wrap:wrap; }
  .zaco-fe-home-section__header .zaco-fe-home-view-all { margin-left:auto; }
  .zaco-fe-home .zaco-fe-home-solutions.zaco-fe-collection--grid { grid-template-columns:minmax(0,1fr); }
  .zaco-fe-home-brands { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zaco-fe-home-brands[data-count="1"] { grid-template-columns:minmax(0,min(190px,100%)); }
  .zaco-fe-home-brands[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zaco-fe-home-section__header--center .zaco-fe-home-view-all { position:static; margin:12px auto 0; }
}
@media(max-width:359px){
  .zaco-fe-home-hero__trust { grid-template-columns:1fr; }
  .zaco-fe-home-hero__button { flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce){
  .zaco-fe-home-hero__video,.zaco-fe-home-solution,.zaco-fe-home-solution__media img,.zaco-fe-home-hero__button { transition:none!important; }
  .zaco-fe-home-solution:hover,.zaco-fe-home-hero__button:hover { transform:none; }
}

/* P4.23-D: Canonical Site Business story and public Featured Projects. */
.zaco-fe-home-section--story{background:var(--zaco-home-soft,#e8f7ee)}
.zaco-fe-home-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,76px);align-items:center}
.zaco-fe-home-story__copy>p{max-width:560px;line-height:1.75;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-story__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:27px 0}
.zaco-fe-home-story__metric strong,.zaco-fe-home-story__metric span{display:block}
.zaco-fe-home-story__metric strong{font:500 clamp(24px,3vw,32px)/1.2 var(--zaco-home-display)}
.zaco-fe-home-story__metric span{font-size:12px;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-story__link{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:white;background:var(--zaco-home-ink,#26332d);padding:11px 20px;border-radius:4px;font-weight:650;font-size:13px}
.zaco-fe-home-story__media{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:9px;box-shadow:var(--zaco-fe-shadow-card,0 12px 24px rgba(23,42,35,.12))}
.zaco-fe-home-story__media img{display:block;width:100%;height:100%;object-fit:cover}
.zaco-fe-home-story__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#26332d}
.zaco-fe-home-story__media video:not([controls]){display:none}
.zaco-fe-home-projects.zaco-fe-collection--grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.zaco-fe-home-project{min-width:0;text-decoration:none;color:var(--zaco-home-ink,#26332d)}
.zaco-fe-home-project__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:7px;background:var(--zaco-home-soft,#e8f7ee);margin-bottom:15px}
.zaco-fe-home-project__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.zaco-fe-home-project:hover img{transform:scale(1.04)}
.zaco-fe-home-project strong{font-size:16px;font-weight:650;display:block;color:inherit}
.zaco-fe-home-project small{display:block;color:var(--zaco-fe-text,#596c60);font-size:12px;margin-top:4px;line-height:1.5}
@media(max-width:1023px){.zaco-fe-home-story{grid-template-columns:1fr}.zaco-fe-home-projects.zaco-fe-collection--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zaco-fe-home-projects.zaco-fe-collection--grid{grid-template-columns:1fr}.zaco-fe-home-story__metrics{gap:10px}}

.zaco-fe-home-story__metrics:has(> :only-child){grid-template-columns:minmax(0,1fr);max-width:225px}
.zaco-fe-home-story__metrics:has(> :first-child:nth-last-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}

.zaco-fe-home-story--text-only{grid-template-columns:minmax(0,1fr)}
.zaco-fe-home-story--text-only .zaco-fe-home-story__copy{max-width:760px}
/* P4.23-E: reviewed reusable testimonials, genuine media coverage, factual FAQ/Showroom and approved closing media. */
.zaco-fe-home-section--testimonial{background:var(--zaco-home-soft,#e8f7ee)}
.zaco-fe-home-testimonial{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;width:100%;margin:0 auto;padding:clamp(28px,3.8vw,48px);border-radius:16px;background:#fff;box-shadow:var(--zaco-theme-shadow-card,0 5px 16px rgba(23,42,35,.08));}
.zaco-fe-home-testimonial__copy{min-width:0}
.zaco-fe-home-testimonial blockquote{font:400 clamp(20px,1.68vw,24px)/1.36 var(--zaco-home-display);color:var(--zaco-home-ink,#26332d);margin:0 0 22px;max-width:650px;overflow-wrap:break-word}
.zaco-fe-home-testimonial blockquote:before{content:'“';display:block;font:400 64px/.82 var(--zaco-home-display);height:45px;color:var(--theme-palette-color-1,#569542);opacity:.36;margin:0 0 8px;vertical-align:initial}
.zaco-fe-home-testimonial figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:13px;line-height:1.5;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-testimonial figcaption strong{color:var(--zaco-home-ink,#26332d);font-size:14px}
.zaco-fe-home-section--press{background:#fff;border-bottom:1px solid var(--zaco-home-border,#d9e1db)}
.zaco-fe-home-press{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.zaco-fe-home-press__card{display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;text-align:center;min-height:118px;min-width:0;padding:18px 14px;border:1px solid var(--zaco-home-border,#d9e1db);border-radius:8px;background:var(--zaco-home-soft,#e8f7ee);color:var(--zaco-home-ink,#26332d);text-decoration:none;}
.zaco-fe-home-press__card img{display:block;max-width:100%;height:35px;object-fit:contain}
.zaco-fe-home-press__card strong{font-weight:700;overflow-wrap:anywhere}
.zaco-fe-home-press__card span{font-size:12px;line-height:1.5;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-press__card:hover{border-color:var(--theme-palette-color-1,#569542);background:#fff}
.zaco-fe-home-press[data-count="1"]{grid-template-columns:minmax(0,240px);justify-content:center}
.zaco-fe-home-press[data-count="2"]{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center}
.zaco-fe-home-section--faq-visit{background:var(--zaco-fe-surface, #fff)}
.zaco-fe-home-faq-visit{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,60px);align-items:start}
.zaco-fe-home-faq-visit--single{grid-template-columns:minmax(0,1fr)}
.zaco-fe-home-faq-visit__faqs>p{color:var(--zaco-fe-text,#596c60);margin:8px 0 24px}
.zaco-fe-home-faq-visit__faqs .zaco-fe-faqs{display:grid;gap:10px;margin:24px 0 12px}
.zaco-fe-home-faq-visit__faqs .zaco-fe-faq{background:var(--zaco-home-soft,#e8f7ee);border:1px solid var(--zaco-home-border,#d9e1db);border-radius:6px;padding:0 16px}
.zaco-fe-home-faq-visit__faqs .zaco-fe-faq[open]{background:#fff}
/* Home shares the global 18px/600 FAQ question role; only its horizontal card geometry differs. */
.zaco-fe-home-faq-visit__faqs .zaco-fe-faq summary{font-size:var(--zaco-fe-faq-question-size);font-weight:var(--zaco-fe-faq-question-weight);line-height:var(--zaco-fe-faq-question-leading);padding:12px 0;min-height:var(--zaco-fe-faq-closed-row-min);align-items:center}
.zaco-fe-home-faq-visit__more{border:0;background:transparent;color:var(--theme-palette-color-2,#3f7333);font-weight:650;cursor:pointer;padding:9px 0}
.zaco-fe-home-showroom{min-width:0;background:#fff;border:1px solid var(--zaco-home-border,#d9e1db);border-radius:10px;overflow:hidden;box-shadow:var(--zaco-theme-shadow-card,0 4px 14px rgba(23,42,35,.08))}
.zaco-fe-home-showroom__media{position:relative;aspect-ratio:5/3;background:var(--zaco-home-ink,#26332d)}
.zaco-fe-home-showroom__media img{display:block;width:100%;height:100%;object-fit:cover}
.zaco-fe-home-showroom__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--zaco-home-ink,#26332d)}
.zaco-fe-home-showroom__body{padding:clamp(18px,2.5vw,29px)}
.zaco-fe-home-showroom__body h2{font-size:clamp(24px,2.6vw,33px);margin-bottom:15px}
.zaco-fe-home-showroom__body strong{display:block;font-size:14px;color:var(--zaco-home-ink,#26332d)}
.zaco-fe-home-showroom__body address{font-style:normal;line-height:1.6;overflow-wrap:anywhere;margin:8px 0;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-showroom__body p{font-size:13px;line-height:1.6;margin:8px 0;color:var(--zaco-fe-text,#596c60)}
.zaco-fe-home-showroom__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.zaco-fe-home-showroom__actions a{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:650;text-decoration:none;border-radius:4px;padding:10px 14px;background:var(--zaco-home-ink,#26332d);color:white}
.zaco-fe-home-showroom__actions a+a{background:var(--zaco-home-soft,#e8f7ee);color:var(--zaco-home-ink,#26332d)}
.zaco-fe-home-closing{position:relative;isolation:isolate;min-height:310px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--zaco-home-ink,#26332d);color:#fff}
.zaco-fe-home-closing__media,.zaco-fe-home-closing__scrim{position:absolute;inset:0;z-index:-1}
.zaco-fe-home-closing__media img{display:block;width:100%;height:100%;object-fit:cover}
.zaco-fe-home-closing__scrim{background:linear-gradient(180deg,rgba(23,42,35,.84),rgba(23,42,35,.60),rgba(23,42,35,.88))}
.zaco-fe-home-closing__inner{padding:clamp(56px,7vw,96px) 20px;max-width:870px}
.zaco-fe-home-closing .zaco-fe-home-eyebrow{color:#d6ead9}
.zaco-fe-home-closing h2{font:400 clamp(34px,4.1vw,52px)/1.13 var(--zaco-home-display);color:#fff;margin:0}
.zaco-fe-home-closing p{color:#f1f6f3;max-width:650px;margin:16px auto 24px;line-height:1.65}
.zaco-fe-home-closing a{display:inline-flex;gap:12px;align-items:center;text-decoration:none;border-radius:4px;background:white;color:var(--zaco-home-ink,#26332d);font-weight:650;padding:12px 24px}
@media(max-width:1023px){.zaco-fe-home-faq-visit{grid-template-columns:1fr}.zaco-fe-home-press{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zaco-fe-home-press{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zaco-fe-home-testimonial{padding:25px}.zaco-fe-home-showroom__media{aspect-ratio:4/3}}
@media(max-width:359px){.zaco-fe-home-press{grid-template-columns:1fr}.zaco-fe-home-press[data-count="2"]{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.zaco-fe-home-press__card,.zaco-fe-home-closing a{transition:none}}

.zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(26px,4vw,56px)}
.zaco-fe-home-testimonial__aside{display:flex;gap:clamp(14px,2vw,25px);align-items:center;justify-content:center;min-width:0}
.zaco-fe-home-testimonial__aside img{display:block;width:min(185px,52%);height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;box-shadow:var(--zaco-theme-shadow-card,0 3px 10px rgba(23,42,35,.08))}
.zaco-fe-home-testimonial__aside em{font:italic 400 clamp(23px,2.38vw,34px)/1.13 var(--zaco-home-display);color:var(--zaco-fe-text,var(--zaco-home-ink,#26332d));max-width:165px;overflow-wrap:break-word}
@media(max-width:860px){.zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1fr)}.zaco-fe-home-testimonial__aside{justify-content:flex-start}.zaco-fe-home-testimonial__aside em{font-size:clamp(23px,4vw,30px)}}
@media(max-width:767px){.zaco-fe-home-testimonial{padding:clamp(20px,5vw,28px)}.zaco-fe-home-testimonial blockquote{font-size:21px;line-height:1.4}.zaco-fe-home-testimonial__aside img{width:min(175px,55%)}}

/* P4.26 owner Stitch parity: restrained dot, local map pin, translucent blurred glass. */
.zaco-fe-home-hero__eyebrow{display:inline-flex;align-items:center;gap:9px;border-radius:999px;background:rgba(23,42,35,.40);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);letter-spacing:.22em}
.zaco-fe-home-hero__eyebrow:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#aff495}
.zaco-fe-home-hero__region{background:rgba(23,42,35,.63);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 32px -4px rgba(23,42,35,.12)}
.zaco-fe-home-hero__region-label{display:flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.06em;margin-bottom:9px}
.zaco-fe-home-hero__region-label img{width:20px;height:20px;filter:brightness(0) saturate(100%) invert(85%) sepia(21%) saturate(553%) hue-rotate(65deg)}
.zaco-fe-home-hero__region p{font-size:clamp(18px,1.5vw,23px);line-height:1.38}
.zaco-fe-home-hero__trust{background:rgba(23,42,35,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.zaco-fe-home-trust__icon{transition:background-color .23s ease,color .23s ease}
.zaco-fe-home-trust:hover .zaco-fe-home-trust__icon,.zaco-fe-home-trust:focus-within .zaco-fe-home-trust__icon{background:rgba(148,216,124,.24)}
.zaco-fe-home-trust:hover .zaco-fe-home-trust__icon .zaco-fe-icon{filter:brightness(0) saturate(100%) invert(81%) sepia(22%) saturate(716%) hue-rotate(57deg)}
@media(prefers-reduced-motion:reduce){.zaco-fe-home-trust__icon{transition:none}}

/* P4.28 shared video teaser: image remains accessible until visitor activates a real source. */
.zaco-fe-video-stage{position:relative;overflow:hidden;background:var(--zaco-home-ink,#26332d)}
.zaco-fe-video-stage>img{display:block;width:100%;height:100%;object-fit:cover}
.zaco-fe-video-stage video,.zaco-fe-video-stage__external{position:absolute;inset:0;width:100%;height:100%;z-index:3;background:var(--zaco-home-ink,#26332d)}
.zaco-fe-video-stage video[hidden],.zaco-fe-video-stage__external[hidden]{display:none!important}
.zaco-fe-video-stage__external iframe{display:block;width:100%;height:100%;border:0}
.zaco-fe-video-stage__play{position:absolute;z-index:2;bottom:clamp(14px,3vw,24px);right:clamp(14px,3vw,24px);display:flex;align-items:center;gap:12px;max-width:calc(100% - 28px);padding:10px 18px 10px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(29,45,36,.83);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-weight:600;font-size:13px;line-height:1.3;font-family:var(--zaco-fe-font-family,Arial,sans-serif);cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.22);text-align:left}
.zaco-fe-video-stage__play[hidden],.zaco-fe-video-stage__close[hidden]{display:none!important}
.zaco-fe-video-stage__play:hover,.zaco-fe-video-stage__play:focus-visible{background:rgba(43,90,58,.93);transform:translateY(-1px)}
.zaco-fe-video-stage__play:focus-visible,.zaco-fe-video-stage__close:focus-visible{outline:2px solid var(--theme-palette-color-1,#569542);outline-offset:3px}
.zaco-fe-video-stage__play>span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.zaco-fe-video-stage__play strong{font-weight:650;overflow-wrap:anywhere}
.zaco-fe-video-stage__play small{font-size:11px;opacity:.85}
.zaco-fe-video-stage__play-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;flex:0 0 auto}
.zaco-fe-video-stage__play-icon:after{content:'';width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid var(--zaco-home-ink,#26332d);margin-left:4px}
.zaco-fe-video-stage__close{position:absolute;z-index:5;right:12px;top:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #fff;background:rgba(20,30,25,.85);color:#fff;font-size:23px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.zaco-fe-video-stage__play{transition:none}.zaco-fe-video-stage__play:hover{transform:none}}

/* P4.29: allow the visitor to opt into full audio/controls while a muted,
   self-hosted Story/Showroom preview is running. */
.zaco-fe-video-stage[data-zaco-stage-autoplay="1"] .zaco-fe-video-stage__play { z-index:4; }

/* P4.29: optional, genuinely click-activated Hero video viewer. The decorative
   background remains poster-first and no third-party iframe loads before click. */
.zaco-fe-home-hero__watch { position:absolute; z-index:8; top:clamp(18px,5vw,68px); right:clamp(16px,4vw,68px); }
.zaco-fe-home-hero__watch .zaco-fe-video-stage__play { position:relative; bottom:auto; right:auto; }
.zaco-fe-home-hero__watch.is-active { inset:0; width:100%; height:100%; background:#102018; }
.zaco-fe-home-hero__watch.is-active video,.zaco-fe-home-hero__watch.is-active .zaco-fe-video-stage__external { width:100%; height:100%; }
.zaco-fe-home-hero__watch.is-active .zaco-fe-video-stage__close { top:16px; right:16px; }
@media(max-width:767px) { .zaco-fe-home-hero__watch { top:12px; right:12px; } .zaco-fe-home-hero__watch .zaco-fe-video-stage__play { padding:7px 10px 7px 7px; } }
.zaco-fe-home-hero__watch:not(.is-active) { background:transparent; }

/* P4.31: Stitch compact video badge; large two-line copy is opt-in for every video. */
.zaco-fe-home .zaco-fe-video-stage__play {
  border-radius:8px; padding:10px 16px 10px 10px;
  max-width:min(300px,calc(100% - 28px)); gap:12px;
  background:rgba(38,51,45,.80); color:#fff;
  font-weight:600;font-size:13px;line-height:1.25;font-family:var(--zaco-fe-font-family,Arial,sans-serif);
  box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  transition:background-color .15s ease,color .15s ease;
}
.zaco-fe-home .zaco-fe-video-stage__play:hover,
.zaco-fe-home .zaco-fe-video-stage__play:focus-visible { background:var(--theme-palette-color-1,#569542);transform:none; }
.zaco-fe-home .zaco-fe-video-stage__play strong{font-weight:600;font-size:13px;line-height:1.25;font-family:var(--zaco-fe-font-family,Arial,sans-serif);overflow-wrap:normal}
.zaco-fe-home .zaco-fe-video-stage__play small{font-weight:400;font-size:11px;line-height:1.4;font-family:var(--zaco-fe-font-family,Arial,sans-serif);opacity:.88}
.zaco-fe-home .zaco-fe-video-stage__play-icon{height:38px;width:38px;border-radius:9px;flex:0 0 38px}
.zaco-fe-home .zaco-fe-video-stage--icon-only .zaco-fe-video-stage__play{
  padding:7px;border-radius:9px;gap:0;max-width:54px;min-height:54px;justify-content:center;
}
.zaco-fe-home .zaco-fe-video-stage--icon-only .zaco-fe-video-stage__play-icon{height:38px;width:38px}
/* Consistent Homepage H2 flow, without overriding accepted Product/Project typography. */
.zaco-fe-home{--zaco-home-heading-flow-gap:24px}
.zaco-fe-home .zaco-fe-home-section h2{margin:0 0 var(--zaco-home-heading-flow-gap)}
.zaco-fe-home .zaco-fe-home-section__header h2{margin:0}
.zaco-fe-home .zaco-fe-home-faq-visit__faqs h2{margin-bottom:12px}
.zaco-fe-home .zaco-fe-home-showroom__body h2{margin-bottom:15px}
/* Palette choices only affect the chosen section, never the global theme palette. */
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-bg],
.zaco-fe-home .zaco-fe-home-hero[data-zaco-section-bg],
.zaco-fe-home .zaco-fe-home-closing[data-zaco-section-bg]{background:var(--zaco-home-section-bg,transparent)}
.zaco-fe-home [data-zaco-section-contrast="light"]{--zaco-home-text-override:#fff}
.zaco-fe-home [data-zaco-section-contrast="dark"]{--zaco-home-text-override:var(--zaco-home-ink,#172a23)}
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-section__header h2,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-story__copy h2,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-faq-visit__faqs h2,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-section__header .zaco-fe-home-eyebrow,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-story__copy .zaco-fe-home-eyebrow,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-faq-visit__faqs .zaco-fe-home-eyebrow,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-view-all,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-story__metric,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-story__copy>p,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-home-section__header p {color:#fff}
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="dark"] .zaco-fe-home-section__header h2,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="dark"] .zaco-fe-home-story__copy h2,
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="dark"] .zaco-fe-home-faq-visit__faqs h2 {color:var(--zaco-home-ink,#172a23)}
.zaco-fe-home [data-zaco-section-bg="palette-1"]{--zaco-home-section-bg:var(--theme-palette-color-1,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-2"]{--zaco-home-section-bg:var(--theme-palette-color-2,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-3"]{--zaco-home-section-bg:var(--theme-palette-color-3,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-4"]{--zaco-home-section-bg:var(--theme-palette-color-4,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-5"]{--zaco-home-section-bg:var(--theme-palette-color-5,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-6"]{--zaco-home-section-bg:var(--theme-palette-color-6,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-7"]{--zaco-home-section-bg:var(--theme-palette-color-7,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-8"]{--zaco-home-section-bg:var(--theme-palette-color-8,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-9"]{--zaco-home-section-bg:var(--theme-palette-color-9,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-10"]{--zaco-home-section-bg:var(--theme-palette-color-10,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-11"]{--zaco-home-section-bg:var(--theme-palette-color-11,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-12"]{--zaco-home-section-bg:var(--theme-palette-color-12,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-13"]{--zaco-home-section-bg:var(--theme-palette-color-13,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-14"]{--zaco-home-section-bg:var(--theme-palette-color-14,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-15"]{--zaco-home-section-bg:var(--theme-palette-color-15,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-16"]{--zaco-home-section-bg:var(--theme-palette-color-16,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-17"]{--zaco-home-section-bg:var(--theme-palette-color-17,var(--zaco-home-soft,#e8f7ee));}
.zaco-fe-home [data-zaco-section-bg="palette-18"]{--zaco-home-section-bg:var(--theme-palette-color-18,var(--zaco-home-soft,#e8f7ee));}

/* P4.32: keep full-bleed image/video behind a transparent header while giving
   the Hero more total height rather than stealing its bottom breathing room. */
.zaco-fe-home .zaco-fe-home-hero,
.zaco-fe-home .zaco-fe-home-hero__inner { min-height: calc(620px + var(--zaco-fe-header-clearance)); }
.zaco-fe-home .zaco-fe-home-hero__inner { padding-block-start: calc(clamp(64px, 7.5vw, 105px) + var(--zaco-fe-header-clearance)); }
.zaco-fe-home .zaco-fe-home-hero__watch:not(.is-active) { top: calc(clamp(18px, 5vw, 68px) + var(--zaco-fe-header-clearance)); }
@media (max-width:767px) {
  .zaco-fe-home .zaco-fe-home-hero__inner { padding-block-start: calc(clamp(58px, 12vw, 78px) + var(--zaco-fe-header-clearance)); }
  .zaco-fe-home .zaco-fe-home-hero__watch:not(.is-active) { top: calc(12px + var(--zaco-fe-header-clearance)); }
}

/* P4.34: Custom presets have one intentional layer; no inherited bottom scrim.
   The stylesheet API appends sanitized stop colors, angles or ellipse geometry. */
.zaco-fe-home-hero--linear .zaco-fe-home-hero__scrim,
.zaco-fe-home-hero--radial .zaco-fe-home-hero__scrim {background:linear-gradient(90deg,rgba(23,42,35,.92),rgba(23,42,35,.12))}

/* P4.37: nine-section mobile audit. Only editorially optional copy is compacted;
   critical identity, claims, FAQ answers and public venue details remain visible. */
@media (max-width:767px) {
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="titles"] .zaco-fe-home-trust small { display:none; }
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="titles"] .zaco-fe-home-trust { align-items:center; gap:9px; }
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="titles"] .zaco-fe-home-trust strong { font-size:clamp(11px,2.75vw,13px);line-height:1.35; }
  .zaco-fe-home-hero[data-zaco-mobile-copy="compact"] .zaco-fe-home-hero__description,
  .zaco-fe-home-section--brands[data-zaco-mobile-copy="compact"] .zaco-fe-home-section__header p,
  .zaco-fe-home-section--brands[data-zaco-mobile-copy="compact"] .zaco-fe-home-brand small,
  .zaco-fe-home-section--projects[data-zaco-mobile-copy="compact"] .zaco-fe-home-project small,
  .zaco-fe-home-section--testimonial[data-zaco-mobile-copy="compact"] .zaco-fe-home-testimonial__aside em,
  .zaco-fe-home-section--press[data-zaco-mobile-copy="compact"] .zaco-fe-home-section__header p,
  .zaco-fe-home-section--faq-visit[data-zaco-mobile-copy="compact"] .zaco-fe-home-faq-visit__faqs > p,
  .zaco-fe-home-closing[data-zaco-mobile-copy="compact"] .zaco-fe-home-closing__inner > p,
  .zaco-fe-home-section--story[data-zaco-mobile-copy="compact"] .zaco-fe-video-stage__play small { display:none; }
  .zaco-fe-home-section--solutions[data-zaco-mobile-copy="compact"] .zaco-fe-home-section__header { margin-bottom:22px; }
  .zaco-fe-home-story__metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zaco-fe-home-story__metric { min-width:0; }
  .zaco-fe-home-testimonial__aside { min-width:0;flex-wrap:wrap; }
  .zaco-fe-home-press__card { overflow-wrap:anywhere; }
}
@media (min-width:360px) and (max-width:600px) {
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="full"] { grid-template-columns:minmax(0,1fr); }
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="full"] .zaco-fe-home-trust strong,
  .zaco-fe-home-hero__trust[data-zaco-mobile-trust="full"] .zaco-fe-home-trust small { font-size:12px;line-height:1.4; }
}

/* P4.41: semantic HTML must never determine visible font size. */
.zaco-fe-home .zaco-fe-semantic-combined { display: flex; flex-direction: column; align-items: flex-start; }
.zaco-fe-home .zaco-fe-home-section__header--center .zaco-fe-semantic-combined { align-items: center; }
.zaco-fe-home .zaco-fe-home-hero h1.zaco-fe-semantic-combined { gap: 0; }
.zaco-fe-home .zaco-fe-home-hero :is(h2,h3,h4,h5,h6,p,span).zaco-fe-semantic-title { display: block; font-family: var(--zaco-home-display); font-weight: 400; font-size: clamp(36px,4.5vw,56px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 22px; color: #fff; }
.zaco-fe-home .zaco-fe-home-hero .zaco-fe-semantic-title em { font-style: italic; font-weight: 400; color: #e5f0e2; }
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-title,
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-combined,
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-combined .zaco-fe-semantic-title { font-family: var(--zaco-home-display); font-size: clamp(30px,3.1vw,42px); line-height: 1.15; font-weight: 400; color: var(--zaco-home-ink); }
.zaco-fe-home .zaco-fe-home-eyebrow { font-family: var(--zaco-fe-label-font-family); font-size: var(--zaco-fe-eyebrow-font-size); line-height: var(--zaco-fe-eyebrow-leading); font-weight: var(--zaco-fe-eyebrow-weight); letter-spacing: var(--zaco-fe-eyebrow-tracking); text-transform: uppercase; }
.zaco-fe-home .zaco-fe-home-hero__eyebrow { font-family: var(--zaco-fe-label-font-family); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .22em; }
.zaco-fe-home .zaco-fe-home-closing .zaco-fe-semantic-title,
.zaco-fe-home .zaco-fe-home-closing .zaco-fe-semantic-combined { font: 400 clamp(34px,4.1vw,52px)/1.13 var(--zaco-home-display); color: #fff; }
.zaco-fe-home .zaco-fe-home-showroom__body .zaco-fe-semantic-title,
.zaco-fe-home .zaco-fe-home-showroom__body .zaco-fe-semantic-combined { font-size: clamp(24px,2.6vw,33px); margin-bottom: 15px; }

/* P4.41: maintain exact visible rhythm when a semantic tag changes. */
.zaco-fe-home .zaco-fe-home-hero h1.zaco-fe-home-hero__eyebrow { display: inline-flex; width: fit-content; font-family: var(--zaco-fe-label-font-family); font-weight: 700; font-size: 11px; line-height: 1.5; letter-spacing: .22em; color: #dbf4e7; margin: 0 0 18px; }
.zaco-fe-home .zaco-fe-home-hero h1.zaco-fe-semantic-combined > .zaco-fe-semantic-title { margin-bottom: 0; }
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-title,
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-combined { margin: 0 0 var(--zaco-home-heading-flow-gap,24px); }
.zaco-fe-home .zaco-fe-home-section__header .zaco-fe-semantic-title,
.zaco-fe-home .zaco-fe-home-section__header .zaco-fe-semantic-combined { margin: 0; }
.zaco-fe-home .zaco-fe-home-section .zaco-fe-semantic-combined > .zaco-fe-semantic-title { margin: 0; }
.zaco-fe-home .zaco-fe-home-faq-visit__faqs :is(.zaco-fe-semantic-title,.zaco-fe-semantic-combined) { margin-bottom: 12px; }
.zaco-fe-home .zaco-fe-home-showroom__body :is(.zaco-fe-semantic-title,.zaco-fe-semantic-combined) { margin-bottom: 15px; }
/* Semantic headlines respect the same section-level theme contrast switches. */
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] :is(.zaco-fe-semantic-title,.zaco-fe-semantic-combined),
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="light"] .zaco-fe-semantic-combined > .zaco-fe-semantic-title { color: #fff; }
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="dark"] :is(.zaco-fe-semantic-title,.zaco-fe-semantic-combined),
.zaco-fe-home .zaco-fe-home-section[data-zaco-section-contrast="dark"] .zaco-fe-semantic-combined > .zaco-fe-semantic-title { color: var(--zaco-home-ink,#172a23); }

/* P4.42: semantic Combined/Advanced headings keep the exact original label
   face and geometry, even inside a display-serif H1/H2 or a theme heading. */
.zaco-fe-home .zaco-fe-semantic-combined > :is(.zaco-fe-home-eyebrow, .zaco-fe-home-hero__eyebrow),
.zaco-fe-home .zaco-fe-home-section :is(h1,h2,h3,h4,h5,h6,p).zaco-fe-home-eyebrow,
.zaco-fe-home .zaco-fe-home-hero :is(h1,h2,h3,h4,h5,h6,p).zaco-fe-home-hero__eyebrow {
  font-family: var(--zaco-fe-label-font-family);
  font-style: normal;
  font-weight: 700;
}
.zaco-fe-home .zaco-fe-home-section :is(h1,h2,h3,h4,h5,h6,p).zaco-fe-home-eyebrow {
  /* A heading element may otherwise override the brand-label green. */
  color: var(--zaco-fe-eyebrow-ink);
  margin: 0 0 var(--zaco-fe-eyebrow-margin-bottom);
}
.zaco-fe-home .zaco-fe-home-closing .zaco-fe-semantic-combined { align-items: center; }
.zaco-fe-home .zaco-fe-home-closing :is(h1,h2,h3,h4,h5,h6,p).zaco-fe-home-eyebrow {
  /* Closing on-media labels retain their own pale-green role. */
  color: #d6ead9;
  margin: 0 0 var(--zaco-fe-eyebrow-margin-bottom);
}

/* P4.43: Stitch-parity squircle action, exact optical centring, bold local SVG. */
.zaco-fe-home-solution__footer { align-items:center; }
.zaco-fe-home-solution__arrow { margin-block:auto; }
.zaco-fe-home-solution__arrow::before { width:18px; height:18px; }
.zaco-fe-home-solution:is(:hover,:focus-visible) .zaco-fe-home-solution__arrow { background:var(--theme-palette-color-1,#569542); color:var(--theme-palette-color-8,#fff); transform:translateX(var(--zaco-fe-arrow-hover-travel)); }
.zaco-fe-home-view-all .zaco-fe-arrow-glyph { --zaco-fe-nav-arrow-size:20px; transition:transform .15s ease; }
.zaco-fe-home-view-all:is(:hover,:focus-visible) .zaco-fe-arrow-glyph { transform:translateX(var(--zaco-fe-arrow-hover-travel)); }
.zaco-fe-home-hero__button .zaco-fe-arrow-glyph, .zaco-fe-home-story__link .zaco-fe-arrow-glyph { --zaco-fe-nav-arrow-size:18px; }
@media(prefers-reduced-motion:reduce) { .zaco-fe-home-view-all .zaco-fe-arrow-glyph {transition:none;} .zaco-fe-home-view-all:hover .zaco-fe-arrow-glyph {transform:none;} }

@supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) { .zaco-fe-home-solution__arrow { font-size:0; } }

/* P4.44: Home external/navigation buttons are diagonal only where the approved
   template already used ↗; the same bold asset/size now renders via mask. */
.zaco-fe-home-hero__button .zaco-fe-arrow-glyph--up-right,
.zaco-fe-home-faq-visit a .zaco-fe-arrow-glyph--up-right { --zaco-fe-nav-arrow-size:18px; }

/* P4.48: preserve the global FAQ desktop typography and mobile corrections, including section-specific surfaces. */

/* P4.49: Homepage normal section labels compose the shared Factory label;
   only the cinematic Hero and on-media closing section opt into light labels. */
.zaco-fe-home .zaco-fe-home-section:not(.zaco-fe-home-closing):not([data-zaco-section-contrast="light"]) .zaco-fe-home-eyebrow {
  color: var(--zaco-fe-eyebrow-ink);
}
.zaco-fe-home-faq-visit__faqs .zaco-fe-faq__answer {
  padding-inline: 0; /* summary is padded by its containing details card */
}

/* COL-2: Home Grid/Slider share the same canonical cards and selectors. */
.zaco-fe-home .zaco-fe-home-solutions.zaco-fe-collection--slider .zaco-fe-home-solution,
.zaco-fe-home .zaco-fe-home-projects.zaco-fe-collection--slider .zaco-fe-home-project { height:100%; }
.zaco-fe-home .zaco-fe-home-projects.zaco-fe-collection--slider .zaco-fe-home-project { display:flex; flex-direction:column; }

/* Opt-in mobile Hero presentation; desktop and legacy homes remain untouched. */
.zaco-fe-home-hero__mobile-label,.zaco-fe-home-hero__mobile-intro { display:none; }
@media (max-width:767px) {
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__inner { gap:22px; padding-top:clamp(38px,9vw,58px); padding-bottom:26px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__columns { gap:18px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-mobile-hide-region,
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-mobile-hide-eyebrow,
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-mobile-hide-description,
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-mobile-hide-action { display:none; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__description:has(.zaco-fe-home-hero__mobile-intro) .zaco-fe-home-hero__desktop-intro { display:none; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__mobile-intro,
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__mobile-label { display:inline; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__button:has(.zaco-fe-home-hero__mobile-label) .zaco-fe-home-hero__desktop-label { display:none; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__button { min-width:0; min-height:44px; padding:10px 12px; font-size:clamp(11px,3vw,14px); gap:6px; overflow-wrap:anywhere; }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--cta-stacked .zaco-fe-home-hero__actions { grid-template-columns:minmax(0,1fr); }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--cta-auto .zaco-fe-home-hero__actions { display:flex; flex-wrap:wrap; }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--cta-auto .zaco-fe-home-hero__button { flex:1 1 135px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-hero__trust { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; row-gap:22px; padding:14px 12px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-trust { min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-home-trust__icon { width:30px; height:30px; min-width:30px; }
  .zaco-fe-home-hero--responsive-mobile .zaco-fe-mobile-trust-titles small { display:none; }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--trust-stacked .zaco-fe-home-hero__trust { grid-template-columns:minmax(0,1fr); }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--trust-stacked .zaco-fe-home-trust { flex-direction:row; text-align:left; }
  .zaco-fe-home-hero--responsive-mobile.zaco-fe-home-hero--trust-hidden .zaco-fe-home-hero__trust { display:none; }
}

/* H3: consent-approved Client Stories collection; existing single-feature layout is unchanged. */
.zaco-fe-home-testimonial-collection.zaco-fe-collection--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial{height:100%;min-width:0}
.zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1fr);align-content:start}
.zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial__aside{justify-content:flex-start;flex-wrap:wrap}
.zaco-fe-home-client-stories__heading{font:400 clamp(23px,2.7vw,36px)/1.2 var(--zaco-home-display);color:var(--zaco-home-ink,#26332d);margin:0 0 26px}
@media(max-width:767px){.zaco-fe-home-testimonial-collection.zaco-fe-collection--grid{grid-template-columns:minmax(0,1fr)}}

/* 0.5.239: Homepage testimonial composition only; other Homepage collections untouched. */
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonials__intro{max-width:780px;margin:0 0 22px}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection{min-width:0;max-width:100%}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection.zaco-fe-collection--grid{grid-template-columns:minmax(0,1fr)}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial{min-width:0;height:auto;max-width:100%;box-sizing:border-box}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial__copy{width:100%;min-width:0;max-width:760px;margin-inline:auto}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial__aside{justify-content:center}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center}
@media(min-width:768px){
.zaco-fe-home-section--testimonial[data-zaco-testimonial-image-desktop="no"] .zaco-fe-home-testimonial__aside img,
.zaco-fe-home-section--testimonial[data-zaco-testimonial-phrase-desktop="no"] .zaco-fe-home-testimonial__aside em{display:none}
.zaco-fe-home-section--testimonial[data-zaco-testimonial-image-desktop="no"][data-zaco-testimonial-phrase-desktop="no"] .zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1fr)}
.zaco-fe-home-section--testimonial[data-zaco-testimonial-image-desktop="no"][data-zaco-testimonial-phrase-desktop="no"] .zaco-fe-home-testimonial__aside{display:none}
}
@media(max-width:767px){
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial,.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial--with-media,
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial-collection .zaco-fe-home-testimonial--with-media{grid-template-columns:minmax(0,1fr)}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial{padding:clamp(18px,5vw,26px)}
.zaco-fe-home-section--testimonial .zaco-fe-home-testimonial blockquote{font-size:clamp(19px,5vw,22px);overflow-wrap:break-word}
.zaco-fe-home-section--testimonial[data-zaco-testimonial-image-mobile="no"] .zaco-fe-home-testimonial__aside img,
.zaco-fe-home-section--testimonial[data-zaco-testimonial-phrase-mobile="no"] .zaco-fe-home-testimonial__aside em{display:none}
.zaco-fe-home-section--testimonial[data-zaco-testimonial-image-mobile="no"][data-zaco-testimonial-phrase-mobile="no"] .zaco-fe-home-testimonial__aside{display:none}
}
