:root {
  --ink: #030a16;
  --ink-2: #07182b;
  --cyan: #00e5ff;
  --gold: #d4af37;
  --gold-light: #f3e5ab;
  --slate: #a8b6c8;
  --line: rgba(0, 229, 255, .22);
  --glass: rgba(5, 19, 36, .78);
  --max: 1380px;
}
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { background: #030a16; color: #fff; }
body:before {
  z-index: -1;
  background:
    radial-gradient(ellipse at 13% 8%, rgba(0,229,255,.12), transparent 29%),
    radial-gradient(ellipse at 88% 14%, rgba(212,175,55,.10), transparent 24%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='520' viewBox='0 0 760 520'%3E%3Cg fill='none' stroke='%2300a9eb' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M0 62h95l26 26h95l28 28h104M0 126h56l24 24v66h84l26 26h112M760 76h-86l-32 32h-90l-27 27H412M760 144h-69l-22 22v62h-85l-28 28h-79M0 362h96l25-25h94l30-30h97M760 374h-91l-25-25h-90l-27-27h-92M0 452h142l28-28h84l27-27h94M760 462H631l-29-29h-96l-24-24h-86'/%3E%3C/g%3E%3Cg fill='%2300e5ff' fill-opacity='.55'%3E%3Ccircle cx='216' cy='116' r='2'/%3E%3Ccircle cx='307' cy='116' r='2'/%3E%3Ccircle cx='164' cy='242' r='2'/%3E%3Ccircle cx='514' cy='135' r='2'/%3E%3Ccircle cx='344' cy='307' r='2'/%3E%3Ccircle cx='543' cy='322' r='2'/%3E%3Ccircle cx='281' cy='397' r='2'/%3E%3Ccircle cx='418' cy='408' r='2'/%3E%3C/g%3E%3C/svg%3E") repeat,
    linear-gradient(180deg,#030a16,#061326 55%,#030a16);
  background-size: auto, auto, 760px 520px, auto;
  opacity: .98;
}
.wrap { width: min(calc(100% - 56px), var(--max)); }
.site-header,
body.home-page .site-header {
  display: block !important;
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(0,229,255,.17);
  background: linear-gradient(100deg,#061731 0%,rgba(6,23,49,.98) 28%,rgba(3,10,22,.95) 68%);
  box-shadow: 0 8px 28px rgba(0,0,0,.2), inset 0 -1px rgba(0,229,255,.04);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.nav { min-height: 96px; gap: 24px; }
.site-header .nav.wrap { width: min(calc(100% - 24px), 1440px); }
.brand { gap: 13px; min-width: 0; }
.brand-mark {
  flex: 0 0 142px; width: 142px; height: 90px;
  border: 0; border-radius: 0;
  background-color: transparent;
  background-image: url("../img/taskbridge-emblem.svg");
  background-size: contain; background-position: center;
  mix-blend-mode: normal;
  filter: drop-shadow(0 0 10px rgba(0,229,255,.18));
  object-fit: contain;
  background-color: transparent;
}
.brand-copy strong {
  color:transparent; background:linear-gradient(180deg,#fff 14%,#c7d1e0 72%,#f7f9fc);
  -webkit-background-clip:text; background-clip:text;
  font-size:clamp(1.25rem,2vw,1.68rem); letter-spacing:.045em;
}
.brand-copy strong span { color:var(--gold-light); background:none; -webkit-text-fill-color:var(--gold-light); }
.brand-copy small { color:var(--gold-light); font-size:.7rem; letter-spacing:.19em; }
.nav-links { gap: clamp(20px,3vw,42px); }
.nav-links > a { color: #e2e9f2; font-size: .91rem; font-weight: 600; }
.nav-links > a:hover { color: var(--gold-light); }
.nav-links > a[aria-current="page"] { color: #fff; }
.nav-links > a[aria-current="page"]:after { height: 2px; margin-top: 7px; background: linear-gradient(90deg,var(--gold),var(--cyan)); box-shadow: 0 0 12px rgba(243,229,171,.6); }
.nav-links .nav-cta { color:#fff; border-color:rgba(243,229,171,.95); background:rgba(3,12,25,.48); box-shadow:0 0 18px rgba(212,175,55,.19),inset 0 0 12px rgba(212,175,55,.04); }
.nav-links .nav-cta:hover { color:#111522; background:linear-gradient(110deg,#d5ad39,#f3e5ab 50%,#d5ad39); background-size:200% 100%; background-position:100% 0; box-shadow:0 0 30px rgba(212,175,55,.42); }
.btn {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: 52px; padding: 0 24px;
  border: 1px solid rgba(255,227,145,.9); border-radius: 13px;
  color: #111522; font-weight: 800;
  background: linear-gradient(110deg,#d5ad39,#f3e5ab 50%,#d5ad39);
  background-size: 200% 100%;
  box-shadow: 0 0 22px rgba(212,175,55,.27), inset 0 1px 0 rgba(255,255,255,.62);
  transition: background-position .45s ease, transform .25s ease, letter-spacing .25s ease, box-shadow .25s ease;
}
.btn:hover { transform: translateY(-2px); background-position: 100% 0; letter-spacing: .025em; box-shadow: 0 0 30px rgba(212,175,55,.42); }
.btn-small { min-height: 46px; padding-inline: 19px; }
.btn-outline { color: white; border: 1px solid rgba(0,229,255,.74); background: rgba(2,15,30,.62); box-shadow: inset 0 0 16px rgba(0,229,255,.08), 0 0 18px rgba(0,229,255,.12); }
.btn-outline:hover { color: #fff; background: rgba(0,157,205,.17); }
.btn-arrow { margin-left: 8px; font-size: 1.1em; }
.menu-toggle { color: white; border-color: var(--line); }
body.home-page main { width: 100%; max-width: none; margin: 0; padding: 0; }
body.home-page .responsive-home { display: block !important; }
body.home-page .site-footer { display: block !important; }
.home-hero, .hero { padding: 36px 0 0; overflow: hidden; background: transparent; }
.hero-top {
  position: relative; display: grid;
  grid-template-columns: minmax(0,1fr) minmax(410px,.92fr);
  align-items: center; gap: 16px; min-height: 485px;
}
.hero-copy { z-index: 2; padding: 0 0 35px; }
.eyebrow { color: var(--cyan); font-size: .73rem; letter-spacing: .19em; font-weight: 800; }
.hero-copy .eyebrow:before { width: 25px; background: linear-gradient(90deg,var(--gold),var(--cyan)); }
.hero h1 { max-width: 720px; margin: 13px 0 18px; font-size: clamp(3.35rem,6.1vw,6rem); line-height: .99; letter-spacing: -.055em; }
.hero-gold { background: linear-gradient(100deg,#fff1b4 0%,#d4af37 45%,#f8edc3 74%,#c89528 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-copy > p { max-width: 605px; color: #c2cfdf; font-size: clamp(1.08rem,1.55vw,1.35rem); line-height: 1.48; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 25px; }
.hero-actions .btn { min-height: 57px; font-size: .97rem; }
.hero-note { margin-top: 19px; color: var(--slate); font-size: .8rem; }
.hero-note:before { content:""; display:inline-block; width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan); }
.hero-visual {
  position: relative; min-height: 465px; display:flex; align-items:center; justify-content:center; isolation:isolate;
}
.hero-visual:before {
  content:""; position:absolute; inset:8%; z-index:-1; border-radius:50%;
  background:radial-gradient(circle,rgba(0,178,255,.20),rgba(0,229,255,.06) 42%,transparent 70%); filter:blur(18px);
}
.hero-visual:after {
  content:""; position:absolute; width:68%; aspect-ratio:1; border:1px solid rgba(0,229,255,.34); border-radius:50%;
  box-shadow:0 0 32px rgba(0,229,255,.09),inset 0 0 34px rgba(212,175,55,.07); animation:orbit-breathe 5s ease-in-out infinite; pointer-events:none;
}
.globe-art { position:absolute; width:min(116%,660px); max-width:none; right:0; top:50%; transform:translateY(-50%); filter:drop-shadow(0 0 35px rgba(0,178,255,.28)); animation:globe-float 8s ease-in-out infinite; }
@keyframes globe-float { 0%,100%{transform:translateY(-50%) rotate(-1deg)}50%{transform:translateY(calc(-50% - 9px)) rotate(1deg)} }
@keyframes orbit-breathe { 50%{transform:scale(1.035);opacity:.72} }
.benefit-panel {
  position:absolute; top:50%; right:-2%; transform:translateY(-50%); width:205px; padding:9px 14px;
  border:1px solid rgba(0,229,255,.55); border-radius:17px;
  background:linear-gradient(145deg,rgba(4,20,39,.94),rgba(4,13,27,.85));
  box-shadow:0 0 28px rgba(0,180,255,.17),inset 0 0 18px rgba(0,229,255,.07); backdrop-filter:blur(12px);
}
.benefit-item { min-height:62px; gap:10px; border-color:rgba(0,229,255,.17); }
.benefit-icon { color:var(--cyan); filter:drop-shadow(0 0 8px rgba(0,229,255,.78)); }
.benefit-item strong { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
.benefit-item small { color:#cad5e3; font-size:.71rem; }
.flow-hub {
  position:relative; z-index:3; margin:0 0 30px; padding:17px 18px 12px;
  border:1px solid rgba(0,229,255,.52); border-radius:22px;
  background:linear-gradient(145deg,rgba(4,19,37,.91),rgba(4,13,28,.96));
  box-shadow:0 0 29px rgba(0,173,255,.17),inset 0 0 28px rgba(0,157,255,.065);
}
.flow-track { display:flex; align-items:stretch; gap:14px; overflow:auto hidden; padding:8px 5px 17px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.flow-track::-webkit-scrollbar { display:none; }
.flow-card { flex:0 0 calc((100% - 28px)/3); min-height:235px; scroll-snap-align:center; padding:17px 16px 14px; border-radius:17px; }
.flow-link { display:none; }
.flow-card:hover,.flow-card.is-active { transform:translateY(-6px); border-color:#69edff; box-shadow:0 0 28px rgba(0,229,255,.24),inset 0 0 24px rgba(0,229,255,.09); }
.flow-card.flow-agent { min-height:235px; }
.flow-kicker { font-size:.65rem; letter-spacing:.13em; }
.flow-icon { width:59px;height:59px;margin:13px 0; font-size:1.85rem; }
.flow-card strong { font-size:1rem; }
.flow-card small { font-size:.77rem; min-height:44px; }
.flow-mini { font-size:.67rem; }
.flow-controls { gap:18px; margin-top:4px; }
.flow-control { width:38px;height:38px;font-size:1.1rem; }
.flow-dots { gap:13px; }
.flow-dots button { width:11px;height:11px; }
.journey-count { color:var(--slate); }
.flow-hub .journey-caption { margin-top:4px; color:#c2cfdf; }
.process-ribbon { margin:0 0 16px; }
.process-track { min-height:78px; border-radius:25px; }
.process-step > span { color:var(--cyan); }
.process-step b { letter-spacing:.08em; }
.section { padding:55px 0; }
.section-tight { padding:40px 0; }
.section-head { margin-bottom:24px; }
.section-head h2,.split h2,.cta-panel h2 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.08; letter-spacing:-.04em; }
.section-head p { max-width:510px; color:#b8c6d8; }
.service-grid { gap:20px; }
.glass-card {
  position:relative; overflow:hidden; border:1px solid rgba(0,229,255,.25); border-radius:19px;
  background:linear-gradient(155deg,rgba(8,31,53,.87),rgba(4,15,29,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 45px rgba(0,0,0,.20); backdrop-filter:blur(12px);
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;
}
.glass-card:before { opacity:.65; }
.glass-card:hover { transform:translateY(-8px); border-color:rgba(0,229,255,.62); box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 32px rgba(0,180,255,.16); }
.service-showcase { display:flex; flex-direction:column; padding:15px 18px 18px; }
.service-art { min-height:190px; border-bottom:1px solid rgba(0,229,255,.12); }
.service-art svg { filter:drop-shadow(0 0 8px rgba(0,229,255,.2)); }
.service-card-copy { padding:15px 5px 0; }
.service-card-copy h3 { font-size:1.35rem; line-height:1.2; }
.service-card-copy p { color:#b8c6d8; }
.card-index { color:var(--gold-light); font-size:.7rem; font-weight:800; letter-spacing:.13em; }
.text-link { color:var(--gold-light); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.text-link span { float:right; color:var(--cyan); font-size:1.2rem; transition:transform .22s ease; }
.text-link:hover span { transform:translateX(5px); }
.integration-strip { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:22px; padding:17px 21px; border:1px solid rgba(0,229,255,.48); border-radius:16px; background:rgba(5,19,36,.76); box-shadow:0 8px 25px rgba(0,0,0,.2); }
.integration-strip > strong { max-width:180px; font-size:.72rem; line-height:1.4; letter-spacing:.08em; }
.integration-tag { color:#e8eef6; font-weight:700; font-size:1rem; }
.integration-more { padding-left:14px; border-left:1px solid var(--line); color:var(--gold-light); font-weight:700; }
.split { gap:50px; }
.feature-list { display:grid; gap:14px; }
.feature-row { padding:18px 20px; border:1px solid rgba(0,229,255,.18); border-radius:15px; background:rgba(5,19,36,.65); }
.feature-no { color:var(--gold-light); }
.cta-panel { position:relative; overflow:hidden; padding:38px; border:1px solid rgba(212,175,55,.5); border-radius:23px; background:radial-gradient(ellipse at 88% 10%,rgba(0,229,255,.12),transparent 33%),linear-gradient(135deg,rgba(9,31,52,.93),rgba(3,12,24,.96)); box-shadow:0 0 34px rgba(0,170,255,.12); }
.page-hero { position:relative; overflow:hidden; padding:66px 0 44px; background:radial-gradient(ellipse at 85% 25%,rgba(0,229,255,.09),transparent 32%),linear-gradient(180deg,rgba(4,18,34,.76),rgba(3,10,22,.22)); border-bottom:1px solid rgba(0,229,255,.15); }
.page-hero-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.52fr); align-items:end; gap:45px; }
.page-intro h1 { max-width:850px; margin:10px 0 15px; font-size:clamp(2.6rem,5.1vw,4.65rem); line-height:1.02; letter-spacing:-.05em; }
.page-intro p { max-width:760px; color:#b7c6d8; font-size:1.08rem; }
.page-chip { padding:19px 20px; border:1px solid rgba(0,229,255,.28); border-radius:16px; background:rgba(6,22,40,.72); color:#b8c6d8; box-shadow:inset 0 0 20px rgba(0,229,255,.04); }
.page-chip strong { color:var(--gold-light); }
.section-tight > .wrap > h2 { margin-bottom:24px; font-size:clamp(1.8rem,3.5vw,2.6rem); }
.service-detail-grid,.sector-grid,.demo-grid { gap:18px; }
.detail-card,.sector-card,.demo-card,.contact-aside,.form-card { padding:24px; }
.detail-card h2,.sector-card h2,.sector-card h3 { line-height:1.2; }
.detail-card p,.sector-card p,.demo-card p { color:#b8c6d8; }
.detail-card li::marker { color:var(--cyan); }
.icon-box { border:1px solid rgba(0,229,255,.35); color:var(--cyan); background:rgba(0,229,255,.08); box-shadow:0 0 18px rgba(0,229,255,.1); }
.demo-head { padding-bottom:14px; border-bottom:1px solid var(--line); }
.workflow { margin-top:12px; border:1px solid rgba(0,229,255,.13); border-radius:14px; background:rgba(2,12,24,.55); }
.workflow-step { border-bottom:1px solid rgba(148,163,184,.1); }
.status { border:1px solid rgba(0,229,255,.35); border-radius:999px; color:var(--cyan); background:rgba(0,229,255,.07); }
.status[data-state="complete"] { color:#b8f5cf; }
.contact-layout { gap:22px; }
.form-card label { color:#e5edf7; }
.form-card input,.form-card textarea,.form-card select { border:1px solid rgba(0,229,255,.24); border-radius:11px; color:#fff; background:rgba(2,12,24,.8); }
.form-card input:focus,.form-card textarea:focus,.form-card select:focus { outline:2px solid rgba(0,229,255,.4); border-color:var(--cyan); }
.form-card option { background:#08182b; color:#fff; }
.site-footer { border-top:1px solid rgba(0,229,255,.22); background:rgba(2,9,19,.88); }
.footer-main { padding:42px 0 28px; }
.site-footer .brand-mark { flex-basis:76px; width:76px; height:66px; }
.footer-col a { color:#aab9ca; }
.footer-col a:hover { color:var(--gold-light); }
.footer-bottom { border-top:1px solid rgba(148,163,184,.12); color:#8191a5; }
:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
@media (max-width:1050px) {
  .hero-top { grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); min-height:410px; }
  .benefit-panel { right:-1%; width:178px; }
  .flow-card { flex-basis:calc((100% - 14px)/2); }
}
@media (max-width:800px) {
  .wrap { width:min(calc(100% - 36px),var(--max)); }
  .nav { min-height:76px; }
  .brand-mark { flex-basis:84px;width:84px;height:62px; }
  .brand-copy strong { font-size:1.02rem; }
  .brand-copy small { font-size:.52rem; letter-spacing:.13em; }
  .nav-links { gap:10px; }
  .nav-links.open { padding:16px; border:1px solid var(--line); border-radius:16px; background:#061426; box-shadow:0 16px 40px rgba(0,0,0,.42); }
  .nav-links.open a { padding:10px 5px; }
  .hero { padding-top:26px; }
  .hero-top { grid-template-columns:1fr; min-height:0; }
  .hero-copy { padding:18px 0 0; }
  .hero h1 { font-size:clamp(3rem,10vw,5rem); }
  .hero-visual { min-height:370px; margin-top:-14px; }
  .globe-art { width:min(100%,520px); right:8%; }
  .hero-visual:after { width:64%; }
  .benefit-panel { right:0; width:170px; }
  .flow-card { flex-basis:min(75%,310px); }
  .process-track { flex-wrap:wrap; justify-content:center; border-radius:22px; }
  .process-track > i { display:none; }
  .process-step { min-width:28%; }
  .section { padding:42px 0; }
  .page-hero { padding:48px 0 32px; }
  .page-hero-row { grid-template-columns:1fr; gap:14px; }
  .page-chip { max-width:580px; }
  .integration-strip { justify-content:center; }
  .integration-strip > strong { max-width:none; width:100%; text-align:center; }
}
@media (max-width:560px) {
  .wrap { width:calc(100% - 28px); }
  .nav { min-height:68px; }
  .brand { gap:9px; }
  .brand-mark { flex-basis:66px;width:66px;height:50px;background-position:center; }
  .brand-copy strong { font-size:.88rem; }
  .brand-copy small { font-size:.45rem; letter-spacing:.11em; }
  .nav-links { display:none; }
  .nav-links.open { position:absolute; top:calc(100% + 8px); left:14px; right:14px; display:grid; gap:0; }
  .menu-toggle { display:block; }
  .nav-links .nav-cta { margin:8px 0 0; }
  .hero { padding-top:16px; }
  .hero-copy .eyebrow { font-size:.61rem; letter-spacing:.13em; }
  .hero h1 { margin-top:10px; font-size:clamp(2.65rem,12vw,3.55rem); }
  .hero-copy > p { font-size:1rem; }
  .hero-actions { gap:10px; }
  .hero-actions .btn { min-height:49px; padding:0 15px; font-size:.82rem; }
  .hero-visual { min-height:295px; margin-top:0; }
  .globe-art { width:110%; right:-6%; }
  .benefit-panel { width:142px; padding:5px 10px; right:-4px; }
  .benefit-item { min-height:52px; gap:7px; }
  .benefit-icon { width:26px; font-size:1.2rem; }
  .benefit-item strong { font-size:.65rem; }
  .benefit-item small { font-size:.61rem; }
  .flow-hub { padding:12px 10px 10px; border-radius:17px; }
  .flow-card { flex-basis:83%; min-height:225px; }
  .flow-controls { gap:10px; }
  .journey-count { font-size:.65rem; }
  .process-step { min-width:44%; }
  .process-track { padding:12px; }
  .section-head { display:block; }
  .section-head h2,.split h2,.cta-panel h2 { font-size:2rem; }
  .section-head p { margin-top:9px; }
  .service-grid,.service-detail-grid,.sector-grid,.demo-grid,.contact-layout { grid-template-columns:1fr !important; }
  .service-art { min-height:165px; }
  .detail-card,.sector-card,.demo-card,.contact-aside,.form-card { padding:19px; }
  .cta-panel { padding:24px 19px; }
  .page-intro h1 { font-size:2.55rem; }
  .page-intro p { font-size:1rem; }
  .integration-strip { gap:12px; }
  .integration-tag { font-size:.9rem; }
  .footer-main { grid-template-columns:1fr 1fr; gap:25px 18px; }
  .footer-about { grid-column:1/-1; }
  .footer-bottom { display:grid; gap:5px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Final quality pass: keep the glow behind card content and controls. */
.glass-card:before { pointer-events:none; }
.glass-card > * { position:relative; z-index:1; }

/* Improve form and workflow status legibility on the dark panels. */
.form-card input::placeholder,.form-card textarea::placeholder { color:#9aadc1; opacity:1; }
.step-state { color:#9eb0c2; }
.workflow-step.done .step-state { color:#9af2cb; }
.run-demo { min-height:40px; padding:8px 10px; border:1px solid transparent; border-radius:9px; color:var(--gold-light); cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.run-demo:hover { color:#fff1b4; border-color:rgba(212,175,55,.28); background:rgba(212,175,55,.08); }
.run-demo:focus-visible { outline:2px solid var(--gold-light); outline-offset:2px; }
.run-demo:disabled { cursor:wait; opacity:.72; }

/* Switch to the accessible dropdown before the tablet header gets cramped. */
@media (max-width:1180px) {
  .site-header .nav { position:relative; }
  .menu-toggle { display:block; flex:0 0 44px; }
  .nav-links { position:absolute; top:calc(100% + 8px); left:12px; right:12px; display:none; align-items:stretch; gap:0; padding:12px; border:1px solid var(--line); border-radius:16px; background:rgba(4,14,26,.98); box-shadow:0 16px 40px rgba(0,0,0,.42); }
  .nav-links.open { display:grid; grid-template-columns:1fr; }
  .nav-links.open > a { padding:11px 10px; border-bottom:1px solid rgba(148,163,184,.1); }
  .nav-links .nav-cta { justify-content:center; margin:9px 0 0; }
  .sector-grid,.demo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Original, code-drawn hero graphics for service, sector and demo pages. */
.hero-graphic { position:relative; overflow:hidden; min-height:244px; padding:18px 20px; border:1px solid rgba(0,229,255,.36); border-radius:20px; background:radial-gradient(ellipse at 82% 14%,rgba(0,229,255,.14),transparent 42%),linear-gradient(145deg,rgba(7,29,49,.92),rgba(3,13,27,.96)); box-shadow:0 18px 50px rgba(0,0,0,.24),inset 0 0 26px rgba(0,229,255,.04); }
.hero-graphic:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; background-image:linear-gradient(rgba(0,229,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.07) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(120deg,transparent 5%,#000 48%,transparent 100%); }
.hero-graphic > * { position:relative; z-index:1; }
.hero-graphic-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#a9bfd2; font-size:.62rem; font-weight:800; letter-spacing:.15em; }
.hero-graphic-top i { padding:5px 8px; border:1px solid rgba(0,229,255,.28); border-radius:999px; color:var(--cyan); font-size:.55rem; font-style:normal; letter-spacing:.09em; }
.hero-graphic-foot { display:flex; align-items:center; gap:7px; margin-top:16px; padding-top:11px; border-top:1px solid rgba(0,229,255,.14); color:#b8c6d8; font-size:.72rem; line-height:1.45; }
.hero-graphic-foot .signal { flex:0 0 6px; margin:0; }
.mini-pipeline { display:grid; grid-template-columns:1fr 20px 1fr 20px 1fr; align-items:center; gap:5px; margin-top:25px; }
.mini-pipeline > i { color:var(--gold-light); font-size:1.2rem; font-style:normal; text-align:center; text-shadow:0 0 12px rgba(212,175,55,.55); }
.mini-pipeline-node { min-height:112px; padding:12px 10px; border:1px solid rgba(0,229,255,.25); border-radius:13px; background:linear-gradient(145deg,rgba(10,38,60,.9),rgba(4,17,34,.94)); box-shadow:inset 0 0 18px rgba(0,229,255,.04); }
.mini-pipeline-node > span { display:grid; place-items:center; width:25px; height:25px; margin-bottom:8px; border:1px solid rgba(212,175,55,.55); border-radius:8px; color:var(--gold-light); font-size:.62rem; font-weight:800; }
.mini-pipeline-node b,.mini-pipeline-node small { display:block; }
.mini-pipeline-node b { color:#fff; font-size:.8rem; }
.mini-pipeline-node small { margin-top:3px; color:#a9bfd2; font-size:.62rem; line-height:1.35; }
.industry-hero-row { grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); align-items:center; }
.industry-hero-graphic { min-height:292px; }
.industry-network { position:relative; height:196px; margin-top:7px; }
.industry-network svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.industry-network svg path { fill:none; stroke:rgba(0,229,255,.38); stroke-width:1.5; stroke-dasharray:5 7; animation:network-dash 12s linear infinite; }
.industry-network svg circle { fill:var(--gold-light); filter:drop-shadow(0 0 5px rgba(243,229,171,.8)); }
@keyframes network-dash { to { stroke-dashoffset:-48; } }
.industry-hub,.industry-node { position:absolute; z-index:2; display:grid; justify-items:center; text-align:center; border:1px solid rgba(0,229,255,.36); background:rgba(4,18,35,.94); box-shadow:0 0 20px rgba(0,180,255,.12); }
.industry-hub { left:50%; top:50%; width:120px; min-height:78px; padding:9px; transform:translate(-50%,-50%); border-color:rgba(243,229,171,.48); border-radius:16px; }
.industry-hub > span { color:var(--gold-light); font-size:1.1rem; font-weight:900; line-height:1; }
.industry-hub b { margin-top:3px; color:#fff; font-size:.7rem; }
.industry-hub small { color:#9fb2c5; font-size:.57rem; }
.industry-node { width:94px; min-height:51px; padding:6px; grid-template-columns:22px 1fr; align-items:center; gap:4px; border-radius:12px; }
.industry-node span { color:var(--cyan); font-size:1.05rem; }
.industry-node b { color:#e8f1fa; font-size:.62rem; text-align:left; }
.industry-node-a { left:2%; top:3%; }
.industry-node-b { right:2%; top:3%; }
.industry-node-c { left:2%; bottom:3%; }
.industry-node-d { right:2%; bottom:3%; }
.demo-hero-graphic { min-height:270px; }
.demo-console { margin-top:13px; padding:8px 12px 12px; border:1px solid rgba(0,229,255,.19); border-radius:14px; background:rgba(2,11,24,.76); }
.console-line { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:8px; min-height:34px; border-bottom:1px solid rgba(148,163,184,.09); color:#c7d5e4; font-size:.68rem; }
.console-line:last-of-type { border:0; }
.console-line > span { color:var(--gold-light); font-size:.6rem; }
.console-line em { color:#7ce8c0; font-size:.52rem; font-style:normal; font-weight:800; letter-spacing:.08em; }
.console-progress { height:3px; margin-top:7px; overflow:hidden; border-radius:5px; background:rgba(0,229,255,.13); }
.console-progress span { display:block; width:36%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--cyan),var(--gold-light)); box-shadow:0 0 10px var(--cyan); animation:console-progress 3s ease-in-out infinite alternate; }
@keyframes console-progress { to { width:92%; } }

/* Homepage's visitor-friendly interactive flow lab. */
.solution-flows-section { padding-top:18px; }
.solution-lab { overflow:hidden; border:1px solid rgba(0,229,255,.35); border-radius:22px; background:linear-gradient(145deg,rgba(5,22,41,.95),rgba(2,12,26,.97)); box-shadow:0 18px 48px rgba(0,0,0,.24),0 0 28px rgba(0,180,255,.08); }
.flow-tabs { display:flex; gap:8px; overflow-x:auto; padding:13px; border-bottom:1px solid rgba(0,229,255,.17); scrollbar-width:thin; scrollbar-color:rgba(0,229,255,.35) transparent; }
.flow-tabs [role="tab"] { flex:0 0 auto; min-height:40px; padding:8px 13px; border:1px solid transparent; border-radius:10px; color:#b9c8d7; background:rgba(255,255,255,.025); font-size:.73rem; font-weight:700; cursor:pointer; transition:color .2s ease,border-color .2s ease,background .2s ease; }
.flow-tabs [role="tab"]:hover { color:#fff; border-color:rgba(0,229,255,.28); }
.flow-tabs [role="tab"][aria-selected="true"] { color:#fff2be; border-color:rgba(212,175,55,.48); background:linear-gradient(110deg,rgba(212,175,55,.13),rgba(0,229,255,.07)); box-shadow:0 0 18px rgba(212,175,55,.08); }
.solution-lab-body { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr); gap:22px; padding:22px; }
.solution-lab-copy { align-self:center; }
.flow-overline { color:var(--cyan); font-size:.61rem; font-weight:800; letter-spacing:.13em; }
.solution-lab-copy h3 { margin:9px 0 8px; color:#fff; font-size:1.3rem; line-height:1.2; }
.solution-lab-copy > p:not(.flow-status) { margin:0 0 15px; color:#b9c8d7; font-size:.83rem; line-height:1.55; }
.flow-play { min-height:42px; }
.flow-status { min-height:34px; margin:11px 0 0; color:#94a8bc; font-size:.67rem; line-height:1.45; }
.solution-flow-panel[hidden] { display:none !important; }
.visual-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:3px 0; list-style:none; }
.visual-flow li { position:relative; display:flex; min-height:128px; flex-direction:column; align-items:flex-start; justify-content:center; padding:13px 11px; border:1px solid rgba(0,229,255,.2); border-radius:13px; background:linear-gradient(155deg,rgba(10,35,58,.88),rgba(4,16,31,.94)); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease; }
.visual-flow li:not(:last-child):after { content:"›"; position:absolute; z-index:2; top:50%; right:-12px; width:13px; color:var(--gold-light); font-size:1.4rem; font-weight:800; line-height:1; text-shadow:0 0 12px rgba(243,229,171,.65); transform:translateY(-50%); }
.visual-flow li.is-current { transform:translateY(-5px); border-color:rgba(243,229,171,.78); background:linear-gradient(150deg,rgba(25,54,74,.97),rgba(6,23,40,.98)); box-shadow:0 0 23px rgba(0,229,255,.17),0 0 16px rgba(212,175,55,.12),inset 0 0 18px rgba(0,229,255,.07); }
.flow-node-icon { display:grid; place-items:center; width:28px; height:28px; margin-bottom:10px; border:1px solid rgba(0,229,255,.38); border-radius:9px; color:var(--cyan); background:rgba(0,229,255,.07); font-size:.61rem; font-weight:800; }
.visual-flow li.is-current .flow-node-icon { color:#171514; border-color:var(--gold-light); background:linear-gradient(130deg,#d4af37,#f3e5ab); }
.visual-flow b { color:#f5f8fc; font-size:.73rem; line-height:1.25; }
.visual-flow small { margin-top:5px; color:#a9bdd0; font-size:.61rem; line-height:1.35; }
.service-card-actions { display:grid; gap:2px; margin-top:auto; padding-top:8px; }
.service-card-actions .text-link { margin-top:8px; }
.service-more { width:max-content; max-width:100%; color:#9db0c2; font-size:.68rem; font-weight:700; }
.service-more:hover { color:var(--cyan); }
.service-flow { margin-top:19px; overflow:hidden; border:1px solid rgba(0,229,255,.21); border-radius:13px; background:rgba(1,12,25,.42); }
.service-flow summary { display:flex; min-height:46px; align-items:center; justify-content:space-between; gap:10px; padding:10px 13px; color:var(--gold-light); font-size:.76rem; font-weight:800; cursor:pointer; list-style:none; }
.service-flow summary::-webkit-details-marker { display:none; }
.service-flow summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:-3px; border-radius:12px; }
.service-flow summary span { display:grid; place-items:center; width:23px; height:23px; border:1px solid rgba(212,175,55,.36); border-radius:50%; color:var(--cyan); transition:transform .22s ease; }
.service-flow[open] summary { border-bottom:1px solid rgba(0,229,255,.13); }
.service-flow[open] summary span { transform:rotate(45deg); }
.service-flow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; padding:12px; list-style:none; counter-reset:service-step; }
.service-flow-steps li { position:relative; display:grid; align-content:center; min-height:65px; padding:8px; border:1px solid rgba(0,229,255,.18); border-radius:9px; background:rgba(8,28,47,.76); counter-increment:service-step; }
.service-flow-steps li:before { content:"0" counter(service-step); margin-bottom:5px; color:var(--cyan); font-size:.55rem; font-weight:800; letter-spacing:.08em; }
.service-flow-steps li:not(:last-child):after { content:"›"; position:absolute; top:50%; right:-8px; z-index:1; color:var(--gold-light); font-size:1rem; transform:translateY(-50%); }
.service-flow-steps b { color:#e8f0f8; font-size:.62rem; line-height:1.25; }
.service-flow-branch { margin:0; padding:0 12px 12px; color:#aebfd0; font-size:.68rem; line-height:1.45; }
.service-flow-branch strong { color:var(--gold-light); }

/* Contact opens on the enquiry form instead of a separate hero banner. */
.contact-entry { padding-top:30px; }
.contact-entry .contact-layout { grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); align-items:start; }
.form-card h1 { margin:10px 0 7px; color:#fff; font-size:clamp(1.8rem,3.2vw,2.55rem); line-height:1.12; letter-spacing:-.045em; }
.form-lead { margin:0 0 20px; color:#b8c6d8; font-size:.89rem; }

@media (max-width:800px) {
  .industry-hero-row { grid-template-columns:1fr; }
  .hero-graphic { width:100%; max-width:620px; justify-self:center; }
  .solution-lab-body { grid-template-columns:1fr; gap:8px; }
  .solution-lab-copy { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:14px; }
  .solution-lab-copy .flow-overline,.solution-lab-copy h3,.solution-lab-copy > p:not(.flow-status) { grid-column:1/-1; }
  .solution-lab-copy .flow-play { grid-column:1; justify-self:start; }
  .solution-lab-copy .flow-status { grid-column:2; grid-row:4; text-align:right; }
  .contact-entry .contact-layout { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .hero-graphic { min-height:220px; padding:14px; border-radius:16px; }
  .mini-pipeline { grid-template-columns:1fr; gap:7px; margin-top:14px; }
  .mini-pipeline > i { transform:rotate(90deg); line-height:1; }
  .mini-pipeline-node { display:grid; grid-template-columns:30px 1fr; min-height:0; align-items:center; column-gap:9px; padding:8px; }
  .mini-pipeline-node > span { grid-row:span 2; margin:0; }
  .mini-pipeline-node small { margin:0; }
  .industry-network { height:178px; }
  .industry-node { width:82px; }
  .industry-hub { width:103px; }
  .visual-flow { grid-template-columns:1fr; gap:8px; }
  .visual-flow li { min-height:72px; display:grid; grid-template-columns:30px 1fr; align-content:center; column-gap:10px; padding:10px; }
  .visual-flow li:not(:last-child):after { content:"↓"; top:auto; right:50%; bottom:-15px; transform:translateX(50%); }
  .flow-node-icon { grid-row:span 2; margin:0; }
  .visual-flow small { margin-top:2px; }
  .service-flow-steps { grid-template-columns:1fr 1fr; }
  .service-flow-steps li:nth-child(2):after { display:none; }
  .solution-lab-body { padding:14px; }
  .solution-lab-copy { display:block; }
  .solution-lab-copy .flow-status { text-align:left; }
  .contact-entry { padding-top:16px; }
}

/* Shared sign-in and session controls live in the site header. */
.site-auth-group { display:flex; align-items:center; gap:9px; margin-left:clamp(4px,1vw,14px); white-space:nowrap; }
.site-auth-group > form { display:inline-flex; margin:0; }
.site-auth-link { display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:0 12px; border:1px solid rgba(0,229,255,.42); border-radius:10px; color:#e7f6ff; background:rgba(2,15,30,.44); font:inherit; font-size:.78rem; font-weight:750; text-decoration:none; cursor:pointer; transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease; }
.site-auth-link:hover { transform:translateY(-1px); border-color:rgba(0,229,255,.8); color:#fff; background:rgba(0,229,255,.1); }
.site-auth-button { font-family:inherit; }
@media (max-width:1200px) and (min-width:1001px) { .nav { gap:14px; } .nav-links { gap:clamp(12px,1.7vw,22px); } .site-auth-group { gap:6px; margin-left:2px; } .site-auth-link { padding-inline:9px; font-size:.72rem; } }
@media (max-width:1180px) { .nav-links.open .site-auth-group { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 4px 2px; } .nav-links.open .site-auth-group > form { display:flex; } .nav-links.open .site-auth-link { width:100%; min-height:42px; } }


/* Keep header account actions grouped on desktop and evenly sized in the menu. */
.site-auth-group { gap:8px; margin-left:0; }
.nav-links .nav-cta { margin-left:0; }
@media (max-width:1180px) {
  .nav-links.open .nav-cta { order:1; justify-self:stretch; width:100%; }
  .nav-links.open .site-auth-group { order:2; display:grid; grid-template-columns:1fr; gap:8px; margin:0; padding:9px 0 2px; white-space:normal; }
  .nav-links.open .site-auth-group > a,
  .nav-links.open .site-auth-group > form { width:100%; }
  .nav-links.open .site-auth-group > form { display:flex; }
  .nav-links.open .site-auth-link { width:100%; min-height:44px; }
  .nav-links.open .nav-cta { min-height:46px; }
}

/* Service flow controls and clear enquiry actions. */
.service-flow summary { min-height:58px; padding:9px 12px 9px 15px; font-size:.84rem; line-height:1.35; }
.service-flow summary .service-flow-label { display:block; flex:1 1 auto; min-width:0; width:auto; height:auto; border:0; border-radius:0; color:inherit; font-size:inherit; line-height:inherit; }
.service-flow summary .service-flow-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border:1px solid rgba(212,175,55,.6); border-radius:12px; color:#ffe28a; background:linear-gradient(145deg,rgba(212,175,55,.16),rgba(0,229,255,.07)); box-shadow:0 0 16px rgba(212,175,55,.13); font-size:1.35rem; line-height:1; font-weight:500; transition:transform .22s ease,background .22s ease,box-shadow .22s ease; }
.service-flow[open] summary .service-flow-icon { transform:rotate(45deg); background:rgba(0,229,255,.13); box-shadow:0 0 18px rgba(0,229,255,.2); }
.service-interest-cta { justify-content:center; align-self:flex-start; min-height:44px; margin-top:15px; padding:10px 15px; gap:12px; border:1px solid rgba(243,229,171,.62); border-radius:11px; color:#07121f; background:linear-gradient(110deg,#d4af37,#f3e5ab); box-shadow:0 5px 18px rgba(212,175,55,.17); font-weight:850; text-decoration:none; }
.service-interest-cta:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(212,175,55,.28); }
.service-interest-cta .btn-arrow { font-size:1rem; }

/* Two-line authenticated demo access label. */
.nav-links .nav-cta:has(.nav-cta-line) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  row-gap: 1px;
  min-width: 148px;
  min-height: 54px;
  padding: 7px 14px;
  text-align: left;
  white-space: normal;
  line-height: 1.08;
}
.nav-cta-line { grid-column: 1; display: block; }
.nav-cta-line-primary { grid-row: 1; font-size: .79rem; font-weight: 800; }
.nav-cta-line-secondary { grid-row: 2; color: var(--gold-light); font-size: .73rem; font-weight: 700; letter-spacing: .025em; }
.nav-cta-arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 1.05rem; line-height: 1; }
@media (max-width: 1180px) {
  .nav-links.open .nav-cta:has(.nav-cta-line) { min-height: 54px; }
}
@media (max-width: 600px) {
  .nav-links.open .nav-cta:has(.nav-cta-line) { width: 100%; max-width: none; }
}
