/* Zentrix Distribution — Homepage Prototype
   Black / white system, original layout and copy.
   CORRECTED: Typography, section widths, hover animations.
*/



/* HERO */
.hero{position:relative;overflow:hidden;padding:46px 0 30px;background:var(--paper);border-bottom:1px solid var(--line)}
.hero-cube-wrapper {
  position: absolute;
  inset: 0;
  z-index: 2;
  mask-image: linear-gradient(90deg, black 0%, black 35%, transparent 75%);
  -webkit-mask-image: linear-gradient(90deg, black 0%, black 35%, transparent 75%);
  pointer-events: none;
}
.hero-grid-lines {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size: 80px 80px;
}
.hero-grid-bg{
  position:absolute;inset:0;opacity:1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='480'%3E%3Crect x='80' y='80' width='80' height='80' fill='%230c0c0c'/%3E%3Crect x='240' y='160' width='80' height='80' fill='%23121212'/%3E%3Crect x='320' y='320' width='80' height='80' fill='%23181818'/%3E%3Crect x='0' y='400' width='80' height='80' fill='%23121212'/%3E%3Crect x='400' y='0' width='80' height='80' fill='%230c0c0c'/%3E%3C/svg%3E");
  background-size: 480px 480px;
}
.hero-grid-glow{
  position:absolute;inset:0;opacity:1;
  z-index: 3;
  pointer-events: none;
  background-image:linear-gradient(to right,rgba(255,255,255,0.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,0.12) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(circle 250px at var(--mouse-x, -500px) var(--mouse-y, -500px), black 0%, transparent 100%);
  -webkit-mask-image:radial-gradient(circle 250px at var(--mouse-x, -500px) var(--mouse-y, -500px), black 0%, transparent 100%);
  transition: opacity 0.3s;
}
.hero-layout{position:relative;display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:start;z-index:4;}
.hero-copy{padding:70px 0 0px 0; max-width: 800px; position:relative;}
.hero-copy h1 { white-space: nowrap; }



.hero-map-wrapper { 
  position: relative; 
  z-index: 5; 
  width: 105%; 
  margin-left: -5%; 
  margin-top: 40px;
}
@media (max-width: 1024px) {
  .hero-layout{grid-template-columns:1fr}
  .hero-map-wrapper { display: none; }
}
.hero-lead{max-width:760px;font-size:clamp(16px,1.2vw,19px);line-height:1.55;margin-bottom:34px;color:#4d4d4d}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-actions .button-outline-white { background-color: #000; }
.hero-actions .button-dark{background:var(--white);color:var(--black);border-color:var(--white)}
.hero-actions .button-dark::before{background:var(--black)}
.hero-actions .button-dark:hover,.hero-actions .button-dark:focus-visible{color:var(--white);border-color:var(--black)}
.hero-actions .button-light{background:#d8d8d8;color:var(--black);border-color:#d8d8d8}
.hero-actions .button-light::before{background:var(--charcoal)}
.hero-actions .button-light:hover,.hero-actions .button-light:focus-visible{color:var(--white);border-color:var(--charcoal)}
.hero-button-roll__labels{display:block;height:1.2em;line-height:1.2;overflow:hidden;white-space:nowrap}
.hero-button-roll__label{display:block;height:100%;transition:transform var(--transition);transition-delay:.5s}
.hero-button-roll:hover .hero-button-roll__label,.hero-button-roll:focus-visible .hero-button-roll__label{transform:translateY(-100%);transition-delay:0s}
@media (prefers-reduced-motion:reduce){
  .hero-button-roll__label{transition-delay:0s!important}
}
.hero-proof{display:flex;flex-wrap:wrap;gap:32px 64px;margin-top:54px;}
.proof-item{display:flex;flex-direction:column;align-items:flex-start;gap:16px;color:#aaa;transition:transform var(--transition),color var(--transition);cursor:default}
.proof-item svg{width:38px;height:38px;color:#ccc;opacity:0.9;transition:color var(--transition),transform var(--transition)}
.proof-item span{font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;line-height:1.4}
.proof-item:hover, .proof-item.is-active{color:#fff;transform:translateY(-4px)}
.proof-item:hover svg, .proof-item.is-active svg{color:#fff;transform:scale(1.1)}
.hero-system{background:#090909;color:#fff;border:1px solid #000;min-height:520px;display:flex;flex-direction:column;box-shadow:18px 18px 0 rgba(0,0,0,.08);transition:transform var(--transition-slow),box-shadow var(--transition-slow)}
.hero-system:hover{transform:translateY(-4px);box-shadow:22px 22px 0 rgba(0,0,0,.12)}
.system-topline,.system-footer{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font-size:9px;letter-spacing:.18em;font-weight:800;color:#aaa}
.system-topline{border-bottom:1px solid #2a2a2a}
.status-dot{display:flex;align-items:center;gap:8px}
.status-dot i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #333;transition:box-shadow var(--transition)}
.hero-system:hover .status-dot i{box-shadow:0 0 0 3px #555,0 0 12px 2px rgba(255,255,255,.3)}
.system-core{flex:1;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:46px 26px;position:relative}
.system-core::before,.system-core::after{content:"";position:absolute;top:50%;height:1px;background:#555;width:22%}
.system-core::before{left:18%}.system-core::after{right:18%}
.system-node{position:relative;z-index:2;border:1px solid #444;background:#0e0e0e;padding:18px;min-height:126px;display:flex;flex-direction:column;justify-content:flex-end;transition:var(--transition-slow);cursor:default}
.system-node:hover, .system-node.is-active{border-color:#777;background:#151515;transform:translateY(-3px)}
.system-node strong{font-size:15px;letter-spacing:.12em}
.system-node small{font-size:10px;color:#888;margin-top:5px}
.node-index{position:absolute;top:14px;right:14px;font-size:9px;color:#666}
.system-center{position:relative;z-index:3;aspect-ratio:1;display:grid;place-items:center}
.center-ring{position:absolute;border:1px solid #444;border-radius:50%;transition:var(--transition-slow)}
.ring-one{inset:8%}.ring-two{inset:22%;border-style:dashed}
.system-center:hover .center-ring{border-color:#666}
.center-logo{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000;font-size:42px;font-weight:900;transition:var(--transition-slow)}
.system-center:hover .center-logo{transform:scale(1.05);box-shadow:0 0 30px rgba(255,255,255,.15)}
.system-center>span{position:absolute;font-size:7px;color:#777;letter-spacing:.18em}
.system-center>span:nth-of-type(1){top:2%}.system-center>span:nth-of-type(2){bottom:7%;left:-2%}.system-center>span:nth-of-type(3){bottom:7%;right:-2%}
.system-footer{border-top:1px solid #2a2a2a;align-items:flex-end}
.system-footer div{display:flex;flex-direction:column;gap:3px}
.system-footer div:last-child{text-align:right}
.system-footer span{font-size:7px;color:#666}.system-footer strong{font-size:9px;color:#bbb;letter-spacing:.08em}

/* AUDIENCE */
.audience-strip {
  padding: 24px 0;
  background: #050505;
  border-bottom: 1px solid #252525;
}
.audience-strip .container {
  display: grid;
  grid-template-columns: 1.5fr 1.6fr;
  gap: 40px;
  align-items: center;
}
.audience-strip p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: -.02em;
}
.partner-marquee {
  position:relative;
  width:100%;
  min-height:70px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#050505;
}
.partner-marquee:before,
.partner-marquee:after {
  content:"";
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  width:clamp(30px,7vw,120px);
  pointer-events:none;
}
.partner-marquee:before {
  left:0;
  background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.92) 25%,rgba(5,5,5,0) 100%);
}
.partner-marquee:after {
  right:0;
  background:linear-gradient(270deg,#050505 0%,rgba(5,5,5,.92) 25%,rgba(5,5,5,0) 100%);
}
.marquee-track {
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  padding-left:12px;
  will-change:transform;
  animation:marqueeMove 20s linear infinite;
}
.partner-pill {
  flex:0 0 auto;
  padding:13px 22px;
  border:1px solid var(--line);
  border-radius:0;
  background:#090909;
  color:var(--white);
  white-space:nowrap;
  font-size: 16px;
  line-height:1;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: all var(--transition);
  cursor: default;
}
.partner-pill:hover, .partner-pill.is-active {
  background: var(--white);
  color: var(--black);
  transform: translateY(-2px);
}
.partner-marquee:hover .marquee-track {
  animation-play-state:paused;
}
@keyframes marqueeMove {
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:700px){
  .partner-marquee{min-height:96px}
  .marquee-track{gap:9px;animation-duration:16s}
  .partner-pill{padding:11px 17px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
}

/* PATHS */
.section-head{max-width:900px;margin-bottom:60px}.section-head-light{color:#fff}
.path-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #333}
.path-card{min-height:550px;padding:42px;display:flex;flex-direction:column;border-right:1px solid #333;background:#0a0a0a;color:#fff;transition:var(--transition-slow)}
.path-card:hover, .path-card.is-active{background:#0f0f0f;box-shadow:0 16px 48px rgba(0,0,0,.25);transform:translateY(-3px);z-index:2}
.path-card-light{background:#f5f5f2;color:#111;border-right:0}
.path-card-light:hover, .path-card-light.is-active{background:#fff;box-shadow:0 16px 48px rgba(0,0,0,.08)}
.path-content{align-self:start;max-width:560px}
.path-label{font-size:10px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase;color:#777!important;margin-bottom:20px!important}
/* CORRECTED: path card titles */
.path-content h3{font-size:clamp(32px,3.5vw,48px);margin-bottom:22px;color:#fff !important}
.path-card-light .path-content h3{color:#111 !important}
.path-title-balanced span{white-space:nowrap}
.path-content>p:not(.path-label){font-size:18px;max-width:520px;color:#ccc !important}
.path-card-light .path-content>p{color:#444 !important}
.clean-list{list-style:none;margin:30px 0;padding:0;border-top:1px solid #333}
.path-card-light .clean-list{border-color:#c7c7c7}
.clean-list li{padding:12px 0;border-bottom:1px solid #333;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#aaa;transition:padding var(--transition),color var(--transition)}
.path-card-light .clean-list li{border-color:#c7c7c7;color:#555}
.clean-list li:hover{padding-left:8px;color:#fff}
.path-card-light .clean-list li:hover{color:#000}
.text-link{display:inline-flex;gap:20px;align-items:center;margin-top:18px;font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;transition:var(--transition)}
.text-link span{font-size:18px;transition:transform var(--transition)}
.text-link:hover span,.text-link:focus-visible span{transform:translate(4px,-4px)}
.text-link-light{color:#fff}

/* PROCESS */
.process-section{background:#fff}
.split-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end;margin-bottom:60px}
.split-intro h2{max-width:800px;margin-bottom:0}
.split-intro>p{font-size:18px;margin:0;max-width:520px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb;border-left:1px solid #bbb}
.process-item{position:relative;min-height:360px;padding:30px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;display:flex;flex-direction:column;background:#fff;z-index:2;transition:var(--transition-slow)}
.process-item:hover, .process-item.is-active{background:#050505;color:#fff;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.process-no{font-size:9px;letter-spacing:.16em;color:#777}
.process-icon{font-size:40px;margin:auto 0;color:var(--white);transition:var(--transition-slow)}
.process-item:hover .process-icon, .process-item.is-active .process-icon{color:#23c78d;transform:scale(1.1)}
.process-item h3{font-size:clamp(32px,3.5vw,48px);margin:0 0 14px}
.process-item p{margin:0;font-size:18px}
#main .process-item:hover p, #main .process-item.is-active p{color:#fff !important}

/* PORTFOLIO */
.portfolio-section{background:#e9e9e5}
.portfolio-shell{display:grid;grid-template-columns:.88fr 1.12fr;color:#fff;}
.portfolio-copy{padding:64px}
.portfolio-copy p{max-width:560px;font-size:17px;color:#aaa}
.portfolio-copy .button{margin-top:18px}
.portfolio-board{padding:60px 40px;background:transparent;display:flex;flex-direction:column;justify-content:center;}
.portfolio-flow{position:relative;padding-left:54px;}
.portfolio-flow::before{content:"";position:absolute;left:14px;top:16px;bottom:16px;width:1px;background:#333}
.portfolio-flow-item{position:relative;padding:0 0 40px;transition:transform var(--transition-slow);cursor:default;}
.portfolio-flow-item:hover, .portfolio-flow-item.is-active{transform:translateX(6px)}
.portfolio-flow-item:last-child{padding-bottom:0}
.portfolio-flow-dot{position:absolute;left:-47px;top:3px;width:15px;height:15px;border:1px solid #23c78d;background:transparent;transition:background var(--transition),transform var(--transition)}
.portfolio-flow-item:hover .portfolio-flow-dot, .portfolio-flow-item.is-active .portfolio-flow-dot{background:#23c78d;border-color:#23c78d;transform:scale(1.2)}
.portfolio-flow-item h3{font-size:clamp(22px,2vw,30px);margin-bottom:8px;color:#fff;}
.portfolio-flow-item p{margin:0;max-width:590px;font-size:14px;color:#aaa;}

/* VALUES */
.value-section{background:var(--paper)}
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #aaa;border-left:1px solid #aaa}
.value-card{padding:38px;min-height:310px;border-right:1px solid #aaa;border-bottom:1px solid #aaa;position:relative;background:#e5e5e5;z-index:2;transition:background var(--transition-slow),transform var(--transition-slow);cursor:default}
.value-card:hover, .value-card.is-active{background:#000 !important; color:#fff !important; transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.25)}
#main .value-card:hover h3, #main .value-card.is-active h3{color:#fff !important}
#main .value-card:hover p, #main .value-card.is-active p{color:#ccc !important}
#main .value-card:hover .value-index, #main .value-card.is-active .value-index{color:#777 !important}
.value-index{font-size:10px;font-weight:800;letter-spacing:.12em;position:absolute;right:30px;top:30px;transition:color var(--transition)}
.value-card h3{font-size:clamp(32px,3.5vw,48px);margin-top:92px;margin-bottom:16px}
.value-card p{max-width:520px;margin:0}

/* DETAIL */
.detail-section{background:var(--paper)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr}
.detail-panel{min-height:580px;padding:58px;background:#fff;border:1px solid #bbb;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.detail-panel:hover, .detail-panel.is-active{box-shadow:0 16px 48px rgba(0,0,0,.08);transform:translateY(-3px);z-index:2}
.path-title-balanced span{white-space:nowrap}
.path-content>p:not(.path-label){font-size:18px;max-width:520px;color:#ccc !important}
.path-card-light .path-content>p{color:#444 !important}
.clean-list{list-style:none;margin:30px 0;padding:0;border-top:1px solid #333}
.path-card-light .clean-list{border-color:#c7c7c7}
.clean-list li{padding:12px 0;border-bottom:1px solid #333;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#aaa;transition:padding var(--transition),color var(--transition)}
.path-card-light .clean-list li{border-color:#c7c7c7;color:#555}
.clean-list li:hover{padding-left:8px;color:#fff}
.path-card-light .clean-list li:hover{color:#000}
.text-link{display:inline-flex;gap:20px;align-items:center;margin-top:18px;font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;transition:var(--transition)}
.text-link span{font-size:18px;transition:transform var(--transition)}
.text-link:hover span,.text-link:focus-visible span{transform:translate(4px,-4px)}
.text-link-light{color:#fff}

/* PROCESS */
.process-section{background:#fff}
.split-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end;margin-bottom:60px}
.split-intro h2{max-width:800px;margin-bottom:0}
.split-intro>p{font-size:18px;margin:0;max-width:520px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb;border-left:1px solid #bbb}
.process-item{position:relative;min-height:360px;padding:30px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;display:flex;flex-direction:column;background:#fff;z-index:2;transition:var(--transition-slow)}
.process-item:hover, .process-item.is-active{background:#050505;color:#fff;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.process-no{font-size:9px;letter-spacing:.16em;color:#777}
.process-icon{font-size:40px;margin:auto 0;color:#23c78d;transition:var(--transition-slow)}
.process-item:hover .process-icon, .process-item.is-active .process-icon{color:#23c78d;transform:scale(1.1)}
.process-item h3{font-size:clamp(32px,3.5vw,48px);margin:0 0 14px}
.process-item p{margin:0;font-size:18px}
#main .process-item:hover p, #main .process-item.is-active p{color:#fff !important}

/* PORTFOLIO */
.portfolio-section{background:#e9e9e5}
.portfolio-shell{display:grid;grid-template-columns:.88fr 1.12fr;color:#fff;}
.portfolio-copy{padding:64px}
.portfolio-copy p{max-width:560px;font-size:17px;color:#aaa}
.portfolio-copy .button{margin-top:18px}
.portfolio-board{padding:60px 40px;background:transparent;display:flex;flex-direction:column;justify-content:center;}
.portfolio-flow{position:relative;padding-left:54px;}
.portfolio-flow::before{content:"";position:absolute;left:14px;top:16px;bottom:16px;width:1px;background:#333}
.portfolio-flow-item{position:relative;padding:0 0 40px;transition:transform var(--transition-slow);cursor:default;}
.portfolio-flow-item:hover, .portfolio-flow-item.is-active{transform:translateX(6px)}
.portfolio-flow-item:last-child{padding-bottom:0}
.portfolio-flow-dot{position:absolute;left:-47px;top:3px;width:15px;height:15px;border:1px solid #23c78d;background:transparent;transition:background var(--transition),transform var(--transition)}
.portfolio-flow-item:hover .portfolio-flow-dot, .portfolio-flow-item.is-active .portfolio-flow-dot{background:#23c78d;border-color:#23c78d;transform:scale(1.2)}
.portfolio-flow-item h3{font-size:clamp(22px,2vw,30px);margin-bottom:8px;color:#fff;}
.portfolio-flow-item p{margin:0;max-width:590px;font-size:14px;color:#aaa;}

/* VALUES */
.value-section{background:var(--paper)}
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #aaa;border-left:1px solid #aaa}
.value-card{padding:38px;min-height:310px;border-right:1px solid #aaa;border-bottom:1px solid #aaa;position:relative;background:#e5e5e5;z-index:2;transition:background var(--transition-slow),transform var(--transition-slow);cursor:default}
.value-card:hover, .value-card.is-active{background:#000 !important; color:#fff !important; transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.25)}
#main .value-card:hover h3, #main .value-card.is-active h3{color:#fff !important}
#main .value-card:hover p, #main .value-card.is-active p{color:#ccc !important}
#main .value-card:hover .value-index, #main .value-card.is-active .value-index{color:#777 !important}
.value-index{font-size:10px;font-weight:800;letter-spacing:.12em;position:absolute;right:30px;top:30px;transition:color var(--transition)}
.value-card h3{font-size:clamp(32px,3.5vw,48px);margin-top:92px;margin-bottom:16px}
.value-card p{max-width:520px;margin:0}

/* DETAIL */
.detail-section{background:var(--paper)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr}
.detail-panel{min-height:580px;padding:58px;background:#fff;border:1px solid #bbb;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.detail-panel:hover, .detail-panel.is-active{box-shadow:0 16px 48px rgba(0,0,0,.08);transform:translateY(-3px);z-index:2}
.detail-panel+.detail-panel{border-left:0}
.detail-panel-dark{background:#090909;color:#fff;border-color:#090909}
.detail-panel-dark:hover, .detail-panel-dark.is-active{box-shadow:0 16px 48px rgba(0,0,0,.25)}
.detail-panel h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:24px;margin-top:auto;}
.detail-panel>p:not(.detail-kicker){max-width:590px;font-size:18px}
.detail-panel-dark>p:not(.detail-kicker){color:#fff !important}
.detail-kicker{font-size:10px!important;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#777!important;margin-bottom:20px!important}
.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin:auto 0 36px}
.detail-tags span{border:1px solid #444;color:#bbb;padding:8px 11px;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;transition:var(--transition)}
.detail-panel:hover .detail-tags span, .detail-panel.is-active .detail-tags span{border-color:#666}
.detail-panel-dark .detail-tags span{border-color:#fff;color:#fff !important}
.detail-panel-dark:hover .detail-tags span, .detail-panel-dark.is-active .detail-tags span{border-color:#fff}
.detail-tags-light span{border-color:#bbb;color:#555}
.detail-panel .button{margin-top:auto}
.detail-panel .button-dark:hover,.detail-panel .button-dark:focus-visible{border-color:var(--black)}

/* HOME FINAL CTA */
.home-final-cta{padding:56px 0;background:#050505;color:#fff}
.home-cta-body{display:grid;grid-template-columns:1.25fr .75fr;min-height:300px}
.home-cta-copy{padding:36px 44px;display:flex;flex-direction:column;justify-content:center}
.home-cta-copy .eyebrow{color:#aaa}
.home-cta-copy h2{max-width:820px;color:#fff}
.home-cta-copy>p:not(.eyebrow){max-width:680px;color:#aaa}
.home-cta-action{padding:36px 44px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.home-cta-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#777}
.home-cta-action .button{width:100%;justify-content:space-between;gap:24px}
.home-cta-action .button>.button-icon{font-size:18px;line-height:1;transition:transform var(--transition)}
.home-cta-action .button:hover>.button-icon,.home-cta-action .button:focus-visible>.button-icon{transform:translate(4px,-4px)}
.home-cta-action>p{max-width:460px;margin:0;font-size:13px;color:#888}
/* CONTACT */
.contact-section{position:relative;overflow:hidden;background:#050505;color:#fff;padding:120px 0}
.contact-lines{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(to right,#888 1px,transparent 1px);background-size:10% 100%;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}
.contact-inner{position:relative;max-width:var(--container);margin-inline:auto;text-align:center;padding:0 24px}
.contact-inner .eyebrow span{justify-content:center}.contact-inner .eyebrow span::before{display:none}
.contact-inner h2{font-size:clamp(32px,3.5vw,48px)}
.contact-inner>p{max-width:720px;margin:0 auto 34px;font-size:18px;color:#aaa}
.contact-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}


/* REVEAL REMOVED TO GLOBAL */

/* RESPONSIVE */
@media (max-width:1100px){
  .hero-layout{grid-template-columns:1fr;gap:50px}.hero-copy{max-width:900px}.hero-system{min-height:480px}
  .split-intro{gap:50px}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-copy{padding:46px}

}
@media (max-width:800px){
  :root{--space-8:72px}
  .container{width:min(calc(100% - 32px),var(--container))}
  .hero{padding:70px 0 60px}.hero-layout{gap:42px}
  h1{font-size:clamp(40px,12vw,68px)}
  .hero-system{min-height:420px}
  .system-core{padding:34px 14px;grid-template-columns:1fr 1.05fr 1fr}
  .system-node{padding:12px;min-height:110px}.system-node strong{font-size:11px}.system-node small{font-size:8px}
  .center-logo{width:62px;height:62px;font-size:30px}
  .system-footer{padding:14px}
  .audience-strip .container{grid-template-columns:1fr;gap:12px}.audience-list{justify-content:flex-start}
  .path-grid{grid-template-columns:1fr}.path-card{min-height:520px;border-right:0;border-bottom:1px solid #333;padding:30px}
  .split-intro{grid-template-columns:1fr;gap:24px}
  .process-grid{grid-template-columns:1fr 1fr}
  .portfolio-shell{grid-template-columns:1fr}.portfolio-board{border-left:0;border-top:1px solid #2e2e2e}
  .value-grid{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr}.detail-panel+.detail-panel{border-left:1px solid #bbb;border-top:0}
  .home-cta-body{grid-template-columns:1fr}
}
@media (max-width:560px){
  .hero { padding: 40px 0 40px; }
  h1{font-size:clamp(30px,9vw,44px);letter-spacing:-0.02em}
  .hero-lead{font-size:15px;line-height:1.5;margin-bottom:28px}
  .path-title-balanced span{white-space:normal}
  :root{--space-8:60px}
  .hero-actions,.contact-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .hero-actions .button,.contact-actions .button{width:100%;padding:16px 20px;font-size:11px}
  .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:24px 12px;margin-top:30px}
  .proof-item{flex-direction:row;align-items:center;gap:12px}
  .proof-item svg{width:34px;height:34px;flex-shrink:0}
  .proof-item span{font-size:11px;text-align:left;line-height:1.35}
  .partner-pill{font-size:13px !important;padding:14px 24px !important}
  .hero-system{min-height:380px;box-shadow:10px 10px 0 rgba(0,0,0,.08)}
  .system-core{padding:22px 8px}
  .system-node{min-height:98px;padding:9px}
  .system-node small{display:none}
  .system-topline{padding:14px 12px}.system-footer{display:none}
  .process-grid{grid-template-columns:1fr}
  .process-item{min-height:260px}
  .portfolio-copy{padding:36px 26px}
  .portfolio-board{padding:10px}
  .portfolio-flow-item small{display:none}
  .value-grid{grid-template-columns:1fr}.value-card{min-height:260px;padding:28px}.value-card h3{margin-top:70px}
  .detail-panel{padding:36px 26px;min-height:500px}.detail-kicker{margin-bottom:48px!important}
  .contact-section{padding:86px 0}
  .home-final-cta{padding:48px 0}
  .home-cta-copy,.home-cta-action{padding:32px 24px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}





















