/* Sahal V4 — reference-led corporate logistics system */
:root {
  --v4-green: #087b43;
  --v4-green-2: #12a458;
  --v4-dark: #082c24;
  --v4-teal: #0b5b52;
  --v4-mint: #eef6f2;
  --v4-soft: #f7faf8;
  --v4-gold: #f6bd24;
  --v4-ink: #10241b;
  --v4-copy: #617269;
  --v4-line: #dce8e0;
  --v4-shadow: 0 16px 45px rgba(15, 62, 34, .08);
}

html { scroll-padding-top: 86px; }
body { font-family: "Inter", Arial, sans-serif; color: var(--v4-ink); }
.container { max-width: 1240px; }

/* Content is never hidden when full-page screenshots or print capture occur. */
[data-reveal],
[data-reveal="left"],
[data-reveal="right"],
.clip-reveal {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
}

.site-header,
.site-header.is-fixed {
  top: 0;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #e1e9e3;
  box-shadow: 0 4px 24px rgba(12,51,27,.055);
}
.nav-shell,
.site-header.is-fixed .nav-shell {
  min-height: 84px;
}
.brand img {
  width: 180px;
  filter: none;
}
.nav-links a {
  color: #415047;
  font-weight: 600;
}
.nav-links a:hover,
.nav-links a.active { color: var(--v4-green); }
.nav-cta {
  border-radius: 9px;
  background: var(--v4-green);
}
.nav-cta:hover { background: #056535; }

.v4-home { padding-top: 84px; background: #fff; }
.v4-home .site-footer { margin-top: 0; }

.v4-hero {
  position: relative;
  min-height: 760px;
  color: #fff;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4,40,32,.92), rgba(5,57,43,.76)),
    linear-gradient(0deg, rgba(3,32,25,.75), rgba(3,32,25,.12)),
    url("assets/hero-port.jpg") center 44% / cover no-repeat;
}
.v4-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: linear-gradient(90deg, transparent, #000 50%, transparent);
}
.v4-hero-inner {
  position: relative;
  z-index: 2;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  padding-top: 72px;
}
.v4-hero-content {
  max-width: 980px;
  margin: auto auto 55px;
  text-align: center;
}
.v4-hero-content > * {
  animation: v4Rise .75s cubic-bezier(.2,.8,.2,1) both;
}
.v4-hero-content h1 { animation-delay: .08s; }
.v4-hero-content p { animation-delay: .16s; }
.v4-hero-content .v4-actions { animation-delay: .24s; }

.v4-badge {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.7rem;
  padding: .58rem 1rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  color: #d9f7e4;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  font-size: .8rem;
  font-weight: 700;
}
.v4-badge i { color: #7ce59d; }
.v4-hero h1 {
  max-width: 960px;
  margin: 0 auto;
  font-size: clamp(3.8rem, 6vw, 6.4rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.06em;
  text-shadow: 0 7px 28px rgba(0,0,0,.2);
}
.v4-hero h1 span { color: #62da8a; }
.v4-hero-content > p {
  max-width: 800px;
  margin: 1.5rem auto 0;
  color: rgba(255,255,255,.79);
  font-size: 1.1rem;
  line-height: 1.75;
}
.v4-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .9rem;
  margin-top: 2rem;
}
.v4-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .8rem 1.35rem;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: .84rem;
  font-weight: 750;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.v4-btn:hover { transform: translateY(-2px); }
.v4-btn-primary { color: #fff; background: var(--v4-green-2); }
.v4-btn-primary:hover { color: #fff; background: #0c8e4b; }
.v4-btn-outline { color: #fff; border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.05); }
.v4-btn-outline:hover { color: var(--v4-dark); border-color: #fff; background: #fff; }
.v4-btn-dark { color: #fff; background: var(--v4-dark); }
.v4-btn-dark:hover { color: #fff; background: var(--v4-green); }
.v4-btn-outline-dark { color: var(--v4-green); border-color: var(--v4-green); background: transparent; }
.v4-btn-outline-dark:hover { color: #fff; background: var(--v4-green); }

.v4-hero-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-top: 1px solid rgba(255,255,255,.18);
}
.v4-hero-stats > div {
  padding: 1.7rem 1.25rem 1.8rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.16);
}
.v4-hero-stats > div:last-child { border-right: 0; }
.v4-hero-stats strong {
  display: block;
  color: #68dd90;
  font-size: 2.15rem;
  font-weight: 800;
  line-height: 1;
}
.v4-hero-stats span {
  display: block;
  margin-top: .65rem;
  color: rgba(255,255,255,.66);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.v4-section { padding: 100px 0; }
.v4-about { background: var(--v4-mint); }
.v4-image-frame {
  position: relative;
  height: 500px;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: var(--v4-shadow);
}
.v4-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.v4-image-badge {
  position: absolute;
  left: 24px;
  bottom: 24px;
  min-width: 190px;
  padding: 1.15rem 1.25rem;
  border-radius: 13px;
  color: #fff;
  background: rgba(7,65,39,.9);
  backdrop-filter: blur(12px);
}
.v4-image-badge strong { display: block; font-size: 1.25rem; }
.v4-image-badge span { color: rgba(255,255,255,.7); font-size: .78rem; }

.v4-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1rem;
  color: var(--v4-green);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.v4-eyebrow::before,
.v4-eyebrow::after {
  content: "";
  width: 26px;
  height: 2px;
  background: currentColor;
}
.v4-eyebrow:not(.centered)::after { display: none; }
.v4-eyebrow.light { color: #72e39a; }
.v4-about h2,
.v4-section-heading h2,
.v4-impact h2,
.v4-cta h2 {
  margin: 0;
  color: var(--v4-ink);
  font-size: clamp(2.6rem,4vw,4.2rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.052em;
}
.v4-lead {
  margin: 1.35rem 0 .75rem;
  color: #2f4438;
  font-size: 1.06rem;
  font-weight: 550;
  line-height: 1.75;
}
.v4-about p:not(.v4-lead) {
  color: var(--v4-copy);
  line-height: 1.75;
}
.v4-checks {
  display: grid;
  gap: .7rem;
  margin: 1.5rem 0 2rem;
}
.v4-checks span {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: #31483a;
  font-size: .9rem;
  font-weight: 600;
}
.v4-checks i { color: var(--v4-green-2); }

.v4-section-heading {
  max-width: 760px;
  margin: 0 auto 3.1rem;
}
.v4-section-heading p {
  max-width: 660px;
  margin: 1rem auto 0;
  color: var(--v4-copy);
  line-height: 1.7;
}
.v4-services { background: #fff; }

.v4-service-card {
  height: 100%;
  display: block;
  overflow: hidden;
  border: 1px solid var(--v4-line);
  border-radius: 18px;
  color: var(--v4-ink);
  background: #fff;
  box-shadow: 0 10px 35px rgba(15,62,34,.055);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.v4-service-card:hover {
  color: var(--v4-ink);
  transform: translateY(-7px);
  border-color: rgba(18,164,88,.38);
  box-shadow: 0 22px 55px rgba(15,62,34,.12);
}
.v4-card-image { height: 225px; overflow: hidden; }
.v4-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.v4-service-card:hover .v4-card-image img { transform: scale(1.045); }
.v4-card-body {
  position: relative;
  min-height: 245px;
  padding: 2rem;
}
.v4-card-icon,
.v4-mini-card > i {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-top: -48px;
  margin-bottom: 1.25rem;
  border: 5px solid #fff;
  border-radius: 14px;
  color: var(--v4-green);
  background: #dff5e7;
  font-size: 1.2rem;
}
.v4-card-body h3 {
  margin: 0;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -.025em;
}
.v4-card-body p {
  margin: .8rem 0 1.4rem;
  color: var(--v4-copy);
  font-size: .9rem;
  line-height: 1.65;
}
.v4-card-link {
  color: var(--v4-green);
  font-size: .8rem;
  font-weight: 750;
}

.v4-impact {
  padding: 105px 0;
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(32,180,90,.2), transparent 28%),
    linear-gradient(135deg, #073f36, #09615b 64%, #0a6577);
}
.v4-impact h2 { color: #fff; }
.v4-impact .col-lg-5 > p {
  max-width: 470px;
  margin: 1.2rem 0 2rem;
  color: rgba(255,255,255,.68);
  line-height: 1.75;
}
.v4-impact-feature {
  max-width: 460px;
  padding: 1.7rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 15px;
  background: rgba(255,255,255,.08);
}
.v4-impact-feature strong {
  display: block;
  color: #68df91;
  font-size: 2rem;
  font-weight: 800;
}
.v4-impact-feature span { color: rgba(255,255,255,.7); font-size: .83rem; }
.v4-progress {
  height: 5px;
  margin-top: 1.2rem;
  border-radius: 99px;
  background: rgba(255,255,255,.13);
}
.v4-progress span {
  display: block;
  width: 78%;
  height: 100%;
  border-radius: inherit;
  background: #61db8a;
}
.v4-metric-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}
.v4-metric-grid article {
  min-height: 145px;
  padding: 1.35rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.085);
}
.v4-metric-grid i {
  display: block;
  margin-bottom: 1rem;
  color: #66dd8e;
  font-size: 1.25rem;
}
.v4-metric-grid strong {
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
}
.v4-metric-grid span {
  display: block;
  margin-top: .3rem;
  color: rgba(255,255,255,.6);
  font-size: .76rem;
}

.v4-solutions { background: var(--v4-mint); }
.v4-mini-card {
  height: 100%;
  min-height: 270px;
  display: block;
  padding: 2rem 1.7rem;
  border: 1px solid var(--v4-line);
  border-radius: 17px;
  color: var(--v4-ink);
  background: #fff;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}
.v4-mini-card:hover {
  color: var(--v4-ink);
  transform: translateY(-5px);
  box-shadow: var(--v4-shadow);
}
.v4-mini-card > i {
  margin: 0 auto 1.4rem;
  border: 0;
}
.v4-mini-card h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
}
.v4-mini-card p {
  margin: .8rem 0 0;
  color: var(--v4-copy);
  font-size: .86rem;
  line-height: 1.65;
}

.v4-partners { background: #fff; }
.v4-logo-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 14px;
}
.v4-logo-grid > div {
  height: 125px;
  display: grid;
  place-items: center;
  padding: 1.2rem;
  border: 1px solid var(--v4-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(15,62,34,.04);
}
.v4-logo-grid img {
  max-width: 150px;
  max-height: 75px;
  object-fit: contain;
}

.v4-cta {
  padding: 85px 0;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0%, rgba(255,255,255,.1), transparent 30%),
    var(--v4-teal);
}
.v4-cta h2 { color: #fff; }
.v4-cta p {
  max-width: 680px;
  margin: 1rem auto 0;
  color: rgba(255,255,255,.7);
}
.v4-cta .v4-actions { margin-top: 1.7rem; }

.site-footer {
  padding: 70px 0 28px;
  color: #627168;
  background: #f2f7f3;
  border-top: 1px solid var(--v4-line);
}
.footer-top { gap: 3rem; }
.footer-brand img { filter: none; }
.footer-col h4 { color: var(--v4-ink); }
.footer-col a:hover { color: var(--v4-green); }

/* Cohesive inner-page treatment */
body:not(.v4-home) .section { padding: 90px 0; }
body:not(.v4-home) .display {
  font-size: clamp(2.7rem,4.5vw,4.7rem);
  line-height: 1.03;
}
body:not(.v4-home) .page-hero { min-height: 620px; }
body:not(.v4-home) .page-hero-copy { padding-top: 105px; }
body:not(.v4-home) .page-hero h1 {
  font-size: clamp(3.5rem,5.5vw,5.8rem);
}
body:not(.v4-home) .service-directory { gap: 18px; }
body:not(.v4-home) .directory-card,
body:not(.v4-home) .directory-card:nth-child(1),
body:not(.v4-home) .directory-card:nth-child(6),
body:not(.v4-home) .directory-card:nth-child(11) {
  grid-column: span 4 !important;
  min-height: 310px;
  padding: 1.8rem;
  border-radius: 16px;
}
body:not(.v4-home) .directory-card h3 { font-size: 1.45rem; }
body:not(.v4-home) .team-grid {
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
body:not(.v4-home) .person-card,
body:not(.v4-home) .person-card.lead {
  grid-column: auto !important;
  min-height: 320px;
  border-radius: 16px;
}
body:not(.v4-home) .section-dark {
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(32,180,90,.18), transparent 28%),
    var(--v4-teal);
}
body:not(.v4-home) .section-dark .section-kicker,
body:not(.v4-home) .section-dark .network-point span { color: #6ce194; }
body:not(.v4-home) .section-dark .display,
body:not(.v4-home) .section-dark .display em { color: #fff; }
body:not(.v4-home) .section-dark .lede,
body:not(.v4-home) .section-dark .network-point p { color: rgba(255,255,255,.7); }
body:not(.v4-home) .section-dark .network-points,
body:not(.v4-home) .section-dark .network-point { border-color: rgba(255,255,255,.14); }
body:not(.v4-home) .cta-panel { min-height: 430px; }
body:not(.v4-home) .value-card { min-height: 300px; }

@keyframes v4Rise {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 991.98px) {
  .site-header,
  .site-header.is-fixed { top: 0; }
  .nav-shell,
  .site-header.is-fixed .nav-shell { min-height: 76px; }
  .v4-home { padding-top: 76px; }
  .nav-links {
    background: #fff;
    border-color: var(--v4-line);
  }
  .v4-hero,
  .v4-hero-inner { min-height: 720px; }
  .v4-hero h1 { font-size: clamp(3.3rem,8vw,5.2rem); }
  .v4-image-frame { height: 430px; }
  .v4-logo-grid { grid-template-columns: repeat(3,1fr); }
  body:not(.v4-home) .directory-card,
  body:not(.v4-home) .directory-card:nth-child(1),
  body:not(.v4-home) .directory-card:nth-child(6),
  body:not(.v4-home) .directory-card:nth-child(11) { grid-column: span 6 !important; }
  body:not(.v4-home) .team-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767.98px) {
  .v4-home { padding-top: 72px; }
  .v4-hero,
  .v4-hero-inner { min-height: 760px; }
  .v4-hero-inner { padding-top: 42px; }
  .v4-hero-content { margin-bottom: 35px; }
  .v4-hero h1 { font-size: clamp(2.8rem,12vw,4.2rem); }
  .v4-hero-content > p { font-size: .96rem; }
  .v4-hero-stats { grid-template-columns: repeat(2,1fr); }
  .v4-hero-stats > div:nth-child(2) { border-right: 0; }
  .v4-hero-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .v4-hero-stats strong { font-size: 1.7rem; }
  .v4-section { padding: 75px 0; }
  .v4-about h2,
  .v4-section-heading h2,
  .v4-impact h2,
  .v4-cta h2 { font-size: clamp(2.35rem,10vw,3.25rem); }
  .v4-image-frame { height: 360px; }
  .v4-card-body { min-height: 220px; }
  .v4-impact { padding: 80px 0; }
  .v4-metric-grid { grid-template-columns: 1fr; }
  .v4-logo-grid { grid-template-columns: repeat(2,1fr); }
  .v4-logo-grid > div:last-child { grid-column: 1 / -1; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  body:not(.v4-home) .directory-card,
  body:not(.v4-home) .directory-card:nth-child(1),
  body:not(.v4-home) .directory-card:nth-child(6),
  body:not(.v4-home) .directory-card:nth-child(11) { grid-column: auto !important; }
  body:not(.v4-home) .team-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .v4-actions { display: grid; }
  .v4-btn { width: 100%; }
  .v4-logo-grid { grid-template-columns: 1fr; }
  .v4-logo-grid > div:last-child { grid-column: auto; }
}
/* V5 brand alignment and cross-page unification */
:root {
  --v4-green: #217401;
  --v4-green-2: #46A202;
  --v4-dark: #18351d;
  --v4-teal: #0B5701;
  --v4-mint: #f1f7ef;
  --v4-soft: #f8faf7;
  --v4-ink: #2E2D2D;
  --v4-copy: #687268;
  --v4-line: #dfe8dc;
}

.scroll-meter { background: linear-gradient(90deg, #217401, #60BA02); }
.nav-links a:hover,
.nav-links a.active { color: #217401; }
.nav-links a::after { background: #46A202; }
.nav-cta { background: #217401; }
.nav-cta:hover { background: #0B5701; }

/* Home hero: copy on the left, detail visible on the right. */
.v4-hero {
  background:
    linear-gradient(90deg,
      rgba(15,48,21,.96) 0%,
      rgba(15,48,21,.88) 38%,
      rgba(15,48,21,.56) 58%,
      rgba(15,48,21,.18) 78%,
      rgba(15,48,21,.08) 100%),
    url("assets/hero-port.jpg") center right / cover no-repeat;
}
.v4-hero-content {
  max-width: 780px;
  margin: auto auto 48px 0;
  text-align: left;
}
.v4-hero-content h1 {
  max-width: 780px;
  margin-left: 0;
  margin-right: 0;
}
.v4-hero h1 span { color: #76ce4e; }
.v4-hero-content > p {
  max-width: 660px;
  margin-left: 0;
  margin-right: 0;
}
.v4-hero-content .v4-actions { justify-content: flex-start; }
.v4-badge {
  color: #e4f5df;
  border-color: rgba(255,255,255,.25);
}
.v4-badge i { color: #76ce4e; }
.v4-btn-primary { background: #46A202; }
.v4-btn-primary:hover { background: #217401; }

/* Glassmorphism statistic rail with a continuous light pass. */
.v4-hero-stats {
  position: relative;
  isolation: isolate;
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(255,255,255,.14), rgba(255,255,255,.065));
  box-shadow: 0 20px 55px rgba(4,28,11,.22), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(18px) saturate(130%);
}
.v4-hero-stats::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -80%;
  left: -24%;
  width: 24%;
  height: 260%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: rotate(18deg);
  animation: v4GlassSweep 7s ease-in-out infinite;
}
.v4-hero-stats > div {
  position: relative;
  background: rgba(255,255,255,.025);
  animation: v4StatLift .65s cubic-bezier(.2,.8,.2,1) both;
  transition: background .3s ease, transform .3s ease;
}
.v4-hero-stats > div:nth-child(2) { animation-delay: .1s; }
.v4-hero-stats > div:nth-child(3) { animation-delay: .2s; }
.v4-hero-stats > div:nth-child(4) { animation-delay: .3s; }
.v4-hero-stats > div:hover {
  z-index: 2;
  background: rgba(255,255,255,.11);
  transform: translateY(-4px);
}
.v4-hero-stats strong {
  color: #86d764;
  text-shadow: 0 0 25px rgba(96,186,2,.2);
}

/* Exact Sahal brand treatment across the homepage. */
.v4-eyebrow { color: #217401; }
.v4-checks i,
.v4-card-link { color: #46A202; }
.v4-card-icon,
.v4-mini-card > i {
  color: #217401;
  background: #edf6e9;
}
.v4-btn-dark { background: #217401; }
.v4-btn-dark:hover { background: #0B5701; }
.v4-btn-outline-dark { color: #217401; border-color: #217401; }
.v4-btn-outline-dark:hover { background: #217401; }
.v4-impact {
  background:
    radial-gradient(circle at 86% 8%, rgba(96,186,2,.2), transparent 28%),
    linear-gradient(135deg, #103d19, #0B5701 62%, #217401);
}
.v4-impact-feature strong,
.v4-metric-grid i { color: #8bd76a; }
.v4-progress span { background: #60BA02; }
.v4-cta {
  background:
    radial-gradient(circle at 90% 0%, rgba(96,186,2,.18), transparent 30%),
    linear-gradient(135deg, #123d1a, #0B5701);
}

/* Endless partner rail. */
.v4-logo-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 18px;
  mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.v4-logo-track {
  width: max-content;
  display: flex;
  align-items: stretch;
  gap: 16px;
  will-change: transform;
  animation: v4PartnersLeft 30s linear infinite;
}
.v4-logo-track > div {
  flex: 0 0 225px;
  height: 125px;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  border: 1px solid var(--v4-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(15,62,34,.045);
}
.v4-logo-track img {
  max-width: 160px;
  max-height: 76px;
  object-fit: contain;
}

/* Inner pages use the same image-led, brand-green visual language. */
body:not(.v4-home) {
  padding-top: 84px;
  color: var(--v4-ink);
  background: #fff;
}
body:not(.v4-home) .page-hero {
  min-height: 590px;
  display: flex;
  align-items: center;
  padding: 0;
  color: #fff;
  background: #17351d;
}
body:not(.v4-home) .page-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
}
body:not(.v4-home) .page-hero-media img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(.86) contrast(1.02);
  box-shadow: none;
}
body:not(.v4-home) .page-hero-media::after {
  position: absolute;
  inset: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg,
      rgba(15,48,21,.96) 0%,
      rgba(15,48,21,.86) 42%,
      rgba(15,48,21,.48) 67%,
      rgba(15,48,21,.12) 100%);
}
body:not(.v4-home) .page-hero-copy {
  position: relative;
  z-index: 2;
  width: min(1380px, calc(100% - 48px));
  max-width: none;
  padding: 100px 0 80px;
}
body:not(.v4-home) .page-hero-copy > * { max-width: 720px; }
body:not(.v4-home) .breadcrumbs {
  color: rgba(255,255,255,.72);
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(12px);
}
body:not(.v4-home) .page-hero .section-kicker { color: #95dc77; }
body:not(.v4-home) .page-hero h1 {
  color: #fff;
  font-size: clamp(3.5rem,5.5vw,5.7rem);
  text-shadow: 0 7px 28px rgba(0,0,0,.18);
}
body:not(.v4-home) .page-hero h1 span { color: #80d25c; }
body:not(.v4-home) .page-hero .lede {
  max-width: 650px;
  color: rgba(255,255,255,.75);
}
body:not(.v4-home) .section-kicker,
body:not(.v4-home) .display em,
body:not(.v4-home) .text-link { color: #217401; }
body:not(.v4-home) .section:nth-of-type(odd):not(.section-dark) { background: #fff; }
body:not(.v4-home) .section:nth-of-type(even):not(.section-dark) { background: #f4f8f2; }

body:not(.v4-home) .directory-card,
body:not(.v4-home) .person-card,
body:not(.v4-home) .value-card,
body:not(.v4-home) .contact-form {
  border: 1px solid var(--v4-line);
  background: #fff;
  box-shadow: 0 10px 35px rgba(24,66,31,.055);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
body:not(.v4-home) .directory-card:hover,
body:not(.v4-home) .person-card:hover,
body:not(.v4-home) .value-card:hover {
  transform: translateY(-6px);
  border-color: rgba(70,162,2,.38);
  box-shadow: 0 22px 52px rgba(24,66,31,.12);
}
body:not(.v4-home) .directory-card .icon {
  color: #217401;
  background: #edf6e9;
}
body:not(.v4-home) .directory-card .number,
body:not(.v4-home) .person-card .role,
body:not(.v4-home) .value-letter { color: #217401; }
body:not(.v4-home) .directory-card .open {
  color: #217401;
  border-color: #d9e5d5;
}
body:not(.v4-home) .person-mark {
  background: linear-gradient(145deg, #217401, #46A202);
  box-shadow: 0 0 0 10px rgba(33,116,1,.08);
}

body:not(.v4-home) .section-dark {
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(96,186,2,.18), transparent 28%),
    linear-gradient(135deg, #103d19, #0B5701);
}
body:not(.v4-home) .section-dark .section-kicker,
body:not(.v4-home) .section-dark .network-point span { color: #9ade7f; }
body:not(.v4-home) .section-dark .display,
body:not(.v4-home) .section-dark .display em { color: #fff; }
body:not(.v4-home) .contact-aside {
  background:
    radial-gradient(circle at 90% 10%, rgba(96,186,2,.2), transparent 30%),
    linear-gradient(145deg, #0B5701, #217401);
}
body:not(.v4-home) .field input:focus,
body:not(.v4-home) .field select:focus,
body:not(.v4-home) .field textarea:focus {
  border-color: #46A202;
  box-shadow: 0 0 0 4px rgba(70,162,2,.09);
}
body:not(.v4-home) .button { background: #217401; }
body:not(.v4-home) .button:hover { background: #0B5701; color: #fff; }
body:not(.v4-home) .cta-panel {
  background: #0B5701;
}
body:not(.v4-home) .cta-panel::after {
  background:
    radial-gradient(circle at 82% 12%, rgba(96,186,2,.2), transparent 28%),
    linear-gradient(90deg, rgba(11,87,1,.97), rgba(33,116,1,.68));
}

@keyframes v4GlassSweep {
  0%, 18% { transform: translateX(-20%) rotate(18deg); opacity: 0; }
  30% { opacity: 1; }
  64%, 100% { transform: translateX(620%) rotate(18deg); opacity: 0; }
}
@keyframes v4StatLift {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}
@keyframes v4PartnersLeft {
  to { transform: translateX(calc(-50% - 8px)); }
}

@media (max-width: 991.98px) {
  body:not(.v4-home) { padding-top: 76px; }
  body:not(.v4-home) .page-hero { min-height: 540px; }
  body:not(.v4-home) .page-hero-copy {
    width: min(100% - 32px, 860px);
    padding: 90px 0 60px;
  }
}

@media (max-width: 767.98px) {
  .v4-hero-content { margin-left: 0; }
  .v4-hero {
    background:
      linear-gradient(90deg, rgba(15,48,21,.93), rgba(15,48,21,.66)),
      url("assets/hero-port.jpg") 67% center / cover no-repeat;
  }
  .v4-hero-stats { border-radius: 15px; }
  .v4-logo-track > div { flex-basis: 190px; height: 110px; }
  body:not(.v4-home) { padding-top: 72px; }
  body:not(.v4-home) .page-hero {
    min-height: 520px;
    display: flex;
    padding: 0;
  }
  body:not(.v4-home) .page-hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }
  body:not(.v4-home) .page-hero-media::after {
    inset: 0;
    border-radius: 0;
    background: linear-gradient(90deg, rgba(15,48,21,.94), rgba(15,48,21,.62));
  }
  body:not(.v4-home) .page-hero-media img { border-radius: 0; }
  body:not(.v4-home) .page-hero-copy {
    order: initial;
    width: calc(100% - 24px);
    padding: 85px 0 55px;
  }
  body:not(.v4-home) .page-hero h1 { font-size: clamp(3rem,13vw,4.35rem); }
}

@media (prefers-reduced-motion: reduce) {
  .v4-hero-stats::before,
  .v4-hero-stats > div,
  .v4-logo-track { animation: none !important; }
}