/* ============================================================
   ORE SOLUTIONS — dark, high-tech subpage (self-contained theme)
   Loaded AFTER styles.css; everything scoped to body.solutions-page
   ============================================================ */
body.solutions-page{
  --s-bg:#08090c;
  --s-panel:#0f1218;
  --s-line:rgba(255,255,255,0.09);
  --s-line2:rgba(255,255,255,0.05);
  --s-ink:#eef2f6;
  --s-ink2:#a7b0bd;
  --s-ink3:#6b7484;
  --s-lime:#bfe84a;
  --s-cyan:#38e1ff;
  --s-violet:#b78cff;
  --s-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  background:var(--s-bg);
  color:var(--s-ink);
}
body.solutions-page ::selection{ background:rgba(56,225,255,.35); color:#fff; }

/* ---- header / footer dark restyle ---- */
.solutions-page .header.scrolled{
  background:rgba(8,9,12,0.72);
  backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid var(--s-line);
}
.solutions-page .header .logo-mark,
.solutions-page .footer .logo-mark{ filter:brightness(0) invert(1); }
.solutions-page .nav a{ color:var(--s-ink2); }
.solutions-page .nav a:hover{ color:var(--s-ink); background:rgba(255,255,255,.06); }
.solutions-page .nav a.is-current{ color:var(--s-bg); background:var(--s-lime); font-weight:600; }
.solutions-page .lang-btn{ background:rgba(255,255,255,.05); border-color:var(--s-line); color:var(--s-ink2); }
.solutions-page .lang-btn:hover{ background:rgba(255,255,255,.09); }
.solutions-page .lang-menu{ background:#0f1218; border-color:var(--s-line); }
.solutions-page .lang-opt{ color:var(--s-ink2); }
.solutions-page .lang-opt:hover,.solutions-page .lang-opt.is-active{ background:rgba(255,255,255,.06); color:var(--s-ink); }
.solutions-page .burger span,.solutions-page .burger span::before,.solutions-page .burger span::after{ background:var(--s-ink); }
.solutions-page .mobile-nav{ background:rgba(8,9,12,0.97); }
.solutions-page .mobile-nav a{ color:var(--s-ink); border-bottom-color:var(--s-line2); }

/* ---- shared element overrides ---- */
.solutions-page .eyebrow{ color:var(--s-ink3); }
.solutions-page .section-head h2{ color:var(--s-ink); }
.solutions-page .section-head p{ color:var(--s-ink2); }
.solutions-page .grad-text{
  background:linear-gradient(92deg,var(--s-lime),var(--s-cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.solutions-page .btn-grad{
  color:#06210a; background:linear-gradient(92deg,var(--s-lime),#9ad53e);
  box-shadow:0 0 0 1px rgba(191,232,74,.25), 0 16px 44px -14px rgba(191,232,74,.55);
}
.solutions-page .btn-grad:hover{ background:linear-gradient(92deg,#d2f566,var(--s-lime)); box-shadow:0 0 0 1px rgba(191,232,74,.45), 0 22px 56px -12px rgba(191,232,74,.75); }
.solutions-page .btn-ghost{ color:var(--s-ink); background:rgba(255,255,255,.04); border:1px solid var(--s-line); }
.solutions-page .btn-ghost:hover{ background:rgba(255,255,255,.09); box-shadow:none; }
.solutions-page .btn-soft{ background:rgba(255,255,255,.06); color:var(--s-ink); border-color:rgba(255,255,255,.12); }
.solutions-page .btn-soft::before{ background:var(--s-lime); }
.solutions-page .btn-soft:hover{ color:#06210a; }
.solutions-page .footer{ background:#060709; border-top:1px solid var(--s-line); }
.solutions-page .footer p,.solutions-page .footer-bottom,.solutions-page .footer a{ color:var(--s-ink2); }
.solutions-page .footer a:hover{ color:var(--s-ink); }
.solutions-page .footer h5{ color:var(--s-ink); }
.solutions-page .footer-soc a{ border-color:var(--s-line); color:var(--s-ink2); }
.solutions-page .footer-top,.solutions-page .footer-bottom{ border-color:var(--s-line); }
.solutions-page .slogan{ color:var(--s-lime); }

/* ============================================================
   HERO
   ============================================================ */
.sol-hero{ position:relative; padding:165px 0 100px; overflow:hidden; isolation:isolate; }
.sol-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
#sol-net{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.sol-grid{
  position:absolute; inset:-2px; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 28%, #000 28%, transparent 74%);
          mask-image:radial-gradient(ellipse 85% 75% at 50% 28%, #000 28%, transparent 74%);
  animation:solGrid 8s linear infinite;
}
@keyframes solGrid{ to{ background-position:0 46px, 46px 0; } }
.sol-orb{ position:absolute; border-radius:50%; filter:blur(85px); pointer-events:none; }
.sol-orb.o1{ width:480px;height:480px; background:rgba(191,232,74,.16); top:-130px; left:-90px;  animation:solDrift 19s ease-in-out infinite; }
.sol-orb.o2{ width:420px;height:420px; background:rgba(56,225,255,.16);  top:30px;   right:-110px; animation:solDrift 24s ease-in-out infinite reverse; }
.sol-orb.o3{ width:360px;height:360px; background:rgba(183,140,255,.13); bottom:-140px; left:34%;  animation:solDrift 21s ease-in-out infinite; }
@keyframes solDrift{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(28px,-22px); } }
/* mouse-follow spotlight */
.sol-hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,28%), rgba(191,232,74,.10), transparent 62%);
}
.sol-hero .wrap{ position:relative; z-index:2; }
.sol-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }

.sol-pill{
  display:inline-flex; align-items:center; gap:9px; height:34px; padding:0 14px 0 11px; border-radius:100px;
  background:rgba(255,255,255,.05); border:1px solid var(--s-line); color:var(--s-ink2); font-size:13px; font-weight:500;
}
.sol-pill .dot{ width:7px;height:7px;border-radius:50%; background:var(--s-lime); box-shadow:0 0 10px var(--s-lime); animation:solPulse 2s ease-in-out infinite; }
@keyframes solPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

.sol-hero h1{
  margin:22px 0 0; font-family:var(--font-head); font-weight:800;
  font-size:clamp(40px,5.6vw,74px); line-height:1.0; letter-spacing:-.045em; color:var(--s-ink); text-wrap:balance;
}
.sol-glow{
  background:linear-gradient(92deg,var(--s-lime) 0%,var(--s-cyan) 70%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 22px rgba(56,225,255,.35));
}
.sol-sub{ margin:24px 0 0; max-width:540px; font-size:clamp(16px,1.5vw,18px); color:var(--s-ink2); line-height:1.6; text-wrap:pretty; }
.sol-actions{ display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
.sol-hstats{ display:flex; gap:30px; margin-top:38px; flex-wrap:wrap; }
.sol-hstat b{ display:block; font-family:var(--font-head); font-size:26px; font-weight:800; color:var(--s-ink); letter-spacing:-.02em; }
.sol-hstat b .u{ color:var(--s-lime); }
.sol-hstat span{ font-size:12.5px; color:var(--s-ink3); }

/* terminal card */
.sol-term-card{
  position:relative; border-radius:16px; overflow:hidden;
  background:linear-gradient(180deg,#0d1117,#0a0d12); border:1px solid var(--s-line);
  box-shadow:0 50px 110px -45px rgba(0,0,0,.9), 0 0 0 1px rgba(191,232,74,.04);
}
.sol-term-bar{ display:flex; align-items:center; gap:7px; padding:12px 15px; border-bottom:1px solid var(--s-line2); background:rgba(255,255,255,.02); }
.sol-term-bar i{ width:11px;height:11px;border-radius:50%; }
.sol-term-bar i:nth-child(1){ background:#ff5f57; } .sol-term-bar i:nth-child(2){ background:#febc2e; } .sol-term-bar i:nth-child(3){ background:#28c840; }
.sol-term-title{ margin-left:8px; font-family:var(--s-mono); font-size:12px; color:var(--s-ink3); }
.sol-term-body{ padding:18px 18px 22px; font-family:var(--s-mono); font-size:13px; line-height:1.75; color:#cfe8b0; min-height:300px; }
.sol-term-body .ln{ display:block; white-space:pre-wrap; }
.sol-term-body .c{ color:var(--s-ink3); } .sol-term-body .k{ color:var(--s-cyan); }
.sol-term-body .g{ color:var(--s-lime); } .sol-term-body .v{ color:#ffd479; } .sol-term-body .m{ color:var(--s-violet); }
.sol-cursor{ display:inline-block; width:8px; height:15px; background:var(--s-lime); margin-left:2px; vertical-align:-2px; box-shadow:0 0 8px var(--s-lime); animation:solBlink 1s steps(2,end) infinite; }
@keyframes solBlink{ 50%{ opacity:0; } }
.sol-term-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:140px; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(56,225,255,.10), transparent);
  animation:solScan 4.5s linear infinite;
}
@keyframes solScan{ 0%{ transform:translateY(-140px); } 100%{ transform:translateY(360px); } }

/* ============================================================
   SECTIONS shell
   ============================================================ */
.solutions-page .section{ position:relative; }
.sol-section-line{ position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(90deg,var(--s-line2) 1px,transparent 1px); background-size:46px 100%;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent); opacity:.5; }
.solutions-page .section .wrap{ position:relative; z-index:1; }

/* ---- capabilities ---- */
.sol-cap-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px; }
.sol-card{
  position:relative; padding:28px 24px; border-radius:18px; overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  border:1px solid var(--s-line);
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.sol-card:hover{ transform:translateY(-5px); border-color:rgba(191,232,74,.35);
  box-shadow:0 34px 64px -34px rgba(0,0,0,.85), 0 0 46px -18px rgba(191,232,74,.45); }
.sol-card .num{ position:absolute; top:20px; right:22px; font-family:var(--s-mono); font-size:12px; color:var(--s-ink3); }
.sol-card-ic{
  width:50px;height:50px; border-radius:13px; display:grid; place-items:center; margin-bottom:16px;
  color:var(--s-lime); background:rgba(191,232,74,.10); border:1px solid rgba(191,232,74,.22);
  box-shadow:inset 0 0 24px -8px rgba(191,232,74,.6);
}
.sol-card-ic svg{ width:25px;height:25px; }
.sol-card h3{ font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--s-ink); letter-spacing:-.02em; }
.sol-card p{ margin-top:8px; font-size:14.5px; color:var(--s-ink2); line-height:1.55; }

/* ---- skills + tech stack ---- */
.sol-skills-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin-top:44px; }
.skill{ margin-bottom:20px; }
.skill:last-child{ margin-bottom:0; }
.skill-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:9px; }
.skill-top b{ font-size:14.5px; font-weight:600; color:var(--s-ink); }
.skill-top span{ font-family:var(--s-mono); font-size:12.5px; color:var(--s-lime); }
.skill-bar{ height:8px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden; }
.skill-fill{ height:100%; width:0; border-radius:99px;
  background:linear-gradient(90deg,var(--s-lime),var(--s-cyan)); box-shadow:0 0 14px rgba(56,225,255,.5);
  transition:width 1.3s cubic-bezier(.22,1,.36,1); }
#sol-skills.go .skill-fill{ width:var(--val); }
.tech-head{ font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--s-ink3); margin-bottom:14px; }
.tech-cloud{ display:flex; flex-wrap:wrap; gap:10px; }
.tech-chip{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:100px;
  background:rgba(255,255,255,.04); border:1px solid var(--s-line); color:var(--s-ink2); font-size:13.5px; font-weight:600;
  transition:transform .25s var(--ease), border-color .25s, box-shadow .25s, color .25s; }
.tech-chip:hover{ transform:translateY(-2px); color:var(--s-ink); border-color:rgba(56,225,255,.45); box-shadow:0 0 26px -8px rgba(56,225,255,.55); }
.tech-chip .d{ width:7px;height:7px;border-radius:50%; background:var(--s-lime); box-shadow:0 0 8px var(--s-lime); }

/* ---- automation pipeline ---- */
.sol-pipe{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:54px; }
.sol-pipe-track{ position:absolute; left:9%; right:9%; top:39px; height:2px; background:rgba(255,255,255,.08); }
.sol-pipe-track i{ position:absolute; left:0; top:0; height:100%; width:0;
  background:linear-gradient(90deg,var(--s-lime),var(--s-cyan)); box-shadow:0 0 12px var(--s-cyan); border-radius:2px; }
.sol-pipe.live .sol-pipe-track i{ animation:pipeFill 2.8s ease forwards; }
@keyframes pipeFill{ to{ width:100%; } }
.pipe-node{ position:relative; text-align:center; z-index:1; }
.pipe-dot{ width:80px;height:80px; border-radius:22px; margin:0 auto 14px; display:grid; place-items:center;
  background:var(--s-panel); border:1px solid var(--s-line); color:var(--s-ink3); transition:.4s var(--ease); }
.pipe-dot svg{ width:30px;height:30px; }
.sol-pipe.live .pipe-node:nth-child(1) .pipe-dot{ animation:nodeOn .6s ease forwards .15s; }
.sol-pipe.live .pipe-node:nth-child(2) .pipe-dot{ animation:nodeOn .6s ease forwards .75s; }
.sol-pipe.live .pipe-node:nth-child(3) .pipe-dot{ animation:nodeOn .6s ease forwards 1.35s; }
.sol-pipe.live .pipe-node:nth-child(4) .pipe-dot{ animation:nodeOn .6s ease forwards 1.95s; }
.sol-pipe.live .pipe-node:nth-child(5) .pipe-dot{ animation:nodeOn .6s ease forwards 2.55s; }
@keyframes nodeOn{ to{ color:var(--s-lime); border-color:rgba(191,232,74,.55); background:rgba(191,232,74,.07);
  box-shadow:0 0 34px -6px rgba(191,232,74,.55); transform:translateY(-3px); } }
.pipe-node h4{ font-family:var(--font-head); font-size:15px; font-weight:700; color:var(--s-ink); }
.pipe-node p{ font-size:12.5px; color:var(--s-ink3); margin-top:3px; }

/* ---- impact stats ---- */
.sol-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:8px; padding:40px 36px; border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); border:1px solid var(--s-line); }
.sol-stat b{ display:block; font-family:var(--font-head); font-size:clamp(30px,4vw,46px); font-weight:800; color:var(--s-ink); letter-spacing:-.03em; }
.sol-stat b .u{ color:var(--s-lime); }
.sol-stat span{ font-size:14px; color:var(--s-ink2); }

/* ---- CTA ---- */
.sol-cta{ position:relative; overflow:hidden; text-align:center; padding:66px 40px; border-radius:26px; border:1px solid var(--s-line);
  background:radial-gradient(120% 150% at 50% 0%, rgba(191,232,74,.12), transparent 55%), linear-gradient(180deg,#0e1218,#0a0d12); }
.sol-cta .slogan{ display:inline-block; margin-bottom:14px; }
.sol-cta h2{ font-family:var(--font-head); font-size:clamp(28px,4vw,46px); font-weight:800; letter-spacing:-.035em; color:var(--s-ink); }
.sol-cta p{ max-width:560px; margin:16px auto 0; color:var(--s-ink2); font-size:clamp(15px,1.4vw,17px); }
.sol-cta .sol-actions{ justify-content:center; margin-top:30px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .sol-hero-grid{ grid-template-columns:1fr; gap:40px; }
  .sol-skills-grid{ grid-template-columns:1fr; gap:34px; }
  .sol-cap-grid{ grid-template-columns:repeat(2,1fr); }
  .sol-stats{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .sol-pipe{ grid-template-columns:1fr; gap:10px; }
  .sol-pipe-track{ display:none; }
  .pipe-dot{ width:64px;height:64px; }
}
@media (max-width:560px){
  .sol-cap-grid{ grid-template-columns:1fr; }
  .sol-hstats{ gap:22px; }
  .sol-hero{ padding:135px 0 70px; }
}

/* ---- reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  .sol-grid,.sol-orb,.sol-term-card::before,.sol-pill .dot{ animation:none !important; }
  .skill-fill{ transition:none; }
}
