/* SAARSflow Premium Flow v2
   A restrained, industrial visual system built around petrol teal, aged brass,
   warm paper and real product photography. This file intentionally loads last. */

:root {
  --pf-ink:#061116;
  --pf-ink-2:#0a1b21;
  --pf-ink-3:#10272d;
  --pf-paper:#f1ede3;
  --pf-paper-2:#e7e1d5;
  --pf-white:#fbf7ed;
  --pf-steel:#8da0a3;
  --pf-teal:#4f8f88;
  --pf-teal-deep:#245d5a;
  --pf-teal-soft:#86b8ae;
  --pf-brass:#c39a52;
  --pf-brass-soft:#dfc184;
  --pf-line:rgba(134,184,174,.22);
  --pf-grid:rgba(134,184,174,.055);
  --pf-shadow:0 34px 90px rgba(1,10,14,.28);
  --pf-ease:cubic-bezier(.16,1,.3,1);
  --page-progress:0;
  --cyan:var(--pf-teal);
  --brass:var(--pf-brass);
  --brass-lit:var(--pf-brass-soft);
}

html[data-theme="light"] {
  --pf-surface:#f1ede3;
  --pf-surface-2:#e7e1d5;
  --pf-copy:#07191f;
  --pf-muted:#50656a;
  --pf-hairline:rgba(7,25,31,.14);
  --pf-card:rgba(251,248,239,.82);
}

html[data-theme="dark"] {
  --pf-surface:#071419;
  --pf-surface-2:#0a1b21;
  --pf-copy:#f5efe4;
  --pf-muted:#9aadb0;
  --pf-hairline:rgba(134,184,174,.18);
  --pf-card:rgba(13,32,38,.72);
}

html { background:var(--pf-surface); }
body { background:var(--pf-surface); color:var(--pf-copy); }
body::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

::selection { color:var(--pf-white); background:var(--pf-teal-deep); }

/* Navigation — a measured instrument bar, not a floating SaaS pill. */
.site-nav {
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(3,12,16,.88),rgba(3,12,16,.58));
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.site-nav::after {
  content:"";
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:2px;
  transform:scaleX(var(--page-progress));
  transform-origin:left;
  background:linear-gradient(90deg,var(--pf-brass),var(--pf-teal));
  box-shadow:0 0 16px rgba(79,143,136,.28);
}
.nav-links.nav-pill { border-color:rgba(255,255,255,.09); background:rgba(2,10,14,.32); }
.nav-links a { letter-spacing:.025em; }
.logo-mark-left { fill:rgba(79,143,136,.2); stroke:var(--pf-teal-soft); }
.logo-mark-right { fill:rgba(195,154,82,.14); stroke:var(--pf-brass-soft); }
.logo-wordmark i { color:var(--pf-brass-soft); }
.theme-toggle-track i { background:var(--pf-brass-soft); }

.btn--primary,
.rfqa-btn--success,
.rfqa-btn--send {
  position:relative;
  overflow:hidden;
  color:#091316;
  border-color:rgba(255,232,184,.46);
  background:linear-gradient(135deg,#e1c17f 0%,var(--pf-brass) 52%,#b48235 100%);
  box-shadow:0 12px 35px rgba(122,87,31,.22),inset 0 1px 0 rgba(255,255,255,.5);
}
.btn--primary::before,
.rfqa-btn--success::before,
.rfqa-btn--send::before {
  content:"";
  position:absolute;
  inset:-100% auto -100% -42%;
  width:26%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transition:left .8s var(--pf-ease);
}
.btn--primary:hover::before,
.rfqa-btn--success:hover::before,
.rfqa-btn--send:hover::before { left:118%; }

/* Hero — real industrial photography, restrained grading and code-native flow. */
.hero-construx {
  height:max(760px,100svh);
  min-height:760px;
  isolation:isolate;
  background:#030d11;
}
.hero-bg-parallax { inset:-3%; }
.hero-bg,
.hero-fg {
  background-image:url('../assets/hero-premium-refinery.jpg') !important;
  background-position:calc(50% + var(--hero-pointer-x,0px)) calc(50% + var(--hero-pointer-y,0px)) !important;
  background-size:cover !important;
  filter:saturate(.72) contrast(1.06) brightness(.88);
}
.hero-fg-parallax,
.hero-wordmark-layer { display:none !important; }
.hero-grade {
  z-index:2;
  opacity:1;
  background:
    linear-gradient(110deg,rgba(6,17,22,.72) 0%,rgba(6,17,22,.32) 45%,rgba(36,93,90,.08) 72%,rgba(195,154,82,.045) 100%),
    linear-gradient(180deg,rgba(2,8,11,.08),rgba(2,8,11,.34));
  mix-blend-mode:normal;
}
.hero-image-overlay {
  z-index:3;
  background:
    radial-gradient(circle at 74% 46%,transparent 0 21%,rgba(2,9,12,.1) 50%,rgba(2,9,12,.34) 100%),
    linear-gradient(90deg,rgba(2,10,14,.92) 0%,rgba(2,10,14,.75) 32%,rgba(2,10,14,.18) 63%,rgba(2,10,14,.06) 100%),
    linear-gradient(180deg,rgba(2,10,14,.2),transparent 55%,rgba(2,10,14,.78));
}
.hero-headline-parallax {
  z-index:5;
  top:50%;
  right:auto;
  bottom:auto;
  left:max(32px,calc((100vw - 1220px)/2));
  width:min(720px,52vw);
  transform:translateY(calc(-44% + var(--hero-headline-drift,0px)));
}
.hero-headline { align-items:flex-start; text-align:left; }
.hero-kicker { color:var(--pf-brass-soft); letter-spacing:.18em; }
.hero-kicker span { background:var(--pf-teal-soft); box-shadow:0 0 0 5px rgba(79,143,136,.09); }
.hero-headline-text {
  max-width:760px;
  margin-top:19px;
  color:var(--pf-white);
  font-size:clamp(4rem,6.7vw,7rem);
  line-height:.88;
  letter-spacing:-.065em;
  text-wrap:balance;
  text-shadow:0 18px 50px rgba(0,0,0,.35);
}
.hero-headline-text em {
  display:block;
  margin-top:.08em;
  color:var(--pf-teal-soft);
  font-family:var(--font-display);
  font-style:normal;
  font-weight:600;
}
.hero-summary { max-width:620px; margin-top:26px; color:#bdc9c8; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.7; }
.hero-headline-ctas { margin-top:28px; }
.hero-headline-cta--quiet { border-color:rgba(255,255,255,.2); color:var(--pf-white); background:rgba(7,20,25,.34); backdrop-filter:blur(12px); }
.hero-proof { margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.13); }
.hero-proof div { border-color:rgba(255,255,255,.12); }
.hero-proof dt { color:var(--pf-brass-soft); }
.hero-proof dd { color:#9fb0b1; }
.hero-meta { z-index:5; color:#829b9d; }

.hero-engineering-layer { position:absolute; inset:0; z-index:4; pointer-events:none; transition:transform 1s var(--pf-ease); }
.hero-flow-trace { position:absolute; right:0; bottom:10%; left:0; width:100%; height:120px; overflow:visible; opacity:.9; }
.hero-flow-track,
.hero-flow-live { fill:none; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.hero-flow-track { stroke:rgba(134,184,174,.15); stroke-width:1; }
.hero-flow-live {
  stroke:var(--pf-teal-soft);
  stroke-width:1.5;
  stroke-dasharray:6 18;
  filter:drop-shadow(0 0 7px rgba(79,143,136,.52));
  animation:pf-flow-dash 7s linear infinite;
}
.hero-scan-dot { position:absolute; width:7px; height:7px; border:1px solid var(--pf-teal-soft); border-radius:50%; background:var(--pf-teal-deep); box-shadow:0 0 0 7px rgba(79,143,136,.09),0 0 24px rgba(79,143,136,.38); }
.hero-scan-dot--one { right:33%; bottom:17.2%; animation:pf-scan-pulse 2.4s ease-in-out infinite; }
.hero-scan-dot--two { right:15%; bottom:12%; animation:pf-scan-pulse 2.4s ease-in-out 1.2s infinite; }
.hero-tech-note {
  position:absolute;
  min-width:170px;
  padding:10px 13px;
  border-top:1px solid rgba(134,184,174,.45);
  color:#aec0c0;
  font-family:var(--font-mono);
  font-size:8px;
  letter-spacing:.12em;
  background:linear-gradient(90deg,rgba(3,13,17,.58),transparent);
  backdrop-filter:blur(5px);
}
.hero-tech-note span { display:block; margin-bottom:6px; color:var(--pf-teal-soft); }
.hero-tech-note strong { color:#d8dfdc; font-weight:400; }
.hero-tech-note--pressure { top:25%; right:11%; }
.hero-tech-note--material { top:48%; right:31%; }
.hero-tech-note--standard { right:5%; bottom:20%; }

.hero-cinematic-intro {
  background:
    linear-gradient(90deg,transparent,rgba(79,143,136,.035) 50%,transparent),
    #020b0f;
  animation-duration:2.35s;
}
.hero-cinematic-line { background:linear-gradient(90deg,transparent,var(--pf-brass),var(--pf-teal-soft),transparent); box-shadow:none; }
.hero-cinematic-brand small { color:#91aaa8; }
.hero-cinematic-beam { background:linear-gradient(90deg,transparent,rgba(195,154,82,.09),rgba(79,143,136,.065),transparent); }

/* Facilities — clearer hierarchy and tactile depth in both modes. */
.facilities-section,
html[data-theme="light"] .facilities-section,
html[data-theme="dark"] .facilities-section {
  color:var(--pf-copy);
  border-color:var(--pf-hairline);
  background-color:var(--pf-surface);
  background-image:
    linear-gradient(var(--pf-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--pf-grid) 1px,transparent 1px),
    radial-gradient(circle at 84% 8%,rgba(79,143,136,.1),transparent 29%);
}
.facilities-intro h2,
html[data-theme="light"] .facilities-intro h2 { color:var(--pf-copy); }
.facilities-intro h2 em,
html[data-theme="light"] .facilities-intro h2 em { color:var(--pf-teal); -webkit-text-fill-color:currentColor; background:none; }
.facilities-intro > p,
html[data-theme="light"] .facilities-intro > p { color:var(--pf-muted); }
.facility-card,
html[data-theme="light"] .facility-card {
  color:var(--pf-copy);
  border-color:var(--pf-hairline);
  background:linear-gradient(145deg,var(--pf-card),rgba(79,143,136,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .55s var(--pf-ease),border-color .45s ease,box-shadow .55s var(--pf-ease),background .45s ease;
}
.facility-card:hover,
html[data-theme="light"] .facility-card:hover { transform:translateY(-8px); border-color:rgba(79,143,136,.46); background:var(--pf-card); box-shadow:0 28px 65px rgba(2,16,20,.16); }
.facility-card h3,
html[data-theme="light"] .facility-card h3 { color:var(--pf-copy); }
.facility-card p,
html[data-theme="light"] .facility-card p { color:var(--pf-muted); }
.facility-index,
html[data-theme="light"] .facility-index { color:var(--pf-brass); }
.facility-signal { background:var(--pf-teal); box-shadow:0 0 0 6px rgba(79,143,136,.1); }

/* Complete pipeline — useful interaction replaces the old floating-card arc. */
.source-section,
html[data-theme="light"] .source-section,
html[data-theme="dark"] .source-section {
  position:relative;
  overflow:hidden;
  color:var(--pf-copy);
  border-color:var(--pf-hairline);
  background:
    linear-gradient(var(--pf-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--pf-grid) 1px,transparent 1px),
    radial-gradient(circle at 50% 42%,rgba(79,143,136,.09),transparent 35%),
    var(--pf-surface-2);
  background-size:72px 72px,72px 72px,auto,auto;
}
.source-section .section-head h2 { color:var(--pf-copy); }
.source-section .section-head p { color:var(--pf-muted); }
.source-section .eyebrow { color:var(--pf-brass); }
.source-glow { opacity:.16; filter:hue-rotate(-18deg) saturate(.5); }
.source-arc-wrap--legacy { display:none !important; }

.flowline-stage {
  position:relative;
  min-height:710px;
  margin-top:54px;
  padding:72px 44px 34px;
  overflow:hidden;
  border:1px solid var(--pf-hairline);
  border-radius:2px;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(79,143,136,.025));
  box-shadow:var(--pf-shadow),inset 0 1px 0 rgba(255,255,255,.06);
}
.flowline-stage::before { content:"ONE CONNECTED LINE"; position:absolute; top:22px; left:26px; color:var(--pf-muted); font-family:var(--font-mono); font-size:8px; letter-spacing:.2em; }
.flowline-progress { position:absolute; top:18px; right:26px; display:flex; align-items:baseline; gap:7px; color:var(--pf-muted); }
.flowline-progress strong { color:var(--pf-brass); font-family:var(--font-display); font-size:34px; font-weight:500; }
.flowline-progress span { font-size:11px; }
.flowline-track { position:absolute; top:315px; right:5%; left:5%; height:18px; }
.flowline-track::before,
.flowline-track::after { content:""; position:absolute; top:8px; right:0; left:0; height:2px; background:linear-gradient(90deg,transparent,var(--pf-hairline) 6% 94%,transparent); }
.flowline-track i { position:absolute; top:7px; left:-12%; width:23%; height:4px; border-radius:999px; background:linear-gradient(90deg,transparent,var(--pf-teal-soft),transparent); filter:blur(.3px); opacity:.66; animation:pf-track-flow 6s linear infinite; }
.flowline-track b { position:absolute; top:3px; left:-5%; width:12px; height:12px; border:1px solid var(--pf-teal); border-radius:50%; background:var(--pf-teal-deep); box-shadow:0 0 0 7px rgba(79,143,136,.08); animation:pf-track-node 6s linear infinite; }
.flowline-products { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:end; gap:12px; }
.flow-product {
  position:relative;
  display:grid;
  grid-template-rows:auto 260px auto auto;
  gap:8px;
  min-width:0;
  padding:0 8px 24px;
  color:var(--pf-copy);
  text-align:center;
  border:0;
  background:transparent;
  cursor:pointer;
  opacity:.54;
  filter:saturate(.54);
  transition:opacity .5s ease,filter .5s ease,transform .7s var(--pf-ease);
}
.flow-product::after { content:""; position:absolute; bottom:-10px; left:50%; width:9px; height:9px; border:1px solid var(--pf-teal); border-radius:50%; transform:translateX(-50%); background:var(--pf-surface-2); transition:background .35s ease,box-shadow .35s ease,transform .5s var(--pf-ease); }
.flow-product:hover,
.flow-product:focus-visible { opacity:.86; filter:saturate(.8); outline:0; }
.flow-product.is-active { z-index:3; opacity:1; filter:none; transform:translateY(-16px); }
.flow-product.is-active::after { background:var(--pf-brass); border-color:var(--pf-brass-soft); box-shadow:0 0 0 9px rgba(195,154,82,.1); transform:translateX(-50%) scale(1.15); }
.flow-product-index { color:var(--pf-brass); font-size:13px; }
.flow-product-media { position:relative; display:block; align-self:end; height:250px; overflow:hidden; border:1px solid transparent; background:radial-gradient(circle at 50% 70%,rgba(79,143,136,.12),transparent 60%); transition:border-color .4s ease,background .4s ease,box-shadow .5s ease; }
.flow-product-media::after { content:""; position:absolute; inset:auto 10% 4% 10%; height:20%; border-radius:50%; background:rgba(0,0,0,.23); filter:blur(16px); }
.flow-product img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; transition:transform .8s var(--pf-ease); }
.flow-product[data-sector="pipe"] img { object-fit:cover; clip-path:inset(17% 0 13% 0 round 2px); }
.flow-product.is-active .flow-product-media { border-color:rgba(134,184,174,.18); background:radial-gradient(circle at 50% 68%,rgba(79,143,136,.2),transparent 62%); box-shadow:0 24px 60px rgba(1,12,16,.18); }
.flow-product.is-active img { transform:scale(1.07); }
.flow-product strong { font-family:var(--font-display); font-size:clamp(1.05rem,1.4vw,1.35rem); font-weight:600; }
.flow-product small { overflow:hidden; color:var(--pf-muted); font-size:7px; letter-spacing:.07em; text-overflow:ellipsis; white-space:nowrap; }

.flowline-spec {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:.7fr 1.6fr auto;
  align-items:center;
  gap:30px;
  margin-top:58px;
  padding:24px 26px;
  color:var(--pf-copy);
  border:1px solid var(--pf-hairline);
  background:var(--pf-card);
  backdrop-filter:blur(18px);
}
.flowline-spec > div > span { color:var(--pf-teal); font-size:8px; letter-spacing:.14em; }
.flowline-spec h3 { margin-top:5px; color:var(--pf-copy); font-family:var(--font-display); font-size:clamp(2rem,3vw,3.1rem); line-height:1; }
.flowline-spec dl { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.flowline-spec dl > div { min-width:0; padding:0 18px; border-left:1px solid var(--pf-hairline); }
.flowline-spec dt { margin-bottom:7px; color:var(--pf-muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.flowline-spec dd { overflow:hidden; color:var(--pf-copy); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.flowline-spec .btn { min-width:178px; justify-content:center; white-space:nowrap; }

/* Remaining content adopts the same material palette. */
.process-section { background-color:var(--pf-ink); background-image:linear-gradient(rgba(79,143,136,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(79,143,136,.045) 1px,transparent 1px),radial-gradient(circle at 50% 40%,rgba(79,143,136,.1),transparent 38%); }
.process-ring-glow { background:radial-gradient(circle,rgba(79,143,136,.2),transparent 64%); }
.process-links-track { stroke:rgba(134,184,174,.18); }
.process-indicator { background:var(--pf-teal-soft); box-shadow:0 0 0 8px rgba(79,143,136,.1); }
.process-centre-mark em { color:var(--pf-brass-soft); }

#why,#reference,#faq { transition:background-color .45s ease,color .45s ease; }
#why .eyebrow,#reference .eyebrow,#faq .eyebrow { color:var(--pf-brass); }
.why-col,.accordion-item,.table-scroll { transition:transform .5s var(--pf-ease),border-color .4s ease,box-shadow .5s var(--pf-ease); }
.why-col:hover { transform:translateY(-6px); border-color:rgba(79,143,136,.42); box-shadow:0 24px 60px rgba(1,13,17,.12); }
.accordion-item:hover { border-color:rgba(79,143,136,.36); }
.pressure-table tbody tr:hover { background:rgba(79,143,136,.08) !important; }

.rfqa-inline-section { position:relative; overflow:hidden; background:linear-gradient(145deg,#071419,#0a2026); }
.rfqa-inline-section::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(rgba(79,143,136,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,143,136,.04) 1px,transparent 1px),radial-gradient(circle at 75% 4%,rgba(79,143,136,.12),transparent 30%); background-size:72px 72px,72px 72px,auto; }
.rfqa-page { position:relative; }
.rfqa-sector-tab.is-active,.rfqa-sector-tab[aria-selected="true"] { border-color:var(--pf-teal); color:var(--pf-white); background:rgba(79,143,136,.17); }
.rfqa-field input:focus,.rfqa-field select:focus,.rfqa-field textarea:focus { border-color:var(--pf-teal); box-shadow:0 0 0 3px rgba(79,143,136,.1); }
.rfqa-dialog { border-color:rgba(134,184,174,.22); border-radius:3px; background:var(--pf-paper); }
.rfqa-page,
#rfqa-inline-mount .rfqa-page { color:#10272d; background:var(--pf-paper); }
.rfqa-header { border-color:rgba(7,25,31,.12); }
.rfqa-brand,.rfqa-title-group h2,.rfqa-page h3 { color:#07191f; }
.rfqa-brand-mark { border-radius:2px; background:#07191f; }
.rfqa-brand strong span,.rfqa-title-group h2 span { color:var(--pf-teal-deep); }
.rfqa-title-group p,.rfqa-field > span,.rfqa-mail-note,.rfqa-send-steps { color:#53686b; }
.rfqa-sector-section,.rfqa-manual-section,.rfqa-send-row,.rfqa-table-preview { border-color:rgba(7,25,31,.13); border-radius:3px; background:rgba(251,248,239,.72); box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.rfqa-upload-section { border-color:rgba(79,143,136,.38); border-radius:3px; background:rgba(79,143,136,.06); }
.rfqa-contact-row { border-color:rgba(7,25,31,.13); border-radius:3px; background:rgba(231,225,213,.56); }
.rfqa-sector-tab { border-color:rgba(7,25,31,.14); border-radius:2px; background:rgba(255,255,255,.42); color:#29474b; }
.rfqa-sector-tab:hover { border-color:var(--pf-teal); background:rgba(79,143,136,.08); }
.rfqa-sector-tab.is-active { border-color:var(--pf-teal-deep); background:var(--pf-teal-deep); box-shadow:0 8px 24px rgba(36,93,90,.18); }
.rfqa-field input,.rfqa-field select,.rfqa-field textarea { border-color:rgba(7,25,31,.16); border-radius:2px; color:#10272d; background:#fbf8ef; }
.rfqa-btn { border-radius:2px; }
.rfqa-btn--primary { background:#07191f; }
.rfqa-btn--add { color:#f9f4e8; background:var(--pf-teal-deep); }
.rfqa-btn--outline { border-color:rgba(7,25,31,.18); color:#17343a; }
.rfqa-table th { color:var(--pf-paper); background:#10272d; }
.rfqa-table td { color:#29474b; border-color:rgba(7,25,31,.09); }
.rfqa-table tr:hover td { background:rgba(79,143,136,.07); }
.rfqa-badge { background:var(--pf-brass); color:#07191f; }

/* Day mode is warm technical paper; never pure white or low contrast. */
html[data-theme="light"] .site-nav.is-compact { --ivory:#07191f; background:rgba(241,237,227,.9); border-color:rgba(7,25,31,.14); box-shadow:0 18px 50px rgba(7,25,31,.12); }
html[data-theme="light"] .site-nav.is-compact .logo-wordmark i { color:#8c672e; }
html[data-theme="light"] .site-nav.is-compact .logo-mark-left { fill:rgba(79,143,136,.12); stroke:#34746e; }
html[data-theme="light"] .source-section .flow-product-media { background:radial-gradient(circle at 50% 70%,rgba(79,143,136,.13),rgba(255,255,255,.18) 62%,transparent 63%); }
html[data-theme="light"] .flow-product::after { background:var(--pf-paper-2); }
html[data-theme="light"] .flowline-spec { box-shadow:0 22px 60px rgba(7,25,31,.08); }

@keyframes pf-flow-dash { to { stroke-dashoffset:-240; } }
@keyframes pf-scan-pulse { 0%,100% { opacity:.45; transform:scale(.8); } 50% { opacity:1; transform:scale(1.08); } }
@keyframes pf-track-flow { from { left:-20%; } to { left:105%; } }
@keyframes pf-track-node { from { left:-5%; } to { left:103%; } }

@media (max-width:1100px) {
  .hero-headline-parallax { left:34px; width:min(680px,68vw); }
  .hero-tech-note--material { display:none; }
  .flowline-stage { padding-right:22px; padding-left:22px; }
  .flow-product { grid-template-rows:auto 220px auto auto; }
  .flow-product-media { height:215px; }
  .flowline-track { top:279px; }
  .flowline-spec { grid-template-columns:.55fr 1.45fr; }
  .flowline-spec .btn { grid-column:1/-1; width:max-content; }
}

@media (max-width:820px) {
  .hero-construx { height:900px; min-height:900px; }
  .hero-bg { background-position:62% center !important; }
  .hero-headline-parallax { top:auto; right:28px; bottom:58px; left:28px; width:auto; transform:translateY(var(--hero-headline-drift,0px)); }
  .hero-headline-text { max-width:720px; font-size:clamp(3.4rem,10vw,5.7rem); }
  .hero-summary { max-width:560px; }
  .hero-tech-note { display:none; }
  .hero-flow-trace { bottom:31%; }
  .hero-meta { display:none; }
  .flowline-stage { min-height:0; padding:72px 18px 24px; overflow:visible; }
  .flowline-products { grid-template-columns:repeat(5,200px); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding:0 8px 32px; scrollbar-width:none; }
  .flowline-products::-webkit-scrollbar { display:none; }
  .flow-product { scroll-snap-align:center; }
  .flowline-track { right:0; left:0; }
  .flowline-spec { grid-template-columns:1fr; gap:20px; margin-top:34px; }
  .flowline-spec dl { grid-template-columns:1fr; }
  .flowline-spec dl > div { padding:10px 0; border-top:1px solid var(--pf-hairline); border-left:0; }
  .flowline-spec .btn { grid-column:auto; width:100%; }
}

@media (max-width:640px) {
  .hero-construx { height:780px; min-height:780px; }
  .hero-bg { background-position:67% center !important; filter:saturate(.65) contrast(1.05) brightness(.72); }
  .hero-image-overlay { background:linear-gradient(180deg,rgba(2,10,14,.25),rgba(2,10,14,.28) 28%,rgba(2,10,14,.92) 68%,#020a0e 100%); }
  .hero-headline-parallax { right:20px; bottom:32px; left:20px; }
  .hero-headline-text { font-size:clamp(3rem,13vw,4.2rem); line-height:.9; }
  .hero-summary { margin-top:18px; font-size:.94rem; line-height:1.55; }
  .hero-headline-ctas { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:20px; }
  .hero-headline-ctas .btn { min-width:0; padding-right:12px; padding-left:12px; font-size:11px; }
  .hero-proof { margin-top:22px; padding-top:16px; }
  .hero-proof dt { font-size:1.25rem; }
  .hero-proof dd { font-size:7px; }
  .hero-engineering-layer { opacity:.55; }
  .hero-flow-trace { bottom:38%; }
  .flowline-stage { margin-top:34px; }
  .flowline-products { grid-template-columns:repeat(5,176px); }
  .flow-product { grid-template-rows:auto 190px auto auto; }
  .flow-product-media { height:185px; }
  .flowline-track { top:249px; }
  .flowline-spec { padding:20px; }
  body::after { opacity:.025; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-flow-live,.hero-scan-dot,.flowline-track i,.flowline-track b { animation:none !important; }
  .flow-product,.facility-card,.why-col { transition:none !important; }
}

/* =====================================================================
   REFINEMENT 03 — dark-first editorial balance, mineral light and rhythm
   ===================================================================== */
:root {
  --pf-teal:#548b84;
  --pf-teal-deep:#285f5b;
  --pf-teal-soft:#9bc6bc;
  --pf-brass:#c7c3b8;
  --pf-brass-soft:#eee8dc;
  --brass:#c7c3b8;
  --brass-lit:#eee8dc;
  --cyan:#548b84;
}

/* Mineral-teal becomes the action colour. Warm platinum is used only for
   typography and fine measurement marks, never as a large gold block. */
.btn--primary,
.rfqa-btn--success,
.rfqa-btn--send {
  color:#f8f3e8;
  border-color:rgba(155,198,188,.42);
  background:linear-gradient(135deg,#4f8881 0%,#326f6a 55%,#245752 100%);
  box-shadow:0 14px 38px rgba(20,64,61,.28),inset 0 1px 0 rgba(255,255,255,.18);
}
.logo-mark-right { fill:rgba(199,195,184,.1); stroke:var(--pf-brass-soft); }
.logo-wordmark i,.hero-proof dt,.facility-index,.flowline-progress strong,.flow-product-index { color:var(--pf-brass-soft); }

/* Hero: quieter type scale and a true left/right editorial grid. */
.hero-construx { height:max(790px,100svh); min-height:790px; }
.hero-construx::before {
  content:"";
  position:absolute;
  inset:-24% -18%;
  z-index:4;
  pointer-events:none;
  opacity:.46;
  transform:translate3d(-26%,0,0) rotate(-8deg);
  background:linear-gradient(90deg,transparent 35%,rgba(155,198,188,.075) 48%,rgba(238,232,220,.045) 52%,transparent 66%);
  filter:blur(18px);
  animation:pf-hero-light-pass 13s var(--pf-ease) 3.2s infinite;
}
.hero-headline-parallax {
  top:52%;
  left:max(48px,calc((100vw - 1240px)/2));
  width:min(630px,47vw);
  transform:translateY(calc(-43% + var(--hero-headline-drift,0px)));
}
.hero-headline-text {
  max-width:630px;
  font-size:clamp(3.65rem,5.25vw,5.55rem);
  line-height:.94;
  letter-spacing:-.058em;
}
.hero-headline-text em { color:var(--pf-teal-soft); }
.hero-summary { max-width:550px; margin-top:23px; font-size:clamp(.98rem,1.16vw,1.08rem); line-height:1.65; }
.hero-headline-ctas { margin-top:25px; }
.hero-proof { max-width:570px; margin-top:28px; }
.hero-tech-note { border-color:rgba(155,198,188,.38); }
.hero-tech-note span { color:var(--pf-teal-soft); }
.hero-tech-note--pressure { top:28%; right:9%; }
.hero-tech-note--material { top:52%; right:27%; }
.hero-tech-note--standard { right:4.5%; bottom:18%; }
.hero-flow-live { stroke:#8ebbb1; filter:drop-shadow(0 0 5px rgba(84,139,132,.36)); }

@keyframes pf-hero-light-pass {
  0%,18% { opacity:0; transform:translate3d(-30%,0,0) rotate(-8deg); }
  38% { opacity:.48; }
  66%,100% { opacity:0; transform:translate3d(46%,0,0) rotate(-8deg); }
}

/* Sourcing: preserve the atmospheric background, restore the stronger cards,
   and replace the literal moving pipe with a pressure/frequency signature. */
.flowline-stage { display:none !important; }
.source-arc-wrap--legacy { display:block !important; margin-top:28px; padding:28px 0 58px; }
.source-frequency { position:absolute; inset:17% -5% auto; z-index:0; height:420px; pointer-events:none; opacity:.78; }
.source-frequency svg { width:100%; height:100%; overflow:visible; }
.source-frequency path { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.frequency-base { stroke:rgba(155,198,188,.12); stroke-width:1; }
.frequency-live {
  stroke:var(--pf-teal-soft);
  stroke-width:1.35;
  stroke-dasharray:135 1160;
  filter:drop-shadow(0 0 7px rgba(84,139,132,.32));
  animation:pf-frequency-travel 7.5s linear infinite;
}
.source-glow { opacity:.2 !important; filter:hue-rotate(-28deg) saturate(.34); }
.source-arc { gap:clamp(18px,3vw,48px); align-items:flex-start; }
.source-card { flex-basis:var(--w); }
.showcase-card {
  color:var(--pf-white);
  border-color:rgba(155,198,188,.16);
  background:linear-gradient(155deg,rgba(15,37,42,.96),rgba(5,18,23,.98));
  box-shadow:0 26px 70px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.045);
}
.source-card--centre .showcase-card { border-color:rgba(155,198,188,.42); box-shadow:0 36px 90px rgba(0,0,0,.3),0 0 0 1px rgba(155,198,188,.05); }
.showcase-card::before { border-color:rgba(238,232,220,.14); }
.showcase-card::after { background:radial-gradient(closest-side,rgba(84,139,132,.2),transparent 72%); }
.showcase-card:hover { transform:translateY(-13px); border-color:rgba(155,198,188,.52); box-shadow:0 38px 85px rgba(0,0,0,.34),0 0 40px rgba(84,139,132,.08); }
.showcase-media { background:#0a171b; }
.showcase-media img { filter:saturate(.62) contrast(1.08) brightness(.91); }
.showcase-card:hover .showcase-media img { filter:saturate(.83) contrast(1.1) brightness(.98); }
.showcase-label { color:var(--pf-teal-soft); }
.showcase-name { color:#f4efe5; }
.showcase-standards { color:#95a9a8; }
#source-arc-path { stroke:rgba(155,198,188,.38); stroke-dasharray:2 10; }

@keyframes pf-frequency-travel { to { stroke-dashoffset:-1295; } }

/* The process becomes wider, while its floating explanations read as real
   editorial cards instead of narrow tooltips. */
.process-wrap { padding-top:clamp(88px,10vw,142px); padding-bottom:86px; }
.process-circle { width:min(680px,74vw); }
.process-panel {
  width:min(342px,76vw);
  padding:27px 28px;
  border-color:rgba(155,198,188,.28);
  background:linear-gradient(145deg,rgba(11,32,37,.94),rgba(5,18,23,.96));
  box-shadow:0 28px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.04);
}
.process-node.is-active .process-panel { animation:pf-panel-breathe 4.6s ease-in-out infinite; }
.process-panel-title { color:var(--pf-brass-soft); background:none; -webkit-text-fill-color:currentColor; font-size:24px; }
.process-panel-desc { color:#aebdbc; font-size:15px; line-height:1.68; }
.process-panel-num { color:var(--pf-teal-soft); }
.process-ring-glow { opacity:.32; filter:blur(30px); }
.process-ring-band { background:conic-gradient(from 30deg,transparent,var(--pf-teal) 24%,var(--pf-brass-soft) 39%,transparent 58%,var(--pf-teal-deep) 82%,transparent); }
.process-centre-label { color:var(--pf-teal-soft); }
.process-indicator { background:var(--pf-teal-soft); box-shadow:0 0 0 7px rgba(84,139,132,.1),0 0 20px rgba(84,139,132,.3); }
.process-node.is-active .process-node-dot { border-color:var(--pf-teal-soft); box-shadow:0 0 0 7px rgba(84,139,132,.08),0 0 28px rgba(84,139,132,.16); }

@keyframes pf-panel-breathe {
  0%,100% { box-shadow:0 28px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.04); }
  50% { box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 34px rgba(84,139,132,.1),inset 0 1px 0 rgba(255,255,255,.05); }
}

/* RFQ remains a calm dark workspace; the previous bright paper header and
   large accent blocks were visually louder than the product task. */
.rfqa-inline-section,
html[data-theme="light"] .rfqa-inline-section { background:linear-gradient(155deg,#071419,#091d22 56%,#071419); }
.rfqa-inline-section::before { opacity:.5; background-size:76px 76px,76px 76px,auto; }
#rfqa-inline-mount .rfqa-page { color:#e9ece7; background:transparent; }
#rfqa-inline-mount .rfqa-header { border-color:rgba(155,198,188,.14); }
#rfqa-inline-mount .rfqa-brand,#rfqa-inline-mount .rfqa-title-group h2,#rfqa-inline-mount .rfqa-page h3 { color:#f3eee5; }
#rfqa-inline-mount .rfqa-brand-mark { color:var(--pf-teal-soft); border-color:rgba(155,198,188,.32); background:rgba(84,139,132,.08); }
#rfqa-inline-mount .rfqa-brand strong span,#rfqa-inline-mount .rfqa-title-group h2 span { color:var(--pf-teal-soft); }
#rfqa-inline-mount .rfqa-title-group p { color:#91a4a4; }
#rfqa-inline-mount .rfqa-sector-section,
#rfqa-inline-mount .rfqa-upload-section,
#rfqa-inline-mount .rfqa-manual-section,
#rfqa-inline-mount .rfqa-table-preview,
#rfqa-inline-mount .rfqa-contact-row,
#rfqa-inline-mount .rfqa-send-row { border-color:rgba(155,198,188,.14); background:rgba(6,23,28,.76); box-shadow:0 24px 65px rgba(0,0,0,.16); }
#rfqa-inline-mount .rfqa-upload-section,#rfqa-inline-mount .rfqa-manual-section { border-color:rgba(155,198,188,.22); }
#rfqa-inline-mount .rfqa-sector-tab { color:#a9b9b8; border-color:rgba(155,198,188,.18); background:#071b20; }
#rfqa-inline-mount .rfqa-sector-tab:hover { color:#f2eee5; border-color:rgba(155,198,188,.46); background:rgba(84,139,132,.08); }
#rfqa-inline-mount .rfqa-sector-tab.is-active { color:#f5f0e8; border-color:var(--pf-teal); background:#285f5b; box-shadow:0 10px 25px rgba(20,64,61,.2); }
#rfqa-inline-mount .rfqa-field input,
#rfqa-inline-mount .rfqa-field select,
#rfqa-inline-mount .rfqa-field textarea { color:#edf0ea; border-color:rgba(155,198,188,.16); background:#06181d; }
#rfqa-inline-mount .rfqa-field > span { color:#9aacaa; }
#rfqa-inline-mount .rfqa-btn--primary,
#rfqa-inline-mount .rfqa-btn--success,
#rfqa-inline-mount .rfqa-btn--add,
#rfqa-inline-mount .rfqa-btn--send { color:#f6f1e8; border-color:#548b84; background:linear-gradient(135deg,#4f8881,#285f5b); }

/* Robot: smaller, frameless and colour-graded into the page. */
.robot-assistant { right:22px; bottom:82px; width:clamp(64px,5.4vw,82px); }
.robot-assistant::before,.robot-assistant::after { display:none !important; }
.robot-video {
  width:100%;
  border-radius:0;
  opacity:.88;
  mix-blend-mode:screen;
  filter:grayscale(.16) saturate(.5) hue-rotate(128deg) contrast(1.18) brightness(.88) drop-shadow(0 9px 12px rgba(0,0,0,.34));
  -webkit-mask-image:radial-gradient(ellipse 48% 49% at 50% 45%,#000 54%,rgba(0,0,0,.88) 67%,rgba(0,0,0,.2) 84%,transparent 100%),linear-gradient(to bottom,#000 0 78%,transparent 98%);
          mask-image:radial-gradient(ellipse 48% 49% at 50% 45%,#000 54%,rgba(0,0,0,.88) 67%,rgba(0,0,0,.2) 84%,transparent 100%),linear-gradient(to bottom,#000 0 78%,transparent 98%);
  -webkit-mask-composite:source-in;
          mask-composite:intersect;
}
.robot-bubble { right:calc(100% + 9px); bottom:8px; width:min(270px,calc(100vw - 110px)); filter:none; }
.robot-bubble-shape { padding:9px 22px 9px 0; border:0; clip-path:none; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; }
.robot-bubble-shape::before,.robot-bubble-corner,.robot-bubble-tail { display:none; }
.robot-bubble-accent { width:54px; height:1px; margin-bottom:8px; background:linear-gradient(90deg,var(--pf-teal-soft),transparent); opacity:.72; }
.robot-bubble-text { min-height:0; color:#b8d3cc; font-family:var(--font-body); font-size:12px; font-weight:500; line-height:1.55; letter-spacing:.015em; text-shadow:0 2px 12px rgba(0,0,0,.68); }
.robot-bubble-cursor { color:var(--pf-brass-soft); }
.robot-bubble-close { top:2px; right:0; color:#96aaa8; border:0; background:transparent; }
.robot-bubble-close:hover,.robot-bubble-close:focus-visible { color:#f2eee5; }
.robot-assistant:focus-visible { outline-color:var(--pf-teal-soft); }

@media (max-width:900px) {
  .hero-headline-parallax { top:auto; right:30px; bottom:48px; left:30px; width:auto; transform:translateY(var(--hero-headline-drift,0px)); }
  .hero-headline-text { max-width:700px; font-size:clamp(3.3rem,8.8vw,5rem); }
  .source-frequency { inset:16% -25% auto; }
}

@media (max-width:820px) {
  .source-arc-wrap--legacy { margin-top:10px; padding-bottom:24px; }
  .source-arc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .source-card,.source-card[data-ring] { width:auto !important; min-width:0; margin-top:0 !important; }
  .source-card--centre { grid-column:1/-1; width:min(360px,100%) !important; justify-self:center; }
  .source-arc-lines { display:none; }
  .process-panel { width:min(360px,80vw); }
}

@media (max-width:640px) {
  .hero-construx { height:790px; min-height:790px; }
  .hero-headline-parallax { right:20px; bottom:28px; left:20px; }
  .hero-headline-text { font-size:clamp(2.85rem,12vw,3.85rem); line-height:.93; }
  .hero-summary { max-width:460px; font-size:.91rem; }
  .source-arc { grid-template-columns:1fr; }
  .source-card--centre { grid-column:auto; width:auto !important; }
  .source-card { max-width:420px; justify-self:stretch; }
  .source-frequency { inset:13% -70% auto; opacity:.48; }
  .robot-assistant { right:11px; bottom:72px; width:55px; }
  .robot-bubble { right:0; bottom:calc(100% + 8px); width:min(220px,calc(100vw - 24px)); }
  .robot-bubble-shape { padding-right:18px; }
  .robot-bubble-text { font-size:10.5px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-construx::before,.frequency-live { animation:none !important; }
}

/* =====================================================================
   REFINEMENT 04 — luminous contrast and alternating industrial surfaces
   ===================================================================== */
:root {
  --pf-teal:#69a99f;
  --pf-teal-deep:#39766f;
  --pf-teal-soft:#b6d9d1;
  --cyan:#69a99f;
}

/* Hero copy now occupies the true negative space of the photograph. */
.hero-bg,.hero-fg { filter:saturate(.82) contrast(1.04) brightness(.96); }
.hero-loaded .hero-bg { animation:pf-hero-camera-v4 8s var(--pf-ease) .6s both; }
.hero-image-overlay {
  background:
    radial-gradient(circle at 76% 43%,transparent 0 25%,rgba(2,9,12,.06) 52%,rgba(2,9,12,.18) 100%),
    linear-gradient(90deg,rgba(3,13,17,.82) 0%,rgba(3,13,17,.66) 33%,rgba(3,13,17,.16) 62%,rgba(3,13,17,.025) 100%),
    linear-gradient(180deg,rgba(2,10,14,.12),transparent 55%,rgba(2,10,14,.62));
}
.hero-headline-parallax {
  top:55%;
  left:max(52px,calc((100vw - 1240px)/2));
  width:min(650px,48vw);
  transform:translateY(calc(-46% + var(--hero-headline-drift,0px)));
}
.hero-headline { max-width:650px; }
.hero-headline-text {
  max-width:650px;
  color:#f5f0e7;
  font-size:clamp(3.7rem,5vw,5.25rem);
  line-height:.95;
  letter-spacing:-.055em;
  text-shadow:0 20px 48px rgba(0,0,0,.32);
}
.hero-headline-text em {
  position:relative;
  width:max-content;
  max-width:100%;
  color:#d9d9d1;
}
.hero-headline-text em::after {
  content:"";
  position:absolute;
  right:0;
  bottom:-8px;
  left:2px;
  height:2px;
  transform-origin:left;
  background:linear-gradient(90deg,var(--pf-teal-soft),rgba(182,217,209,.08));
  animation:pf-headline-rule 1.2s var(--pf-ease) 2.75s both;
}
.hero-kicker { color:#b9d7d0; }
.hero-summary { color:#c4d0cd; }
.hero-proof dd { color:#aebfbc; }
.hero-tech-note { background:linear-gradient(90deg,rgba(5,21,26,.42),transparent); }

@keyframes pf-hero-camera-v4 {
  from { transform:scale(1.045); filter:saturate(.66) contrast(1.08) brightness(.79); }
  to { transform:scale(1); filter:saturate(.82) contrast(1.04) brightness(.96); }
}
@keyframes pf-headline-rule { from { transform:scaleX(0); opacity:0; } to { transform:scaleX(1); opacity:1; } }

/* Ashal-style rhythm: luminous work surfaces alternate with cinematic zones. */
.facilities-section,
html[data-theme="dark"] .facilities-section,
html[data-theme="light"] .facilities-section {
  --pf-copy:#0a2025;
  --pf-muted:#50666b;
  --pf-hairline:rgba(10,32,37,.14);
  --pf-card:rgba(250,248,241,.8);
  color:var(--pf-copy);
  background-color:#e9e7df;
  background-image:
    linear-gradient(rgba(10,32,37,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,37,.055) 1px,transparent 1px),
    radial-gradient(circle at 82% 5%,rgba(105,169,159,.18),transparent 32%),
    radial-gradient(circle at 12% 94%,rgba(149,176,185,.12),transparent 28%);
}
.facilities-section .eyebrow { color:#39766f; }
.facilities-section .facility-card { background:linear-gradient(145deg,rgba(255,253,247,.86),rgba(228,229,222,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.facilities-section .facility-card:hover { background:#f8f6ef; box-shadow:0 28px 60px rgba(22,52,57,.13); }

.source-section,
html[data-theme="dark"] .source-section,
html[data-theme="light"] .source-section {
  --pf-copy:#f3efe6;
  --pf-muted:#9fb1af;
  --pf-hairline:rgba(182,217,209,.17);
  --pf-card:rgba(9,28,33,.82);
  background:
    linear-gradient(rgba(182,217,209,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(182,217,209,.045) 1px,transparent 1px),
    radial-gradient(circle at 50% 38%,rgba(105,169,159,.16),transparent 39%),
    linear-gradient(145deg,#0b2227,#07161b 64%,#0b2227);
  background-size:72px 72px,72px 72px,auto,auto;
}

.process-section,
html[data-theme="dark"] .process-section,
html[data-theme="light"] .process-section {
  color:#0a2025;
  background-color:#e4e4dd;
  background-image:
    linear-gradient(rgba(10,32,37,.052) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,37,.052) 1px,transparent 1px),
    radial-gradient(circle at 50% 47%,rgba(105,169,159,.19),transparent 35%);
}
.process-section .section-head h2 { color:#0a2025; }
.process-section .section-head p { color:#536a6e; }
.process-section .eyebrow { color:#39766f; }
.process-links-track { stroke:rgba(10,32,37,.22); }
.process-node:not(.is-active) { opacity:.74; filter:saturate(.72); }
.process-node-label { color:#405b60; }
.process-node-num { color:#78aaa1; }
.process-node.is-active .process-node-label,.process-node-btn:hover .process-node-label { color:#1c5e57; }
.process-node-dot { border-color:rgba(10,32,37,.26); background:#0b252b; }
.process-centre { background:radial-gradient(circle at 35% 30%,#12343b,#06161b); border-color:rgba(182,217,209,.28); }

#why,
html[data-theme="dark"] #why,
html[data-theme="light"] #why {
  color:#0a2025;
  background-color:#ece9e1;
  background-image:
    linear-gradient(rgba(10,32,37,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,32,37,.05) 1px,transparent 1px),
    radial-gradient(circle at 8% 12%,rgba(105,169,159,.15),transparent 28%);
}
#why .section-head h2,#why .why-col h3 { color:#0a2025; }
#why .eyebrow { color:#39766f; }
#why .why-grid { border-color:rgba(10,32,37,.14); }
#why .why-col { color:#0a2025; border-color:rgba(10,32,37,.14); background:rgba(250,248,241,.72); box-shadow:inset 0 1px 0 #fff; }
#why .why-col p { color:#52676b; }

#reference,
html[data-theme="dark"] #reference,
html[data-theme="light"] #reference {
  color:#0a2025;
  background-color:#dfe2dc;
  background-image:linear-gradient(rgba(10,32,37,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,32,37,.05) 1px,transparent 1px);
}
#reference .section-head h2 { color:#0a2025; }
#reference .section-head p,#reference .table-note { color:#52676b; }
#reference .eyebrow { color:#39766f; }
#reference .table-scroll { border-color:rgba(10,32,37,.15); background:#f4f2eb; box-shadow:0 26px 65px rgba(20,50,55,.11); }
.pressure-table caption { color:#376e68; border-color:rgba(10,32,37,.13); background:#d6dbd5; }
.pressure-table thead th { color:#edf4f1; background:#12343b; }
.pressure-table tbody th { color:#39766f; }
.pressure-table td { color:#344d52; }
.pressure-table th,.pressure-table td { border-color:rgba(10,32,37,.11); }

#faq,
html[data-theme="dark"] #faq,
html[data-theme="light"] #faq {
  color:#0a2025;
  background-color:#ece9e1;
  background-image:linear-gradient(rgba(10,32,37,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,32,37,.05) 1px,transparent 1px),radial-gradient(circle at 92% 12%,rgba(105,169,159,.13),transparent 26%);
}
#faq .section-head h2,#faq .accordion-trigger { color:#0a2025; }
#faq .eyebrow { color:#39766f; }
#faq .accordion-item { border-color:rgba(10,32,37,.14); background:rgba(250,248,241,.76); box-shadow:inset 0 1px 0 #fff; }
#faq .accordion-panel p { color:#52676b; }

/* Robot: medium-sized again, with a readable mineral-glass message. */
.robot-assistant { right:22px; bottom:82px; width:clamp(88px,7vw,102px); }
.robot-video { opacity:.92; filter:grayscale(.1) saturate(.6) hue-rotate(128deg) contrast(1.16) brightness(.93) drop-shadow(0 10px 15px rgba(0,0,0,.32)); }
.robot-bubble { right:calc(100% + 13px); bottom:8px; width:min(248px,calc(100vw - 134px)); }
.robot-bubble-shape {
  padding:14px 30px 13px 16px;
  border:1px solid rgba(182,217,209,.28);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(8,31,36,.9),rgba(11,42,46,.72));
  box-shadow:0 18px 42px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.robot-bubble-accent { width:64px; margin-bottom:9px; }
.robot-bubble-text { color:#c0ddd6; font-size:12.5px; line-height:1.55; text-shadow:none; }
.robot-bubble-close { top:7px; right:7px; }
.robot-bubble-tail {
  display:block;
  top:auto;
  right:-6px;
  bottom:16px;
  width:13px;
  height:13px;
  border:0;
  border-top:1px solid rgba(182,217,209,.24);
  border-right:1px solid rgba(182,217,209,.24);
  background:rgba(10,38,43,.82);
  transform:rotate(45deg);
}

@media (max-width:900px) {
  .hero-headline-parallax { top:auto; right:30px; bottom:50px; left:30px; width:auto; transform:translateY(var(--hero-headline-drift,0px)); }
  .hero-headline-text { max-width:700px; font-size:clamp(3.25rem,8.8vw,4.8rem); }
}

@media (max-width:640px) {
  .hero-image-overlay { background:linear-gradient(180deg,rgba(2,10,14,.16),rgba(2,10,14,.18) 30%,rgba(2,10,14,.82) 68%,#020a0e 100%); }
  .hero-headline-parallax { right:20px; bottom:29px; left:20px; }
  .hero-headline-text { font-size:clamp(2.8rem,11.8vw,3.75rem); }
  .hero-headline-text em { width:auto; }
  .robot-assistant { right:10px; bottom:72px; width:70px; }
  .robot-bubble { right:0; bottom:calc(100% + 10px); width:min(218px,calc(100vw - 24px)); }
  .robot-bubble-shape { padding:12px 27px 11px 13px; }
  .robot-bubble-text { font-size:11px; }
  .robot-bubble-tail { right:20px; bottom:-6px; transform:rotate(135deg); }
}

/* =====================================================================
   CORRECTION 05 — preserve the original dark site and transfer the robot
   HUD language to the widened five-step panels (not the other way round).
   ===================================================================== */
html[data-theme="dark"] .facilities-section {
  --pf-copy:#e8e4dc;
  --pf-muted:#9badaf;
  --pf-hairline:rgba(155,198,188,.16);
  --pf-card:rgba(10,31,37,.8);
  color:var(--pf-copy);
  background-color:#08171c;
  background-image:
    linear-gradient(rgba(155,198,188,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(155,198,188,.045) 1px,transparent 1px),
    radial-gradient(circle at 82% 5%,rgba(105,169,159,.12),transparent 31%);
}
html[data-theme="dark"] .facilities-section .eyebrow { color:#89bbb3; }
html[data-theme="dark"] .facilities-section .facility-card { color:#e8e4dc; border-color:rgba(155,198,188,.15); background:linear-gradient(145deg,rgba(13,39,45,.82),rgba(6,22,27,.92)); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
html[data-theme="dark"] .facilities-section .facility-card:hover { background:linear-gradient(145deg,rgba(17,48,54,.9),rgba(7,25,30,.96)); box-shadow:0 28px 64px rgba(0,0,0,.24); }
html[data-theme="dark"] .facilities-section .facility-card h3 { color:#e8e4dc; }
html[data-theme="dark"] .facilities-section .facility-card p,
html[data-theme="dark"] .facilities-intro > p { color:#9badaf; }
html[data-theme="dark"] .facilities-intro h2 { color:#e8e4dc; }
html[data-theme="dark"] .facilities-intro h2 em { color:#9ccac1; }

html[data-theme="dark"] .process-section {
  color:#e8e4dc;
  background-color:#07161b;
  background-image:
    linear-gradient(rgba(155,198,188,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(155,198,188,.045) 1px,transparent 1px),
    radial-gradient(circle at 50% 47%,rgba(105,169,159,.12),transparent 37%);
}
html[data-theme="dark"] .process-section .section-head h2 { color:#e8e4dc; }
html[data-theme="dark"] .process-section .section-head p { color:#9badaf; }
html[data-theme="dark"] .process-section .eyebrow { color:#89bbb3; }
html[data-theme="dark"] .process-links-track { stroke:rgba(155,198,188,.2); }
html[data-theme="dark"] .process-node-label { color:#9fb1b2; }
html[data-theme="dark"] .process-node-num { color:#a8d4cb; }
html[data-theme="dark"] .process-node.is-active .process-node-label,
html[data-theme="dark"] .process-node-btn:hover .process-node-label { color:#c5ece4; }

html[data-theme="dark"] #why,
html[data-theme="dark"] #reference,
html[data-theme="dark"] #faq {
  color:#e8e4dc;
  background-color:#08171c;
  background-image:linear-gradient(rgba(155,198,188,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(155,198,188,.04) 1px,transparent 1px),radial-gradient(circle at 12% 8%,rgba(105,169,159,.09),transparent 28%);
}
html[data-theme="dark"] #why .section-head h2,
html[data-theme="dark"] #reference .section-head h2,
html[data-theme="dark"] #faq .section-head h2,
html[data-theme="dark"] #why .why-col h3,
html[data-theme="dark"] #faq .accordion-trigger { color:#e8e4dc; }
html[data-theme="dark"] #why .eyebrow,
html[data-theme="dark"] #reference .eyebrow,
html[data-theme="dark"] #faq .eyebrow { color:#89bbb3; }
html[data-theme="dark"] #why .why-grid { border-color:rgba(155,198,188,.14); }
html[data-theme="dark"] #why .why-col { color:#e8e4dc; border-color:rgba(155,198,188,.14); background:linear-gradient(145deg,rgba(13,39,45,.7),rgba(6,22,27,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
html[data-theme="dark"] #why .why-col p,
html[data-theme="dark"] #reference .section-head p,
html[data-theme="dark"] #reference .table-note,
html[data-theme="dark"] #faq .accordion-panel p { color:#9badaf; }
html[data-theme="dark"] #reference .table-scroll { border-color:rgba(155,198,188,.15); background:#091c22; box-shadow:0 28px 70px rgba(0,0,0,.24); }
html[data-theme="dark"] .pressure-table caption { color:#a9d3cb; border-color:rgba(155,198,188,.13); background:#0d2930; }
html[data-theme="dark"] .pressure-table thead th { color:#e4eeee; background:#12343b; }
html[data-theme="dark"] .pressure-table tbody th { color:#93c8be; }
html[data-theme="dark"] .pressure-table td { color:#aebfc0; }
html[data-theme="dark"] .pressure-table th,
html[data-theme="dark"] .pressure-table td { border-color:rgba(155,198,188,.1); }
html[data-theme="dark"] #faq .accordion-item { border-color:rgba(155,198,188,.14); background:linear-gradient(145deg,rgba(13,39,45,.68),rgba(6,22,27,.8)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }

/* Five Steps: retain the wider geometry, but use the robot's original HUD
   typography, cyan lettering and luminous technical border. */
.process-circle { width:min(680px,74vw); }
.process-panel {
  width:min(342px,76vw);
  padding:26px 28px;
  color:#00e5ff;
  border:1px solid rgba(0,229,255,.48);
  border-radius:2px;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px),0 14px);
  background:rgba(12,31,42,.91);
  box-shadow:0 0 0 1px rgba(0,229,255,.09),0 24px 58px rgba(0,0,0,.36),0 0 25px rgba(0,229,255,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-family:var(--font-mono);
}
.process-panel::before {
  content:"";
  position:absolute;
  top:12px;
  right:14px;
  width:52px;
  height:2px;
  opacity:.62;
  background:repeating-linear-gradient(to right,#00e5ff 0 6px,transparent 6px 10px);
}
.process-panel-num { color:#00e5ff; font-family:var(--font-mono); }
.process-panel-title { color:#00e5ff; background:none; -webkit-text-fill-color:currentColor; font-family:var(--font-mono); font-size:21px; font-weight:500; letter-spacing:.02em; text-shadow:0 0 8px rgba(0,229,255,.32); }
.process-panel-desc { color:#b9e9ee; font-family:var(--font-mono); font-size:13px; line-height:1.68; letter-spacing:.005em; }
.process-node.is-active .process-panel { animation:robot-panel-glow 3.2s ease-in-out infinite; }
@keyframes robot-panel-glow {
  0%,100% { box-shadow:0 0 0 1px rgba(0,229,255,.09),0 24px 58px rgba(0,0,0,.36),0 0 22px rgba(0,229,255,.1); }
  50% { box-shadow:0 0 0 1px rgba(0,229,255,.18),0 26px 62px rgba(0,0,0,.4),0 0 32px rgba(0,229,255,.22); }
}

/* Restore the robot message itself to its earlier cyan mono HUD. Robot size
   and video blending remain at the user's latest requested values. */
.robot-bubble {
  right:0;
  bottom:calc(100% + 18px);
  width:min(220px,calc(100vw - 32px));
  filter:drop-shadow(0 0 10px rgba(0,229,255,.4)) drop-shadow(0 0 24px rgba(0,229,255,.18));
}
.robot-bubble-shape {
  padding:14px 30px 12px 16px;
  border:1px solid rgba(0,229,255,.55);
  border-radius:0;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px),0 14px);
  background:rgba(26,37,58,.7);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:none;
}
.robot-bubble-shape::before {
  display:block;
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(0,229,255,.22);
  clip-path:polygon(11px 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px),0 11px);
  pointer-events:none;
}
.robot-bubble-corner { display:block; }
.robot-bubble-accent { width:auto; height:3px; margin-bottom:8px; background:repeating-linear-gradient(to right,#00e5ff 0 6px,transparent 6px 10px); opacity:.6; }
.robot-bubble-text { min-height:3.3em; color:#00e5ff; font-family:var(--font-mono); font-size:13px; font-weight:400; line-height:1.5; letter-spacing:0; text-shadow:0 0 6px rgba(0,229,255,.5); }
.robot-bubble-cursor { color:#00e5ff; }
.robot-bubble-close { top:6px; right:8px; width:18px; height:18px; color:#00e5ff; border:1px solid rgba(0,229,255,.4); border-radius:50%; }
.robot-bubble-tail {
  display:block;
  top:calc(100% - 9px);
  right:44px;
  bottom:auto;
  width:14px;
  height:14px;
  border-right:1px solid rgba(0,229,255,.55);
  border-bottom:1px solid rgba(0,229,255,.55);
  border-top:0;
  background:rgba(26,37,58,.7);
  transform:rotate(45deg);
}

@media (max-width:640px) {
  .robot-bubble { right:0; bottom:calc(100% + 12px); width:min(190px,calc(100vw - 20px)); }
  .robot-bubble-text { font-size:11px; }
  .robot-bubble-tail { top:calc(100% - 9px); right:22px; bottom:auto; transform:rotate(45deg); }
}

/* =====================================================================
   WORKFLOW 06 — wide five-stage engineering orbit.
   Each stage owns a restrained accent while the shared dark HUD language
   keeps the sequence cohesive and industrial rather than rainbow-like.
   ===================================================================== */
.process-section {
  overflow:hidden;
}
.process-section .section-head {
  max-width:1180px;
}
.workflow-heading {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:.2em;
  max-width:none !important;
  margin-inline:auto !important;
  font-size:clamp(4.5rem,8.4vw,8.4rem) !important;
  line-height:.86 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap;
}
.workflow-heading span {
  font-family:var(--font-clash);
  font-weight:600;
  color:#e9e7e1;
}
.workflow-heading em {
  position:relative;
  font-family:var(--font-serif);
  font-size:1.04em;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.055em;
  color:#a8ddd4;
  text-shadow:0 0 34px rgba(102,194,181,.18);
}
.workflow-heading em::after {
  content:"";
  position:absolute;
  right:.02em;
  bottom:-.09em;
  left:.08em;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(168,221,212,.72),transparent);
}

.process-wrap {
  padding-top:clamp(158px,13vw,205px);
  padding-bottom:clamp(120px,10vw,170px);
  padding-inline:0;
}
.process-circle {
  width:min(1080px,92vw);
  height:590px;
  max-width:none;
  aspect-ratio:auto;
}
.process-links-track {
  stroke-width:1.45;
  stroke-dasharray:2 8;
  opacity:.9;
  filter:drop-shadow(0 0 5px rgba(137,187,179,.14));
}
.process-node {
  top:var(--node-y);
  left:var(--node-x);
  --r:0;
  transform:translate(-50%,-50%);
}
.process-indicator {
  top:var(--indicator-y,6%);
  left:var(--indicator-x,50%);
  width:13px;
  height:13px;
  transform:translate(-50%,-50%);
  background:#dffbf6;
  box-shadow:0 0 0 6px rgba(137,216,203,.1),0 0 22px rgba(137,216,203,.62);
  transition:left .9s cubic-bezier(.65,0,.35,1),top .9s cubic-bezier(.65,0,.35,1),background .3s ease,box-shadow .3s ease;
}

.process-ring {
  inset:auto;
  top:50%;
  left:50%;
  width:360px;
  height:220px;
  border-radius:32px;
  transform:translate(-50%,-50%);
}
.process-ring-glow,
.process-ring-band {
  border-radius:32px;
  animation:none;
}
.process-ring-glow {
  opacity:.52;
  background:radial-gradient(ellipse at center,rgba(103,186,173,.24),rgba(77,111,184,.08) 44%,transparent 72%);
  filter:blur(26px);
}
.process-ring-band {
  opacity:.92;
  border:1px solid rgba(157,217,207,.25);
  background:linear-gradient(100deg,transparent 28%,rgba(157,217,207,.48) 48%,rgba(133,155,223,.42) 54%,transparent 72%);
  background-size:300% 100%;
  -webkit-mask:none;
  mask:none;
  box-shadow:inset 0 0 34px rgba(103,186,173,.045),0 0 38px rgba(0,0,0,.16);
  animation:workflow-core-scan 5.8s linear infinite;
}
@keyframes workflow-core-scan {
  from { background-position:130% 0; }
  to { background-position:-130% 0; }
}
.process-centre {
  inset:auto;
  top:50%;
  left:50%;
  width:326px;
  height:186px;
  border-radius:24px;
  transform:translate(-50%,-50%);
  gap:8px;
  border:1px solid rgba(176,224,216,.2);
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 40%),
    radial-gradient(circle at 32% 20%,rgba(79,151,143,.24),transparent 38%),
    linear-gradient(145deg,#102d34,#071a20 72%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 26px 70px rgba(0,0,0,.28);
  animation:workflow-core-pulse 5s ease-in-out infinite;
}
.process-centre::before,
.process-centre::after {
  content:"";
  position:absolute;
  width:36px;
  height:1px;
  background:rgba(166,226,216,.54);
  box-shadow:0 0 12px rgba(166,226,216,.35);
}
.process-centre::before { top:15px; left:17px; }
.process-centre::after { right:17px; bottom:15px; }
@keyframes workflow-core-pulse {
  0%,100% { box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 26px 70px rgba(0,0,0,.28),0 0 0 rgba(105,190,176,0); }
  50% { box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 26px 70px rgba(0,0,0,.32),0 0 36px rgba(105,190,176,.14); }
}
.process-centre-mark {
  font-size:clamp(27px,3cqw,34px);
  font-weight:600;
  letter-spacing:-.035em;
  color:#edf1ee;
}
.process-centre-mark em { color:#a8ddd4; }
.process-centre-label {
  font-size:10px;
  letter-spacing:.24em;
  color:#d1ede8;
}
.process-centre-status {
  display:block;
  margin-top:3px;
  font-family:var(--font-mono);
  font-size:8px;
  letter-spacing:.16em;
  color:#7f9da0;
}

.process-node[data-step="0"],.process-list-item:nth-child(1) { --step:#54d7c1; --step-glow:rgba(84,215,193,.25); }
.process-node[data-step="1"],.process-list-item:nth-child(2) { --step:#69a9f5; --step-glow:rgba(105,169,245,.25); }
.process-node[data-step="2"],.process-list-item:nth-child(3) { --step:#b18ce8; --step-glow:rgba(177,140,232,.25); }
.process-node[data-step="3"],.process-list-item:nth-child(4) { --step:#ed8f7c; --step-glow:rgba(237,143,124,.24); }
.process-node[data-step="4"],.process-list-item:nth-child(5) { --step:#86cb8c; --step-glow:rgba(134,203,140,.24); }

.process-node:not(.is-active) {
  opacity:.78;
  filter:saturate(.76);
}
.process-node-btn { gap:11px; }
.process-node-dot {
  display:grid;
  grid-template-rows:1fr auto;
  place-items:center;
  width:88px;
  height:88px;
  padding:15px 12px 10px;
  border-radius:24px;
  color:var(--step);
  border:1px solid color-mix(in srgb,var(--step) 46%,transparent);
  background:linear-gradient(145deg,rgba(18,46,53,.95),rgba(6,23,29,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 30px rgba(0,0,0,.2);
}
.process-node-icon {
  display:block;
  width:31px;
  height:31px;
  color:var(--step);
  filter:drop-shadow(0 0 7px var(--step-glow));
}
.process-node-icon svg,
.process-list-num svg {
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.process-node-num {
  font-size:9px;
  line-height:1;
  letter-spacing:.15em;
  color:var(--step) !important;
}
.process-node-label {
  font-family:var(--font-clash);
  font-size:14px;
  font-weight:600;
  letter-spacing:.11em;
  color:#b7c8c9;
}
.process-node-btn:hover .process-node-dot,
.process-node-btn:focus-visible .process-node-dot,
.process-node.is-active .process-node-dot {
  border-color:var(--step);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--step) 9%,transparent),0 0 30px var(--step-glow),inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(-2px) scale(1.04);
}
.process-node-btn:hover .process-node-label,
.process-node-btn:focus-visible .process-node-label,
.process-node.is-active .process-node-label {
  color:var(--step) !important;
}

.process-panel {
  width:min(360px,78vw);
  padding:27px 29px 25px;
  color:var(--step);
  border-color:color-mix(in srgb,var(--step) 58%,transparent);
  background:linear-gradient(145deg,rgba(13,37,48,.95),rgba(7,23,31,.96));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--step) 8%,transparent),0 24px 58px rgba(0,0,0,.38),0 0 28px var(--step-glow);
}
.process-panel::before {
  background:repeating-linear-gradient(to right,var(--step) 0 6px,transparent 6px 10px);
}
.process-panel-num,
.process-panel-title { color:var(--step); }
.process-panel-title {
  font-size:22px;
  font-weight:550;
  text-shadow:0 0 10px var(--step-glow);
}
.process-panel-desc {
  color:#c3d6d8;
  font-size:13px;
  line-height:1.7;
}
.process-node.is-active .process-panel {
  animation:workflow-panel-breathe 3.4s ease-in-out infinite;
}
@keyframes workflow-panel-breathe {
  0%,100% { box-shadow:0 0 0 1px color-mix(in srgb,var(--step) 8%,transparent),0 24px 58px rgba(0,0,0,.38),0 0 22px color-mix(in srgb,var(--step) 14%,transparent); }
  50% { box-shadow:0 0 0 1px color-mix(in srgb,var(--step) 16%,transparent),0 28px 64px rgba(0,0,0,.42),0 0 36px var(--step-glow); }
}

.process-list-item {
  border-color:color-mix(in srgb,var(--step) 28%,transparent);
  border-left:2px solid var(--step);
  background:linear-gradient(145deg,rgba(14,40,47,.9),rgba(7,24,29,.94));
}
.process-list-num {
  display:grid;
  grid-template-rows:30px auto;
  place-items:center;
  width:48px;
  height:58px;
  color:var(--step);
}
.process-list-num svg { width:28px; height:28px; }
.process-list-num b { font-size:9px; letter-spacing:.12em; }
.process-list-item h3 {
  color:var(--step);
  background:none;
  -webkit-text-fill-color:currentColor;
}
.process-list-item p { color:#a9bec0; }

@media (max-width:1100px) and (min-width:901px) {
  .process-circle { width:94vw; height:550px; }
  .process-node-dot { width:78px; height:78px; border-radius:21px; padding:12px 10px 9px; }
  .process-node-icon { width:27px; height:27px; }
  .process-panel { width:min(320px,72vw); }
}
@media (max-width:900px) {
  .workflow-heading { font-size:clamp(3.6rem,12vw,6rem) !important; }
  .process-wrap { padding-top:clamp(58px,9vw,90px); padding-bottom:80px; }
}
@media (max-width:640px) {
  .workflow-heading { display:block; white-space:normal; font-size:clamp(3.25rem,17vw,5rem) !important; line-height:.8 !important; }
  .workflow-heading span,.workflow-heading em { display:block; }
  .workflow-heading em { margin-top:.08em; }
  .process-list-item { padding:20px 18px; border-radius:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .process-ring-band,.process-centre,.process-node.is-active .process-panel { animation:none; }
}

/* 07 — dark remains primary; moving colour light adds visibility and life. */
html[data-theme="dark"] .process-section {
  background-color:#0a2027;
  background-image:
    radial-gradient(ellipse at 12% 30%,rgba(47,181,164,.21),transparent 30%),
    radial-gradient(ellipse at 88% 24%,rgba(74,118,214,.19),transparent 32%),
    radial-gradient(ellipse at 76% 86%,rgba(161,111,210,.14),transparent 31%),
    radial-gradient(ellipse at 24% 88%,rgba(226,124,103,.1),transparent 27%),
    linear-gradient(rgba(156,204,197,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(156,204,197,.055) 1px,transparent 1px);
  background-size:130% 130%,135% 135%,130% 130%,125% 125%,72px 72px,72px 72px;
  animation:workflow-ambient-shift 18s ease-in-out infinite alternate;
}
@keyframes workflow-ambient-shift {
  0% { background-position:-10% -4%,110% -5%,100% 110%,-8% 105%,0 0,0 0; }
  100% { background-position:8% 10%,94% 12%,86% 88%,12% 88%,0 0,0 0; }
}
.process-circle { isolation:isolate; }
.process-circle::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:5% 7%;
  border-radius:50%;
  background:
    radial-gradient(circle at 15% 42%,rgba(77,218,193,.2),transparent 22%),
    radial-gradient(circle at 82% 30%,rgba(85,145,245,.2),transparent 24%),
    radial-gradient(circle at 72% 82%,rgba(180,132,230,.16),transparent 22%),
    radial-gradient(circle at 28% 82%,rgba(237,143,124,.12),transparent 20%);
  filter:blur(42px);
  opacity:.72;
  pointer-events:none;
  animation:workflow-aurora-drift 11s ease-in-out infinite alternate;
}
.process-circle::after {
  content:"";
  position:absolute;
  z-index:1;
  top:50%;
  left:50%;
  width:420px;
  height:274px;
  border:1px solid rgba(161,222,212,.19);
  border-radius:42px;
  transform:translate(-50%,-50%) scale(.9);
  box-shadow:0 0 0 22px rgba(91,163,189,.035),0 0 0 48px rgba(129,117,201,.025);
  opacity:0;
  pointer-events:none;
  animation:workflow-signal-wave 4.8s ease-out infinite;
}
@keyframes workflow-aurora-drift {
  0% { transform:translate3d(-2%,1%,0) scale(.98); filter:blur(42px) hue-rotate(0deg); }
  100% { transform:translate3d(3%,-2%,0) scale(1.05); filter:blur(48px) hue-rotate(9deg); }
}
@keyframes workflow-signal-wave {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.86); }
  18% { opacity:.55; }
  78%,100% { opacity:0; transform:translate(-50%,-50%) scale(1.28); }
}
.process-links { z-index:1; }
.process-ring { z-index:2; }
html[data-theme="dark"] .process-node-dot {
  background:linear-gradient(145deg,rgba(21,57,66,.98),rgba(8,28,35,.98));
}
html[data-theme="dark"] .process-node-label { color:#c5d3d3; }
html[data-theme="dark"] .process-centre {
  background:
    linear-gradient(135deg,rgba(255,255,255,.055),transparent 40%),
    radial-gradient(circle at 28% 14%,rgba(78,176,162,.32),transparent 40%),
    radial-gradient(circle at 84% 82%,rgba(111,113,203,.16),transparent 38%),
    linear-gradient(145deg,#143943,#092129 74%);
}

/* Side panels open inward, keeping the expanded orbit edge-safe. */
.process-node[data-step="1"] .process-panel {
  top:50%;
  right:calc(100% + 18px);
  bottom:auto;
  left:auto;
  transform:translate(calc(-8px + var(--panel-shift-x)), -50%);
}
.process-node[data-step="1"].is-active .process-panel {
  transform:translate(var(--panel-shift-x), -50%);
}
.process-node[data-step="4"] .process-panel {
  top:50%;
  right:auto;
  bottom:auto;
  left:calc(100% + 18px);
  transform:translate(calc(8px + var(--panel-shift-x)), -50%);
}
.process-node[data-step="4"].is-active .process-panel {
  transform:translate(var(--panel-shift-x), -50%);
}

@media (max-width:900px) {
  html[data-theme="dark"] .process-section {
    background-size:170% 130%,180% 140%,170% 135%,160% 130%,54px 54px,54px 54px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme="dark"] .process-section,.process-circle::before,.process-circle::after { animation:none; }
  .process-circle::after { display:none; }
}

/* =====================================================================
   REFINEMENT 08 — luminous industrial night.
   Dark remains the identity, but readable mid-tones, moving colour and
   real product photography now carry the experience throughout the site.
   ===================================================================== */

/* Hero: oversized brand behind the industrial scene, compact proposition. */
.hero-construx {
  background:#102a34;
}
.hero-bg,.hero-fg {
  filter:saturate(1.02) contrast(1.01) brightness(1.11);
}
.hero-fg-parallax {
  display:block !important;
  z-index:2;
}
.hero-fg {
  mask-image:linear-gradient(to bottom,transparent 0%,transparent 32%,black 57%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 32%,black 57%);
}
.hero-wordmark-layer {
  display:block !important;
  top:14%;
  z-index:1;
  padding-inline:2.5vw;
}
.hero-wordmark {
  font-size:clamp(6rem,15.1vw,14.8rem);
  font-weight:700;
  letter-spacing:-.075em;
  color:transparent;
  background:linear-gradient(180deg,#f4f2e9 4%,#ced5d3 46%,#738895 100%);
  -webkit-background-clip:text;
  background-clip:text;
  mix-blend-mode:screen;
  opacity:0;
  text-shadow:0 16px 55px rgba(3,13,18,.22);
}
.hero-loaded .hero-wordmark { opacity:.86; }
.hero-grade {
  background:
    radial-gradient(circle at 72% 26%,rgba(91,145,229,.2),transparent 29%),
    radial-gradient(circle at 88% 66%,rgba(73,197,174,.17),transparent 31%),
    linear-gradient(115deg,rgba(15,50,61,.16),rgba(34,69,92,.08) 52%,rgba(91,62,130,.09));
  mix-blend-mode:color;
}
.hero-image-overlay {
  background:
    radial-gradient(ellipse at 78% 44%,transparent 0 28%,rgba(7,24,31,.04) 54%,rgba(7,24,31,.12) 100%),
    linear-gradient(90deg,rgba(5,21,28,.46) 0%,rgba(5,21,28,.3) 32%,rgba(5,21,28,.045) 62%,transparent 100%),
    linear-gradient(180deg,rgba(4,17,23,.17),transparent 50%,rgba(4,17,23,.52));
}
.hero-headline-parallax {
  top:auto;
  right:auto;
  bottom:42px;
  left:max(42px,calc((100vw - 1240px)/2));
  width:min(620px,48vw);
  transform:translateY(var(--hero-headline-drift,0px));
}
.hero-headline { max-width:620px; }
.hero-kicker {
  color:#c9e7e1;
  font-size:9px;
  letter-spacing:.16em;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.hero-headline-text {
  max-width:600px;
  margin-top:14px;
  font-size:clamp(2.15rem,3.05vw,3.45rem);
  line-height:.94;
  letter-spacing:-.048em;
  text-shadow:0 10px 30px rgba(0,0,0,.6);
}
.hero-headline-text em {
  margin-top:.06em;
  color:#bfe5dc;
  font-family:var(--font-serif);
  font-size:1.04em;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.025em;
}
.hero-headline-text em::after { display:none; }
.hero-summary {
  max-width:550px;
  margin-top:17px;
  color:#e0e8e5;
  font-size:.96rem;
  line-height:1.56;
  text-shadow:0 3px 18px rgba(0,0,0,.6);
}
.hero-headline-ctas { margin-top:20px; }
.hero-proof {
  max-width:540px;
  margin-top:21px;
  padding-top:15px;
}
.hero-proof dt { color:#d8eee8; }
.hero-proof dd { color:#c1cfce; }
.hero-tech-note {
  border-color:rgba(183,229,220,.5);
  color:#d9e5e3;
  background:linear-gradient(90deg,rgba(10,35,43,.62),rgba(10,35,43,.08));
}
.hero-tech-note span { color:#a9ded3; }
.hero-flow-live { stroke:#91d8ca; filter:drop-shadow(0 0 8px rgba(96,218,194,.62)); }

/* Shared site atmosphere: colourful mid-tones without turning into day mode. */
html[data-theme="dark"] .facilities-section,
html[data-theme="dark"] .source-section,
html[data-theme="dark"] .process-section,
html[data-theme="dark"] #why,
html[data-theme="dark"] #reference,
html[data-theme="dark"] #faq,
html[data-theme="dark"] .rfqa-inline-section {
  --site-a:rgba(54,191,170,.18);
  --site-b:rgba(74,123,219,.15);
  --site-c:rgba(160,108,208,.11);
  color:#e9efec;
  background-color:#102a32;
  background-image:
    radial-gradient(ellipse at 10% 20%,var(--site-a),transparent 31%),
    radial-gradient(ellipse at 90% 28%,var(--site-b),transparent 32%),
    radial-gradient(ellipse at 72% 88%,var(--site-c),transparent 30%),
    linear-gradient(rgba(178,220,213,.052) 1px,transparent 1px),
    linear-gradient(90deg,rgba(178,220,213,.052) 1px,transparent 1px),
    linear-gradient(145deg,#102b33,#0d242c 62%,#132d37);
  background-size:135% 135%,140% 140%,135% 135%,72px 72px,72px 72px,auto;
  animation:site-colour-drift 22s ease-in-out infinite alternate;
}
html[data-theme="dark"] .source-section { --site-a:rgba(42,195,171,.22); --site-b:rgba(70,118,224,.18); --site-c:rgba(198,112,94,.1); }
html[data-theme="dark"] .process-section { --site-a:rgba(47,181,164,.21); --site-b:rgba(74,118,214,.19); --site-c:rgba(161,111,210,.14); }
html[data-theme="dark"] #why { --site-a:rgba(70,132,211,.16); --site-b:rgba(48,183,158,.18); --site-c:rgba(225,136,102,.09); }
html[data-theme="dark"] #reference { --site-a:rgba(94,159,220,.15); --site-b:rgba(49,188,163,.15); --site-c:rgba(152,112,198,.1); }
html[data-theme="dark"] #faq { --site-a:rgba(49,188,163,.16); --site-b:rgba(128,105,204,.14); --site-c:rgba(210,122,102,.08); }
html[data-theme="dark"] .rfqa-inline-section { --site-a:rgba(49,188,163,.2); --site-b:rgba(69,124,220,.17); --site-c:rgba(152,105,206,.12); }
@keyframes site-colour-drift {
  0% { background-position:-8% -5%,108% -8%,96% 108%,0 0,0 0,0 0; }
  100% { background-position:7% 9%,93% 10%,82% 88%,0 0,0 0,0 0; }
}
html[data-theme="dark"] :is(.facilities-section,.source-section,.process-section,#why,#reference,#faq,.rfqa-inline-section) .section-head h2,
html[data-theme="dark"] .facilities-intro h2 { color:#f0f1eb; }
html[data-theme="dark"] :is(.facilities-section,.source-section,.process-section,#why,#reference,#faq,.rfqa-inline-section) .section-head p,
html[data-theme="dark"] .facilities-intro > p { color:#afc4c5; }

/* Product photography stays natural; motion behaves like engineering data. */
.flow-product { --sector:#68d4c0; --sector-glow:rgba(104,212,192,.3); }
.flow-product[data-sector="flange"] { --sector:#75aef2; --sector-glow:rgba(117,174,242,.28); }
.flow-product[data-sector="valve"] { --sector:#b08be3; --sector-glow:rgba(176,139,227,.28); }
.flow-product[data-sector="actuator"] { --sector:#ec907d; --sector-glow:rgba(236,144,125,.27); }
.flow-product[data-sector="pump"] { --sector:#82ca91; --sector-glow:rgba(130,202,145,.28); }
.flow-product-media {
  overflow:hidden;
  border-radius:4px;
  background:radial-gradient(circle at 50% 65%,color-mix(in srgb,var(--sector) 17%,transparent),rgba(9,29,36,.26) 58%,transparent 72%);
}
.flow-product-media::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:10% 8%;
  border:1px solid color-mix(in srgb,var(--sector) 48%,transparent);
  border-radius:50%;
  box-shadow:0 0 24px var(--sector-glow),inset 0 0 18px color-mix(in srgb,var(--sector) 8%,transparent);
  opacity:.28;
  transform:scale(.9);
  pointer-events:none;
}
.flow-product-media::after {
  content:"";
  position:absolute;
  z-index:3;
  top:8%;
  bottom:8%;
  left:-22%;
  width:32%;
  height:auto;
  border-radius:0;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sector) 54%,transparent),transparent);
  filter:blur(5px);
  opacity:0;
  transform:skewX(-14deg);
  pointer-events:none;
}
.flow-product img {
  filter:saturate(.94) contrast(1.03) brightness(1.06);
}
.flow-product.is-active .flow-product-media {
  border-color:color-mix(in srgb,var(--sector) 46%,transparent);
  background:radial-gradient(circle at 50% 65%,color-mix(in srgb,var(--sector) 24%,transparent),rgba(9,29,36,.18) 62%,transparent 76%);
  box-shadow:0 25px 62px rgba(1,12,16,.22),0 0 32px color-mix(in srgb,var(--sector) 13%,transparent);
}
.flow-product.is-active .flow-product-media::before { animation:product-signal-pulse 3.8s ease-in-out infinite; }
.flow-product.is-active .flow-product-media::after { animation:product-scan-pass 4.6s ease-in-out infinite; }
.flow-product[data-sector="pipe"] .flow-product-media::before { inset:24% 3%; border-radius:5px; }
.flow-product[data-sector="actuator"] .flow-product-media::before { border-style:dashed; animation-duration:8s; }
.flow-product[data-sector="pump"] .flow-product-media::before { inset:14%; border-width:2px; }
.flow-product.is-active strong,.flow-product.is-active .flow-product-index { color:var(--sector); text-shadow:0 0 12px var(--sector-glow); }
.flow-product.is-active::after { border-color:var(--sector); background:var(--sector); box-shadow:0 0 0 9px color-mix(in srgb,var(--sector) 10%,transparent),0 0 20px var(--sector-glow); }
@keyframes product-signal-pulse {
  0%,100% { opacity:.22; transform:scale(.9); }
  48% { opacity:.74; transform:scale(1.03); }
}
@keyframes product-scan-pass {
  0%,15% { left:-28%; opacity:0; }
  28% { opacity:.48; }
  70% { opacity:.22; }
  86%,100% { left:102%; opacity:0; }
}

/* Workflow copy and edge panels. */
.process-section .section-head {
  max-width:1100px;
  margin-inline:auto;
  text-align:center;
}
.workflow-intro {
  max-width:620px;
  margin:30px auto 0 !important;
  color:#bfd0d1 !important;
  font-size:clamp(.95rem,1.2vw,1.08rem);
  line-height:1.65;
}
.process-node[data-step="1"] .process-panel {
  top:auto;
  right:20px;
  bottom:calc(100% + 20px);
  left:auto;
  transform:translate(calc(var(--panel-shift-x) - 6px),8px);
}
.process-node[data-step="1"].is-active .process-panel { transform:translate(var(--panel-shift-x),0); }
.process-node[data-step="4"] .process-panel {
  top:auto;
  right:auto;
  bottom:calc(100% + 20px);
  left:20px;
  transform:translate(calc(var(--panel-shift-x) + 6px),8px);
}
.process-node[data-step="4"].is-active .process-panel { transform:translate(var(--panel-shift-x),0); }

/* Factory-floor credibility image: real context, not decorative stock art. */
.why-field-visual {
  position:relative;
  min-height:clamp(360px,45vw,590px);
  margin:0 0 clamp(42px,6vw,78px);
  overflow:hidden;
  border:1px solid rgba(169,218,210,.2);
  border-radius:4px;
  background:#0a2027;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.why-field-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,24,30,.9) 0%,rgba(7,24,30,.45) 35%,transparent 68%),linear-gradient(180deg,transparent 50%,rgba(6,20,26,.52));
  pointer-events:none;
}
.why-field-visual img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.84) contrast(1.04) brightness(1.03);
  transition:transform 1.4s var(--pf-ease),filter .8s ease;
}
.why-field-visual:hover img { transform:scale(1.025); filter:saturate(1) contrast(1.03) brightness(1.08); }
.why-field-visual figcaption {
  position:absolute;
  z-index:3;
  left:clamp(24px,5vw,70px);
  bottom:clamp(24px,5vw,62px);
  width:min(510px,72%);
  color:#eef0ea;
}
.why-field-visual figcaption span { color:#9fddd1; font-size:9px; letter-spacing:.18em; }
.why-field-visual figcaption strong { display:block; margin-top:13px; font-family:var(--font-display); font-size:clamp(2rem,4vw,4.1rem); line-height:.98; letter-spacing:-.045em; }
.why-field-visual figcaption small { display:block; margin-top:18px; color:#b9c9c9; font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; }
.why-field-scan {
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:-20%;
  width:18%;
  background:linear-gradient(90deg,transparent,rgba(139,221,207,.22),transparent);
  filter:blur(7px);
  transform:skewX(-13deg);
  animation:factory-scan 7s ease-in-out infinite;
}
@keyframes factory-scan { 0%,14% { left:-24%; opacity:0; } 28% { opacity:.65; } 76% { opacity:.28; } 88%,100% { left:110%; opacity:0; } }

@media (max-width:900px) {
  .hero-wordmark-layer { top:16%; padding-inline:16px; }
  .hero-wordmark { font-size:clamp(4.5rem,18vw,8.5rem); }
  .hero-headline-parallax { right:28px; bottom:38px; left:28px; width:auto; }
  .hero-headline-text { font-size:clamp(2.4rem,7.4vw,4rem); }
  .hero-proof { display:none; }
  .workflow-heading { font-size:clamp(3.4rem,11vw,5.5rem) !important; }
}
@media (max-height:780px) and (min-width:901px) {
  .hero-construx { height:100svh; min-height:680px; }
  .hero-headline-parallax { bottom:32px; }
  .hero-headline-text { font-size:clamp(2.15rem,3vw,3.2rem); }
  .hero-proof { display:none; }
}
@media (max-width:640px) {
  .hero-construx { min-height:760px; }
  .hero-wordmark-layer { top:18%; }
  .hero-wordmark { font-size:clamp(3.7rem,19vw,6.6rem); }
  .hero-headline-parallax { right:20px; bottom:24px; left:20px; }
  .hero-headline-text { font-size:clamp(2.25rem,10vw,3.2rem); }
  .hero-summary { font-size:.88rem; }
  .hero-tech-note { display:none; }
  .why-field-visual { min-height:470px; }
  .why-field-visual figcaption { width:calc(100% - 40px); left:20px; bottom:24px; }
  .why-field-visual figcaption strong { font-size:2.25rem; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme="dark"] .facilities-section,
  html[data-theme="dark"] .source-section,
  html[data-theme="dark"] .process-section,
  html[data-theme="dark"] #why,
  html[data-theme="dark"] #reference,
  html[data-theme="dark"] #faq,
  html[data-theme="dark"] .rfqa-inline-section,
  .flow-product-media::before,.flow-product-media::after,.why-field-scan { animation:none !important; }
}

/* 09 — brighter refinery hero and continuous section-to-section flow. */
.hero-bg,.hero-fg {
  background-position:calc(50% + var(--hero-pointer-x,0px)) calc(53% + var(--hero-pointer-y,0px)) !important;
  filter:saturate(.94) contrast(1.02) brightness(1.04);
}
.hero-grade {
  background:
    linear-gradient(120deg,rgba(18,58,78,.32),rgba(43,88,116,.12) 48%,rgba(57,131,148,.08)),
    radial-gradient(circle at 76% 35%,rgba(255,185,92,.11),transparent 26%);
  mix-blend-mode:multiply;
}
.hero-image-overlay {
  background:
    linear-gradient(90deg,rgba(7,30,41,.58) 0%,rgba(7,30,41,.3) 34%,rgba(7,30,41,.03) 64%,transparent 100%),
    linear-gradient(180deg,rgba(6,26,36,.11),transparent 52%,rgba(6,26,36,.42));
}
.hero-wordmark {
  background:linear-gradient(180deg,#eef2ef 0%,#c8d3d4 44%,#607b8b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  mix-blend-mode:multiply;
  text-shadow:0 16px 48px rgba(12,42,56,.16);
}
.hero-loaded .hero-wordmark { opacity:.78; }

html[data-theme="dark"] main > section:not(#hero) {
  border-top:0 !important;
  border-bottom:0 !important;
  background-attachment:fixed,fixed,fixed,scroll,scroll,scroll;
  box-shadow:
    inset 0 120px 120px -150px rgba(112,198,184,.24),
    inset 0 -120px 120px -150px rgba(95,130,203,.18);
}
html[data-theme="dark"] main > section:not(#hero) + section { margin-top:-2px; }
.reveal {
  transition-duration:1.05s;
  transition-timing-function:cubic-bezier(.2,.75,.2,1);
}
@media (max-width:900px) {
  .hero-bg,.hero-fg { background-position:62% 52% !important; }
  html[data-theme="dark"] main > section:not(#hero) { background-attachment:scroll; }
}
