/* ============================================================
   NOORI ENGINEERING — MANUFACTURING WORKFLOW
   New feature only. Uses existing matrix / engineering language.
   ============================================================ */

/* Homepage sibling card */
.consultancy-dual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.consultancy-dual-grid .consultancy-panel{
  min-width:0;
}
.consultancy-dual-grid .consultancy-panel::after{display:none!important;content:none!important;}
.consultancy-dual-grid .workflow-preview-card{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  padding:28px 30px 24px!important;
  border:1px solid rgba(92,224,218,.42)!important;
  border-radius:8px!important;
  background-color:rgba(10,34,32,.38)!important;
  background-image:
    linear-gradient(rgba(92,224,218,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,224,218,.075) 1px,transparent 1px)!important;
  background-size:18px 18px!important;
  box-shadow:0 0 24px rgba(45,189,189,.04) inset!important;
  overflow:hidden!important;
}
.workflow-preview-card .workflow-preview-kicker{
  margin:0 0 7px;
  color:var(--teal-bright,#5ce0da);
  font:600 10px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.workflow-preview-card h3{
  margin:0 0 9px!important;
  font-size:26px!important;
  line-height:1.1!important;
  letter-spacing:.01em;
}
.workflow-preview-card .workflow-preview-intro{
  margin:0 0 17px!important;
  max-width:58ch!important;
  font-size:14px!important;
  line-height:1.52!important;
}
.workflow-preview-track{
  position:relative;
  display:grid;
  gap:0;
  margin:4px 0 18px;
  padding-left:3px;
}
.workflow-preview-track::before{
  content:"";
  position:absolute;
  left:13px;
  top:13px;
  bottom:13px;
  width:1px;
  background:linear-gradient(180deg,rgba(92,224,218,.15),rgba(92,224,218,.75),rgba(92,224,218,.15));
  box-shadow:0 0 9px rgba(45,189,189,.18);
}
.workflow-preview-step{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:45px;
  padding:5px 0;
}
.workflow-preview-node{
  position:relative;
  z-index:1;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(92,224,218,.52);
  border-radius:50%;
  background:rgba(6,19,22,.9);
  color:#d9ffff;
  font:700 9px/1 "JetBrains Mono",monospace;
  box-shadow:0 0 12px rgba(45,189,189,.10);
}
.workflow-preview-step strong{
  display:block;
  font:700 12px/1.15 "JetBrains Mono",monospace;
  letter-spacing:.05em;
  color:#e4f8f7;
}
.workflow-preview-step span{
  display:block;
  margin-top:3px;
  color:rgba(213,235,233,.68);
  font-size:10.5px;
  line-height:1.3;
}
.workflow-preview-code{
  color:rgba(92,224,218,.78);
  font:600 9px/1 "JetBrains Mono",monospace;
  letter-spacing:.08em;
  text-align:right;
  white-space:nowrap;
}
.workflow-preview-card .workflow-preview-cta{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  min-height:38px;
  padding:9px 15px;
  font-size:10px;
  letter-spacing:.08em;
}
html[data-theme="light"] .workflow-preview-card{
  background-color:rgba(255,255,255,.62)!important;
  border-color:#8fb8b2!important;
}
html[data-theme="light"] .workflow-preview-step strong{color:#173a36;}
html[data-theme="light"] .workflow-preview-step span{color:#315a54;}
html[data-theme="light"] .workflow-preview-node{background:#eef8f7;color:#173a36;}


/* Homepage workflow/consultancy pair: equal footprint and balanced internal padding. */
.consultancy-dual-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr;
}
.consultancy-dual-grid > .consultancy-panel{
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:flex-start!important;
  padding:30px 32px!important;
}
.consultancy-dual-grid > .consultancy-panel > div{
  width:100%;
}
.consultancy-dual-grid .consultancy-panel h3{
  font-weight:800!important;
}
.consultancy-dual-grid .consultancy-panel p{
  font-size:15px!important;
  line-height:1.6!important;
  font-weight:520!important;
}
.consultancy-dual-grid .workflow-preview-card{
  padding:30px 32px!important;
}
.workflow-preview-card h3{
  font-weight:800!important;
}
.workflow-preview-step strong{
  font-weight:800!important;
  font-size:13px!important;
}
.workflow-preview-step span{
  font-size:11px!important;
  line-height:1.4!important;
}
@media(max-width:720px){
  .consultancy-dual-grid > .consultancy-panel,
  .consultancy-dual-grid .workflow-preview-card{padding:24px 22px!important;}
}

/* Workflow page */
.workflow-page{
  overflow-x:hidden;
}
.workflow-page main{
  position:relative;
  z-index:1;
}
.workflow-shell{
  width:min(calc(100% - 56px),1200px);
  margin:0 auto;
}
.workflow-hero{
  padding:76px 0 38px;
}
.workflow-hero-head{
  max-width:780px;
  margin:0 auto 24px;
  text-align:center;
}
.workflow-kicker{
  margin:0 0 9px;
  color:var(--teal-bright,#5ce0da);
  font:600 11px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.workflow-hero h1{
  margin:0 0 12px;
  font:800 clamp(42px,5.8vw,72px)/.95 "Barlow Condensed",sans-serif;
  letter-spacing:-.02em;
}
.workflow-hero-lede{
  max-width:720px;
  margin:0 auto;
  color:rgba(224,242,240,.78);
  font-size:15px;
  line-height:1.65;
}

.workflow-scene-frame{
  position:relative;
  min-height:610px;
  border:1px solid rgba(92,224,218,.30);
  border-radius:10px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(45,189,189,.09),transparent 34%),
    linear-gradient(145deg,rgba(18,55,51,.88),rgba(5,20,20,.96));
  box-shadow:inset 0 0 70px rgba(45,189,189,.035),0 18px 46px rgba(0,0,0,.20);
  perspective:1300px;
  isolation:isolate;
}
.workflow-scene-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(92,224,218,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,224,218,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 84%,transparent 100%);
  pointer-events:none;
  z-index:0;
}
.workflow-scene-label{
  position:absolute;
  z-index:8;
  padding:7px 10px;
  border:1px solid rgba(92,224,218,.18);
  background:rgba(5,20,20,.58);
  color:rgba(184,228,224,.72);
  font:600 9px/1 "JetBrains Mono",monospace;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.workflow-scene-label.tl{left:18px;top:18px}.workflow-scene-label.tr{right:18px;top:18px}.workflow-scene-label.bl{left:18px;bottom:18px}.workflow-scene-label.br{right:18px;bottom:18px}
.workflow-scene-plane{
  position:absolute;
  inset:62px 7% 55px;
  transform:rotateX(58deg) rotateZ(-2deg) translateZ(-30px);
  transform-style:preserve-3d;
  background:
    linear-gradient(rgba(92,224,218,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,224,218,.075) 1px,transparent 1px);
  background-size:44px 44px;
  border:1px solid rgba(92,224,218,.12);
  box-shadow:0 0 60px rgba(45,189,189,.06) inset;
  z-index:1;
}
.workflow-route{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  transform:translateZ(35px);
  pointer-events:none;
}
.workflow-route path{
  fill:none;
  stroke:rgba(92,224,218,.34);
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}
.workflow-route .route-active{
  stroke:rgba(92,224,218,.80);
  stroke-width:2.8;
  filter:drop-shadow(0 0 5px rgba(92,224,218,.36));
}
.workflow-route .route-shadow{
  stroke:rgba(45,189,189,.10);
  stroke-width:8;
  filter:blur(3px);
}
.workflow-particle{
  fill:#d9ffff;
  filter:drop-shadow(0 0 7px rgba(92,224,218,.85));
}
.workflow-stage{
  position:absolute;
  width:178px;
  min-height:88px;
  padding:13px 14px 12px;
  transform-style:preserve-3d;
  border:1px solid rgba(92,224,218,.34);
  border-radius:8px;
  background:
    radial-gradient(circle at 9px 9px,rgba(92,224,218,.14) 1px,transparent 1.4px) 0 0/18px 18px,
    linear-gradient(145deg,rgba(24,64,59,.92),rgba(7,28,27,.95));
  box-shadow:inset 0 0 22px rgba(45,189,189,.03),0 15px 24px rgba(0,0,0,.22);
  transition:transform .45s ease,border-color .35s ease,box-shadow .35s ease,opacity .35s ease;
  z-index:5;
}
.workflow-stage::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(92,224,218,.08);
  pointer-events:none;
}
.workflow-stage.is-active{
  border-color:rgba(92,224,218,.72);
  box-shadow:0 0 22px rgba(45,189,189,.16),inset 0 0 26px rgba(45,189,189,.05);
  transform:translateZ(26px) translateY(-5px);
}
.workflow-stage.is-complete{opacity:.92;}
.workflow-stage .stage-code{
  display:block;
  color:rgba(92,224,218,.78);
  font:600 9px/1 "JetBrains Mono",monospace;
  letter-spacing:.10em;
}
.workflow-stage h2{
  margin:8px 0 4px;
  font:700 19px/1 "Barlow Condensed",sans-serif;
  letter-spacing:.02em;
}
.workflow-stage p{
  margin:0;
  color:rgba(214,235,232,.66);
  font-size:10px;
  line-height:1.4;
}
.workflow-stage[data-stage="0"]{left:4%;top:7%;}
.workflow-stage[data-stage="1"]{left:26%;top:22%;}
.workflow-stage[data-stage="2"]{left:55%;top:10%;}
.workflow-stage[data-stage="3"]{right:3%;top:32%;}
.workflow-stage[data-stage="4"]{left:17%;top:58%;}
.workflow-stage[data-stage="5"]{left:48%;top:68%;}
.workflow-stage[data-stage="6"]{right:5%;top:73%;}
.workflow-stage-badge{
  position:absolute;
  right:10px;
  top:10px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(92,224,218,.25);
  border-radius:50%;
  color:#d9ffff;
  font:700 9px/1 "JetBrains Mono",monospace;
}
.workflow-progress{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:9;
  width:min(520px,76%);
  padding:9px 12px;
  border:1px solid rgba(92,224,218,.18);
  background:rgba(5,20,20,.64);
  text-align:center;
  color:rgba(221,243,240,.78);
  font:600 10px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.workflow-progress strong{color:#d9ffff;}

.workflow-deep-dive{
  padding:38px 0 60px;
}
.workflow-section-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.workflow-section-head h2{
  margin:0 0 10px;
  font:800 clamp(32px,4.2vw,52px)/1 "Barlow Condensed",sans-serif;
}
.workflow-section-head p{margin:0;color:rgba(224,242,240,.72);line-height:1.65;}
.workflow-stage-detail{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  margin:0 0 22px;
}
.workflow-stage-detail:nth-of-type(even) .workflow-detail-visual{order:2;}
.workflow-detail-copy,.workflow-detail-visual{
  position:relative;
  min-width:0;
  border:1px solid rgba(92,224,218,.22);
  border-radius:9px;
  overflow:hidden;
  background:
    radial-gradient(circle at 10px 10px,rgba(92,224,218,.13) 1px,transparent 1.4px) 0 0/20px 20px,
    linear-gradient(rgba(92,224,218,.045) 1px,transparent 1px) 0 0/20px 20px,
    linear-gradient(90deg,rgba(92,224,218,.045) 1px,transparent 1px) 0 0/20px 20px,
    linear-gradient(145deg,rgba(20,58,53,.82),rgba(7,28,27,.92));
  box-shadow:inset 0 0 26px rgba(45,189,189,.025);
}
.workflow-detail-copy{padding:24px 26px;}
.workflow-detail-copy .detail-code{
  margin:0 0 8px;
  color:rgba(92,224,218,.78);
  font:600 10px/1 "JetBrains Mono",monospace;
  letter-spacing:.14em;
}
.workflow-detail-copy h3{
  margin:0 0 12px;
  font:800 clamp(28px,3vw,40px)/.98 "Barlow Condensed",sans-serif;
}
.workflow-detail-copy p{margin:0 0 12px;color:rgba(224,242,240,.76);font-size:14px;line-height:1.7;}
.workflow-detail-copy ul{margin:12px 0 0;padding-left:18px;color:rgba(224,242,240,.76);font-size:13px;line-height:1.7;}
.workflow-detail-copy .detail-note{
  margin-top:17px;
  padding:9px 11px;
  border-left:2px solid rgba(92,224,218,.65);
  background:rgba(92,224,218,.045);
  color:#d9ffff;
  font:600 10px/1.5 "JetBrains Mono",monospace;
  letter-spacing:.04em;
}
.workflow-detail-visual{
  min-height:260px;
  display:grid;
  place-items:center;
}
.workflow-visual-svg{width:100%;height:100%;min-height:260px;display:block;}
.workflow-visual-svg .line{fill:none;stroke:rgba(92,224,218,.48);stroke-width:2;vector-effect:non-scaling-stroke;}
.workflow-visual-svg .line-soft{fill:none;stroke:rgba(92,224,218,.13);stroke-width:8;vector-effect:non-scaling-stroke;}
.workflow-visual-svg .node{fill:#0a2220;stroke:rgba(92,224,218,.65);stroke-width:2;}
.workflow-visual-svg .glow{fill:#d9ffff;filter:drop-shadow(0 0 6px rgba(92,224,218,.72));}
.workflow-visual-svg .wire{fill:none;stroke:rgba(214,244,240,.50);stroke-width:1.5;stroke-dasharray:5 5;}
.workflow-visual-svg .shape{fill:rgba(92,224,218,.04);stroke:rgba(92,224,218,.48);stroke-width:1.5;}
.workflow-visual-svg text{font-family:"JetBrains Mono",monospace;fill:rgba(218,244,240,.76);font-size:10px;letter-spacing:.06em;}

.workflow-summary{
  margin-top:34px;
  padding:28px;
  border:1px solid rgba(92,224,218,.30);
  border-radius:10px;
  background:
    radial-gradient(circle at 11px 11px,rgba(92,224,218,.15) 1px,transparent 1.4px) 0 0/22px 22px,
    linear-gradient(145deg,rgba(22,61,56,.82),rgba(7,28,27,.94));
}
.workflow-summary h2{margin:0 0 18px;font:800 34px/1 "Barlow Condensed",sans-serif;}
.workflow-summary-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;align-items:start;}
.workflow-summary-step{position:relative;text-align:center;padding:0 5px;}
.workflow-summary-step:not(:last-child)::after{content:"";position:absolute;top:11px;left:58%;width:84%;height:1px;background:rgba(92,224,218,.30);}
.workflow-summary-dot{position:relative;z-index:1;width:22px;height:22px;margin:0 auto 9px;display:grid;place-items:center;border:1px solid rgba(92,224,218,.50);border-radius:50%;background:#09211f;color:#d9ffff;font:700 8px/1 "JetBrains Mono",monospace;}
.workflow-summary-step strong{display:block;font:700 10px/1.2 "JetBrains Mono",monospace;letter-spacing:.04em;color:#dff5f2;}
.workflow-summary-step span{display:block;margin-top:4px;color:rgba(211,235,232,.60);font-size:9px;line-height:1.25;}
.workflow-cta{
  margin:28px auto 0;
  max-width:700px;
  padding:25px;
  text-align:center;
  border:1px solid rgba(92,224,218,.25);
  border-radius:9px;
  background:rgba(9,31,29,.62);
}
.workflow-cta h2{margin:0 0 8px;font:800 32px/1 "Barlow Condensed",sans-serif;}
.workflow-cta p{margin:0 auto 17px;max-width:60ch;color:rgba(224,242,240,.70);font-size:13px;line-height:1.6;}

html[data-theme="light"] .workflow-page{color:#173a36;}
html[data-theme="light"] .workflow-hero-lede,
html[data-theme="light"] .workflow-section-head p,
html[data-theme="light"] .workflow-detail-copy p,
html[data-theme="light"] .workflow-detail-copy ul,
html[data-theme="light"] .workflow-cta p{color:#315a54;}
html[data-theme="light"] .workflow-scene-frame,
html[data-theme="light"] .workflow-detail-copy,
html[data-theme="light"] .workflow-detail-visual,
html[data-theme="light"] .workflow-summary,
html[data-theme="light"] .workflow-cta{
  background-color:rgba(245,251,250,.78);
}
html[data-theme="light"] .workflow-stage{background:rgba(242,250,249,.92);}
html[data-theme="light"] .workflow-stage h2,
html[data-theme="light"] .workflow-summary-step strong,
html[data-theme="light"] .workflow-cta h2{color:#173a36;}
html[data-theme="light"] .workflow-stage p,
html[data-theme="light"] .workflow-summary-step span{color:#315a54;}
html[data-theme="light"] .workflow-stage-badge,
html[data-theme="light"] .workflow-summary-dot{background:#eef8f7;color:#173a36;}

@media(max-width:980px){
  .consultancy-dual-grid{grid-template-columns:1fr;}
  .workflow-scene-frame{min-height:650px;}
  .workflow-stage{width:160px;}
  .workflow-stage[data-stage="0"]{left:3%;top:7%;}
  .workflow-stage[data-stage="1"]{left:23%;top:22%;}
  .workflow-stage[data-stage="2"]{left:50%;top:8%;}
  .workflow-stage[data-stage="3"]{right:2%;top:31%;}
  .workflow-stage[data-stage="4"]{left:11%;top:58%;}
  .workflow-stage[data-stage="5"]{left:43%;top:69%;}
  .workflow-stage[data-stage="6"]{right:3%;top:76%;}
  .workflow-stage-detail{grid-template-columns:1fr;}
  .workflow-stage-detail:nth-of-type(even) .workflow-detail-visual{order:initial;}
}
@media(max-width:720px){
  .consultancy-dual-grid{gap:14px;}
  .consultancy-dual-grid .workflow-preview-card{padding:24px 22px 22px!important;}
  .workflow-preview-card h3{font-size:23px!important;}
  .workflow-preview-card .workflow-preview-intro{font-size:13.5px!important;}
  .workflow-preview-step{grid-template-columns:28px minmax(0,1fr);}
  .workflow-preview-code{display:none;}
  .workflow-shell{width:min(calc(100% - 28px),1200px);}
  .workflow-hero{padding:50px 0 25px;}
  .workflow-hero h1{font-size:46px;}
  .workflow-hero-lede{font-size:13px;}
  .workflow-scene-frame{min-height:700px;}
  .workflow-scene-plane{inset:80px 4% 70px;transform:rotateX(57deg) rotateZ(-1deg) translateZ(-30px);background-size:28px 28px;}
  .workflow-stage{width:135px;min-height:74px;padding:10px 10px 9px;}
  .workflow-stage h2{font-size:16px;}
  .workflow-stage p{font-size:8.5px;}
  .workflow-stage .stage-code{font-size:7px;}
  .workflow-stage-badge{width:18px;height:18px;font-size:7px;right:7px;top:7px;}
  .workflow-stage[data-stage="0"]{left:2%;top:6%;}
  .workflow-stage[data-stage="1"]{left:31%;top:20%;}
  .workflow-stage[data-stage="2"]{left:51%;top:6%;}
  .workflow-stage[data-stage="3"]{right:1%;top:31%;}
  .workflow-stage[data-stage="4"]{left:7%;top:57%;}
  .workflow-stage[data-stage="5"]{left:35%;top:69%;}
  .workflow-stage[data-stage="6"]{right:1%;top:78%;}
  .workflow-progress{width:88%;font-size:8px;bottom:12px;}
  .workflow-detail-copy{padding:20px;}
  .workflow-detail-copy h3{font-size:32px;}
  .workflow-summary{padding:20px;overflow:hidden;}
  .workflow-summary-track{display:flex;gap:0;min-width:720px;}
  .workflow-summary{overflow-x:auto;}
  .workflow-summary-step{flex:0 0 100px;}
  .workflow-cta{padding:20px;}
}
@media(prefers-reduced-motion:reduce){
  .workflow-stage{transition:none!important;}
}

/* ATLAS 03 — homepage matrix pair: wider edge placement + accessibility contrast */
@media (min-width: 981px){
  .consultancy-dual-grid{
    width:calc(100% + 56px)!important;
    margin-left:-28px!important;
    margin-right:-28px!important;
    gap:28px!important;
  }
}

/* Darken the matrix surfaces slightly so the blueprint does not compete with text. */
.consultancy-teaser .consultancy-panel > div:first-child,
.consultancy-dual-grid .workflow-preview-card{
  background-color:rgba(6,22,23,.62)!important;
}

/* Improve readability without changing the established type system. */
.consultancy-teaser .consultancy-panel > div:first-child h3,
.consultancy-dual-grid .workflow-preview-card h3{
  font-weight:800!important;
  font-size:28px!important;
  line-height:1.12!important;
}
.consultancy-teaser .consultancy-panel > div:first-child p,
.consultancy-dual-grid .workflow-preview-card .workflow-preview-intro{
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:600!important;
  color:rgba(236,249,248,.88)!important;
}
.consultancy-dual-grid .workflow-preview-step strong{
  font-size:13.5px!important;
  font-weight:800!important;
}
.consultancy-dual-grid .workflow-preview-step span:not(.workflow-preview-node):not(.workflow-preview-code){
  font-size:12px!important;
  line-height:1.45!important;
  color:rgba(226,244,242,.82)!important;
}
html[data-theme="light"] .consultancy-teaser .consultancy-panel > div:first-child,
html[data-theme="light"] .consultancy-dual-grid .workflow-preview-card{
  background-color:rgba(248,253,252,.86)!important;
}
html[data-theme="light"] .consultancy-teaser .consultancy-panel > div:first-child p,
html[data-theme="light"] .consultancy-dual-grid .workflow-preview-card .workflow-preview-intro{
  color:#244a45!important;
}
html[data-theme="light"] .consultancy-dual-grid .workflow-preview-step span:not(.workflow-preview-node):not(.workflow-preview-code){
  color:#315a54!important;
}
@media (max-width:980px){
  .consultancy-dual-grid{width:100%!important;margin-left:0!important;margin-right:0!important;}
}
@media (max-width:720px){
  .consultancy-teaser .consultancy-panel > div:first-child h3,
  .consultancy-dual-grid .workflow-preview-card h3{font-size:24px!important;}
  .consultancy-teaser .consultancy-panel > div:first-child p,
  .consultancy-dual-grid .workflow-preview-card .workflow-preview-intro{font-size:14.5px!important;}
}
