/* Isolated Group concept. Shared Avant tokens remain unchanged. */
.group-site { --group-charcoal:#24262b; --group-purple:#603fef; --group-lilac:#bcaaff; background:var(--group-charcoal); color:#f4f4f6; }
.group-site .eyebrow { font: .7rem var(--font-mono); letter-spacing:.13em; margin-bottom:1.2rem; }
.group-preview-note { background:#1b1c21; color:#c9c8d2; display:flex; justify-content:space-between; padding:.5rem max(1.5rem,calc((100vw - 80rem)/2)); font:.65rem var(--font-mono); letter-spacing:.08em; }
.group-header { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:1.7rem; }
.group-wordmark { display:flex; align-items:center; gap:.7rem; text-decoration:none; position:relative; }
.group-wordmark strong { font-size:1.75rem; letter-spacing:.04em; line-height:1; font-weight:650; }
.group-wordmark strong span { display:block; font-size:.65rem; letter-spacing:.55em; margin-top:.45rem; }
.group-header nav {
  display:flex;
  align-items:stretch;
  padding:.2rem;
  border:1px solid #484a54;
  border-radius:.5rem;
  background:#1d1f24;
  font-size:.9rem;
  font-weight:600;
}
.group-header nav a {
  position:relative;
  display:grid;
  place-items:center;
  padding:.65rem clamp(.65rem,1.2vw,1.25rem);
  border-radius:.3rem;
  text-align:center;
  text-decoration:none;
}
.group-header nav a + a::before {
  content:"";
  position:absolute;
  inset:25% auto 25% 0;
  border-left:1px solid #535662;
  pointer-events:none;
}
.group-header nav a:hover { background:#34313f; }
.group-header a:hover { text-decoration:underline; }
.group-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:3rem; padding-top:3rem; padding-bottom:4rem; align-items:center; }
.group-hero h1 { font-size:clamp(3rem,4.8vw,5rem); max-width:13ch; font-weight:450; letter-spacing:-.055em; line-height:1.07; }
.group-site em { color:var(--green); font-style:normal; }
.group-lead { font-size:1.08rem; color:#d2d1d9; max-width:40ch; margin:1.8rem 0; }
.group-light-link { display:inline-block; font-weight:600; padding:.7rem 0; text-decoration:none; border-bottom:1px solid var(--green); }
.group-hero-foot { display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:3rem; font:.62rem var(--font-mono); color:#c7c6d0; }
.group-hero-foot a { color:inherit; }
.group-hero-visual { min-height:550px; position:relative; overflow:hidden; background:#303039; }
.group-hero-visual img { width:100%; height:550px; object-fit:cover; }
.group-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(24,24,31,.9)); pointer-events:none; }
.group-visual-caption { position:absolute; bottom:2rem; left:2rem; z-index:1; }
.group-visual-caption span { display:block; font:.65rem var(--font-mono); letter-spacing:.15em; margin-bottom:1rem; }
.group-visual-caption strong { font-size:1.8rem; font-weight:450; line-height:1.2; }
.group-visual-line { position:absolute; right:0; top:0; width:9px; height:42%; background:linear-gradient(var(--green) 0 45%,var(--group-purple) 55% 100%); z-index:1; }
.group-business-strip { border-top:1px solid #4a4a54; display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-block:2rem; }
.group-business-strip > span { font:.62rem var(--font-mono); color:#c7c6d0; }
.group-avant-logo img { display:block; width:128px; height:auto; }
.group-companies { background:#1d1f24; color:#f4f4f6; }
.group-section-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.group-section-heading > p { max-width:34ch; color:#c7c6d0; }
.group-company-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.group-company { background:#2b2e34; padding:2.5rem; border:1px solid #494d55; border-top:5px solid var(--green); display:flex; flex-direction:column; }
.group-company--zel { border-top-color:var(--group-purple); background:#302c3c; }
.group-company-top { color:#c7c6d0; }
.group-company h3 { font-size:2rem; margin:.8rem 0 1rem; }
.group-company p { max-width:48ch; color:#c7c6d0; }
.group-company ul { list-style:none; padding:0; margin:1.8rem 0; display:flex; flex-wrap:wrap; gap:.5rem; }
.group-company li { font-size:.72rem; padding:.35rem .6rem; border:1px solid #606659; border-radius:2px; }
.group-company-link { margin-top:auto; border-top:1px solid #575e54; padding-top:1.4rem; text-decoration:none; font-weight:600; }
.group-company-link:hover { text-decoration:underline; }
.group-about { background:#292c32; color:#f4f4f6; }
.group-about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5rem; }
.group-about-image { padding:0 1rem 1rem 0; background:linear-gradient(135deg,var(--green),#bcaaff); position:relative; }
.group-about-image img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.group-about-image span { position:absolute; bottom:1rem; left:0; background:var(--group-charcoal); color:white; font:.6rem var(--font-mono); padding:1rem; letter-spacing:.1em; }
.group-about p:not(.eyebrow) { margin:1.5rem 0; color:#c7c6d0; }
.group-approach { background:#212328; color:#f4f4f6; }
.group-values { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; }
.group-values article { border-top:1px solid #4a4a54; padding-top:1.7rem; }
.group-values h3 { margin:0 0 .75rem; font-size:1.65rem; }
.group-values p { color:#c7c6d0; }
.group-scope { color:#c7c6d0; font-size:.75rem; margin-top:3rem; max-width:90ch; }
.group-contact h2 { max-width:22ch; font-size:clamp(2.2rem,4.1vw,4rem); }
.group-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem; }
.group-contact-grid a { display:grid; padding:1.7rem 0; border-top:1px solid #4a4a54; text-decoration:none; gap:.7rem; }
.group-contact-grid a > span:first-child { font-size:.8rem; color:#c7c6d0; }
.group-contact-grid strong { font-weight:450; font-size:clamp(.9rem,1.5vw,1.25rem); overflow-wrap:anywhere; }
.group-contact-grid a:hover strong { text-decoration:underline; }
.group-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:2rem; border-top:1px solid #4a4a54; padding-block:2rem; color:#c7c6d0; }
.group-footer p,.group-footer > a:not(.group-wordmark) { font-size:.8rem; }
.group-footer small { width:100%; font-size:.65rem; }
.group-wordmark--small strong { font-size:1.2rem; }
@media(max-width:64rem){ .group-header { flex-wrap:wrap; gap:1rem; } .group-hero { gap:2rem; } .group-hero-visual,.group-hero-visual img { min-height:480px; height:480px; } .group-about-grid { gap:2.5rem; } .group-company { padding:1.5rem; } }
@media(max-width:48rem){ .group-preview-note { font-size:.52rem; gap:1rem; } .group-header .button { font-size:.8rem; padding:.7rem; } .group-wordmark strong { font-size:1.4rem; } .group-orbit { width:32px; height:32px; border-width:5px; } .group-hero,.group-company-grid,.group-about-grid,.group-contact-grid { grid-template-columns:1fr; } .group-hero { padding-top:2rem; } .group-hero h1 { font-size:clamp(2.8rem,9.7vw,4rem); } .group-hero-foot { margin-top:2rem; } .group-hero-visual,.group-hero-visual img { min-height:340px; height:340px; } .group-business-strip { flex-wrap:wrap; } .group-business-strip > span:first-child { width:100%; } .group-business-strip .strip-note { display:none; } .group-section-heading { display:block; } .group-section-heading > p { margin-top:1.5rem; } .group-values { grid-template-columns:1fr; gap:2rem; } .group-values h3 { margin:1rem 0 .6rem; } .group-contact-grid { gap:0; } .group-footer { gap:1.5rem; } }

/* Dual-brand identity: Avant green and the supplied Zel purple, on charcoal. */
.group-mark { flex:none; width:56px; height:56px; }
.group-wordmark { gap:.6rem; }
.group-wordmark strong { letter-spacing:.13em; font-size:1.65rem; font-weight:650; }
.group-wordmark strong span { color:#c9c8d2; font-size:.6rem; letter-spacing:.65em; }
.group-wordmark--small .group-mark { width:42px; height:42px; }
.group-zel-logo { background:transparent; padding:.7rem 1rem; }
.group-zel-logo img { width:160px; height:auto; }
.group-company--zel li { border-color:#6f618b; }
.group-company--zel .group-company-link { color:#c6b5ff; border-color:#6f618b; }
.group-values article:nth-child(2) { border-top:2px solid var(--group-purple); }
.group-values article:first-child { border-top:2px solid var(--green); }
.group-values article:nth-child(3) { border-top:2px solid #ada0c9; }
.group-contact { background:linear-gradient(115deg,#24262b 40%,#30293e); }
.group-contact-grid a:first-child { border-top:2px solid var(--green); }
.group-contact-grid a:last-child { border-top:2px solid #967aff; }
.group-contact-grid a:last-child > span:first-child { color:#c6b5ff; }
.group-header nav a:hover,.group-footer > a:hover { color:#c6b5ff; }
@media(max-width:48rem){ .group-mark { width:43px; height:43px; } .group-wordmark strong { font-size:1.35rem; } .group-zel-logo img { width:130px; } }

/* Complete outlined wordmark: no separate icon or font dependency. */
.group-logo { display:block; width:214px; height:auto; flex:none; }
.group-wordmark--small .group-logo { width:166px; }
@media(max-width:48rem){ .group-logo { width:148px; } .group-wordmark--small .group-logo { width:138px; } }

.group-site :focus-visible { outline:3px solid var(--green); outline-offset:4px; box-shadow:0 0 0 6px #24262b; }
.group-company:not(.group-company--zel) .group-company-link { color:var(--green); }

.group-history-band {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-block:1px solid #42454b;
  background:#24272d;
}
.group-history-backdrop {
  position:absolute;
  inset:0 0 0 auto;
  width:62%;
  z-index:-1;
}
.group-history-backdrop img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 57%;
}
.group-history-backdrop::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#24272d 0%,#24272dd4 36%,#181b22aa 100%);
}
.group-history-band .business-history--group { border:0; background:transparent; }
.group-history-band .business-history__inner { padding-block:clamp(2.25rem,5vw,4.5rem); }
.group-history-band .business-history__milestone { flex-wrap:wrap; gap:.7rem clamp(1rem,3vw,2.5rem); }
.group-history-band .business-history__milestone strong { font-size:clamp(4rem,7vw,6.75rem); color:var(--green); }
.group-history-band .business-history__milestone strong span { font-size:clamp(1.4rem,2.4vw,2rem); }
.group-history-band .business-history__milestone p { font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.35; }
.group-history-band .business-history__eyebrow {
  margin:0;
  color:#f4f4f6;
  font-size:clamp(1.3rem,2vw,1.75rem);
  letter-spacing:.01em;
  text-transform:none;
}
.group-history-band .business-history__detail { border-color:#a6a8b2; }

@media(max-width:54rem) {
  .group-header nav { order:3; width:100%; }
  .group-header nav a { flex:1; padding-inline:.35rem; }
}

@media(max-width:48rem) {
  .group-header nav { font-size:.83rem; }
  .group-history-backdrop { width:100%; }
  .group-history-backdrop::after { background:linear-gradient(90deg,#24272df2,#181b22bb); }
}
