/* ============================================================
   DESIGN PLAN (v2)
   Layout concept: a warm, light technical canvas (not a flat dark
   theme) with a lead-grey nav bar cutting across it, a live pipeline
   diagram as the hero's centerpiece, and one dark "control room"
   panel reserved for the trust/stats moment, so depth and light read
   clearly against a bright ground instead of disappearing into it.
   Color: warm off-white base, three-tone brand orange (bright,
   amber tint, deep rust) for all glow/shadow/accent work, a muted
   violet reserved for the dark panel and background texture only.
   Type: Space Grotesk (display) + IBM Plex Sans (body) + IBM Plex
   Mono (data, labels, stats).
   ============================================================ */
:root{
  --bg:#FBF6EE;
  --bg-soft:#F4EADA;
  --surface:#FFFFFF;
  --surface-tint:#FFF9F1;
  --border:#E8D9C4;
  --border-strong:#D7BE9C;
  --fg:#25190F;
  --fg-muted:#6E5A46;
  --fg-faint:#A08C72;
  --accent:#FF5733;
  --accent-2:#FFB36B;
  --accent-deep:#C8431F;
  --accent-soft:rgba(255,87,51,.13);
  --accent-glow:rgba(255,87,51,.33);
  --violet:#7A5CC8;
  --violet-soft:rgba(122,92,200,.14);
  --nav-bg:var(--dark-2);
  --nav-fg:#F4EFE6;
  --nav-fg-muted:rgba(244,239,230,.72);
  --good:#1E8F5F;
  --dark-1:#1C1330;
  --dark-2:#2B1A2E;
  --dark-3:#3A1F1C;
  --dark-fg:#F5EEE6;
  --dark-fg-muted:#C9B7C6;
  --dark-border:rgba(255,255,255,.14);
  --font-display:'Space Grotesk',system-ui,sans-serif;
  --font-body:'IBM Plex Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --container:1180px;
  color-scheme:light;
}
*{box-sizing:border-box;}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
.bg-texture{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(circle at 12% 6%, rgba(255,87,51,.12), transparent 30%),
    radial-gradient(circle at 88% 14%, rgba(122,92,200,.10), transparent 32%),
    radial-gradient(circle at 70% 78%, rgba(255,179,107,.16), transparent 34%),
    repeating-linear-gradient(0deg, rgba(37,25,15,.04) 0 1px, transparent 1px 36px),
    repeating-linear-gradient(90deg, rgba(37,25,15,.04) 0 1px, transparent 1px 36px);
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.01em;
  text-wrap:balance;
  margin:0;
  color:var(--fg);
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
.wrap{max-width:var(--container);margin:0 auto;padding-inline:24px;}
section{padding-block:96px;position:relative;}
@media (max-width:720px){ section{padding-block:60px;} }
.eyebrow{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-deep);
}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-top:10px;}
.section-head p{color:var(--fg-muted);margin-top:14px;font-size:1.05rem;max-width:58ch;}
.tag-coming{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--fg-faint);border:1px solid var(--border-strong);border-radius:4px;padding:3px 7px;white-space:nowrap;
}

/* ---------- buttons / links ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:7px;
  font-family:var(--font-body);font-weight:600;font-size:.95rem;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;
  box-shadow:0 10px 28px -10px var(--accent-glow), 0 0 0 1px rgba(200,67,31,.25);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px var(--accent-glow), 0 0 0 1px rgba(200,67,31,.3);}
.btn-primary:active{transform:translateY(0) scale(.98);}
.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--border-strong);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep);}
.card-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem;color:var(--accent-deep);}
.card-link svg{transition:transform .18s ease;}
.card-link:hover svg{transform:translateX(3px);}
.card-link.is-muted{color:var(--fg-faint);cursor:default;}
.card-link.is-muted svg{display:none;}

/* ---------- nav ---------- */
.site-nav{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  display:flex;align-items:center;justify-content:space-between;padding:14px 24px;
  background:var(--nav-bg);border-bottom:1px solid rgba(0,0,0,.18);height:68px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:22px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links > a{font-size:.92rem;color:var(--nav-fg-muted);transition:color .15s ease;}
.nav-links > a:hover{color:var(--nav-fg);}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-cta{display:none;}
.nav-toggle{display:none;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(244,239,230,.3);border-radius:6px;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:16px;height:1.5px;background:var(--nav-fg);position:relative;}
.nav-toggle span::before{position:absolute;top:-5px;}
.nav-toggle span::after{position:absolute;top:5px;}

/* nav "Solutions" mega-dropdown, built on <details> for built-in accessible toggling */
.nav-dropdown{position:relative;}
.nav-dropdown summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;
  font-size:.92rem;color:var(--nav-fg-muted);transition:color .15s ease;
}
.nav-dropdown summary::-webkit-details-marker{display:none;}
.nav-dropdown summary:hover,.nav-dropdown[open] summary{color:var(--nav-fg);}
.nav-dropdown summary .chev{transition:transform .18s ease;}
.nav-dropdown[open] summary .chev{transform:rotate(180deg);}
.dropdown-panel{
  display:flex;flex-direction:column;gap:2px;padding:10px;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 24px 48px -24px rgba(37,25,15,.45);
}
.dropdown-item{
  display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:9px;
  transition:background .15s ease;
}
a.dropdown-item:hover{background:var(--surface-tint);}
.dropdown-item .icon{
  flex-shrink:0;width:34px;height:34px;border-radius:8px;background:var(--accent-soft);
  color:var(--accent-deep);display:flex;align-items:center;justify-content:center;
}
.dropdown-item.is-current .icon{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;}
.dropdown-item .txt h4{font-size:.9rem;color:var(--fg);display:flex;align-items:center;gap:8px;}
.dropdown-item .txt p{font-size:.78rem;color:var(--fg-muted);margin-top:2px;}
.dropdown-item.is-current{background:var(--surface-tint);}
.current-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent-deep);padding:2px 7px;border-radius:999px;}
@media (min-width:861px){
  .dropdown-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);width:400px;z-index:5;}
}
@media (max-width:860px){
  .nav-links{position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--nav-bg);border-bottom:1px solid rgba(0,0,0,.2);max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .nav-links.is-open{max-height:600px;overflow-y:auto;}
  .nav-links > a{width:100%;padding:14px 24px;border-top:1px solid rgba(244,239,230,.12);}
  .nav-right .btn-primary{display:none;}
  .nav-links .nav-cta{display:block;padding:16px 24px;}
  .nav-toggle{display:inline-flex;}
  .nav-dropdown{width:100%;border-top:1px solid rgba(244,239,230,.12);}
  .nav-dropdown summary{padding:14px 24px;justify-content:space-between;}
  .dropdown-panel{background:rgba(0,0,0,.18);border:none;border-radius:0;box-shadow:none;padding:4px 10px 10px;}
  a.dropdown-item:hover{background:rgba(244,239,230,.06);}
  .dropdown-item .txt h4{color:var(--nav-fg);}
  .dropdown-item .txt p{color:var(--nav-fg-muted);}
  .dropdown-item.is-current{background:rgba(244,239,230,.06);}
}

/* ---------- hero ---------- */
.hero{padding-block:72px 56px;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;gap:40px;} }
.hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem);}
.hero .sub{color:var(--fg-muted);font-size:1.12rem;margin-top:20px;max-width:46ch;}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-visual{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;}
.glow-blob{position:absolute;border-radius:50%;filter:blur(54px);pointer-events:none;}
.glow-blob.b1{width:300px;height:300px;top:-50px;right:-20px;background:radial-gradient(circle,var(--accent-2) 0%,transparent 70%);opacity:.6;animation:drift 14s ease-in-out infinite;}
.glow-blob.b2{width:220px;height:220px;bottom:-30px;left:0;background:radial-gradient(circle,var(--violet) 0%,transparent 70%);opacity:.35;animation:drift 18s ease-in-out infinite reverse;}
@keyframes drift{0%,100%{transform:translate(0,0);}50%{transform:translate(-14px,16px);}}
@media (prefers-reduced-motion:reduce){ .glow-blob{animation:none;} }

/* floating stat chips around the hero diagram */
.hero-chip{
  position:absolute;display:flex;align-items:center;gap:8px;background:var(--surface);
  border:1px solid var(--border);border-radius:999px;padding:9px 14px;box-shadow:0 10px 24px -14px rgba(37,25,15,.35);
  font-size:.8rem;color:var(--fg-muted);z-index:2;animation:chipfloat 5s ease-in-out infinite;
}
.hero-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.hero-chip b{font-family:var(--font-mono);color:var(--fg);font-weight:600;}
.hero-chip.c1{top:4%;left:-4%;animation-delay:0s;}
.hero-chip.c2{top:12%;right:-6%;animation-delay:1.2s;}
.hero-chip.c3{bottom:6%;left:2%;animation-delay:2.1s;}
.hero-chip.c4{bottom:-2%;right:6%;animation-delay:.6s;}
@keyframes chipfloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@media (prefers-reduced-motion:reduce){ .hero-chip{animation:none;} }
@media (max-width:760px){
  .hero-chip{position:static;animation:none;box-shadow:none;border-color:var(--border);margin:4px;}
  .hero-chips-mobile{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;}
}
@media (min-width:761px){ .hero-chips-mobile{display:none;} }

/* ---------- pipeline widget (adapted hero animation) ---------- */
.pw-wrap{container-type:inline-size;width:100%;max-width:520px;position:relative;z-index:1;}
.pw-pipeline{display:grid;grid-template-columns:1fr 3.4em 1fr 3.4em 1fr;align-items:start;gap:0 .1em;font-size:clamp(7px,2.1cqw,15px);}
@container (max-width:22em){
  .pw-pipeline{grid-template-columns:1fr;grid-auto-rows:auto;justify-items:center;font-size:clamp(11px,4.4cqw,15px);}
  .pw-connector{width:3.4em;height:3em;margin-inline:auto;}
  .pw-connector .pw-track{width:.3em;height:100%;}
  .pw-connector .pw-dot{animation-name:pwFlowY !important;}
  .pw-connector .pw-chevron{transform:rotate(90deg);}
}
.pw-stage{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1em;padding-block:.4em;}
.pw-badge-row{display:flex;flex-direction:column;align-items:center;gap:.3em;}
.pw-stage-title{font-family:var(--font-display);font-weight:700;font-size:1.05em;color:var(--fg);}
.pw-stage-caption{font-size:.84em;color:var(--fg-muted);max-width:11em;}
.pw-connector{position:relative;height:6.6em;align-self:center;display:flex;align-items:center;justify-content:center;}
.pw-connector .pw-track{width:100%;height:.28em;border-radius:.3em;background:repeating-linear-gradient(90deg,var(--border-strong) 0 .55em,transparent .55em 1em);}
.pw-connector .pw-chevron{position:absolute;color:var(--fg-faint);font-size:1.1em;opacity:.7;}
.pw-connector .pw-dot{position:absolute;top:50%;left:0;width:.65em;height:.65em;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);animation:pwFlowX 2.6s linear infinite;}
.pw-connector .pw-dot:nth-child(2){animation-delay:-.87s;background:var(--accent-2);}
.pw-connector .pw-dot:nth-child(3){animation-delay:-1.73s;background:var(--accent-deep);}
@keyframes pwFlowX{0%{left:0%;opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{left:100%;opacity:0;}}
@keyframes pwFlowY{0%{top:0%;opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{top:100%;opacity:0;}}
.pw-icon-stack{position:relative;width:8.4em;height:6.2em;}
.pw-page{position:absolute;width:5.8em;height:4.3em;background:var(--surface);border:.08em solid var(--fg);border-radius:.5em;box-shadow:0 .25em .5em -.3em rgba(37,25,15,.25);}
.pw-page-a{top:1.3em;left:2.4em;transform:rotate(-7deg);opacity:.5;}
.pw-page-b{top:.65em;left:1.3em;transform:rotate(-2deg);opacity:.78;}
.pw-page-c{top:0;left:0;transform:rotate(4deg);display:flex;flex-direction:column;animation:pwBob 3.6s ease-in-out infinite;}
.pw-page-c .pw-dots{display:flex;gap:.22em;padding:.36em .46em 0;}
.pw-page-c .pw-dots span{width:.36em;height:.36em;border-radius:50%;background:var(--border-strong);}
.pw-page-c .pw-dots span:first-child{background:var(--accent);}
.pw-page-c .pw-lines{padding:.46em .56em;display:flex;flex-direction:column;gap:.3em;flex:1;}
.pw-page-c .pw-lines i{display:block;height:.28em;border-radius:.2em;background:var(--border-strong);}
.pw-page-c .pw-lines i:nth-child(1){width:90%;}
.pw-page-c .pw-lines i:nth-child(2){width:70%;background:var(--accent-2);}
.pw-page-c .pw-lines i:nth-child(3){width:80%;}
.pw-magnifier{position:absolute;right:-.35em;bottom:-.45em;width:2.1em;height:2.1em;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:flex;align-items:center;justify-content:center;box-shadow:0 .3em .6em -.3em rgba(37,25,15,.4);animation:pwPulse 2.4s ease-in-out infinite;}
.pw-magnifier::before{content:"";width:.8em;height:.8em;border-radius:50%;border:.16em solid #fff;background:transparent;}
.pw-magnifier::after{content:"";position:absolute;width:.65em;height:.16em;background:#fff;border-radius:.1em;transform:translate(.5em,.5em) rotate(45deg);}
@keyframes pwBob{0%,100%{transform:rotate(4deg) translateY(0);}50%{transform:rotate(4deg) translateY(-.3em);}}
@keyframes pwPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
.pw-processor{position:relative;width:6.4em;height:6.4em;display:flex;align-items:center;justify-content:center;}
.pw-ring{position:absolute;inset:0;border-radius:50%;border:.3em dashed var(--accent);animation:pwSpin 7s linear infinite;}
.pw-orbit{position:absolute;inset:0;animation:pwSpin 5s linear infinite;}
.pw-orbit.rev{animation-direction:reverse;animation-duration:6.4s;}
.pw-orbit i{position:absolute;top:-.28em;left:50%;width:.5em;height:.5em;border-radius:50%;background:var(--accent-2);transform:translateX(-50%);}
.pw-orbit.rev i{background:var(--accent-deep);top:auto;bottom:-.28em;}
.pw-core{position:relative;width:4em;height:4em;border-radius:50%;background:var(--surface);border:.08em solid var(--fg);display:flex;align-items:flex-end;justify-content:center;gap:.22em;padding-bottom:.6em;}
.pw-core i{display:block;width:.4em;border-radius:.15em;background:var(--accent);animation:pwCorebar 2.2s ease-in-out infinite;transform-origin:bottom;}
.pw-core i:nth-child(1){height:1em;animation-delay:0s;}
.pw-core i:nth-child(2){height:1.5em;background:var(--accent-deep);animation-delay:.25s;}
.pw-core i:nth-child(3){height:.8em;animation-delay:.5s;}
@keyframes pwSpin{to{transform:rotate(360deg);}}
@keyframes pwCorebar{0%,100%{transform:scaleY(.72);}50%{transform:scaleY(1);}}
.pw-output{display:flex;align-items:flex-end;gap:.55em;}
.pw-monitor{position:relative;width:8.8em;height:6.4em;border:.09em solid var(--fg);border-radius:.6em;background:var(--surface);box-shadow:0 .3em .6em -.35em rgba(37,25,15,.3);padding:.55em .55em .45em;display:flex;align-items:flex-end;justify-content:space-between;}
.pw-monitor::after{content:"";position:absolute;left:50%;bottom:-.85em;translate:-50% 0;width:2em;height:.46em;background:var(--fg);border-radius:.2em;}
.pw-bars{display:flex;align-items:flex-end;gap:.32em;height:100%;}
.pw-bars i{width:.5em;border-radius:.15em .15em 0 0;background:var(--accent);transform-origin:bottom;animation:pwCorebar 1.9s ease-in-out infinite;}
.pw-bars i:nth-child(1){height:55%;animation-delay:0s;}
.pw-bars i:nth-child(2){height:85%;background:var(--accent-deep);animation-delay:.2s;}
.pw-bars i:nth-child(3){height:40%;animation-delay:.4s;}
.pw-bars i:nth-child(4){height:70%;background:var(--accent-2);animation-delay:.6s;}
.pw-donut{width:2.3em;height:2.3em;border-radius:50%;background:conic-gradient(var(--accent) 0 40%,var(--accent-2) 40% 70%,var(--accent-deep) 70% 100%);position:relative;animation:pwSpin 11s linear infinite;flex-shrink:0;}
.pw-donut::after{content:"";position:absolute;inset:.55em;border-radius:50%;background:var(--surface);}
.pw-files{display:flex;flex-direction:column;gap:.46em;}
.pw-file{position:relative;width:1.55em;height:1.9em;background:var(--surface);border:.07em solid var(--fg);border-radius:.2em .2em .2em 0;animation:pwFilefloat 3.2s ease-in-out infinite;}
.pw-file::before{content:"";position:absolute;top:0;right:0;width:.5em;height:.5em;background:var(--accent-2);border-bottom:.07em solid var(--fg);border-left:.07em solid var(--fg);border-radius:0 0 0 .2em;}
.pw-file.f2{animation-delay:-1.6s;}
@keyframes pwFilefloat{0%,100%{transform:translateY(0);opacity:.85;}50%{transform:translateY(-.32em);opacity:1;}}
@media (prefers-reduced-motion:reduce){
  .pw-page-c,.pw-magnifier,.pw-ring,.pw-orbit,.pw-core i,.pw-bars i,.pw-donut,.pw-file,.pw-connector .pw-dot{animation-duration:3.2s !important;}
  .pw-page-c{animation-name:none !important;}
  .pw-ring,.pw-orbit,.pw-donut{animation-name:none !important;}
  .pw-core i,.pw-bars i{animation-name:pwPulse !important;transform-origin:center;}
  .pw-connector .pw-dot{animation-name:none !important;opacity:.9;}
  .pw-file{animation-name:pwPulse !important;}
}

/* ---------- lifecycle strip ---------- */
.lifecycle-track{display:flex;position:relative;gap:0;padding-top:28px;}
.lifecycle-track::before{content:"";position:absolute;top:10px;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 10%,var(--border-strong) 90%,transparent);}
.lifecycle-stage{flex:1;text-align:center;padding-inline:6px;position:relative;}
.lifecycle-stage .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin:0 auto 14px;box-shadow:0 0 0 4px var(--accent-soft);position:relative;z-index:1;}
.lifecycle-stage h4{font-size:.86rem;font-family:var(--font-body);font-weight:600;}
.lifecycle-stage p{font-size:.8rem;color:var(--fg-faint);margin-top:4px;}
@media (max-width:760px){
  .lifecycle-track{flex-direction:column;gap:22px;padding-top:0;}
  .lifecycle-track::before{display:none;}
  .lifecycle-stage{display:flex;align-items:flex-start;gap:14px;text-align:left;}
  .lifecycle-stage .dot{margin:6px 0 0;flex:none;}
}

/* ---------- solution cards ---------- */
.cards-row{display:flex;flex-wrap:wrap;gap:20px;}
.card{
  flex:1 1 300px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);
  border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px var(--accent-glow);}
.card .icon{width:42px;height:42px;border-radius:9px;background:linear-gradient(135deg,var(--accent-soft),rgba(255,179,107,.3));display:flex;align-items:center;justify-content:center;color:var(--accent-deep);}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.card h3{font-size:1.1rem;}
.card p.desc{color:var(--fg-muted);font-size:.93rem;flex:1;}

/* ---------- compare (elaborate, no table) ---------- */
.helper-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px clamp(18px,4vw,36px);
  box-shadow:0 20px 46px -30px rgba(37,25,15,.35);
}
.helper-card h3{font-size:1.15rem;max-width:36ch;}
.helper-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-block:16px;border-top:1px solid var(--border);}
.helper-row:first-of-type{margin-top:20px;}
.helper-label{flex:0 0 220px;font-weight:600;font-size:.92rem;color:var(--fg);}
.chip-group{display:flex;flex-wrap:wrap;gap:10px;flex:1;min-width:0;}
.chip{
  border:1px solid var(--border-strong);border-radius:999px;padding:9px 16px;font-size:.86rem;color:var(--fg-muted);
  background:var(--surface-tint);transition:all .16s ease;
}
.chip:hover{border-color:var(--accent);color:var(--accent-deep);}
.chip.is-active{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:transparent;color:#fff;}
.helper-hint{margin-top:20px;font-size:.92rem;color:var(--fg-muted);font-family:var(--font-mono);}
.helper-hint b{color:var(--accent-deep);}

.service-timeline{margin-top:64px;}
.service-panel{display:flex;gap:28px;padding-block:40px;position:relative;transition:background .25s ease, border-radius .25s ease;}
.service-panel + .service-panel{border-top:1px solid var(--border);}
.panel-spine{flex:0 0 60px;position:relative;display:flex;justify-content:center;}
.panel-spine::before{content:"";position:absolute;top:0;bottom:-40px;left:50%;width:1px;background:var(--border-strong);}
.service-panel:last-child .panel-spine::before{bottom:50%;}
.panel-icon{
  width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep);
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;border:1px solid var(--border);flex-shrink:0;
}
.spine-pulse{position:absolute;top:0;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px 2px var(--accent-glow);animation:spinePulse 3.6s linear infinite;}
@keyframes spinePulse{0%{top:0%;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{top:100%;opacity:0;}}
@media (prefers-reduced-motion:reduce){ .spine-pulse{animation:none;opacity:.6;top:50%;} }
.panel-content{flex:1;min-width:0;}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.panel-head h3{font-size:1.3rem;}
.panel-price{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-faint);white-space:nowrap;}
.match-tag{display:none;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-deep));padding:4px 10px;border-radius:999px;}
.panel-lead{color:var(--fg-muted);margin-top:10px;font-size:1.02rem;max-width:62ch;}
.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px;}
@media (max-width:620px){ .fact-grid{grid-template-columns:1fr;} }
.fact{background:var(--surface-tint);border:1px solid var(--border);border-radius:10px;padding:14px 16px;}
.fact-label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-faint);}
.fact-value{display:block;margin-top:6px;font-size:.92rem;color:var(--fg);}
.panel-foot{margin-top:20px;}
.service-panel.is-match{background:linear-gradient(90deg,var(--accent-soft),transparent 65%);border-radius:18px;}
.service-panel.is-match .panel-icon{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 0 0 5px var(--accent-soft);}
.service-panel.is-match .match-tag{display:inline-flex;}
.compare-cta{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;
  margin-top:40px;padding:26px 28px;border:1px solid var(--dark-border);border-radius:14px;color:var(--dark-fg);
  background:
    radial-gradient(circle at 90% 15%, rgba(255,140,73,.32), transparent 50%),
    radial-gradient(circle at 8% 90%, rgba(122,92,200,.28), transparent 50%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 42px),
    linear-gradient(150deg,var(--dark-1),var(--dark-2) 55%,var(--dark-3));
}
.compare-cta p{font-size:1.02rem;color:var(--dark-fg);}

/* ---------- industries ---------- */
.industry-card{flex:1 1 220px;border:1px solid var(--border);border-radius:12px;padding:22px;background:var(--surface);display:flex;flex-direction:column;gap:10px;min-height:150px;}
.industry-card h4{font-size:1rem;}
.industry-card p{color:var(--fg-muted);font-size:.86rem;}
.industry-card .card-link{margin-top:auto;}

/* ---------- clients / stats : full-width dark band ---------- */
.clients-dark{
  position:relative;overflow:hidden;color:var(--dark-fg);
  padding-block:80px;
  background:
    radial-gradient(circle at 88% 85%, rgba(255,140,73,.34), transparent 45%),
    radial-gradient(circle at 8% 15%, rgba(122,92,200,.3), transparent 45%),
    linear-gradient(150deg,var(--dark-1),var(--dark-2) 55%,var(--dark-3));
}
.clients-dark::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px);
  mask-image:radial-gradient(circle at 50% 40%, #000 0%, transparent 80%);
}
.dark-panel-head{position:relative;z-index:1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;}
.clients-dark h2{color:var(--dark-fg);font-size:clamp(1.5rem,3vw,2rem);}

/* ---------- alternating light bands: a touch of the Hero palette between light sections ---------- */
.band-soft{
  position:relative;
  background:
    radial-gradient(circle at 88% 8%, rgba(255,87,51,.08), transparent 45%),
    radial-gradient(circle at 6% 92%, rgba(122,92,200,.07), transparent 45%),
    repeating-linear-gradient(0deg, rgba(37,25,15,.04) 0 1px, transparent 1px 36px),
    repeating-linear-gradient(90deg, rgba(37,25,15,.04) 0 1px, transparent 1px 36px),
    var(--bg-soft);
}
.more-pill{font-family:var(--font-mono);font-size:.76rem;background:rgba(255,255,255,.08);border:1px solid var(--dark-border);padding:8px 14px;border-radius:999px;color:var(--dark-fg-muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.more-pill svg{color:var(--accent-2);}
.logo-marquee{position:relative;z-index:1;overflow:hidden;margin-top:34px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.logo-track{display:flex;gap:16px;width:max-content;animation:scroll-left 28s linear infinite;align-items:center;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.logo-mark{display:flex;align-items:center;gap:9px;white-space:nowrap;background:rgba(255,255,255,.06);border:1px solid var(--dark-border);border-radius:999px;padding:10px 18px;color:var(--dark-fg-muted);transition:all .2s ease;}
.logo-mark .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);}
.logo-mark:hover{color:var(--dark-fg);border-color:var(--accent-2);background:rgba(255,140,73,.12);}
@media (prefers-reduced-motion:reduce){ .logo-track{animation:none;} }
.stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;}
@media (max-width:760px){ .stats-grid{grid-template-columns:repeat(2,1fr);} }
.stat{border:1px solid var(--dark-border);background:rgba(255,255,255,.045);border-radius:14px;padding:20px;}
.stat .num{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.7rem,3.2vw,2.4rem);color:var(--dark-fg);font-variant-numeric:tabular-nums;}
.stat .num .accent-char{color:var(--accent-2);}
.stat .label{color:var(--dark-fg-muted);font-size:.85rem;margin-top:6px;}

/* ---------- closing cta ---------- */
.closing{
  border-radius:20px;border:1px solid var(--border-strong);
  background:radial-gradient(circle at 18% 20%,var(--accent-soft),transparent 55%),
    radial-gradient(circle at 85% 85%,var(--violet-soft),transparent 50%),var(--surface);
  padding:60px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;
}
.closing h2{font-size:clamp(1.6rem,3.4vw,2.2rem);max-width:28ch;}
.closing p{color:var(--fg-muted);max-width:50ch;font-size:1.02rem;}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.field label{font-size:.85rem;color:var(--fg-muted);font-weight:600;}
.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--border-strong);color:var(--fg);border-radius:7px;padding:11px 13px;font-family:var(--font-body);font-size:.95rem;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
.field input::placeholder,.field textarea::placeholder{color:var(--fg-faint);}
.contact-note{color:var(--fg-muted);font-size:.92rem;margin-top:10px;}
.success-msg{display:none;align-items:center;gap:10px;background:rgba(30,143,95,.1);border:1px solid rgba(30,143,95,.4);color:var(--good);padding:14px 16px;border-radius:8px;font-size:.92rem;margin-top:16px;}
.success-msg.is-shown{display:flex;}
form.is-success .field, form.is-success .btn-primary{display:none;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--border);padding-block:48px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:760px){ .footer-grid{grid-template-columns:1fr 1fr;} }
.footer-grid h5{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:14px;}
.footer-grid li{margin-bottom:9px;}
.footer-grid a{color:var(--fg-muted);font-size:.9rem;}
.footer-grid a:hover{color:var(--accent-deep);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:44px;padding-top:24px;border-top:1px solid var(--border);color:var(--fg-faint);font-size:.82rem;flex-wrap:wrap;gap:10px;}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-brand img{height:20px;}
.footer-desc{color:var(--fg-muted);font-size:.9rem;max-width:34ch;}

/* ---------- hero: dark full-bleed band, flush against the nav ---------- */
.hero{
  position:relative;overflow:hidden;color:var(--dark-fg);
  min-height:calc(100vh - 68px);min-height:calc(100svh - 68px);
  display:flex;align-items:center;
  padding-block:64px 64px;
  background:
    radial-gradient(circle at 85% 6%, rgba(255,140,73,.4), transparent 45%),
    radial-gradient(circle at 8% 92%, rgba(122,92,200,.34), transparent 45%),
    linear-gradient(150deg,var(--dark-1),var(--dark-2) 55%,var(--dark-3));
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px);
  mask-image:radial-gradient(circle at 26% 38%, #000 0%, transparent 78%);
}
.hero .wrap{position:relative;z-index:1;width:100%;}
.hero .hero-grid > *{min-width:0;}
.hero .eyebrow{color:var(--accent-2);margin-bottom:14px;display:inline-block;}
.hero h1{color:var(--dark-fg);}
.hero .sub{color:var(--dark-fg-muted);}
.hero .btn-ghost{border-color:var(--dark-border);color:var(--dark-fg);}
.hero .btn-ghost:hover{border-color:var(--accent-2);color:var(--accent-2);}
.hero .hero-chip{background:rgba(255,255,255,.07);border-color:var(--dark-border);color:var(--dark-fg-muted);box-shadow:none;}
.hero .hero-chip b{color:var(--dark-fg);}
.hero .hero-chip .dot{box-shadow:0 0 0 4px rgba(255,140,73,.32);}
.hero .pw-stage-title{color:var(--dark-fg);}
.hero .pw-stage-caption{color:var(--dark-fg-muted);}
.hero .pw-connector .pw-track{background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 .55em,transparent .55em 1em);}
.hero .pw-connector .pw-chevron{color:rgba(255,255,255,.45);}
@media (max-width:760px){ .hero{padding-block:40px 48px;} }

/* ---------- footer: dark panel treatment (close the page on the same tech tone) ---------- */
footer{
  position:relative;overflow:hidden;color:var(--dark-fg);
  padding-block:64px 32px;border-top:none;
  background:
    radial-gradient(circle at 12% 12%, rgba(122,92,200,.3), transparent 45%),
    radial-gradient(circle at 90% 88%, rgba(255,140,73,.28), transparent 45%),
    linear-gradient(150deg,var(--dark-1),var(--dark-2) 55%,var(--dark-3));
}
footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 42px);
  mask-image:radial-gradient(circle at 50% 0%, #000 0%, transparent 80%);
}
footer .wrap{position:relative;z-index:1;}
.footer-grid h5{color:rgba(245,238,230,.6);}
.footer-grid a{color:var(--dark-fg-muted);}
.footer-grid a:hover{color:var(--accent-2);}
.footer-desc{color:var(--dark-fg-muted);}
.footer-bottom{border-top-color:var(--dark-border);color:rgba(245,238,230,.55);}

/* ---------- reveal (progressive enhancement only) ---------- */
@media (prefers-reduced-motion:reduce){ .pre-reveal{opacity:1!important;transform:none!important;transition:none!important;} }
