:root{
  --graphite:#1E2224;
  --petroleum:#102C32;
  --petroleum-2:#06252B;
  --offwhite:#F4F1EA;
  --mist:#DDE2DF;
  --mineral:#7D9A89;
  --silver:#B8C1BE;
  --ink:#13262B;
  --muted:#5C6868;
  --line:rgba(30,34,36,.13);
  --line-strong:rgba(30,34,36,.2);
  --line-dark:rgba(244,241,234,.18);
  --glass:rgba(255,255,255,.08);
  --shadow:0 26px 80px rgba(5,23,28,.12);
  --radius:24px;
  --container:1220px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--offwhite);
  color:var(--ink);
  font-family:Manrope, Arial, sans-serif;
  font-size:16px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
::selection{background:rgba(125,154,137,.35)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:1rem;z-index:1000;background:var(--offwhite);color:var(--petroleum);padding:.75rem 1rem;border-radius:999px}
.skip-link:focus{left:1rem}
.container{width:min(var(--container),calc(100% - 44px));margin-inline:auto}
.section-light,.section-soft,.section-dark{position:relative;overflow:hidden}
.section-light{background:var(--offwhite)}
.section-soft{background:linear-gradient(180deg,#F7F4EE 0%,#EEF1EF 100%)}
.section-dark{background:var(--petroleum);color:var(--offwhite)}
.site-progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:120;background:transparent}
.site-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--silver),var(--mineral));transform-origin:left}

/* Header */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:18px 0;transition:background .35s var(--ease), border-color .35s var(--ease), padding .35s var(--ease);border-bottom:1px solid transparent;color:var(--offwhite)}
.site-header.is-scrolled{padding:12px 0;background:rgba(16,44,50,.88);border-color:rgba(244,241,234,.12);backdrop-filter:blur(18px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:14px;min-width:0}
.brand-mark{width:44px;height:auto;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}
.brand-name{display:block;font-family:"Satoshi",Manrope,Arial,sans-serif;letter-spacing:.42em;font-size:.92rem;font-weight:700;line-height:1.1;white-space:nowrap}
.brand-claim{display:block;margin-top:5px;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.34em;font-size:.52rem;color:rgba(244,241,234,.72);white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:28px;font-size:.82rem;font-weight:600;color:rgba(244,241,234,.82)}
.site-nav a{position:relative;transition:color .25s var(--ease)}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--mineral);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.site-nav a:hover{color:#fff}.site-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:12px 18px;border:1px solid rgba(244,241,234,.26);border-radius:10px;background:rgba(244,241,234,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid rgba(244,241,234,.18);background:rgba(244,241,234,.06);border-radius:12px;position:relative;color:inherit}
.nav-toggle span:not(.sr-only){position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.nav-toggle span:first-child{top:16px}.nav-toggle span:nth-child(2){top:25px}
.nav-toggle[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){top:20px;transform:rotate(-45deg)}

/* Shared */
.eyebrow{margin:0 0 14px;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:500;color:var(--mineral)}
.eyebrow--light{color:rgba(184,193,190,.92)}
.section-number{display:inline-block;margin-bottom:18px;font-family:"IBM Plex Mono",monospace;color:var(--mineral);font-size:.84rem;letter-spacing:.14em}
.section-number--light{color:rgba(184,193,190,.9)}
h1,h2,h3{font-family:"Satoshi",Manrope,Arial,sans-serif;line-height:1.04;letter-spacing:-.04em;margin:0;color:inherit}
h1{font-size:clamp(2.55rem,4.85vw,5rem);max-width:760px}
h2{font-size:clamp(2rem,4.1vw,4.25rem)}
h3{font-size:1.16rem;letter-spacing:-.025em}
p{margin:0;color:rgba(19,38,43,.74)}
.section-dark p{color:rgba(244,241,234,.74)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;font-size:.88rem;font-weight:750;letter-spacing:-.01em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.button::after{content:"→";font-weight:500;transform:translateX(0);transition:transform .25s var(--ease)}
.button:hover{transform:translateY(-2px)}.button:hover::after{transform:translateX(3px)}
.button--primary{background:linear-gradient(135deg,var(--petroleum),#073740);color:#fff;box-shadow:0 16px 38px rgba(16,44,50,.28),inset 0 1px 0 rgba(255,255,255,.13);border:1px solid rgba(125,154,137,.36)}
.button--mineral{background:linear-gradient(135deg,rgba(125,154,137,.95),rgba(184,193,190,.78));color:#0A262B;border-color:rgba(244,241,234,.35)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* Hero */
.hero{min-height:100svh;padding:130px 0 86px;display:grid;align-items:center;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(circle at 84% 42%,rgba(125,154,137,.22),transparent 30%),
  radial-gradient(circle at 22% 12%,rgba(244,241,234,.08),transparent 25%),
  linear-gradient(135deg,#102C32 0%,#06252B 55%,#092D34 100%)}
.grid-field{position:absolute;inset:0;opacity:.44;background-image:linear-gradient(rgba(244,241,234,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,.055) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 69% 42%,#000 0%,transparent 62%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(48px);opacity:.5}.hero-glow--one{width:440px;height:440px;background:rgba(125,154,137,.2);right:12%;top:22%}.hero-glow--two{width:520px;height:520px;background:rgba(184,193,190,.1);left:-12%;bottom:-12%}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:42px;align-items:center}
.hero-content{padding-top:18px;max-width:760px}.hero-lead{font-size:1.12rem;max-width:760px;margin-top:24px;color:rgba(244,241,234,.76)}
.hero-proof{display:grid;gap:10px;max-width:760px;margin:32px 0 0}.hero-proof span{position:relative;padding-left:22px;color:rgba(244,241,234,.86);font-size:.98rem}.hero-proof span::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--mineral);box-shadow:0 0 0 6px rgba(125,154,137,.13)}
.hero-statement{margin-top:28px;font-weight:700;color:var(--offwhite);font-size:1.05rem;max-width:760px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-visual{min-height:600px;display:grid;place-items:center;position:relative}
.conversion-visual{position:relative;width:min(760px,100%);height:470px}.conversion-visual--hero{filter:drop-shadow(0 28px 70px rgba(0,0,0,.18))}
.conversion-visual--animated{overflow:hidden;border:1px solid rgba(244,241,234,.12);border-radius:30px;background:linear-gradient(135deg,rgba(3,24,29,.38),rgba(7,38,45,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.hero-visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(244,241,234,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,.06) 1px,transparent 1px);background-size:48px 48px;opacity:.52}
.signal-network{position:absolute;left:0;width:58%;height:42%;pointer-events:none}
.signal-network--top{top:12%}
.signal-network--bottom{bottom:12%}
.trace{position:absolute;left:0;height:1.5px;border-radius:999px;transform-origin:left center;background:linear-gradient(90deg,rgba(244,241,234,.65),rgba(244,241,234,.18));opacity:.9}
.trace::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:70%;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.8),rgba(255,255,255,0));background-size:180px 100%;animation:traceFlow 7.2s linear infinite}
.signal-network--top .t1{top:4%;width:52%;transform:rotate(8deg)}
.signal-network--top .t2{top:14%;width:58%;transform:rotate(11deg)}
.signal-network--top .t3{top:24%;width:64%;transform:rotate(9deg)}
.signal-network--top .t4{top:38%;width:72%;transform:rotate(6deg)}
.signal-network--top .t5{top:54%;width:79%;transform:rotate(3deg)}
.signal-network--top .t6{top:70%;width:84%;transform:rotate(1deg)}
.signal-network--bottom .t7{top:8%;width:86%;transform:rotate(-1deg)}
.signal-network--bottom .t8{top:24%;width:81%;transform:rotate(-3deg)}
.signal-network--bottom .t9{top:38%;width:75%;transform:rotate(-5deg)}
.signal-network--bottom .t10{top:54%;width:67%;transform:rotate(-8deg)}
.signal-network--bottom .t11{top:68%;width:60%;transform:rotate(-11deg)}
.signal-network--bottom .t12{top:82%;width:54%;transform:rotate(-13deg)}
.trace-nodes{position:absolute;inset:0;pointer-events:none}
.trace-nodes i{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(244,241,234,.75);box-shadow:0 0 0 5px rgba(244,241,234,.05)}
.trace-nodes i:nth-child(3n){background:var(--silver)}
.trace-nodes i:nth-child(4n){background:var(--mineral);box-shadow:0 0 0 7px rgba(125,154,137,.06)}
.n1{left:2%;top:14%}.n2{left:8%;top:20%}.n3{left:12%;top:28%}.n4{left:4%;top:37%}.n5{left:10%;top:47%}.n6{left:3%;top:56%}
.n7{left:6%;top:64%}.n8{left:12%;top:71%}.n9{left:5%;top:80%}.n10{left:16%;top:17%}.n11{left:18%;top:34%}.n12{left:18%;top:76%}
.membrane-stack{position:absolute;left:49.5%;top:50%;width:214px;height:270px;display:grid;place-items:center;transform:translate(-50%,-50%)}
.membrane-stack div{position:absolute;width:86px;height:214px;border:1px solid rgba(244,241,234,.44);background:rgba(244,241,234,.065);backdrop-filter:blur(8px);transform:skewY(-12deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.membrane-stack div:nth-child(1){left:26px;opacity:.46;animation:panelFloat 8s ease-in-out infinite}
.membrane-stack div:nth-child(2){left:72px;background:rgba(244,241,234,.095);opacity:.72;animation:panelFloat 8s ease-in-out infinite 1.2s}
.membrane-stack div:nth-child(3){left:118px;opacity:.46;animation:panelFloat 8s ease-in-out infinite 2.2s}
.membrane-stack img{width:92px;position:relative;z-index:2;opacity:.9;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));animation:isotypeFloat 7s ease-in-out infinite}
.decision-beam{position:absolute;left:58.5%;right:8%;top:50%;height:1.5px;background:linear-gradient(90deg,rgba(244,241,234,.72),rgba(244,241,234,.5),rgba(169,231,200,.38));transform:translateY(-50%)}
.decision-beam::before{content:"";position:absolute;inset:-2px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);background-size:180px 100%;animation:beamSweep 4.8s linear infinite}
.decision-target{position:absolute;right:5.5%;top:50%;transform:translateY(-50%);width:76px;height:76px;display:grid;place-items:center}
.decision-target::before,.decision-target::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(169,231,200,.2);inset:12px}
.decision-target::after{inset:0;opacity:.45}
.decision-target span{width:16px;height:16px;border-radius:50%;background:#A9E7C8;box-shadow:0 0 0 12px rgba(125,154,137,.13),0 0 0 24px rgba(125,154,137,.06),0 0 24px rgba(169,231,200,.7);animation:targetPulse 3.8s ease-in-out infinite}
@keyframes traceFlow{0%{background-position:-220px 0;opacity:.35}18%{opacity:.85}100%{background-position:220px 0;opacity:.35}}
@keyframes beamSweep{0%{background-position:-220px 0}100%{background-position:220px 0}}
@keyframes panelFloat{0%,100%{transform:translateY(0) skewY(-12deg)}50%{transform:translateY(-8px) skewY(-12deg)}}
@keyframes isotypeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes targetPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 12px rgba(125,154,137,.13),0 0 0 24px rgba(125,154,137,.06),0 0 24px rgba(169,231,200,.7)}50%{transform:scale(1.08);box-shadow:0 0 0 16px rgba(125,154,137,.11),0 0 0 30px rgba(125,154,137,.05),0 0 28px rgba(169,231,200,.82)}}

/* Philosophy */
.philosophy{
  padding:108px 0 96px;
}
.philosophy-intro{
  max-width:980px;
  margin:0 auto 40px;
  text-align:center;
}
.philosophy-intro h2{
  max-width:880px;
  margin-inline:auto;
}
.philosophy-copy-text{
  max-width:820px;
  margin:24px auto 0;
  display:grid;
  gap:10px;
}
.philosophy-copy-text p{
  font-size:1.03rem;
  color:rgba(19,38,43,.72);
}
.philosophy-flow{
  position:relative;
  min-height:320px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 50%,rgba(125,154,137,.09),transparent 22%),
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.62),transparent 42%);
}
.philosophy-flow::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(16,44,50,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,44,50,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}
.philosophy-flow::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,var(--offwhite) 0%,rgba(244,241,234,.32) 16%,rgba(244,241,234,0) 50%,rgba(244,241,234,.32) 84%,var(--offwhite) 100%),
    linear-gradient(180deg,var(--offwhite) 0%,rgba(244,241,234,0) 18%,rgba(244,241,234,0) 82%,var(--offwhite) 100%);
  pointer-events:none;
}
.philosophy-flow-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.flow-left-lines path,
.flow-right-lines path{
  opacity:.86;
}
.flow-nodes circle{
  fill:rgba(125,154,137,.74);
}
.flow-pairs{
  position:absolute;
  left:0;
  top:51px;
  width:330px;
  display:grid;
  gap:20px;
}
.flow-row{
  display:grid;
  grid-template-columns:82px 30px 1fr;
  align-items:center;
  gap:8px;
  min-height:22px;
  font-size:.82rem;
  color:rgba(16,44,50,.74);
}
.flow-row span,
.flow-row strong,
.flow-results li{
  font-weight:700;
  letter-spacing:-.01em;
}
.flow-row span{
  text-align:right;
}
.flow-row i{
  font-style:normal;
  text-align:center;
  font-family:"IBM Plex Mono",monospace;
  color:rgba(16,44,50,.34);
  font-size:.78rem;
}
.flow-row strong{
  color:rgba(16,44,50,.72);
}
.flow-core{
  position:absolute;
  left:50%;
  top:50%;
  width:250px;
  height:270px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
}
.flow-pane{
  position:absolute;
  width:116px;
  height:235px;
  border:1px solid rgba(16,44,50,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(125,154,137,.13));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46);
  transform:skewY(-12deg);
}
.flow-pane--one{left:42px;opacity:.6}
.flow-pane--two{left:78px;opacity:.74;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(125,154,137,.18))}
.flow-pane--three{left:116px;opacity:.48}
.flow-core img{
  position:relative;
  z-index:2;
  width:112px;
  opacity:.76;
  filter:drop-shadow(0 18px 24px rgba(16,44,50,.14));
}
.flow-results{
  position:absolute;
  right:0;
  top:51px;
  width:330px;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:20px;
}
.flow-results li{
  position:relative;
  min-height:22px;
  padding-left:34px;
  display:flex;
  align-items:center;
  font-size:.86rem;
  color:rgba(125,154,137,.92);
}
.flow-results li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translateY(-50%);
  background:rgba(125,154,137,.8);
  box-shadow:0 0 0 6px rgba(125,154,137,.1);
}
.impact-line{
  padding:64px 0;
  border-block:1px solid var(--line);
  text-align:center;
}
.impact-inner{
  max-width:980px;
}
.impact-line h2{
  font-size:clamp(1.55rem,2.45vw,2.35rem);
  letter-spacing:-.035em;
}
.impact-line p{
  margin:10px auto 0;
  max-width:900px;
  font-size:1.08rem;
  color:var(--petroleum);
}
.impact-line--dark{
  background:
    radial-gradient(circle at 78% 42%,rgba(125,154,137,.18),transparent 28%),
    linear-gradient(135deg,#0E252B 0%,#07191E 100%);
  border-block-color:rgba(244,241,234,.12);
}
.impact-line--dark h2,
.impact-line--dark p{
  color:var(--offwhite);
}
.impact-line--dark p{
  opacity:.78;
}

/* What we do */
.what-we-do{padding:104px 0}.statement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.statement-grid--centered{align-items:center}.statement-grid p{font-size:1.04rem;margin-top:18px}.clarity-diagram{margin-top:72px;display:grid;grid-template-columns:1fr 64px 1fr 64px 1fr;align-items:stretch;gap:0}.clarity-diagram article{min-height:300px;border:1px solid var(--line);background:rgba(255,255,255,.38);padding:28px;border-radius:24px;position:relative;overflow:hidden}.clarity-diagram article::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(30,34,36,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(30,34,36,.04) 1px,transparent 1px);background-size:35px 35px}.clarity-diagram span{position:relative;z-index:1;display:block;font-family:"IBM Plex Mono",monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--mineral);margin-bottom:12px}.clarity-diagram strong{position:relative;z-index:1;display:block;max-width:290px;color:var(--petroleum);font-size:1.05rem;line-height:1.38}.diagram-arrow{position:relative}.diagram-arrow::before{content:"";position:absolute;top:50%;left:10px;right:10px;height:1px;background:rgba(16,44,50,.28)}.diagram-arrow::after{content:"";position:absolute;right:10px;top:calc(50% - 4px);width:8px;height:8px;border-top:1px solid rgba(16,44,50,.32);border-right:1px solid rgba(16,44,50,.32);transform:rotate(45deg)}
.chaos-field{position:absolute;left:8%;right:8%;bottom:18%;top:43%}.chaos-field i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--silver)}.chaos-field i:nth-child(3n){background:var(--mineral)}.chaos-field i:nth-child(1){left:4%;top:20%}.chaos-field i:nth-child(2){left:17%;top:64%}.chaos-field i:nth-child(3){left:26%;top:36%}.chaos-field i:nth-child(4){left:34%;top:78%}.chaos-field i:nth-child(5){left:42%;top:16%}.chaos-field i:nth-child(6){left:52%;top:50%}.chaos-field i:nth-child(7){left:61%;top:26%}.chaos-field i:nth-child(8){left:75%;top:67%}.chaos-field i:nth-child(9){left:84%;top:36%}.chaos-field i:nth-child(10){left:92%;top:84%}.chaos-field i:nth-child(11){left:12%;top:5%}.chaos-field i:nth-child(12){left:66%;top:88%}.chaos-field::before,.chaos-field::after{content:"";position:absolute;left:3%;right:6%;top:48%;height:1px;background:rgba(16,44,50,.18);transform:rotate(13deg)}.chaos-field::after{transform:rotate(-11deg);top:58%}.diagram-core{box-shadow:0 24px 80px rgba(16,44,50,.12)}.mini-membrane{position:absolute;inset:auto 0 22px 0;display:grid;place-items:center}.mini-membrane::before,.mini-membrane::after{content:"";position:absolute;width:105px;height:170px;border:1px solid rgba(16,44,50,.15);background:rgba(221,226,223,.42);transform:skewY(-14deg)}.mini-membrane::after{transform:translateX(44px) skewY(-14deg);opacity:.55}.mini-membrane img{position:relative;z-index:2;width:76px}.decision-lines{position:absolute;left:34px;right:38px;bottom:54px;display:grid;gap:16px}.decision-lines i{height:1px;background:linear-gradient(90deg,rgba(16,44,50,.14),rgba(125,154,137,.72))}.decision-lines b{position:absolute;right:0;top:32px;width:22px;height:22px;border-radius:50%;background:var(--mineral);box-shadow:0 0 0 16px rgba(125,154,137,.12),0 0 0 32px rgba(125,154,137,.06)}

/* Services */
.services{padding:104px 0}.services-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:62px;align-items:start}.services-layout .section-intro{position:sticky;top:110px}.services-layout .section-intro p{margin-top:22px;font-size:1.02rem}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-card{min-height:250px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.46);padding:28px;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(125,154,137,.45)}.service-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(125,154,137,.18) 1px,transparent 1px);background-size:14px 14px;mask-image:radial-gradient(circle at 88% 15%,#000,transparent 36%)}.service-card span{position:relative;z-index:1;font-family:"IBM Plex Mono",monospace;font-weight:600;color:var(--mineral);letter-spacing:.14em}.service-card h3{position:relative;z-index:1;margin-top:22px;font-size:1.35rem}.service-card p{position:relative;z-index:1;margin-top:12px;font-size:.96rem}.service-card small{position:relative;z-index:1;display:block;margin-top:18px;color:rgba(19,38,43,.7);font-size:.82rem;line-height:1.5;border-top:1px solid var(--line);padding-top:14px}

/* Method */
.method{padding:104px 0}.method-wrap{display:grid;grid-template-columns:1fr;gap:52px;align-items:start}.method-copy{max-width:900px;position:relative;top:auto;margin-inline:auto;text-align:center}.method-copy h2{font-size:clamp(3rem,5.4vw,5.2rem);line-height:.98;letter-spacing:-.05em;max-width:900px;margin-inline:auto}.method-copy p{margin:18px auto 0;font-size:1.08rem;max-width:760px}.method-path{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,336px);column-gap:18px;row-gap:46px;padding:10px 0 18px;min-height:auto;align-items:start}.method-path__line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.method-path__line path{fill:none;stroke:rgba(125,154,137,.46);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 7}.method-path__line circle{fill:var(--offwhite);stroke:rgba(125,154,137,.62);stroke-width:2.2}.path-step{position:relative;width:auto;height:336px;padding:22px 22px 24px;border:1px solid rgba(30,34,36,.08);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(247,244,238,.84));box-shadow:0 14px 34px rgba(5,23,28,.06);z-index:1;overflow:hidden}.path-step__num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(125,154,137,.46);font-family:"IBM Plex Mono",monospace;color:var(--mineral);font-size:.82rem;font-weight:700;margin-bottom:14px;background:rgba(255,255,255,.42)}.path-step__meta{margin:0 0 10px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(16,44,50,.6);line-height:1.6}.path-step h3{font-size:1rem;line-height:1.25;max-width:none}.path-step__lead{margin-top:10px;font-weight:500;color:rgba(16,44,50,.84)}.path-step p{margin-top:10px;font-size:.87rem;line-height:1.46;color:rgba(19,38,43,.72)}.step-1{grid-column:1 / span 3;grid-row:1}.step-3{grid-column:5 / span 3;grid-row:1}.step-5{grid-column:9 / span 3;grid-row:1}.step-2{grid-column:2 / span 3;grid-row:2}.step-4{grid-column:6 / span 3;grid-row:2}.step-6{grid-column:10 / span 3;grid-row:2}

@media (max-width: 1200px){.method-copy{max-width:100%;text-align:center}.method-copy h2,.method-copy p{max-width:100%}.method-path{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;padding-top:0;row-gap:18px;min-height:auto}.method-path__line{display:none}.step-1{grid-column:1 / span 2;grid-row:1}.step-3{grid-column:3 / span 2;grid-row:1}.step-5{grid-column:5 / span 2;grid-row:1}.step-2{grid-column:2 / span 2;grid-row:2}.step-4{grid-column:4 / span 2;grid-row:2}.step-6{grid-column:3 / span 2;grid-row:3}.path-step{height:auto;min-height:260px}}
@media (max-width: 767px){.method-wrap{gap:24px}.method-copy h2{font-size:clamp(2.5rem,12vw,3.9rem)}.method-copy p{max-width:100%}.method-path{grid-template-columns:1fr}.step-1,.step-2,.step-3,.step-4,.step-5,.step-6{grid-column:auto;grid-row:auto}.path-step{height:auto;min-height:auto}.path-step h3{max-width:none}}

/* Security */
.security{padding:112px 0;background:radial-gradient(circle at 72% 48%,rgba(125,154,137,.26),transparent 25%),linear-gradient(135deg,#08262C,#102C32)}.security-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:center}.security-copy p{margin:22px 0 28px;font-size:1.03rem}.security-visual{min-height:440px;position:relative;border:1px solid rgba(244,241,234,.14);border-radius:28px;background:rgba(244,241,234,.035);overflow:hidden}.security-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(244,241,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,.045) 1px,transparent 1px);background-size:44px 44px;opacity:.8}.security-inputs{position:absolute;left:36px;top:56px;display:grid;gap:24px;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.08em;color:rgba(244,241,234,.62)}.security-inputs span{position:relative;padding-right:70px}.security-inputs span::after{content:"";position:absolute;right:0;top:50%;width:58px;height:1px;background:rgba(184,193,190,.5)}.security-inputs span::before{content:"";position:absolute;right:0;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:rgba(184,193,190,.75)}.security-filter{position:absolute;left:39%;top:50%;transform:translateY(-50%);width:235px;height:310px;display:grid;place-items:center}.security-filter i{position:absolute;width:96px;height:250px;border:1px solid rgba(244,241,234,.36);background:rgba(244,241,234,.045);transform:skewY(-12deg)}.security-filter i:nth-child(1){left:12px}.security-filter i:nth-child(2){left:62px;background:rgba(244,241,234,.075)}.security-filter i:nth-child(3){left:112px}.security-filter img{position:relative;z-index:2;width:95px}.security-output{position:absolute;right:34px;top:52px;bottom:46px;display:grid;align-content:space-between;width:250px}.security-output article{position:relative;padding-left:26px}.security-output b{position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#A9E7C8;box-shadow:0 0 0 10px rgba(125,154,137,.13),0 0 24px rgba(169,231,200,.8)}.security-output span{display:block;font-weight:800;color:var(--offwhite)}.security-output small{display:block;margin-top:4px;color:rgba(244,241,234,.58);font-size:.78rem}.security-output article::before{content:"";position:absolute;left:-120px;top:.76em;width:104px;height:1px;background:rgba(184,193,190,.34)}

/* Cases */
.use-cases{padding:104px 0}.cases-layout{display:grid;grid-template-columns:.58fr 1.42fr;gap:56px;align-items:start}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.46);padding:24px;min-height:260px;position:relative;overflow:hidden}.case-card::before{content:"";position:absolute;top:22px;right:22px;width:54px;height:54px;border:1px solid rgba(125,154,137,.24);border-radius:14px;background:rgba(221,226,223,.2)}.case-card h3{font-size:1.08rem;margin-top:54px}.case-card p{margin-top:10px;font-size:.9rem}.case-card ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px}.case-card li{position:relative;padding-left:16px;font-size:.82rem;color:rgba(19,38,43,.72)}.case-card li::before{content:"";position:absolute;left:0;top:.72em;width:4px;height:4px;background:var(--mineral);border-radius:50%}

/* Principles */
.principles{padding:78px 0;border-block:1px solid var(--line)}.principles-row{display:grid;grid-template-columns:1.5fr repeat(6,1fr);gap:0;border:1px solid var(--line);background:rgba(255,255,255,.34)}.principles-row>div,.principles-row article{padding:28px;border-right:1px solid var(--line)}.principles-row article:last-child{border-right:0}.principles-row h2{font-size:clamp(1.7rem,2.5vw,2.55rem)}.principles-row article span{font-family:"IBM Plex Mono",monospace;color:var(--mineral);font-weight:600}.principles-row h3{font-size:.96rem;margin-top:18px}.principles-row p{font-size:.8rem;margin-top:8px}

/* Team */
.team{padding:106px 0}.team-header{text-align:center;max-width:980px}.team-header p{margin:24px auto 0;max-width:720px;font-size:1.06rem}.team-cards{display:grid;grid-template-columns:repeat(2,1fr);margin-top:68px;border:1px solid var(--line);background:rgba(255,255,255,.32)}.team-card{padding:42px}.team-card+ .team-card{border-left:1px solid var(--line)}.team-card span{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--mineral);font-weight:600}.team-card h3{font-size:1.9rem;margin-top:28px}.team-card p{margin-top:22px;font-size:1rem}

/* CTA/Form */
.cta-band{padding:104px 0;background:radial-gradient(circle at 10% 20%,rgba(244,241,234,.12),transparent 24%),radial-gradient(circle at 80% 70%,rgba(125,154,137,.2),transparent 28%),linear-gradient(135deg,#08262C,#102C32)}.cta-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);gap:70px;align-items:start}.cta-grid h2{font-size:clamp(2.1rem,4.3vw,4.5rem)}.cta-grid p{font-size:1.06rem;margin-top:22px}.analysis-form{display:grid;gap:14px;border:1px solid var(--line-dark);background:rgba(244,241,234,.06);border-radius:26px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.analysis-form label{display:grid;gap:7px}.analysis-form span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-family:"IBM Plex Mono",monospace;color:rgba(244,241,234,.68)}.analysis-form input,.analysis-form textarea{width:100%;border:1px solid rgba(244,241,234,.2);border-radius:14px;background:rgba(244,241,234,.08);color:#fff;padding:13px 14px;outline:0;resize:vertical;transition:border-color .2s var(--ease),background .2s var(--ease)}.analysis-form input::placeholder,.analysis-form textarea::placeholder{color:rgba(244,241,234,.38)}.analysis-form input:focus,.analysis-form textarea:focus{border-color:rgba(125,154,137,.8);background:rgba(244,241,234,.12)}.form-note{font-size:.8rem!important;color:rgba(244,241,234,.55)!important;margin:0!important}

/* FAQ */
.faq{padding:104px 0}.faq-layout{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;align-items:start}.faq-list{display:grid;gap:10px}.faq-item{border-bottom:1px solid var(--line);background:rgba(255,255,255,.24);border-radius:18px;overflow:hidden}.faq-item summary{list-style:none;display:grid;grid-template-columns:1fr 36px;gap:24px;align-items:center;padding:22px 24px;cursor:pointer;font-weight:800;color:var(--petroleum)}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{padding:0 24px 24px;max-width:800px}.faq-item summary i{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;position:relative}.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--petroleum);transform:translate(-50%,-50%)}.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item[open] summary i{background:rgba(125,154,137,.12);transform:rotate(45deg)}

.final-cta{padding:112px 0;text-align:center;background:linear-gradient(135deg,#102C32,#061F25)}.final-inner{max-width:920px}.final-inner img{width:90px;margin:0 auto 34px}.final-inner p{margin:22px auto 0;max-width:720px;font-size:1.1rem}.final-list{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:34px 0}.final-list span{border:1px solid var(--line-dark);border-radius:999px;padding:10px 14px;color:rgba(244,241,234,.72);font-size:.85rem}

/* Footer */
.site-footer{background:#071E23;color:var(--offwhite);padding:64px 0 36px;border-top:1px solid rgba(244,241,234,.08)}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,.75fr);gap:54px}.site-footer p{color:rgba(244,241,234,.58);font-size:.9rem;max-width:360px}.brand--footer{margin-bottom:20px}.site-footer h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(184,193,190,.86);font-family:"IBM Plex Mono",monospace;margin:0 0 18px}.site-footer a:not(.brand){display:block;color:rgba(244,241,234,.62);font-size:.9rem;margin-bottom:10px}.footer-claim{font-family:"IBM Plex Mono",monospace!important;letter-spacing:.08em;color:rgba(244,241,234,.78)!important}

/* Responsive */
@media (max-width:1120px){
  .site-nav{gap:18px}.hero-inner,.statement-grid,.services-layout,.security-panel,.cases-layout,.cta-grid,.faq-layout{grid-template-columns:1fr}.hero-visual{min-height:470px;order:-1;opacity:.92}.conversion-visual{height:430px}.philosophy-map-card{grid-template-columns:1fr;gap:28px;padding:34px 28px}.philosophy-map-left{gap:18px}.map-link{grid-template-columns:minmax(74px,max-content) 30px minmax(118px,max-content) 12px minmax(0,1fr)}.philosophy-map-core{order:2;min-height:220px}.philosophy-map-results{order:3;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.philosophy-map-results li::before{display:none}.clarity-diagram{grid-template-columns:1fr;gap:14px}.diagram-arrow{height:36px}.diagram-arrow::before{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto}.diagram-arrow::after{left:calc(50% - 4px);right:auto;top:auto;bottom:4px;transform:rotate(135deg)}.services-layout .section-intro{position:relative;top:auto}.method-wrap{grid-template-columns:1fr;gap:32px}.method-copy{position:relative;top:auto;max-width:100%}.method-path{min-height:auto;padding-top:24px;display:grid;gap:18px}.method-path__line,.path-node{display:none}.path-step{position:relative;left:auto;right:auto;top:auto;width:auto}.step-1,.step-2,.step-3,.step-4,.step-5,.step-6{left:auto;right:auto;top:auto}.principles-row{grid-template-columns:repeat(2,1fr)}.principles-row>div{grid-column:1/-1}.principles-row article:nth-child(2n+1){border-right:0}.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .nav-toggle{display:block}.site-nav{position:fixed;inset:72px 16px auto 16px;display:grid;gap:0;background:rgba(16,44,50,.97);border:1px solid rgba(244,241,234,.12);border-radius:22px;padding:12px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);box-shadow:0 26px 70px rgba(0,0,0,.28)}.site-nav.is-open{opacity:1;transform:none;pointer-events:auto}.site-nav a{padding:14px 12px;border-radius:12px}.nav-cta{margin-top:8px;text-align:center}.hero{padding-top:110px}.hero-inner{gap:18px}.hero-visual{min-height:320px}.conversion-visual{height:320px;transform:scale(.84)}.hero-proof span{font-size:.92rem}.services-grid,.cases-grid,.team-cards,.security-output{grid-template-columns:1fr}.relation-left,.relation-right,.relation-output{grid-template-columns:1fr}.security-visual{min-height:620px}.security-inputs{left:24px;top:32px}.security-filter{left:50%;top:46%;transform:translate(-50%,-50%)}.security-output{left:24px;right:24px;top:auto;bottom:28px;width:auto;gap:14px}.security-output article::before{display:none}.method-wrap{gap:24px}.method-path{display:grid;gap:16px}.path-step{padding:20px 18px}.path-step h3{max-width:none}.path-step__meta{font-size:.65rem;letter-spacing:.14em}.principles-row{grid-template-columns:1fr}.principles-row>div,.principles-row article{border-right:0;border-bottom:1px solid var(--line)}.principles-row article:last-child{border-bottom:0}.team-card+.team-card{border-left:0;border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr}.brand-name{letter-spacing:.28em}.brand-claim{letter-spacing:.22em}.site-footer .brand-name{font-size:.82rem}
}
@media (max-width:560px){
  .container{width:min(100% - 28px,var(--container))}h1{font-size:2.35rem}h2{font-size:2.08rem}.hero-actions,.button{width:100%}.hero{padding-bottom:62px}.hero-visual{min-height:260px}.conversion-visual{transform:scale(.68);transform-origin:center}.brand-mark{width:36px}.brand-claim{display:none}.philosophy,.what-we-do,.services,.method,.security,.use-cases,.team,.cta-band,.faq,.final-cta{padding-block:76px}.philosophy-map-card{padding:28px 18px;border-radius:26px}.philosophy-intro{margin-bottom:24px}.map-link{grid-template-columns:1fr;row-gap:6px;justify-items:start}.map-swap,.map-node,.map-bridge{display:none}.map-term{font-size:1rem}.philosophy-map-results{grid-template-columns:1fr;gap:18px}.philosophy-map-results span:last-child{font-size:.98rem}.service-card,.team-card{padding:24px}.team-card h3{font-size:1.45rem}.final-list{display:grid}.footer-grid{gap:34px}.impact-line h2{font-size:1.7rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}
}


/* Hero refinements v5: full-background animated visual + wider left text block */
.hero{overflow:hidden}
.hero-inner{position:relative;display:block;min-height:clamp(620px,76svh,860px)}
.hero-inner::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(6,37,43,.94) 0%,rgba(6,37,43,.86) 28%,rgba(6,37,43,.56) 48%,rgba(6,37,43,.16) 68%,rgba(6,37,43,0) 82%)}
.hero-content{position:relative;z-index:3;width:min(66vw,920px);max-width:none;padding:44px 0 44px}
.hero-lead,.hero-proof,.hero-statement{max-width:820px}
.hero-visual{position:absolute;inset:-10px 0 0 0;z-index:1;min-height:auto;display:block;pointer-events:none}
.conversion-visual{width:100%;height:100%}
.conversion-visual--hero{filter:none;opacity:.98}
.conversion-visual--animated{overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
.hero-visual-grid{background-size:52px 52px;opacity:.38}
.membrane-stack--hero{left:55%}
.decision-beam{left:60.5%;right:7%}
.decision-target{right:4.2%}

@media (max-width:1120px){
  .hero-inner{display:block;min-height:640px}
  .hero-inner::before{background:linear-gradient(90deg,rgba(6,37,43,.95) 0%,rgba(6,37,43,.86) 42%,rgba(6,37,43,.36) 66%,rgba(6,37,43,.06) 84%,rgba(6,37,43,0) 100%)}
  .hero-content{width:min(74%,780px);padding:34px 0 34px}
  .hero-visual{position:absolute;inset:0;min-height:auto;order:initial;opacity:1}
  .conversion-visual{height:100%;transform:none}
}

@media (max-width:820px){
  .hero{padding-top:110px;padding-bottom:72px}
  .hero-inner{min-height:560px}
  .hero-inner::before{background:linear-gradient(180deg,rgba(6,37,43,.82) 0%,rgba(6,37,43,.78) 28%,rgba(6,37,43,.56) 54%,rgba(6,37,43,.18) 78%,rgba(6,37,43,0) 100%)}
  .hero-content{width:min(100%,700px);padding:14px 0 28px}
  .hero-visual{inset:0}
  .conversion-visual{height:100%;transform:none}
  .membrane-stack--hero{left:58%;transform:translate(-50%,-50%) scale(.92)}
  .signal-network{width:64%}
  .decision-beam{left:63%}
  .decision-target{right:4%}
}

@media (max-width:560px){
  .hero-inner{min-height:500px}
  .hero-content{width:100%;padding:6px 0 16px}
  .hero-inner::before{background:linear-gradient(180deg,rgba(6,37,43,.9) 0%,rgba(6,37,43,.82) 38%,rgba(6,37,43,.62) 66%,rgba(6,37,43,.2) 88%,rgba(6,37,43,0) 100%)}
  .hero-visual{inset:12px -18px -6px -18px}
  .conversion-visual{transform:none}
  .signal-network{width:72%}
  .membrane-stack--hero{left:60%;transform:translate(-50%,-50%) scale(.76)}
  .decision-beam{left:67%;right:10%}
  .decision-target{width:58px;height:58px;right:6%}
  .decision-target span{width:13px;height:13px}
}

/* Hero refinement v6: clean professional integrated hero image */
.hero{position:relative;overflow:hidden;background:#102C32;min-height:100svh;padding:132px 0 92px}
.hero-bg{background:linear-gradient(135deg,#102C32 0%,#06252B 58%,#092D34 100%)}
.hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,37,43,.98) 0%,rgba(6,37,43,.94) 24%,rgba(6,37,43,.78) 45%,rgba(6,37,43,.28) 67%,rgba(6,37,43,.04) 100%);z-index:2;pointer-events:none}
.hero-bg::after{content:"";position:absolute;z-index:1;right:0;top:50%;transform:translateY(-50%);width:min(72vw,1120px);height:min(58vw,620px);background:url("assets/hero-conversion.png") right center / contain no-repeat;opacity:.95;filter:saturate(.98) contrast(1.02);pointer-events:none}
.grid-field{opacity:.22;mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%)}
.hero-glow--one{right:3%;top:34%;opacity:.26}.hero-glow--two{left:-10%;bottom:-16%;opacity:.32}
.hero-inner{display:block;position:relative;z-index:3;min-height:clamp(560px,72svh,820px)}
.hero-inner::before{display:none!important}
.hero-content{width:min(66vw,960px);max-width:none;padding:62px 0 48px;position:relative;z-index:4}
.hero-content h1{max-width:900px}
.hero-lead{max-width:780px;color:rgba(244,241,234,.78)}
.hero-proof{max-width:820px}
.hero-statement{max-width:780px}
.hero-visual{display:none!important}
.conversion-visual--animated{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

@media (max-width:1120px){
  .hero-bg::before{background:linear-gradient(90deg,rgba(6,37,43,.98) 0%,rgba(6,37,43,.9) 38%,rgba(6,37,43,.55) 64%,rgba(6,37,43,.1) 100%)}
  .hero-bg::after{width:78vw;height:58vw;right:-8vw;opacity:.68}
  .hero-content{width:min(74vw,840px)}
}
@media (max-width:820px){
  .hero{padding-top:112px;min-height:auto}
  .hero-inner{min-height:0}
  .hero-bg::before{background:linear-gradient(180deg,rgba(6,37,43,.96) 0%,rgba(6,37,43,.9) 48%,rgba(6,37,43,.62) 72%,rgba(6,37,43,.18) 100%)}
  .hero-bg::after{width:120vw;height:70vw;right:-36vw;top:57%;opacity:.35}
  .hero-content{width:100%;padding:20px 0 28px}
}
@media (max-width:560px){
  .hero-bg::after{width:150vw;height:86vw;right:-62vw;top:64%;opacity:.28}
}


/* Hero refinement v7: vectorial integrated background hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#102C32 0%,#09262d 48%,#082227 100%);min-height:100svh;padding:132px 0 92px}
.hero-bg{background:none!important}
.hero-bg::before,.hero-bg::after{display:none!important}
.hero-inner{position:relative;display:block;min-height:clamp(620px,76svh,860px);isolation:isolate}
.hero-inner::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(7,30,35,.97) 0%,rgba(7,30,35,.92) 24%,rgba(7,30,35,.74) 43%,rgba(7,30,35,.34) 62%,rgba(7,30,35,0) 82%)}
.hero-content{position:relative;z-index:3;width:min(66%,880px);max-width:none;padding:44px 0 44px}
.hero-content h1{font-size:clamp(2.7rem,4.6vw,5.1rem);max-width:12ch}
.hero-lead,.hero-proof,.hero-statement{max-width:760px}
.hero-visual{position:absolute;inset:0;z-index:1;pointer-events:none;min-height:auto;display:block}
.hero-visual--vector{overflow:hidden}
.hero-system-visual{width:100%;height:100%;display:block}
.hero-system-visual .flow-line{fill:none;stroke:url(#lineGrad);stroke-width:2.1;stroke-linecap:round;stroke-dasharray:10 14;opacity:.82;animation:heroFlow 11s linear infinite}
.hero-system-visual .flow-line.f2{animation-delay:-1.2s}.hero-system-visual .flow-line.f3{animation-delay:-2.1s}.hero-system-visual .flow-line.f4{animation-delay:-3.1s}.hero-system-visual .flow-line.f5{animation-delay:-1.8s}.hero-system-visual .flow-line.f6{animation-delay:-2.7s}.hero-system-visual .flow-line.f7{animation-delay:-3.8s}.hero-system-visual .flow-line.f8{animation-delay:-4.6s}.hero-system-visual .flow-line.f9{animation-delay:-5.2s}.hero-system-visual .flow-line.f10{animation-delay:-6.1s}.hero-system-visual .flow-line.f11{animation-delay:-6.8s}.hero-system-visual .flow-line.f12{animation-delay:-7.6s}
.hero-system-visual .flow-node{fill:rgba(244,241,234,.78);animation:heroNode 4.8s ease-in-out infinite}
.hero-system-visual .node-2,.hero-system-visual .node-4,.hero-system-visual .node-7,.hero-system-visual .node-9{fill:rgba(184,193,190,.66)}
.hero-system-visual .node-3,.hero-system-visual .node-6,.hero-system-visual .node-10{fill:rgba(125,154,137,.78)}
.hero-system-visual .hero-membranes{transform-origin:640px 262px;animation:heroMembrane 9s ease-in-out infinite}
.hero-system-visual .membrane{stroke:rgba(244,241,234,.18);stroke-width:1;filter:drop-shadow(0 20px 40px rgba(0,0,0,.10))}
.hero-system-visual .hero-logo-image{opacity:.92;filter:drop-shadow(0 8px 24px rgba(0,0,0,.18))}
.hero-system-visual .beam-core{fill:none;stroke:url(#beamGrad);stroke-width:2.6;stroke-linecap:round;filter:url(#softGlow);opacity:.98}
.hero-system-visual .beam-soft{fill:none;stroke:rgba(244,241,234,.16);stroke-width:13;stroke-linecap:round;opacity:.55}
.hero-system-visual .target-pulse{fill:none;stroke:#7D9A89;stroke-width:1.4;opacity:.4;transform-origin:center;animation:heroPulse 4s ease-out infinite}
.hero-system-visual .pulse-2{animation-delay:1s}.hero-system-visual .pulse-3{animation-delay:2s}
.hero-system-visual .target-core{fill:#7D9A89;filter:url(#softGlow);animation:heroCore 3s ease-in-out infinite}

@keyframes heroFlow{0%{stroke-dashoffset:320}100%{stroke-dashoffset:0}}
@keyframes heroNode{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes heroMembrane{0%,100%{transform:translateY(0px)}50%{transform:translateY(-6px)}}
@keyframes heroPulse{0%{opacity:.52;transform:scale(.72)}100%{opacity:0;transform:scale(1.42)}}
@keyframes heroCore{0%,100%{opacity:.86;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}

@media (max-width:1120px){
  .hero-inner{min-height:680px}
  .hero-inner::before{background:linear-gradient(90deg,rgba(7,30,35,.98) 0%,rgba(7,30,35,.9) 34%,rgba(7,30,35,.56) 56%,rgba(7,30,35,.14) 78%,rgba(7,30,35,0) 100%)}
  .hero-content{width:min(74%,760px)}
}
@media (max-width:820px){
  .hero{padding-top:110px;padding-bottom:70px}
  .hero-inner{min-height:620px}
  .hero-inner::before{background:linear-gradient(180deg,rgba(7,30,35,.92) 0%,rgba(7,30,35,.82) 32%,rgba(7,30,35,.56) 58%,rgba(7,30,35,.22) 84%,rgba(7,30,35,0) 100%)}
  .hero-content{width:100%;padding:14px 0 28px}
  .hero-system-visual{transform:scale(1.08);transform-origin:center}
}
@media (max-width:560px){
  .hero-inner{min-height:540px}
  .hero-content h1{font-size:clamp(2.2rem,9vw,3.1rem);max-width:11ch}
  .hero-system-visual{transform:scale(1.22);transform-origin:70% center}
}


/* Hero refinement v9: imagen de referencia reconstruida en SVG, integrada sin cortes */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:100svh;
  padding:132px 0 92px;
  background:
    radial-gradient(circle at 82% 47%, rgba(95,255,230,.12), transparent 28%),
    radial-gradient(circle at 54% 48%, rgba(255,255,255,.045), transparent 24%),
    linear-gradient(135deg,#061e24 0%,#082a31 48%,#031419 100%) !important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(126,252,239,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,252,239,.055) 1px, transparent 1px),
    radial-gradient(circle, rgba(126,252,239,.12) 1px, transparent 1.2px);
  background-size:72px 72px,72px 72px,18px 18px;
  background-position:center center;
  opacity:.62;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,24,29,.98) 0%, rgba(5,24,29,.94) 24%, rgba(5,24,29,.76) 42%, rgba(5,24,29,.34) 58%, rgba(5,24,29,.08) 74%, rgba(5,24,29,0) 100%),
    linear-gradient(180deg, rgba(5,24,29,.22) 0%, rgba(5,24,29,0) 28%, rgba(5,24,29,.22) 100%);
}
.hero-bg,
.hero-bg::before,
.hero-bg::after{background:none!important;display:none!important}
.hero-glow{display:none!important}
.hero-inner{
  position:relative;
  z-index:3;
  display:block;
  min-height:clamp(620px,76svh,860px);
  isolation:isolate;
}
.hero-inner::before{display:none!important}
.hero-content{
  position:relative;
  z-index:6;
  width:min(66vw,940px);
  max-width:none;
  padding:46px 0 44px;
}
.hero-content h1{
  max-width:920px!important;
  font-size:clamp(2.85rem,4.35vw,5.05rem);
  letter-spacing:-.065em;
}
.hero-lead,.hero-proof,.hero-statement{max-width:780px}
.hero-visual{
  position:absolute!important;
  z-index:1;
  top:0;
  bottom:0;
  left:calc((100vw - 100%) / -2);
  right:calc((100vw - 100%) / -2);
  min-height:auto!important;
  display:block!important;
  pointer-events:none;
  overflow:visible!important;
  opacity:1!important;
}
.hero-visual--dataflow{background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important}
.hero-dataflow-svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  transform:translateX(3.5%) scale(1.02);
  transform-origin:center right;
}
.hero-gridmarks path{
  fill:none;
  stroke:rgba(126,252,239,.08);
  stroke-width:1;
}
.circuit-line{
  fill:none;
  stroke:url(#vmCircuit);
  stroke-width:1.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.58;
  stroke-dasharray:420;
  stroke-dashoffset:420;
  animation:vmCircuitDraw 10s ease-in-out infinite;
}
.circuit-line:nth-child(3n){animation-delay:-2.2s;opacity:.42}
.circuit-line:nth-child(4n){animation-delay:-4.5s;stroke-width:1.45;opacity:.72}
.stream-line,
.fine-line{
  fill:none;
  stroke:url(#vmStream);
  stroke-linecap:round;
  opacity:.64;
  stroke-dasharray:12 18;
  animation:vmStreamMove 9s linear infinite;
}
.stream-line{stroke-width:1.15}
.fine-line{stroke-width:.72;opacity:.48;stroke-dasharray:4 12;animation-duration:7s}
.stream-line:nth-child(4n){animation-delay:-2.4s;opacity:.82;stroke-width:1.45}
.stream-line:nth-child(5n){animation-delay:-4.6s;opacity:.38}
.fine-line:nth-child(3n){animation-delay:-1.8s}.fine-line:nth-child(4n){animation-delay:-3.6s}
.data-node{
  fill:#dffff9;
  opacity:.58;
  transform-box:fill-box;
  transform-origin:center;
  animation:vmNodePulse 4.8s ease-in-out infinite;
}
.data-node:nth-child(3n){fill:#7efcef;opacity:.46;animation-delay:-1.2s}
.data-node:nth-child(5n){fill:#ffffff;opacity:.72;animation-delay:-2.8s}
.packet{fill:#aafff3;opacity:.86}
.processing-core{animation:vmCoreFloat 9s ease-in-out infinite;transform-origin:1160px 360px}
.glass-panel{
  fill:url(#vmPanel);
  stroke:rgba(224,255,250,.46);
  stroke-width:1.55;
  opacity:.72;
  vector-effect:non-scaling-stroke;
}
.panel-2{opacity:.82}.panel-3{opacity:.58}
.velmind-core{animation:vmCoreBreathe 5.8s ease-in-out infinite;transform-origin:1075px 365px}
.core-glow{opacity:.72;mix-blend-mode:screen}
.v-wing{
  fill:rgba(246,255,252,.50);
  stroke:rgba(236,255,251,.55);
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
}
.v-fold{fill:rgba(255,255,255,.21);stroke:rgba(224,255,250,.32);stroke-width:1;vector-effect:non-scaling-stroke}
.output-beam{opacity:.9}
.beam-wide{fill:rgba(146,255,238,.12);animation:vmBeamBreath 3.4s ease-in-out infinite}
.beam-core{fill:none;stroke:url(#vmBeam);stroke-width:2.2;stroke-linecap:round;opacity:.95}
.target-aura{opacity:.5;animation:vmTargetAura 4.8s ease-in-out infinite}
.target-ring{fill:none;stroke:rgba(126,252,239,.22);stroke-width:1.1;vector-effect:non-scaling-stroke;animation:vmRingPulse 4.8s ease-in-out infinite;transform-origin:center}
.ring-2{animation-delay:-1.6s}.ring-3{animation-delay:-3.2s}
.target-dot{fill:#93ffec;filter:url(#vmHeavyGlow);animation:vmDotPulse 2.8s ease-in-out infinite;transform-origin:center}

@keyframes vmStreamMove{to{stroke-dashoffset:-300}}
@keyframes vmCircuitDraw{0%{stroke-dashoffset:420;opacity:.08}25%,70%{opacity:.62}100%{stroke-dashoffset:-420;opacity:.12}}
@keyframes vmNodePulse{0%,100%{opacity:.34;transform:scale(.82)}50%{opacity:.96;transform:scale(1.18)}}
@keyframes vmCoreFloat{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
@keyframes vmCoreBreathe{0%,100%{opacity:.78;transform:scale(.985)}50%{opacity:1;transform:scale(1.018)}}
@keyframes vmBeamBreath{0%,100%{opacity:.10}50%{opacity:.34}}
@keyframes vmTargetAura{0%,100%{opacity:.30;transform:scale(.92)}50%{opacity:.58;transform:scale(1.06)}}
@keyframes vmRingPulse{0%,100%{opacity:.14;transform:scale(.96)}50%{opacity:.45;transform:scale(1.08)}}
@keyframes vmDotPulse{0%,100%{opacity:.84;transform:scale(.96)}50%{opacity:1;transform:scale(1.12)}}

@media (max-width:1100px){
  .hero-content{width:min(72vw,790px)}
  .hero::after{background:linear-gradient(90deg,rgba(5,24,29,.98) 0%,rgba(5,24,29,.90) 36%,rgba(5,24,29,.52) 60%,rgba(5,24,29,.12) 82%,rgba(5,24,29,0) 100%)}
  .hero-dataflow-svg{transform:translateX(10%) scale(1.08)}
}
@media (max-width:760px){
  .hero{padding-top:110px;padding-bottom:70px;min-height:auto}
  .hero-inner{min-height:620px}
  .hero::after{background:linear-gradient(180deg,rgba(5,24,29,.96) 0%,rgba(5,24,29,.88) 38%,rgba(5,24,29,.58) 66%,rgba(5,24,29,.20) 100%)}
  .hero-content{width:100%;padding:12px 0 28px}
  .hero-content h1{font-size:clamp(2.25rem,9vw,3.12rem);max-width:100%!important}
  .hero-dataflow-svg{transform:translateX(26%) translateY(8%) scale(1.28);opacity:.48}
}
@media (max-width:480px){
  .hero-inner{min-height:560px}
  .hero-dataflow-svg{transform:translateX(34%) translateY(12%) scale(1.45);opacity:.38}
}
@media (prefers-reduced-motion:reduce){
  .hero-dataflow-svg *, .hero::before{animation:none!important}
}

/* Hero v10 — composición vectorial profesional, legible y con logotipo real */
.hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:100svh!important;
  padding:132px 0 92px!important;
  background:
    radial-gradient(circle at 82% 49%, rgba(116,255,231,.13), transparent 24%),
    radial-gradient(circle at 58% 50%, rgba(255,255,255,.035), transparent 28%),
    linear-gradient(135deg,#061d23 0%,#082930 52%,#031419 100%)!important;
}

.hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(rgba(126,252,239,.052) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,252,239,.052) 1px, transparent 1px),
    radial-gradient(circle, rgba(126,252,239,.11) 1px, transparent 1.2px)!important;
  background-size:72px 72px,72px 72px,18px 18px!important;
  background-position:center center!important;
  opacity:.64!important;
}

.hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(5,22,27,.99) 0%,
      rgba(5,22,27,.98) 24%,
      rgba(5,22,27,.94) 40%,
      rgba(5,22,27,.74) 53%,
      rgba(5,22,27,.28) 66%,
      rgba(5,22,27,0) 82%),
    linear-gradient(180deg, rgba(5,22,27,.18) 0%, rgba(5,22,27,0) 30%, rgba(5,22,27,.28) 100%)!important;
}

.hero-bg,
.hero-bg::before,
.hero-bg::after,
.hero-glow{display:none!important;background:none!important;}

.hero-inner{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  min-height:clamp(620px,76svh,840px)!important;
  isolation:isolate!important;
}

.hero-inner::before{display:none!important;}

.hero-content{
  position:relative!important;
  z-index:6!important;
  width:min(54vw,760px)!important;
  max-width:760px!important;
  padding:54px 0 44px!important;
}

.hero-content h1{
  max-width:760px!important;
  font-size:clamp(2.75rem,4.05vw,4.82rem)!important;
  line-height:.98!important;
  letter-spacing:-.067em!important;
  text-wrap:balance;
  text-shadow:0 2px 26px rgba(0,0,0,.52)!important;
}

.hero-lead,
.hero-proof,
.hero-statement{
  max-width:700px!important;
  text-shadow:0 1px 18px rgba(0,0,0,.42)!important;
}

.hero-visual{
  position:absolute!important;
  z-index:1!important;
  top:82px!important;
  bottom:24px!important;
  left:48%!important;
  right:-7vw!important;
  width:auto!important;
  min-height:auto!important;
  display:block!important;
  pointer-events:none!important;
  overflow:visible!important;
  opacity:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.hero-visual--pro{
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 25%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 25%, #000 100%);
}

.hero-pro-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:visible!important;
  transform:translateX(0) scale(1)!important;
  transform-origin:center right!important;
}

.pro-grid path{
  fill:none;
  stroke:rgba(126,252,239,.075);
  stroke-width:1;
}

.pro-traces path{
  fill:none;
  stroke:url(#proCircuit);
  stroke-width:1.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.52;
  stroke-dasharray:520;
  stroke-dashoffset:520;
  animation:proTrace 12s ease-in-out infinite;
}

.pro-traces path:nth-child(2n){animation-delay:-2.4s;opacity:.42;}
.pro-traces path:nth-child(3n){animation-delay:-4.8s;opacity:.64;stroke-width:1.22;}

.pro-stream,
.pro-line{
  fill:none;
  stroke:url(#proStream);
  stroke-linecap:round;
  opacity:.62;
  animation:proFlow 9.8s linear infinite;
}

.pro-stream{
  stroke-width:1.18;
  stroke-dasharray:10 18;
}

.pro-line{
  stroke-width:.72;
  stroke-dasharray:3 12;
  opacity:.42;
  animation-duration:7.6s;
}

.pro-streams path:nth-child(2n){animation-delay:-1.8s;opacity:.48;}
.pro-streams path:nth-child(3n){animation-delay:-3.4s;opacity:.78;}
.pro-streams path:nth-child(5n){animation-delay:-5.2s;}

.pro-nodes circle{
  fill:#E9FFFB;
  opacity:.66;
  transform-box:fill-box;
  transform-origin:center;
  animation:proNode 4.8s ease-in-out infinite;
}

.pro-nodes circle:nth-child(3n){fill:#7DF9E8;opacity:.48;animation-delay:-1.2s;}
.pro-nodes circle:nth-child(4n){opacity:.86;animation-delay:-2.6s;}

.pro-panels{animation:proPanelFloat 8s ease-in-out infinite;transform-origin:640px 310px;}
.pro-panel{
  fill:url(#proPanel);
  stroke:rgba(230,255,251,.46);
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
  opacity:.68;
}
.pro-panel.p2{opacity:.82;}
.pro-panel.p3{opacity:.56;}

.pro-logo-core{
  transform-origin:548px 314px;
  animation:proLogoBreathe 6.2s ease-in-out infinite;
}

.pro-logo-core image{
  image-rendering:auto;
}

.pro-beam-wide{
  fill:rgba(126,252,239,.105);
  animation:proBeamPulse 3.7s ease-in-out infinite;
}

.pro-beam-core{
  fill:none;
  stroke:url(#proBeam);
  stroke-width:2.05;
  stroke-linecap:round;
  opacity:.92;
}

.pro-target{
  transform-origin:center;
}

.pro-orb-aura{
  opacity:.52;
  animation:proOrbAura 4.8s ease-in-out infinite;
  transform-origin:center;
}

.pro-ring{
  fill:none;
  stroke:rgba(126,252,239,.23);
  stroke-width:1.05;
  vector-effect:non-scaling-stroke;
  transform-origin:center;
  animation:proRing 4.8s ease-in-out infinite;
}

.pro-ring.r2{animation-delay:-1.6s;}
.pro-ring.r3{animation-delay:-3.2s;}

.pro-dot{
  fill:#96FFEC;
  animation:proDot 2.8s ease-in-out infinite;
  transform-origin:center;
}

@keyframes proFlow{to{stroke-dashoffset:-320;}}
@keyframes proTrace{0%{stroke-dashoffset:520;opacity:.06;}28%,70%{opacity:.58;}100%{stroke-dashoffset:-520;opacity:.10;}}
@keyframes proNode{0%,100%{opacity:.36;transform:scale(.86);}50%{opacity:.96;transform:scale(1.14);}}
@keyframes proPanelFloat{0%,100%{transform:translateX(0);opacity:.92;}50%{transform:translateX(10px);opacity:1;}}
@keyframes proLogoBreathe{0%,100%{transform:scale(.985);opacity:.86;}50%{transform:scale(1.015);opacity:1;}}
@keyframes proBeamPulse{0%,100%{opacity:.08;}50%{opacity:.32;}}
@keyframes proOrbAura{0%,100%{opacity:.34;transform:scale(.92);}50%{opacity:.62;transform:scale(1.06);}}
@keyframes proRing{0%,100%{opacity:.13;transform:scale(.96);}50%{opacity:.46;transform:scale(1.08);}}
@keyframes proDot{0%,100%{opacity:.84;transform:scale(.96);}50%{opacity:1;transform:scale(1.12);}}

@media (max-width:1200px){
  .hero-content{width:min(57vw,720px)!important;}
  .hero-visual{left:50%!important;right:-12vw!important;}
  .hero::after{
    background:
      linear-gradient(90deg, rgba(5,22,27,.99) 0%, rgba(5,22,27,.96) 34%, rgba(5,22,27,.78) 52%, rgba(5,22,27,.28) 70%, rgba(5,22,27,0) 88%),
      linear-gradient(180deg, rgba(5,22,27,.18) 0%, rgba(5,22,27,0) 30%, rgba(5,22,27,.28) 100%)!important;
  }
}

@media (max-width:900px){
  .hero{padding-top:110px!important;padding-bottom:72px!important;min-height:auto!important;}
  .hero-inner{min-height:660px!important;}
  .hero-content{width:100%!important;max-width:720px!important;padding:26px 0 30px!important;}
  .hero-content h1{font-size:clamp(2.3rem,8vw,3.4rem)!important;max-width:100%!important;}
  .hero::after{
    background:linear-gradient(180deg,rgba(5,22,27,.97) 0%,rgba(5,22,27,.93) 42%,rgba(5,22,27,.66) 68%,rgba(5,22,27,.24) 100%)!important;
  }
  .hero-visual{left:18%!important;right:-34vw!important;top:270px!important;bottom:0!important;opacity:.52!important;}
  .hero-pro-svg{transform:translateX(10%) scale(1.08)!important;}
}

@media (max-width:560px){
  .hero-inner{min-height:610px!important;}
  .hero-content{padding-top:8px!important;}
  .hero-visual{left:-2%!important;right:-72vw!important;top:315px!important;opacity:.38!important;}
  .hero-pro-svg{transform:translateX(20%) scale(1.24)!important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-pro-svg *,
  .hero::before{animation:none!important;}
}


/* Philosophy v12 — visual horizontal fiel a la referencia */
@media (max-width:980px){
  .philosophy-flow{
    min-height:560px;
  }
  .philosophy-flow-svg{
    display:none;
  }
  .flow-pairs,
  .flow-results,
  .flow-core{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:100%;
    transform:none;
  }
  .flow-pairs{
    padding-top:24px;
    max-width:520px;
    margin-inline:auto;
  }
  .flow-row{
    grid-template-columns:1fr 32px 1fr;
  }
  .flow-row span{
    text-align:right;
  }
  .flow-core{
    height:250px;
    margin:16px auto 10px;
  }
  .flow-pane--one{left:calc(50% - 100px)}
  .flow-pane--two{left:calc(50% - 62px)}
  .flow-pane--three{left:calc(50% - 24px)}
  .flow-results{
    max-width:430px;
    margin-inline:auto;
    gap:14px;
    padding-bottom:20px;
  }
}

@media (max-width:560px){
  .philosophy-intro{
    text-align:left;
  }
  .philosophy-copy-text{
    margin-top:20px;
  }
  .philosophy-flow{
    min-height:650px;
  }
  .flow-pairs{
    gap:14px;
  }
  .flow-row{
    grid-template-columns:1fr;
    justify-items:start;
    gap:4px;
    padding-left:20px;
  }
  .flow-row span{
    text-align:left;
  }
  .flow-row i{
    display:none;
  }
  .flow-core{
    margin-top:24px;
  }
  .flow-results{
    padding-left:18px;
  }
  .impact-line{
    padding:56px 0;
  }
  .impact-line p{
    font-size:1rem;
  }
}


/* v50 — fondo global real: el body usa el mismo fondo del hero/header en toda la página */
:root{
  --vm-bg-hero-1:#102C32;
  --vm-bg-hero-2:#06252B;
  --vm-bg-hero-3:#092D34;
  --vm-surface-a:rgba(16,44,50,.34);
  --vm-surface-b:rgba(9,31,37,.48);
  --vm-surface-border:rgba(184,193,190,.11);
  --vm-copy:rgba(244,241,234,.74);
}
html,body{
  min-height:100%;
  background:#06252B !important;
}
body{
  background:
    radial-gradient(circle at 84% 42%,rgba(125,154,137,.22),transparent 30%),
    radial-gradient(circle at 22% 12%,rgba(244,241,234,.08),transparent 25%),
    linear-gradient(135deg,var(--vm-bg-hero-1) 0%,var(--vm-bg-hero-2) 55%,var(--vm-bg-hero-3) 100%) !important;
  background-attachment:fixed,fixed,fixed !important;
  color:var(--offwhite);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(244,241,234,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,241,234,.055) 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.22;
  animation:vmGlobalGridMove 32s linear infinite;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 42%,rgba(169,231,200,.08),transparent 22%),
    radial-gradient(circle at 91% 66%,transparent 0 118px,rgba(244,241,234,.045) 119px 120px,transparent 121px),
    radial-gradient(circle at 76% 28%,transparent 0 168px,rgba(244,241,234,.055) 169px 170px,transparent 171px),
    linear-gradient(152deg,transparent 72%,rgba(244,241,234,.04) 72.12%,transparent 72.28%),
    linear-gradient(145deg,transparent 76%,rgba(125,154,137,.07) 76.12%,transparent 76.28%);
  opacity:.65;
}
body > *{
  position:relative;
  z-index:1;
}
main,
.hero,
#inicio,
.section-light,
.section-soft,
.section-dark,
.philosophy,
.impact-line,
.what-we-do,
.services,
.method,
.security,
.use-cases,
.team,
.cta-band,
.faq,
.final-cta,
.site-footer{
  background:transparent !important;
}
.section-light,.section-soft,.section-dark{
  color:var(--offwhite);
}
.section-light h1,.section-light h2,.section-light h3,
.section-soft h1,.section-soft h2,.section-soft h3,
.section-dark h1,.section-dark h2,.section-dark h3{
  color:var(--offwhite);
}
.section-light p,.section-soft p,.section-dark p,
.philosophy-copy-text p,.statement-grid p,.services-layout .section-intro p,.team-header p,.faq-layout p{
  color:var(--vm-copy) !important;
}
.eyebrow,.section-number,.eyebrow--light,.section-number--light{
  color:rgba(184,193,190,.9) !important;
}
/* header */
.site-header{
  background:transparent !important;
  border-bottom-color:transparent !important;
}
.site-header.is-scrolled{
  background:rgba(6,37,43,.72) !important;
  border-color:rgba(244,241,234,.10) !important;
  backdrop-filter:blur(16px);
}
/* hero: no local background, only the graphic */
.hero{
  position:relative;
  overflow:hidden;
}
.hero-bg{
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  background:none !important;
  overflow:hidden;
  pointer-events:none;
}
.grid-field,.hero-glow{
  display:none !important;
}
.hero-bg::before{
  display:none !important;
  content:none !important;
}
.hero-bg::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  z-index:1;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:min(72vw,1120px);
  height:min(58vw,620px);
  background:url("assets/hero-conversion.png") right center / contain no-repeat !important;
  opacity:.95;
  filter:saturate(.98) contrast(1.02);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:2;
  display:block;
  min-height:clamp(560px,72svh,820px);
}
.hero-inner::before{
  display:none !important;
}
.hero-content{
  width:min(66vw,960px);
  max-width:none;
  padding:62px 0 48px;
  position:relative;
  z-index:4;
}
.hero-content h1{max-width:900px}
.hero-lead,.hero-proof,.hero-statement{max-width:780px}
.hero-visual{display:none !important}
/* integrated surfaces */
.philosophy-map-card,.philosophy-flow,.clarity-diagram article,.service-card,.path-step,.case-card,.team-cards,.team-card,.faq-item,.security-visual,.analysis-form,.final-list span{
  background:linear-gradient(180deg,var(--vm-surface-a),var(--vm-surface-b)) !important;
  border:1px solid var(--vm-surface-border) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(10px);
}
.team-cards{overflow:hidden}
.team-card + .team-card{border-left:1px solid rgba(184,193,190,.08) !important}
.service-card::before,.case-card::before{opacity:.28}
.service-card span,.team-card span,.path-step__meta{color:rgba(184,193,190,.9) !important}
.clarity-diagram strong,.service-card h3,.path-step h3,.case-card h3,.team-card h3,.faq-item summary,.security-output span{
  color:var(--offwhite) !important;
}
.clarity-diagram p,.service-card p,.service-card small,.path-step p,.path-step__lead,.case-card p,.case-card li,.team-card p,.faq-item p,.security-copy p,.form-note{
  color:var(--vm-copy) !important;
}
.case-card li::before{background:rgba(184,193,190,.85) !important}
.faq-item summary i{border-color:rgba(184,193,190,.16) !important}
.faq-item summary i::before,.faq-item summary i::after{background:rgba(244,241,234,.78) !important}
.analysis-form span{color:rgba(184,193,190,.86) !important}
.analysis-form input,.analysis-form textarea{
  background:rgba(244,241,234,.045) !important;
  border:1px solid rgba(184,193,190,.12) !important;
  color:var(--offwhite) !important;
}
.analysis-form input::placeholder,.analysis-form textarea::placeholder{color:rgba(244,241,234,.42) !important}
.site-footer{border-top:1px solid rgba(184,193,190,.08) !important}
@keyframes vmGlobalGridMove{
  0%{background-position:0 0,0 0}
  100%{background-position:32px 16px,32px 16px}
}
@media (max-width:1120px){
  .hero-bg::after{width:78vw;height:58vw;right:-8vw;opacity:.68}
  .hero-content{width:min(74vw,840px)}
}
@media (max-width:820px){
  .hero{padding-top:112px;min-height:auto}
  .hero-inner{min-height:0}
  .hero-bg::after{width:120vw;height:70vw;right:-36vw;top:57%;opacity:.35}
  .hero-content{width:100%;padding:20px 0 28px}
}
@media (max-width:560px){
  .hero-bg::after{width:150vw;height:86vw;right:-62vw;top:64%;opacity:.28}
}
@media (prefers-reduced-motion:reduce){
  body::before{animation:none !important}
}


/* v51 — full-page dark overlay like header + restore animated hero element */
body::after{
  background:
    linear-gradient(rgba(6,37,43,.30), rgba(6,37,43,.30)),
    radial-gradient(circle at 84% 42%,rgba(169,231,200,.08),transparent 22%),
    radial-gradient(circle at 91% 66%,transparent 0 118px,rgba(244,241,234,.045) 119px 120px,transparent 121px),
    radial-gradient(circle at 76% 28%,transparent 0 168px,rgba(244,241,234,.055) 169px 170px,transparent 171px),
    linear-gradient(152deg,transparent 72%,rgba(244,241,234,.04) 72.12%,transparent 72.28%),
    linear-gradient(145deg,transparent 76%,rgba(125,154,137,.07) 76.12%,transparent 76.28%);
  opacity:1;
}

/* restore the animated vector hero instead of the screenshot layer */
.hero-bg::after{
  display:none !important;
  content:none !important;
}
.hero-inner{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap:42px !important;
  align-items:center !important;
  min-height:auto !important;
}
.hero-content{
  width:auto !important;
  max-width:760px !important;
  padding:18px 0 0 !important;
}
.hero-content h1,
.hero-lead,
.hero-proof,
.hero-statement{
  max-width:760px !important;
}
.hero-visual{
  display:grid !important;
  place-items:center !important;
  min-height:600px !important;
  position:relative !important;
  z-index:3 !important;
}
.hero-visual--pro{
  opacity:1 !important;
}
.hero-pro-svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

@media (max-width:1120px){
  .hero-inner{
    grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr) !important;
    gap:32px !important;
  }
}
@media (max-width:820px){
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .hero-visual{
    display:grid !important;
    order:-1 !important;
    opacity:.92 !important;
    min-height:320px !important;
  }
  .hero-content{
    width:100% !important;
    padding:20px 0 28px !important;
  }
}
@media (max-width:560px){
  .hero-visual{
    min-height:260px !important;
  }
}


/* v52 — hero animated graphic larger */
.hero-inner{
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.18fr) !important;
  gap:22px !important;
}
.hero-content{
  max-width:720px !important;
}
.hero-visual{
  min-height:720px !important;
  transform:translateX(7%) scale(1.18) !important;
  transform-origin:center right !important;
}
.hero-pro-svg{
  width:118% !important;
  max-width:none !important;
  height:118% !important;
  transform:translateX(4%) scale(1.08) !important;
  transform-origin:center right !important;
}

@media (max-width:1120px){
  .hero-inner{
    grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr) !important;
    gap:18px !important;
  }
  .hero-visual{
    min-height:620px !important;
    transform:translateX(5%) scale(1.12) !important;
  }
  .hero-pro-svg{
    width:112% !important;
    height:112% !important;
    transform:translateX(3%) scale(1.05) !important;
  }
}
@media (max-width:820px){
  .hero-inner{
    grid-template-columns:1fr !important;
  }
  .hero-visual{
    min-height:380px !important;
    transform:scale(1.08) !important;
  }
  .hero-pro-svg{
    width:108% !important;
    height:108% !important;
    transform:none !important;
  }
}
@media (max-width:560px){
  .hero-visual{
    min-height:310px !important;
    transform:scale(1.03) !important;
  }
}


/* v53 — larger hero graphic, recentered so it does not cut on the right */
.hero-inner{
  grid-template-columns:minmax(0,.96fr) minmax(500px,1.12fr) !important;
  gap:28px !important;
}
.hero-content{
  max-width:740px !important;
}
.hero-visual{
  min-height:720px !important;
  transform:translateX(-4%) scale(1.12) !important;
  transform-origin:center center !important;
}
.hero-pro-svg{
  width:116% !important;
  height:116% !important;
  max-width:none !important;
  transform:translateX(-6%) scale(1.03) !important;
  transform-origin:center center !important;
}
@media (max-width:1120px){
  .hero-inner{
    grid-template-columns:minmax(0,.98fr) minmax(420px,1.02fr) !important;
    gap:20px !important;
  }
  .hero-visual{
    min-height:620px !important;
    transform:translateX(-3%) scale(1.08) !important;
  }
  .hero-pro-svg{
    width:110% !important;
    height:110% !important;
    transform:translateX(-4%) scale(1.01) !important;
  }
}
@media (max-width:820px){
  .hero-visual{
    min-height:380px !important;
    transform:scale(1.04) !important;
  }
  .hero-pro-svg{
    width:104% !important;
    height:104% !important;
    transform:translateX(-1%) !important;
  }
}
@media (max-width:560px){
  .hero-visual{
    min-height:300px !important;
    transform:scale(1.01) !important;
  }
  .hero-pro-svg{
    width:102% !important;
    height:102% !important;
  }
}


/* v54 — hero graphic moved a bit more to the left */
.hero-visual{
  transform:translateX(-8%) scale(1.12) !important;
}
.hero-pro-svg{
  transform:translateX(-11%) scale(1.03) !important;
}
@media (max-width:1120px){
  .hero-visual{
    transform:translateX(-6%) scale(1.08) !important;
  }
  .hero-pro-svg{
    transform:translateX(-8%) scale(1.01) !important;
  }
}
@media (max-width:820px){
  .hero-pro-svg{
    transform:translateX(-3%) !important;
  }
}


/* v55 — remove hidden hero local layers and extend the dark overlay language to the whole page */
body{
  background-attachment:scroll, scroll, scroll !important;
}
body::after{
  background:
    linear-gradient(rgba(6,37,43,.34), rgba(6,37,43,.34)),
    radial-gradient(circle at 84% 42%,rgba(169,231,200,.08),transparent 22%),
    radial-gradient(circle at 91% 66%,transparent 0 118px,rgba(244,241,234,.045) 119px 120px,transparent 121px),
    radial-gradient(circle at 76% 28%,transparent 0 168px,rgba(244,241,234,.055) 169px 170px,transparent 171px),
    linear-gradient(152deg,transparent 72%,rgba(244,241,234,.04) 72.12%,transparent 72.28%),
    linear-gradient(145deg,transparent 76%,rgba(125,154,137,.07) 76.12%,transparent 76.28%) !important;
  opacity:1 !important;
}

/* kill any old hero pseudo layers that were creating the visual cut */
.hero::before,
.hero::after,
.hero-inner::before,
.hero-bg::before,
.hero-bg::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* the hero now uses only the global background + the animated SVG visual */
.hero,
#inicio,
main,
.section-light,
.section-soft,
.section-dark,
.philosophy,
.impact-line,
.what-we-do,
.services,
.method,
.security,
.use-cases,
.team,
.cta-band,
.faq,
.final-cta,
.site-footer{
  background:transparent !important;
}
.hero-bg{
  display:none !important;
}
.hero-inner{
  display:grid !important;
  grid-template-columns:minmax(0,.96fr) minmax(500px,1.12fr) !important;
  gap:28px !important;
  align-items:center !important;
  min-height:auto !important;
}
.hero-content{
  width:auto !important;
  max-width:740px !important;
  padding:18px 0 0 !important;
  position:relative;
  z-index:4;
}
.hero-visual{
  display:grid !important;
  place-items:center !important;
  min-height:720px !important;
  position:relative !important;
  z-index:3 !important;
  transform:translateX(-8%) scale(1.12) !important;
  transform-origin:center center !important;
}
.hero-pro-svg{
  width:116% !important;
  height:116% !important;
  max-width:none !important;
  display:block !important;
  transform:translateX(-11%) scale(1.03) !important;
  transform-origin:center center !important;
}

@media (max-width:1120px){
  .hero-inner{
    grid-template-columns:minmax(0,.98fr) minmax(420px,1.02fr) !important;
    gap:20px !important;
  }
  .hero-visual{
    min-height:620px !important;
    transform:translateX(-6%) scale(1.08) !important;
  }
  .hero-pro-svg{
    width:110% !important;
    height:110% !important;
    transform:translateX(-8%) scale(1.01) !important;
  }
}
@media (max-width:820px){
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .hero-visual{
    order:-1 !important;
    min-height:380px !important;
    transform:scale(1.04) !important;
  }
  .hero-pro-svg{
    width:104% !important;
    height:104% !important;
    transform:translateX(-3%) !important;
  }
  .hero-content{
    width:100% !important;
    padding:20px 0 28px !important;
  }
}
@media (max-width:560px){
  .hero-visual{
    min-height:300px !important;
    transform:scale(1.01) !important;
  }
  .hero-pro-svg{
    width:102% !important;
    height:102% !important;
  }
}


/* v56 — recover the darker premium density of v54 while keeping the global overlay */
body::after{
  background:
    linear-gradient(rgba(6,37,43,.44), rgba(6,37,43,.44)),
    radial-gradient(circle at 84% 42%,rgba(169,231,200,.07),transparent 22%),
    radial-gradient(circle at 91% 66%,transparent 0 118px,rgba(244,241,234,.04) 119px 120px,transparent 121px),
    radial-gradient(circle at 76% 28%,transparent 0 168px,rgba(244,241,234,.05) 169px 170px,transparent 171px),
    linear-gradient(152deg,transparent 72%,rgba(244,241,234,.032) 72.12%,transparent 72.28%),
    linear-gradient(145deg,transparent 76%,rgba(125,154,137,.055) 76.12%,transparent 76.28%) !important;
  opacity:1 !important;
}

/* extra subtle dark veil on the full page to avoid the lighter feel */
body::before{
  opacity:.28 !important;
}

/* keep cards integrated, but slightly darker as well */
.philosophy-map-card,
.philosophy-flow,
.clarity-diagram article,
.service-card,
.path-step,
.case-card,
.team-cards,
.team-card,
.faq-item,
.security-visual,
.analysis-form,
.final-list span{
  background:linear-gradient(180deg, rgba(13,37,43,.46), rgba(8,26,31,.58)) !important;
  border:1px solid rgba(184,193,190,.10) !important;
}


/* v57 — darker overall and with a clearer left-to-right gradient */
body{
  background:
    radial-gradient(circle at 84% 18%, rgba(125,154,137,.10), transparent 20%),
    radial-gradient(circle at 18% 10%, rgba(244,241,234,.022), transparent 18%),
    linear-gradient(90deg, #04161A 0%, #072028 38%, #0A2A33 100%) !important;
}
body::after{
  background:
    linear-gradient(90deg,
      rgba(3,16,20,.72) 0%,
      rgba(4,22,27,.62) 24%,
      rgba(5,29,34,.48) 52%,
      rgba(6,37,43,.32) 100%),
    radial-gradient(circle at 84% 42%, rgba(169,231,200,.06), transparent 22%),
    radial-gradient(circle at 91% 66%, transparent 0 118px, rgba(244,241,234,.038) 119px 120px, transparent 121px),
    radial-gradient(circle at 76% 28%, transparent 0 168px, rgba(244,241,234,.045) 169px 170px, transparent 171px),
    linear-gradient(152deg, transparent 72%, rgba(244,241,234,.028) 72.12%, transparent 72.28%),
    linear-gradient(145deg, transparent 76%, rgba(125,154,137,.048) 76.12%, transparent 76.28%) !important;
  opacity:1 !important;
}
body::before{
  opacity:.24 !important;
}
/* slight extra readability on the left without creating a section cut */
.hero-content{
  position:relative;
}
.hero-content::before{
  content:"";
  position:absolute;
  inset:-36px 8% -36px -60px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(4,18,22,.30) 0%, rgba(4,18,22,.18) 54%, rgba(4,18,22,0) 100%);
  filter:blur(12px);
}
@media (max-width:820px){
  .hero-content::before{
    inset:-24px -10px -24px -18px;
    background:linear-gradient(180deg, rgba(4,18,22,.24) 0%, rgba(4,18,22,.12) 54%, rgba(4,18,22,0) 100%);
  }
}


/* v58 — clearer, darker and more explanatory philosophy visual */
.philosophy-flow{
  min-height:360px;
  padding:28px 36px;
  border-radius:34px;
  border:1px solid rgba(184,193,190,.10);
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg, rgba(11,33,39,.56), rgba(8,26,31,.78)) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.03);
}
.philosophy-flow::before{
  background-image:
    linear-gradient(rgba(244,241,234,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,241,234,.03) 1px,transparent 1px) !important;
  background-size:46px 46px;
  opacity:.55;
  mask-image:none;
}
.philosophy-flow::after{
  background:
    radial-gradient(circle at 50% 50%, rgba(169,231,200,.12), transparent 22%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.05), transparent 36%),
    linear-gradient(90deg, rgba(7,20,24,.18) 0%, rgba(7,20,24,0) 18%, rgba(7,20,24,0) 82%, rgba(7,20,24,.18) 100%),
    linear-gradient(180deg, rgba(7,20,24,.16) 0%, rgba(7,20,24,0) 16%, rgba(7,20,24,0) 84%, rgba(7,20,24,.16) 100%) !important;
  opacity:1;
  pointer-events:none;
}
.flow-head{
  position:absolute;
  top:24px;
  z-index:3;
}
.flow-head span{
  display:block;
  font-family:"IBM Plex Mono", monospace;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  color:rgba(184,193,190,.88);
}
.flow-head small{
  display:block;
  margin-top:8px;
  font-size:.82rem;
  line-height:1.35;
  color:rgba(244,241,234,.58);
}
.flow-head--left{left:34px;width:258px}
.flow-head--center{left:50%;transform:translateX(-50%);width:260px;text-align:center}
.flow-head--right{right:34px;width:252px}
.philosophy-flow-svg{
  inset:70px 0 24px 0;
  width:100%;
  height:auto;
  min-height:250px;
}
.flow-left-lines path,
.flow-right-lines path{
  opacity:.98;
  stroke-width:1.25;
}
.flow-nodes circle{
  fill:rgba(169,231,200,.84);
}
.flow-pairs{
  top:98px;
  left:34px;
  width:316px;
  gap:18px;
  z-index:2;
}
.flow-row{
  grid-template-columns:92px 24px 1fr;
  gap:10px;
  min-height:26px;
  font-size:.9rem;
  color:rgba(244,241,234,.78);
}
.flow-row span{
  text-align:right;
  color:rgba(244,241,234,.82);
}
.flow-row i{
  color:rgba(169,231,200,.72);
  font-size:.8rem;
}
.flow-row strong{
  color:rgba(169,231,200,.94);
  font-weight:700;
}
.flow-core{
  width:272px;
  height:286px;
  top:56%;
}
.flow-core::before{
  content:"";
  position:absolute;
  inset:34px 38px 26px;
  background:radial-gradient(circle at 50% 44%, rgba(169,231,200,.10), transparent 54%);
  filter:blur(12px);
}
.flow-pane{
  width:122px;
  height:244px;
  border:1px solid rgba(244,241,234,.18);
  background:linear-gradient(180deg, rgba(244,241,234,.12), rgba(125,154,137,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.flow-pane--one{left:34px;opacity:.48}
.flow-pane--two{left:78px;opacity:.68}
.flow-pane--three{left:122px;opacity:.42}
.flow-core img{
  width:94px;
  opacity:.92;
  filter:drop-shadow(0 10px 26px rgba(169,231,200,.18));
}
.flow-results{
  top:98px;
  right:34px;
  width:286px;
  gap:18px;
  z-index:2;
}
.flow-results li{
  min-height:26px;
  padding-left:26px;
  font-size:.92rem;
  color:rgba(244,241,234,.86);
}
.flow-results li::before{
  width:7px;
  height:7px;
  background:rgba(169,231,200,.92);
  box-shadow:0 0 0 8px rgba(169,231,200,.08), 0 0 18px rgba(169,231,200,.18);
}

@media (max-width:980px){
  .philosophy-flow{
    min-height:720px;
    padding:26px 24px 22px;
  }
  .flow-head{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    transform:none;
    width:100%;
    text-align:left;
    margin-bottom:10px;
  }
  .flow-head--center,
  .flow-head--right{margin-top:10px}
  .philosophy-flow-svg{display:none}
  .flow-pairs,.flow-results,.flow-core{
    position:relative;
    left:auto;right:auto;top:auto;transform:none;
    width:100%;
  }
  .flow-pairs{max-width:560px;margin:10px auto 0;gap:14px}
  .flow-row{grid-template-columns:1fr 32px 1fr}
  .flow-row span{text-align:right}
  .flow-core{height:240px;margin:18px auto 16px;max-width:280px}
  .flow-pane--one{left:calc(50% - 108px)}
  .flow-pane--two{left:calc(50% - 64px)}
  .flow-pane--three{left:calc(50% - 20px)}
  .flow-results{max-width:420px;margin-inline:auto;gap:14px}
}
@media (max-width:560px){
  .philosophy-flow{min-height:760px;padding:22px 18px}
  .flow-head small{font-size:.78rem}
  .flow-row{grid-template-columns:1fr;justify-items:start;gap:4px;padding-left:14px}
  .flow-row span{text-align:left}
  .flow-row i{display:none}
  .flow-results li{font-size:.88rem}
}


/* v59 — refine philosophy alignment and add more breathing room */
.philosophy-flow{
  min-height:392px;
  padding:32px 36px;
}
.flow-head{
  top:26px;
}
.flow-head small{
  margin-top:10px;
  line-height:1.45;
}
.flow-head--left{width:272px}
.flow-head--center{width:280px}
.flow-head--right{width:272px}

/* more air between the top explanatory copy and the visual system */
.philosophy-flow-svg{
  inset:92px 0 26px 0;
}
.flow-pairs{
  top:120px;
  gap:20px;
}
.flow-results{
  top:120px;
  gap:20px;
}
.flow-core{
  top:58%;
}

/* cleaner alignment for the result bullets and titles */
.flow-results li{
  display:grid;
  grid-template-columns:14px 1fr;
  align-items:center;
  column-gap:14px;
  padding-left:0;
  min-height:28px;
}
.flow-results li::before{
  position:relative;
  left:auto;
  top:auto;
  transform:none;
  display:block;
  margin:0;
}

@media (max-width:980px){
  .philosophy-flow{
    min-height:744px;
    padding:28px 24px 24px;
  }
  .flow-head{
    margin-bottom:14px;
  }
}
@media (max-width:560px){
  .philosophy-flow{
    min-height:786px;
    padding:24px 18px;
  }
}


/* v63 — philosophy v59: remove line-end dots and place left/right blocks slightly lower */
.flow-nodes{
  display:none !important;
}
.philosophy-flow{
  min-height:414px;
}
.flow-head{
  top:28px;
}
.flow-head small{
  margin-top:10px;
  line-height:1.45;
}
/* more air between headings and visual; left/right content sits lower */
.philosophy-flow-svg{
  inset:102px 0 26px 0;
}
.flow-pairs,
.flow-results{
  top:158px;
  gap:12px;
}
.flow-core{
  top:60%;
}
/* keep the right list clean and let the text sit without extra end nodes */
.flow-results li{
  display:grid;
  grid-template-columns:14px 1fr;
  align-items:center;
  column-gap:14px;
  padding-left:0;
  min-height:28px;
}
.flow-results li::before{
  position:relative;
  left:auto;
  top:auto;
  transform:none;
  display:block;
  margin:0;
}
@media (max-width:980px){
  .flow-nodes{display:none !important;}
  .philosophy-flow{
    min-height:752px;
    padding:28px 24px 24px;
  }
}
@media (max-width:560px){
  .philosophy-flow{
    min-height:794px;
    padding:24px 18px;
  }
}


/* v64 — refined line icons inside use-case cards */
.case-card::before{
  top:22px;
  right:22px;
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid rgba(125,154,137,.18) !important;
  background:linear-gradient(180deg, rgba(169,231,200,.08), rgba(169,231,200,.03)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  opacity:1 !important;
}
.case-card::after{
  content:"";
  position:absolute;
  top:35px;
  right:35px;
  width:30px;
  height:30px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.95;
  pointer-events:none;
}
/* 1 Dirección */
.cases-grid .case-card:nth-child(1)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17.5V6.5'/%3E%3Cpath d='M4 17.5c1.8-2.2 3.9-3.2 6.2-3.2 2.1 0 3.4.8 5.2.8 1.6 0 3-.6 4.6-2.1'/%3E%3Cpath d='M17.5 4.5H20v2.5'/%3E%3Cpath d='M20 4.5 16.8 7.7'/%3E%3C/svg%3E");
}
/* 2 Operaciones */
.cases-grid .case-card:nth-child(2)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='7' r='2.2'/%3E%3Ccircle cx='17' cy='7' r='2.2'/%3E%3Ccircle cx='12' cy='17' r='2.2'/%3E%3Cpath d='M8.9 8.2 10.6 9.8'/%3E%3Cpath d='M15.1 8.2 13.4 9.8'/%3E%3Cpath d='M12 14.8v-2.2'/%3E%3C/svg%3E");
}
/* 3 Administración */
.cases-grid .case-card:nth-child(3)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4.5' width='12' height='15' rx='2.2'/%3E%3Cpath d='M9 9h6'/%3E%3Cpath d='M9 12h6'/%3E%3Cpath d='M9 15h4'/%3E%3C/svg%3E");
}
/* 4 Recursos humanos */
.cases-grid .case-card:nth-child(4)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='9' r='2.4'/%3E%3Ccircle cx='15.5' cy='8' r='1.9'/%3E%3Cpath d='M5.8 17.8c.8-2.1 2.3-3.2 4.4-3.2 2 0 3.4 1 4.2 3'/%3E%3Cpath d='M13.8 16.8c.5-1.5 1.6-2.2 3-2.2 1.2 0 2.2.5 2.9 1.8'/%3E%3C/svg%3E");
}
/* 5 Atención y soporte */
.cases-grid .case-card:nth-child(5)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 16.5c-1.3-1.2-2-2.7-2-4.6 0-3.9 3.2-6.9 7.5-6.9s7.5 3 7.5 6.9-3.2 6.9-7.5 6.9c-.7 0-1.5-.1-2.2-.3l-3.8 1 .9-3z'/%3E%3Cpath d='M8.8 10.4h6.4'/%3E%3Cpath d='M8.8 13.4h4.8'/%3E%3C/svg%3E");
}
/* 6 Equipos ERP */
.cases-grid .case-card:nth-child(6)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9E7C8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='5.5' width='15' height='10' rx='2.2'/%3E%3Cpath d='M8 18.5h8'/%3E%3Cpath d='M12 15.5v3'/%3E%3Cpath d='M8.3 9.3h7.4'/%3E%3Cpath d='M8.3 12.3h4.4'/%3E%3C/svg%3E");
}


/* v66 — premium CTA wording + contact details block */
.contact-details{
  margin-top:26px;
  display:grid;
  gap:14px;
}
.contact-details p{
  margin:0;
  color:rgba(244,241,234,.86);
  line-height:1.55;
}
.contact-details strong{
  color:var(--offwhite);
  font-weight:700;
}
.contact-details a{
  color:rgba(169,231,200,.96);
  text-decoration:none;
}
.contact-details a:hover{
  color:var(--offwhite);
}


/* v67 — final copy refinement */
.impact-line h2{
  font-size:clamp(1.9rem, 3vw, 2.9rem) !important;
  line-height:1.08;
}
.impact-line p{
  font-size:clamp(1.14rem, 1.55vw, 1.32rem) !important;
  line-height:1.5;
  max-width:980px;
}
.impact-line p + p{
  margin-top:14px;
}
@media (max-width:560px){
  .impact-line h2{
    font-size:clamp(1.72rem, 8vw, 2.15rem) !important;
  }
  .impact-line p{
    font-size:1.06rem !important;
  }
}


/* v69 — slightly reduce secondary lines in impact block */
.impact-line p{
  font-size:clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height:1.45;
}
@media (max-width:560px){
  .impact-line p{
    font-size:.98rem !important;
  }
}

/* v70 — legal pages + GDPR first layer in contact form */
.privacy-check{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px !important;
  align-items:flex-start;
  margin-top:2px;
}
.privacy-check input[type="checkbox"]{
  width:18px !important;
  height:18px;
  min-width:18px;
  margin:3px 0 0;
  accent-color:var(--mineral);
  border-radius:4px;
  padding:0 !important;
}
.privacy-check span{
  font-family:Manrope, Arial, sans-serif !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:.78rem !important;
  line-height:1.45;
  color:rgba(244,241,234,.70) !important;
}
.privacy-check a,
.form-legal a{
  color:rgba(169,231,200,.96);
  text-decoration:underline;
  text-underline-offset:3px;
}
.form-legal{
  border:1px solid rgba(244,241,234,.13);
  background:rgba(244,241,234,.045);
  border-radius:16px;
  padding:14px 15px;
}
.form-legal p{
  margin:0 !important;
  font-size:.74rem !important;
  line-height:1.55;
  color:rgba(244,241,234,.60) !important;
}
.form-legal p + p{margin-top:6px !important;}
.form-legal strong{color:rgba(244,241,234,.82);font-weight:700;}

.legal-page .site-header{
  background:rgba(6,37,43,.72) !important;
  border-bottom-color:rgba(244,241,234,.10) !important;
  backdrop-filter:blur(16px);
}
.legal-hero{
  padding:150px 0 72px;
}
.legal-hero-inner{
  max-width:880px;
}
.legal-hero h1{
  max-width:900px;
  font-size:clamp(2.5rem,5vw,4.8rem);
}
.legal-hero p:not(.eyebrow){
  max-width:760px;
  margin-top:22px;
  font-size:1.08rem;
  color:rgba(244,241,234,.72) !important;
}
.legal-updated{
  font-family:"IBM Plex Mono", monospace;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem !important;
  color:rgba(184,193,190,.86) !important;
}
.legal-content{
  padding:76px 0 110px;
}
.legal-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.legal-sidebar{
  position:sticky;
  top:110px;
  display:grid;
  gap:10px;
  border:1px solid rgba(184,193,190,.10);
  background:linear-gradient(180deg, rgba(13,37,43,.46), rgba(8,26,31,.58));
  border-radius:22px;
  padding:16px;
}
.legal-sidebar a{
  display:block;
  padding:12px 13px;
  border-radius:12px;
  color:rgba(244,241,234,.68);
  font-size:.92rem;
  transition:background .25s var(--ease), color .25s var(--ease);
}
.legal-sidebar a:hover,
.legal-sidebar a[aria-current="page"]{
  background:rgba(244,241,234,.08);
  color:var(--offwhite);
}
.legal-card{
  border:1px solid rgba(184,193,190,.10);
  background:linear-gradient(180deg, rgba(13,37,43,.48), rgba(8,26,31,.62));
  border-radius:28px;
  padding:clamp(28px,4vw,56px);
  box-shadow:0 26px 80px rgba(0,0,0,.16);
}
.legal-card h2{
  margin-top:34px;
  font-size:clamp(1.36rem,2vw,2rem);
  letter-spacing:-.035em;
}
.legal-card h2:first-child{margin-top:0;}
.legal-card p,
.legal-card li{
  color:rgba(244,241,234,.70) !important;
  font-size:1rem;
  line-height:1.72;
}
.legal-card p{margin-top:14px;}
.legal-card ul{
  margin:16px 0 0;
  padding-left:1.2rem;
  display:grid;
  gap:8px;
}
.legal-card strong{
  color:rgba(244,241,234,.92);
}
.legal-card a{
  color:rgba(169,231,200,.96);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:920px){
  .legal-layout{grid-template-columns:1fr;}
  .legal-sidebar{position:relative;top:auto;grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:640px){
  .legal-hero{padding-top:124px;padding-bottom:52px;}
  .legal-content{padding:52px 0 78px;}
  .legal-sidebar{grid-template-columns:1fr;}
  .legal-card{border-radius:22px;padding:24px 18px;}
  .privacy-check span{font-size:.74rem !important;}
  .form-legal p{font-size:.7rem !important;}
}


/* v72 — mobile hero/header correction from v70 legal base
   The issue was not the header itself: the hero visual was occupying a full row before the text on mobile.
   This makes the visual an absolute background layer, so the headline starts much higher while legal pages stay preserved. */
@media (max-width: 820px){
  .site-header{
    padding:10px 0 !important;
  }
  .site-header.is-scrolled{
    padding:8px 0 !important;
  }
  .header-inner{
    min-height:46px !important;
  }
  .brand-mark{
    width:34px !important;
  }
  .nav-toggle{
    width:42px !important;
    height:42px !important;
  }
  .site-nav{
    inset:62px 14px auto 14px !important;
  }

  .hero{
    padding-top:72px !important;
    padding-bottom:64px !important;
    overflow:hidden !important;
  }
  .hero-inner{
    display:block !important;
    position:relative !important;
    min-height:0 !important;
    gap:0 !important;
    isolation:isolate !important;
  }
  .hero-content{
    position:relative !important;
    z-index:3 !important;
    width:100% !important;
    max-width:100% !important;
    padding:42px 0 28px !important;
  }
  .hero-visual{
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none !important;
    min-height:0 !important;
    height:520px !important;
    top:54px !important;
    left:14% !important;
    right:-88% !important;
    bottom:auto !important;
    opacity:.48 !important;
    transform:none !important;
  }
  .hero-pro-svg{
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }
  .hero-content::before{
    inset:-20px -20px -24px -20px !important;
    background:linear-gradient(180deg, rgba(4,18,22,.46) 0%, rgba(4,18,22,.30) 54%, rgba(4,18,22,.05) 100%) !important;
    filter:blur(10px) !important;
  }
}

@media (max-width:560px){
  .site-header{
    padding:8px 0 !important;
  }
  .header-inner{
    min-height:44px !important;
  }
  .hero{
    padding-top:66px !important;
    padding-bottom:54px !important;
  }
  .hero-content{
    padding:30px 0 22px !important;
  }
  .hero-visual{
    top:76px !important;
    left:18% !important;
    right:-118% !important;
    height:500px !important;
    opacity:.44 !important;
  }
  .hero h1{
    font-size:clamp(2.12rem, 10.7vw, 3.2rem) !important;
    line-height:.98 !important;
  }
  .hero-lead{
    font-size:1rem !important;
  }
}
