/* ============================================================
         DEVSECOPS PAGE — tokens matched to homepage:
         Inter / IBM Plex Mono, #2454ff (primary), #0b132b (ink),
         #5b6478 (muted), #00c8ff (cyan accent). Light backgrounds.
      ============================================================ */
      .dso{ font-family:'Inter',sans-serif; background:#ffffff; color:#0b132b; }
      .dso-r{ opacity:0; transform:translateY(20px); transition:opacity .6s cubic-bezier(.16,.8,.4,1), transform .6s cubic-bezier(.16,.8,.4,1); }
      .dso-r.on{ opacity:1; transform:none; }

      .dso-sec{ padding:clamp(48px,6.5vw,84px) 0; }
      .dso-sec.tint{ background:#f6f8fd; }
      .dso-sec.border-t{ border-top:1px solid #e7ecf6; }
      .dso-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }

      .dso-kicker{ display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:#2454ff; margin-bottom:14px; }
      .dso-kicker::before{ content:""; width:22px; height:1.5px; background:#2454ff; display:inline-block; }
      .dso-kicker.center{ justify-content:center; }
      .dso-head{ max-width:660px; }
      .dso-head.center{ text-align:center; max-width:680px; margin:0 auto clamp(32px,4.2vw,48px); }
      .dso-h2{ font-family:'Inter',sans-serif !important; font-weight:800 !important; font-size:clamp(26px,3.2vw,36px) !important; line-height:1.2 !important; letter-spacing:-0.02em; color:#0b132b !important; margin:0 !important; }
      .dso-h2 em{ font-style:normal; color:#2454ff; }
      .dso-lead{ font-size:15px !important; line-height:1.78 !important; color:#5b6478 !important; margin:14px 0 0 !important; padding-top:0 !important; }

      /* ===== Hero — light two-column, illustration on the right ===== */
      .dso-hero{ position:relative; background:linear-gradient(180deg,#f6f8fd 0%,#ffffff 100%); border-bottom:1px solid #e7ecf6; padding:clamp(56px,8vw,96px) 0 clamp(48px,5.5vw,72px); overflow:hidden; }
      .dso-hero::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(#c9d5f2 1px, transparent 1px); background-size:26px 26px; -webkit-mask-image:radial-gradient(560px 420px at 18% 15%, #000 0%, transparent 72%); mask-image:radial-gradient(560px 420px at 18% 15%, #000 0%, transparent 72%); pointer-events:none; opacity:.55; }
      .dso-hero::after{ content:""; position:absolute; top:-140px; right:-120px; width:460px; height:460px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,200,255,0.16), transparent 72%); pointer-events:none; }
      .dso-hero-grid{ position:relative; display:grid; grid-template-columns:1.15fr 1fr; gap:52px; align-items:center; }
      @media(max-width:940px){ .dso-hero-grid{ grid-template-columns:1fr; } }
      .dso-hero-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; background:#ffffff; border:1px solid #d8e0f4; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#2454ff; margin-bottom:20px; box-shadow:0 6px 16px -10px rgba(36,84,255,0.35); }
      .dso-hero-pill-dot{ width:7px; height:7px; border-radius:50%; background:#2454ff; flex:none; box-shadow:0 0 0 4px rgba(36,84,255,0.14); }
      .dso-hero h1, .dso-hero h2{ font-family:'Inter',sans-serif !important; font-weight:800 !important; font-size:clamp(32px,4.4vw,50px) !important; line-height:1.14 !important; letter-spacing:-0.025em; color:#0b132b !important; margin:0 0 18px !important; max-width:600px; }
      .dso-hero h1 span, .dso-hero h2 span{ color:#2454ff; }
      .dso-hero-desc{ font-size:15.5px !important; line-height:1.8 !important; color:#5b6478 !important; max-width:520px; padding-top:0 !important; margin:0 !important; }
      .dso-hero-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
      .dso-btn{ display:inline-flex; align-items:center; gap:9px; padding:14px 26px; border-radius:12px; font-family:'Inter',sans-serif; font-weight:700; font-size:14px; cursor:pointer; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; border:none; }
      .dso-btn-solid{ background:#2454ff; color:#fff !important; box-shadow:0 14px 28px -10px rgba(36,84,255,0.48); }
      .dso-btn-solid:hover{ transform:translateY(-2px); box-shadow:0 18px 32px -10px rgba(36,84,255,0.56); }
      .dso-btn-outline{ background:#fff; color:#0b132b !important; border:1.5px solid #d6dff0; }
      .dso-btn-outline:hover{ border-color:#2454ff; color:#2454ff !important; transform:translateY(-2px); }

      .dso-hero-stats{ display:flex; gap:0; margin-top:38px; flex-wrap:wrap; background:#fff; border:1px solid #e2e8f8; border-radius:16px; padding:18px 6px; box-shadow:0 16px 32px -26px rgba(11,19,43,0.2); }
      .dso-hero-stats div{ flex:1; min-width:110px; text-align:center; padding:0 14px; position:relative; }
      .dso-hero-stats div+div::before{ content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px; background:#e7ecf6; }
      .dso-hero-stats strong{ display:block; font-family:'Inter',sans-serif; font-size:24px; font-weight:800; color:#0b132b; line-height:1.1; }
      .dso-hero-stats span{ font-size:11px; color:#7b87a0; }

      /* right-side illustration panel */
      .dso-illus-card{ background:#ffffff; border:1px solid #e2e8f8; border-radius:26px; padding:clamp(20px,2.4vw,28px); box-shadow:0 30px 64px -28px rgba(11,19,43,0.28); position:relative; overflow:hidden; }
      .dso-illus-card::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 100% 0%, rgba(0,200,255,0.12), transparent 55%); pointer-events:none; }
      .dso-illus-card::after{ content:""; position:absolute; inset:0; border-radius:26px; padding:1px; background:linear-gradient(135deg, rgba(36,84,255,0.35), rgba(0,200,255,0.05) 40%, transparent 70%); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
      .dso-illus-tag{ position:relative; display:inline-flex; align-items:center; gap:7px; font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#5b6478; margin-bottom:12px; }
      .dso-illus-tag i{ color:#00c8ff; }
      .dso-illus-card svg{ width:100%; height:auto; display:block; position:relative; }

      /* ===== Intro copy block ===== */
      .dso-intro-grid{ display:grid; grid-template-columns:1fr; gap:16px; max-width:820px; }
      .dso-intro-grid p{ font-size:14.5px !important; line-height:1.85 !important; color:#5b6478 !important; margin:0 !important; padding-top:0 !important; }

      /* ===== Services grid — clean cards ===== */
      .dso-fw-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px; }
      @media(max-width:940px){ .dso-fw-grid{ grid-template-columns:repeat(2,1fr); } }
      @media(max-width:640px){ .dso-fw-grid{ grid-template-columns:1fr; } }
      .dso-fw{ background:#fff; border:1px solid #e2e8f8; border-radius:16px; padding:26px 24px; transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
      .dso-fw:hover{ border-color:rgba(36,84,255,0.32); box-shadow:0 18px 36px -24px rgba(11,19,43,0.18); transform:translateY(-3px); }
      .dso-fw-ico{ width:46px; height:46px; border-radius:12px; background:rgba(36,84,255,0.09); color:#2454ff; display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:16px; }
      .dso-fw h3{ font-size:16.5px !important; font-weight:700 !important; color:#0b132b !important; margin:0 0 9px !important; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
      .dso-fw-tag{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#2454ff; background:rgba(36,84,255,0.08); padding:3px 8px; border-radius:6px; }
      .dso-fw p{ font-size:13.5px !important; line-height:1.72 !important; color:#5b6472 !important; padding-top:0 !important; margin:0 !important; }

      /* ===== Lifecycle strip ===== */
      .dso-cycle{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; counter-reset:cyc; }
      @media(max-width:940px){ .dso-cycle{ grid-template-columns:repeat(3,1fr); } }
      @media(max-width:560px){ .dso-cycle{ grid-template-columns:1fr; } }
      .dso-cyc{ position:relative; background:#fff; border:1px solid #e2e8f8; border-radius:16px; padding:22px 18px 18px; counter-increment:cyc; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
      .dso-cyc:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -26px rgba(11,19,43,0.22); border-color:rgba(36,84,255,0.28); }
      .dso-cyc::before{ content:counter(cyc); font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:700; color:#fff; background:#2454ff; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
      .dso-cyc b{ display:block; font-size:14.5px; color:#0b132b; font-weight:700; margin-bottom:6px; }
      .dso-cyc p{ font-size:12.5px !important; line-height:1.62 !important; color:#5b6472 !important; padding-top:0 !important; margin:0 !important; }
      .dso-cyc-arrow{ display:none; }
      @media(min-width:941px){
        .dso-cyc:not(:last-child)::after{ content:""; position:absolute; top:34px; right:-14px; width:14px; height:1.5px; background:#c9d5f2; z-index:1; }
      }

      /* ===== Capabilities chip grid ===== */
      .dso-cap-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
      @media(max-width:700px){ .dso-cap-grid{ grid-template-columns:1fr; } }
      .dso-cap{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #e2e8f8; border-radius:12px; padding:14px 16px; font-size:13.5px; font-weight:600; color:#334066; transition:border-color .25s ease, transform .25s ease; }
      .dso-cap:hover{ border-color:rgba(36,84,255,0.32); transform:translateY(-2px); }
      .dso-cap i{ width:30px; height:30px; border-radius:9px; background:rgba(36,84,255,0.09); color:#2454ff; display:flex; align-items:center; justify-content:center; font-size:13px; flex:none; }

      /* ===== Why choose — light card grid ===== */
      .dso-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
      @media(max-width:940px){ .dso-why-grid{ grid-template-columns:repeat(2,1fr); } }
      @media(max-width:600px){ .dso-why-grid{ grid-template-columns:1fr; } }
      .dso-why-item{ position:relative; background:#fff; border:1px solid #e2e8f8; border-radius:18px; padding:26px 22px 22px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
      .dso-why-item::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#2454ff,#00c8ff); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
      .dso-why-item:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -26px rgba(11,19,43,0.22); border-color:rgba(36,84,255,0.28); }
      .dso-why-item:hover::before{ transform:scaleX(1); }
      .dso-why-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
      .dso-why-item i{ width:44px; height:44px; border-radius:12px; background:rgba(36,84,255,0.09); color:#2454ff; display:flex; align-items:center; justify-content:center; font-size:17px; }
      .dso-why-num{ font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; color:#c3cce4; letter-spacing:0.05em; }
      .dso-why-item b{ display:block; font-size:14.5px; color:#0b132b; font-weight:700; line-height:1.5; }

      /* ===== Standards strip ===== */
      .dso-std-grid{ display:flex; flex-wrap:wrap; gap:12px; }
      .dso-std{ display:inline-flex; align-items:center; gap:9px; padding:10px 16px; border-radius:11px; background:#fff; border:1px solid #e2e8f8; font-size:13px; font-weight:600; color:#334066; }
      .dso-std i{ color:#2454ff; font-size:12px; }

      /* ===== Closing CTA ===== */
      .dso-closing{ background:#f6f8fd; border:1px solid #e2e8f8; border-radius:20px; padding:clamp(32px,4vw,48px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; position:relative; overflow:hidden; }
      .dso-closing::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#2454ff,#00c8ff); }
      .dso-closing h3{ color:#0b132b !important; font-size:22px !important; font-weight:800 !important; margin:0 0 6px !important; }
      .dso-closing p{ color:#5b6478 !important; font-size:14px !important; padding-top:0 !important; margin:0 !important; }
