:root{
      --cri-red:#b51f2a;
      --cri-red-dark:#8f1720;
      --cri-navy:#061b3a;
      --cri-blue:#183b68;
      --cri-cyan:#27c3ff;
      --cri-cyan-soft:#72dcff;
      --cri-slate:#405466;
      --cri-gold:#d7b900;
      --cri-light:#f4f8fb;
      --cri-soft:#e8f1f6;
      --white:#fff;
      --ink:#132638;
      --radius:22px;
      --shadow:0 24px 70px rgba(6,27,58,.14);
      --shadow-soft:0 16px 40px rgba(6,27,58,.10);
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      font-family: Arial, Helvetica, sans-serif;
      background:#fff;
      line-height:1.55;
    }
    a{color:inherit;text-decoration:none}
    .top-alert{
      background:linear-gradient(90deg,var(--cri-navy),#102f5b);
      color:#fff;
      font-size:14px;
    }
    .top-alert .wrap{
      max-width:var(--max);
      margin:0 auto;
      padding:12px 22px;
      display:flex;
      gap:14px;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
    }
    .top-alert strong{font-weight:800}
    .top-alert a{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.22);
      padding:7px 12px;
      border-radius:999px;
      font-weight:700;
    }
    header{
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(255,255,255,.95);
      backdrop-filter:blur(14px);
      border-bottom:1px solid #e7eef4;
    }
    .nav{
      max-width:var(--max);
      margin:0 auto;
      padding:16px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .logo{display:flex;align-items:center;gap:12px;min-width:max-content}
    .logo img{width:168px;height:auto;display:block}
    .menu{
      display:flex;
      align-items:center;
      gap:28px;
      font-size:14px;
      font-weight:700;
      color:#1f354b;
    }
    .menu a{position:relative;padding:10px 0}
    .menu a:after{
      content:"";
      position:absolute;
      left:0;right:0;bottom:4px;
      height:3px;
      background:var(--cri-gold);
      transform:scaleX(0);
      transform-origin:left;
      transition:.22s ease;
      border-radius:4px;
    }
    .menu a:hover:after{transform:scaleX(1)}
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border-radius:999px;
      padding:13px 18px;
      font-weight:800;
      transition:.2s ease;
      border:0;
      cursor:pointer;
    }
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg,var(--cri-red),var(--cri-red-dark));
      box-shadow:0 12px 28px rgba(181,31,42,.22);
    }
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(181,31,42,.28)}
    .btn-secondary{
      color:var(--cri-navy);
      background:#fff;
      border:1px solid #d6e2eb;
    }
    .btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}

    /* HERO: compass removed, replaced with spinning tech / mission-orbit background */
    .hero{
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 78% 18%, rgba(39,195,255,.14), transparent 26%),
        radial-gradient(circle at 11% 12%, rgba(181,31,42,.12), transparent 25%),
        linear-gradient(180deg,#f8fbfd 0%,#eef6fa 100%);
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.5;
      background-image:
        linear-gradient(rgba(24,59,104,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(24,59,104,.07) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(180deg,#000,transparent 88%);
      pointer-events:none;
    }
    .hero .wrap{
      position:relative;
      z-index:2;
      max-width:var(--max);
      margin:0 auto;
      padding:88px 22px 80px;
      display:grid;
      grid-template-columns: 1.02fr .98fr;
      gap:54px;
      align-items:center;
    }

    .hero-graphic{
      position:absolute;
      right:-88px;
      top:28px;
      width:690px;
      height:690px;
      z-index:1;
      pointer-events:none;
      opacity:.96;
    }
    .orbit-system{
      position:absolute;
      inset:0;
      border-radius:50%;
      background:
        radial-gradient(circle at center, transparent 0 38%, rgba(39,195,255,.07) 39%, transparent 60%);
      filter:drop-shadow(0 30px 55px rgba(6,27,58,.14));
    }
    .orbit-system:before{
      content:"";
      position:absolute;
      inset:70px;
      border-radius:50%;
      background:
        radial-gradient(circle at center, transparent 0 35%, rgba(255,255,255,.85) 35.2% 36.3%, transparent 36.6%),
        radial-gradient(circle at center, transparent 0 53%, rgba(24,59,104,.24) 53.1% 54%, transparent 54.2%),
        radial-gradient(circle at center, transparent 0 70%, rgba(255,255,255,.7) 70.2% 71.1%, transparent 71.4%),
        repeating-conic-gradient(from 0deg, rgba(24,59,104,.20) 0deg 1deg, transparent 1deg 9deg);
      mask-image:radial-gradient(circle, transparent 0 22%, #000 22.3% 78%, transparent 78.4%);
      animation:spin-slow 34s linear infinite;
    }
    .orbit-system:after{
      content:"";
      position:absolute;
      inset:112px;
      border-radius:50%;
      background:
        conic-gradient(from 90deg,
          transparent 0 20deg,
          rgba(181,31,42,.72) 20deg 48deg,
          transparent 48deg 120deg,
          rgba(39,195,255,.7) 120deg 150deg,
          transparent 150deg 245deg,
          rgba(215,185,0,.62) 245deg 270deg,
          transparent 270deg 360deg);
      mask-image:radial-gradient(circle, transparent 0 58%, #000 58.5% 64%, transparent 64.5%);
      animation:spin-reverse 22s linear infinite;
      filter:blur(.15px);
    }
    .orbit-ring{
      position:absolute;
      border-radius:50%;
      border:1px solid rgba(24,59,104,.18);
      inset:145px;
      animation:spin 18s linear infinite;
    }
    .orbit-ring.two{
      inset:205px;
      border-color:rgba(181,31,42,.18);
      animation-duration:26s;
      animation-direction:reverse;
    }
    .orbit-ring.three{
      inset:265px;
      border-color:rgba(39,195,255,.26);
      animation-duration:14s;
    }
    .orbit-ring span{
      position:absolute;
      width:14px;
      height:14px;
      border-radius:50%;
      background:var(--cri-red);
      box-shadow:0 0 0 8px rgba(181,31,42,.12), 0 0 22px rgba(181,31,42,.28);
    }
    .orbit-ring span:nth-child(1){left:50%;top:-7px}
    .orbit-ring span:nth-child(2){right:16%;bottom:8%}
    .orbit-ring span:nth-child(3){left:12%;bottom:18%;background:var(--cri-cyan);box-shadow:0 0 0 8px rgba(39,195,255,.13), 0 0 22px rgba(39,195,255,.28)}
    .mission-core{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      background:transparent;
      border:none;
      box-shadow:none;
    }
    .mission-core:before{
      content:none;
    }
    .mission-core .core-dot{
      position:relative;
      z-index:3;
      width:16px;
      height:16px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--cri-red), var(--cri-cyan));
      box-shadow:
        0 0 0 7px rgba(39,195,255,.10),
        0 0 24px rgba(39,195,255,.26);
    }

    .compass-rose{
      position:absolute;
      left:50%;
      top:50%;
      width:310px;
      height:310px;
      transform:translate(-50%,-50%);
      z-index:2;
      border-radius:50%;
      pointer-events:none;
      filter:drop-shadow(0 18px 30px rgba(6,27,58,.16));
    }
    .rose-star{
      position:absolute;
      inset:34px;
      opacity:.9;
      animation:rose-spin 24s linear infinite;
    }
    .rose-star:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, transparent 47.5%, rgba(6,27,58,.85) 48%, rgba(6,27,58,.85) 52%, transparent 52.5%),
        linear-gradient(0deg, transparent 47.5%, rgba(6,27,58,.85) 48%, rgba(6,27,58,.85) 52%, transparent 52.5%),
        linear-gradient(45deg, transparent 47.8%, rgba(255,255,255,.9) 48.2%, rgba(255,255,255,.9) 51.8%, transparent 52.2%),
        linear-gradient(-45deg, transparent 47.8%, rgba(255,255,255,.9) 48.2%, rgba(255,255,255,.9) 51.8%, transparent 52.2%);
      clip-path:polygon(
        50% 0%, 55% 42%, 100% 50%, 55% 58%, 50% 100%, 45% 58%, 0% 50%, 45% 42%,
        50% 0%
      );
    }
    .rose-star:after{
      content:"";
      position:absolute;
      inset:34px;
      background:
        linear-gradient(90deg, transparent 43%, rgba(255,255,255,.95) 44%, rgba(255,255,255,.95) 56%, transparent 57%),
        linear-gradient(0deg, transparent 43%, rgba(255,255,255,.95) 44%, rgba(255,255,255,.95) 56%, transparent 57%);
      transform:rotate(45deg);
      opacity:.85;
      clip-path:polygon(50% 0%, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0% 50%, 42% 42%);
    }
    .needle-set{
      position:absolute;
      left:50%;
      top:50%;
      width:64px;
      height:260px;
      transform:translate(-50%,-50%) rotate(24deg);
      z-index:4;
      animation:needle-float 4.8s ease-in-out infinite;
    }
    .needle-set:before{
      content:"";
      position:absolute;
      left:50%;
      top:0;
      transform:translateX(-50%);
      width:54px;
      height:142px;
      background:linear-gradient(135deg, #ff5e62 0%, #d7192a 46%, #9d1420 100%);
      clip-path:polygon(50% 0%, 100% 100%, 50% 78%, 0% 100%);
      box-shadow:0 0 24px rgba(181,31,42,.22);
    }
    .needle-set:after{
      content:"";
      position:absolute;
      left:50%;
      bottom:0;
      transform:translateX(-50%);
      width:54px;
      height:142px;
      background:linear-gradient(135deg, #1fc8ff 0%, #1097d5 52%, #095b8a 100%);
      clip-path:polygon(50% 100%, 100% 0%, 50% 22%, 0% 0%);
      box-shadow:0 0 24px rgba(39,195,255,.22);
    }
    .compass-cap{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%,-50%);
      width:52px;
      height:52px;
      border-radius:50%;
      z-index:5;
      background:
        linear-gradient(90deg, transparent 0 42%, rgba(255,255,255,.72) 42% 58%, transparent 58%),
        linear-gradient(0deg, transparent 0 42%, rgba(255,255,255,.72) 42% 58%, transparent 58%),
        radial-gradient(circle at 35% 32%, #ffffff 0 12%, #d7dde5 18%, #8793a1 55%, #eef2f6 100%);
      box-shadow:
        inset 0 3px 8px rgba(255,255,255,.55),
        0 8px 18px rgba(6,27,58,.18);
    }
    .compass-label{
      position:absolute;
      z-index:3;
      color:rgba(6,27,58,.74);
      font-family: Georgia, 'Times New Roman', serif;
      font-weight:700;
      font-size:28px;
      line-height:1;
      text-shadow:0 1px 0 rgba(255,255,255,.8);
    }
    .compass-label.n{left:50%;top:20px;transform:translateX(-50%)}
    .compass-label.e{right:18px;top:50%;transform:translateY(-50%)}
    .compass-label.s{left:50%;bottom:14px;transform:translateX(-50%)}
    .compass-label.w{left:18px;top:50%;transform:translateY(-50%)}
    @keyframes rose-spin{
      to{transform:rotate(360deg)}
    }
    @keyframes needle-float{
      0%,100%{transform:translate(-50%,-50%) rotate(24deg) scale(1)}
      50%{transform:translate(-50%,-50%) rotate(26deg) scale(1.025)}
    }
    .data-lines{
      position:absolute;
      inset:82px 48px 98px 90px;
      opacity:.48;
      background:
        linear-gradient(35deg, transparent 0 43%, rgba(24,59,104,.38) 43.2% 43.8%, transparent 44%),
        linear-gradient(140deg, transparent 0 47%, rgba(39,195,255,.36) 47.2% 47.7%, transparent 48%),
        linear-gradient(92deg, transparent 0 50%, rgba(181,31,42,.24) 50.2% 50.6%, transparent 51%);
      border-radius:50%;
      animation:drift 9s ease-in-out infinite alternate;
    }
    .tech-map-grid{
      position:absolute;
      right:20px;
      top:98px;
      width:520px;
      height:520px;
      opacity:.24;
      background-image:
        radial-gradient(circle, rgba(24,59,104,.45) 1.5px, transparent 2px),
        linear-gradient(90deg, rgba(24,59,104,.18) 1px, transparent 1px),
        linear-gradient(rgba(24,59,104,.18) 1px, transparent 1px);
      background-size:34px 34px,68px 68px,68px 68px;
      border-radius:50%;
      mask-image:radial-gradient(circle at center, #000 0 68%, transparent 68.5%);
      animation:float-map 10s ease-in-out infinite alternate;
    }
    .scan-line{
      position:absolute;
      left:118px;
      top:122px;
      width:455px;
      height:455px;
      border-radius:50%;
      background:conic-gradient(from 0deg, rgba(39,195,255,.0) 0 306deg, rgba(39,195,255,.28) 340deg, rgba(39,195,255,.0) 360deg);
      mask-image:radial-gradient(circle, transparent 0 12%, #000 12.2% 64%, transparent 64.5%);
      animation:spin 7s linear infinite;
      mix-blend-mode:multiply;
    }
    @keyframes spin{
      to{transform:rotate(360deg)}
    }
    @keyframes spin-slow{
      to{transform:rotate(360deg)}
    }
    @keyframes spin-reverse{
      to{transform:rotate(-360deg)}
    }
    @keyframes drift{
      from{transform:translate(-8px,6px) rotate(-2deg)}
      to{transform:translate(12px,-8px) rotate(3deg)}
    }
    @keyframes float-map{
      from{transform:translateY(0) scale(1)}
      to{transform:translateY(14px) scale(1.025)}
    }

    .banner-logo-chip{
      display:inline-flex;
      align-items:center;
      gap:12px;
      background:#fff;
      border:1px solid #e4edf3;
      border-radius:999px;
      padding:9px 16px 9px 10px;
      box-shadow:0 12px 28px rgba(6,27,58,.08);
      margin-bottom:16px;
    }
    .banner-logo-chip img{width:74px;height:auto;display:block}
    .banner-logo-chip span{
      color:var(--cri-red);
      font-weight:900;
      letter-spacing:.13em;
      text-transform:uppercase;
      font-size:12px;
    }
    h1{
      margin:18px 0 18px;
      font-size:clamp(42px,5vw,70px);
      line-height:.98;
      letter-spacing:-.055em;
      color:var(--cri-navy);
    }
    .hero p{color:#385066;font-size:20px;max-width:610px;margin:0 0 28px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px;align-items:center}
    .stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;max-width:640px}
    .mini-stat{background:rgba(255,255,255,.78);border:1px solid #dbe7ef;border-radius:18px;padding:16px}
    .mini-stat strong{display:block;color:var(--cri-navy);font-size:22px;line-height:1}
    .mini-stat span{display:block;margin-top:7px;font-size:12px;color:#607286;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

    .tech-card{
      position:relative;
      min-height:520px;
      border-radius:34px;
      padding:26px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.95), rgba(255,255,255,.78)),
        linear-gradient(135deg, rgba(24,59,104,.08), rgba(215,185,0,.15));
      border:1px solid rgba(255,255,255,.8);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .tech-card:before{
      content:"";
      position:absolute;
      width:330px;height:330px;
      right:-120px;top:-120px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(181,31,42,.18), transparent 66%);
    }
    .dashboard{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:18px}
    .dashboard-top{
      display:flex;justify-content:space-between;align-items:center;gap:14px;
      background:var(--cri-navy);color:#fff;border-radius:24px;padding:19px 20px;
      box-shadow:0 20px 50px rgba(6,27,58,.24);
    }
    .dashboard-logo{width:92px;height:auto;display:block;opacity:.95}
    .status{
      display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;
      color:#e7f4ff;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;
    }
    .status:before{
      content:"";width:10px;height:10px;border-radius:50%;
      background:#58d284;box-shadow:0 0 0 6px rgba(88,210,132,.16);
    }
    .node-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .node{
      background:#fff;border:1px solid #e2edf4;border-radius:22px;padding:18px;
      box-shadow:0 10px 26px rgba(6,27,58,.07);min-height:136px;position:relative;overflow:hidden;transition:.25s ease;
    }
    .node:hover{transform:translateY(-5px)}
    .node .label{color:#63778b;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
    .node strong{display:block;margin:7px 0 12px;color:var(--cri-navy);font-size:18px;line-height:1.18}
    .bar{height:9px;border-radius:20px;background:#edf3f7;overflow:hidden;margin-top:9px}
    .bar span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--cri-red),var(--cri-gold))}
    .node-icon{
      width:44px;height:44px;border-radius:16px;display:grid;place-items:center;margin-bottom:14px;
      background:#f4f8fb;color:var(--cri-red);border:1px solid #e4edf3;
    }
    .node-icon svg{width:24px;height:24px}
    .signal{
      background:linear-gradient(135deg,var(--cri-red),#d9583f);
      color:#fff;border-radius:24px;padding:22px;
      display:flex;justify-content:space-between;align-items:center;gap:20px;
      box-shadow:0 20px 44px rgba(181,31,42,.23);
    }
    .signal strong{display:block;font-size:22px;line-height:1}
    .signal span{display:block;margin-top:6px;font-size:13px;opacity:.9}
    .pulse{
      width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.45);
      display:grid;place-items:center;position:relative;flex:0 0 auto;
    }
    .pulse:before,.pulse:after{
      content:"";position:absolute;inset:7px;border-radius:50%;
      border:2px solid rgba(255,255,255,.45);animation:pulse 2.4s infinite;
    }
    .pulse:after{animation-delay:.8s}
    .pulse i{width:14px;height:14px;border-radius:50%;background:var(--cri-gold);display:block}
    @keyframes pulse{from{transform:scale(.8);opacity:.9}to{transform:scale(1.35);opacity:0}}

    section{padding:78px 22px}
    .section-wrap{max-width:var(--max);margin:0 auto}
    .section-heading{max-width:780px;margin:0 auto 38px;text-align:center}
    .kicker{color:var(--cri-red);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
    h2{margin:9px 0 12px;color:var(--cri-navy);font-size:clamp(32px,3.2vw,48px);line-height:1.04;letter-spacing:-.035em}
    .section-heading p{margin:0 auto;color:#52697c;font-size:18px}
    .value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
    .value-card{
      background:#fff;border:1px solid #e1eaf2;border-radius:24px;padding:26px 22px;
      box-shadow:var(--shadow-soft);min-height:260px;transition:.22s ease;position:relative;overflow:hidden;
    }
    .value-card:before{
      content:"";position:absolute;inset:auto 0 0 0;height:5px;
      background:linear-gradient(90deg,var(--cri-red),var(--cri-gold));
      transform:scaleX(.35);transform-origin:left;transition:.25s ease;
    }
    .value-card:hover{transform:translateY(-7px);border-color:#cbdce8}
    .value-card:hover:before{transform:scaleX(1)}
    .value-card .icon{
      width:62px;height:62px;border-radius:20px;background:var(--cri-light);color:var(--cri-red);
      display:grid;place-items:center;margin-bottom:22px;border:1px solid #e3edf4;
    }
    .value-card svg{width:32px;height:32px}
    .value-card h3{color:var(--cri-navy);margin:0 0 10px;font-size:21px;letter-spacing:-.015em}
    .value-card p{color:#566c7d;margin:0;font-size:15px}

    .solutions{background:var(--cri-navy);color:#fff;position:relative;overflow:hidden}
    .solutions:before{
      content:"";position:absolute;inset:0;
      background:
        radial-gradient(circle at 15% 20%, rgba(181,31,42,.34), transparent 26%),
        radial-gradient(circle at 86% 18%, rgba(215,185,0,.17), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.06) 0 1px, transparent 1px);
      background-size:auto,auto,32px 32px;
    }
    .solutions .section-wrap{position:relative}
    .solutions h2,.solutions .kicker{color:#fff}
    .solutions .section-heading p{color:#c7d7e5}
    .solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .solution-card{
      background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;
      padding:28px;min-height:245px;position:relative;overflow:hidden;transition:.24s ease;
    }
    .solution-card:hover{background:rgba(255,255,255,.12);transform:translateY(-6px)}
    .solution-card .number{color:var(--cri-gold);font-weight:900;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
    .solution-card h3{margin:16px 0 10px;font-size:24px;line-height:1.1}
    .solution-card p{color:#d7e4ef;margin:0 0 18px}
    .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
    .tags span{border:1px solid rgba(255,255,255,.16);color:#e9f3fb;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:rgba(255,255,255,.06)}

    .trust{background:linear-gradient(180deg,#fff 0%,var(--cri-light) 100%)}
    .trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
    .trust-panel{background:#fff;border:1px solid #dfeaf2;border-radius:30px;padding:32px;box-shadow:var(--shadow)}
    .trust-panel h2{text-align:left}
    .cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .cert{background:#fff;border:1px solid #dfeaf2;border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}
    .cert strong{color:var(--cri-navy);display:block;font-size:20px;margin-bottom:8px}
    .cert span{color:#627486;font-size:14px}
    .cert:before{content:"";display:block;width:40px;height:5px;border-radius:99px;margin-bottom:16px;background:linear-gradient(90deg,var(--cri-red),var(--cri-gold))}

    .process{background:#fff}
    .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:step}
    .step{counter-increment:step;background:var(--cri-light);border:1px solid #dfeaf2;border-radius:24px;padding:24px;position:relative}
    .step:before{content:"0" counter(step);display:inline-grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--cri-navy);color:#fff;font-weight:900;margin-bottom:22px}
    .step h3{margin:0 0 8px;color:var(--cri-navy);font-size:20px}
    .step p{margin:0;color:#5c7080;font-size:15px}

    .cta{padding:0 22px 80px;background:#fff}
    .cta-card{
      max-width:var(--max);margin:0 auto;
      background:radial-gradient(circle at 85% 15%, rgba(215,185,0,.22), transparent 24%), linear-gradient(135deg,var(--cri-red),#71151c);
      color:#fff;border-radius:34px;padding:48px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
      overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(181,31,42,.28);
    }
    .cta-card:after{
      content:"";position:absolute;right:-70px;bottom:-96px;width:280px;height:280px;border-radius:50%;
      background:
        radial-gradient(circle at center, transparent 0 58%, rgba(255,255,255,.24) 58.2% 59.4%, transparent 59.6%),
        repeating-conic-gradient(from 0deg, rgba(255,255,255,.22) 0deg 1deg, transparent 1deg 8deg);
      mask-image: radial-gradient(circle, transparent 0 34%, #000 34.1% 74%, transparent 74.1%);
      opacity:.22;
      transform:rotate(14deg);
    }
    .cta-card > *{position:relative;z-index:1}
    .cta-card h2{color:#fff;margin:0 0 10px;max-width:720px}
    .cta-card p{margin:0;color:#ffe9e9;font-size:18px;max-width:740px}

    footer{background:#061b3a;color:#fff;padding:54px 22px 28px}
    .footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:32px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.15)}
    .footer-brand img{width:140px;height:auto;display:block}
    .footer-brand p{color:#c3d1df;margin:18px 0 0;max-width:360px;font-size:14px}
    footer h4{color:#fff;margin:0 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:.12em}
    footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
    footer a, footer li{color:#c3d1df;font-size:14px}
    .copyright{max-width:var(--max);margin:22px auto 0;color:#aebfce;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px}
    .mobile-toggle{display:none}


    /* Monochrome compass treatment */
    .compass-rose{
      --compass-one:#183b68;
    }
    .rose-star:before{
      background:
        linear-gradient(90deg, transparent 47.5%, rgba(24,59,104,.72) 48%, rgba(24,59,104,.72) 52%, transparent 52.5%),
        linear-gradient(0deg, transparent 47.5%, rgba(24,59,104,.72) 48%, rgba(24,59,104,.72) 52%, transparent 52.5%),
        linear-gradient(45deg, transparent 47.8%, rgba(24,59,104,.38) 48.2%, rgba(24,59,104,.38) 51.8%, transparent 52.2%),
        linear-gradient(-45deg, transparent 47.8%, rgba(24,59,104,.38) 48.2%, rgba(24,59,104,.38) 51.8%, transparent 52.2%);
    }
    .rose-star:after{
      background:
        linear-gradient(90deg, transparent 43%, rgba(24,59,104,.22) 44%, rgba(24,59,104,.22) 56%, transparent 57%),
        linear-gradient(0deg, transparent 43%, rgba(24,59,104,.22) 44%, rgba(24,59,104,.22) 56%, transparent 57%);
    }
    .needle-set:before{
      background:linear-gradient(180deg, rgba(24,59,104,.96) 0%, rgba(24,59,104,.72) 54%, rgba(24,59,104,.42) 100%);
      box-shadow:0 0 24px rgba(24,59,104,.18);
    }
    .needle-set:after{
      background:linear-gradient(180deg, rgba(24,59,104,.26) 0%, rgba(24,59,104,.58) 48%, rgba(24,59,104,.92) 100%);
      box-shadow:0 0 24px rgba(24,59,104,.14);
    }
    .compass-cap{
      background:
        linear-gradient(90deg, transparent 0 42%, rgba(24,59,104,.24) 42% 58%, transparent 58%),
        linear-gradient(0deg, transparent 0 42%, rgba(24,59,104,.24) 42% 58%, transparent 58%),
        radial-gradient(circle at 35% 32%, rgba(255,255,255,.84) 0 12%, rgba(24,59,104,.18) 18%, rgba(24,59,104,.44) 55%, rgba(255,255,255,.78) 100%);
    }
    .compass-label{
      color:rgba(24,59,104,.62);
    }
    .mission-core .core-dot{
      background:rgba(24,59,104,.88);
      box-shadow:
        0 0 0 7px rgba(24,59,104,.08),
        0 0 24px rgba(24,59,104,.20);
    }

    @media (max-width:1180px){
      .hero-graphic{right:-120px;width:660px;height:660px}
      .hero-graphic .digits{right:228px}
    }
    @media (max-width:980px){
      .hero .wrap,.trust-grid,.cta-card{grid-template-columns:1fr}
      .value-grid,.timeline{grid-template-columns:repeat(2,1fr)}
      .solution-grid{grid-template-columns:1fr 1fr}
      .menu{display:none}
      .mobile-toggle{display:inline-flex}
      .tech-card{min-height:auto}
      .stat-strip{grid-template-columns:1fr 1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
      .hero-graphic{right:-200px;top:160px;width:620px;height:620px;opacity:.65}
    }
    @media (max-width:640px){
      .top-alert .wrap,.nav{padding-left:16px;padding-right:16px}
      .nav .btn-primary{display:none}
      .logo img{width:132px}
      .hero .wrap{padding:58px 16px}
      section{padding:58px 16px}
      .value-grid,.solution-grid,.timeline,.node-grid,.cert-grid,.stat-strip{grid-template-columns:1fr}
      .cta{padding-left:16px;padding-right:16px}
      .cta-card{padding:32px}
      .footer-grid{grid-template-columns:1fr}
      h1{font-size:42px}
      .hero-graphic{right:-230px;top:170px;width:560px;height:560px;opacity:.44}
    }
  
    /* Muted background compass treatment so it supports content instead of competing with it */
    .hero-graphic{
      opacity:.38;
      filter:saturate(.65);
    }
    .compass-rose{
      opacity:.46;
      filter:drop-shadow(0 10px 18px rgba(6,27,58,.08));
    }
    .rose-star{
      opacity:.34;
    }
    .needle-set{
      opacity:.36;
      filter:none;
    }
    .needle-set:before{
      background:linear-gradient(180deg, rgba(24,59,104,.48) 0%, rgba(24,59,104,.30) 58%, rgba(24,59,104,.16) 100%);
      box-shadow:none;
    }
    .needle-set:after{
      background:linear-gradient(180deg, rgba(24,59,104,.10) 0%, rgba(24,59,104,.22) 48%, rgba(24,59,104,.42) 100%);
      box-shadow:none;
    }
    .compass-cap{
      width:28px;
      height:28px;
      opacity:.48;
      box-shadow:0 3px 8px rgba(6,27,58,.08);
    }
    .compass-label{
      color:rgba(24,59,104,.24);
      text-shadow:none;
    }
    .mission-core .core-dot{
      width:5px;
      height:5px;
      background:rgba(24,59,104,.34);
      box-shadow:
        0 0 0 4px rgba(24,59,104,.035),
        0 0 9px rgba(24,59,104,.08);
    }
    .orbit-ring,
    .orbit-ring.two,
    .orbit-ring.three{
      opacity:.45;
    }
    .orbit-ring span{
      opacity:.38;
      box-shadow:none;
    }
    .scan-line{
      opacity:.18;
    }
    .tech-map-grid{
      opacity:.14;
    }
    .data-lines{
      opacity:.18;
    }

  
    /* Circle replacement: removes compass/arrow and keeps a subtle rotating circular tech motif */
    .compass-rose{
      display:none !important;
    }
    .mission-core{
      display:none !important;
    }
    .circle-bg{
      position:absolute;
      left:50%;
      top:50%;
      width:360px;
      height:360px;
      transform:translate(-50%,-50%);
      border-radius:50%;
      z-index:2;
      opacity:.36;
      filter:drop-shadow(0 14px 28px rgba(6,27,58,.08));
      pointer-events:none;
    }
    .circle-bg:before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:50%;
      background:
        radial-gradient(circle at center, transparent 0 42%, rgba(24,59,104,.12) 42.2% 43.1%, transparent 43.4%),
        radial-gradient(circle at center, transparent 0 58%, rgba(24,59,104,.16) 58.2% 59.2%, transparent 59.5%),
        radial-gradient(circle at center, transparent 0 73%, rgba(24,59,104,.20) 73.2% 74.4%, transparent 74.8%),
        repeating-conic-gradient(from 0deg, rgba(24,59,104,.30) 0deg .9deg, transparent .9deg 6deg);
      mask-image:radial-gradient(circle at center, transparent 0 38%, #000 38.2% 78%, transparent 78.5%);
      animation:circle-spin 38s linear infinite;
    }
    .circle-bg:after{
      content:"";
      position:absolute;
      inset:76px;
      border-radius:50%;
      border:1px solid rgba(24,59,104,.12);
      box-shadow:
        0 0 0 36px rgba(24,59,104,.035),
        0 0 0 72px rgba(24,59,104,.025);
      animation:circle-float 7s ease-in-out infinite alternate;
    }
    .circle-bg .circle-dot{
      position:absolute;
      width:7px;
      height:7px;
      border-radius:50%;
      background:rgba(24,59,104,.28);
      box-shadow:0 0 12px rgba(24,59,104,.12);
    }
    .circle-bg .circle-dot:nth-child(1){left:50%;top:20px}
    .circle-bg .circle-dot:nth-child(2){right:44px;top:50%}
    .circle-bg .circle-dot:nth-child(3){left:50%;bottom:20px}
    .circle-bg .circle-dot:nth-child(4){left:44px;top:50%}
    @keyframes circle-spin{
      to{transform:rotate(360deg)}
    }
    @keyframes circle-float{
      from{transform:scale(.98);opacity:.85}
      to{transform:scale(1.02);opacity:1}
    }

  
    /* Refined circle based on the reference: subtle radial line dial, no compass, no busy orbit */
    .orbit-system,
    .scan-line,
    .orbit-ring,
    .orbit-ring.two,
    .orbit-ring.three,
    .data-lines,
    .mission-core,
    .compass-rose{
      display:none !important;
    }

    .hero-graphic{
      opacity:.62;
      filter:saturate(.65);
    }

    .tech-map-grid{
      opacity:.10;
    }

    .circle-bg{
      position:absolute;
      left:50%;
      top:50%;
      width:500px;
      height:500px;
      transform:translate(-50%,-50%);
      border-radius:50%;
      z-index:2;
      opacity:.32;
      pointer-events:none;
      filter:none;
    }

    .circle-bg:before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:50%;
      background:
        repeating-conic-gradient(
          from -18deg,
          rgba(24,59,104,.34) 0deg,
          rgba(24,59,104,.34) .55deg,
          transparent .55deg,
          transparent 5.8deg
        );
      mask-image:radial-gradient(circle at center, transparent 0 48%, #000 48.5% 72%, transparent 72.6%);
      animation:circle-spin 52s linear infinite;
    }

    .circle-bg:after{
      content:"";
      position:absolute;
      inset:120px;
      border-radius:50%;
      border:1px solid rgba(24,59,104,.14);
      box-shadow:
        0 0 0 62px rgba(24,59,104,.045),
        0 0 0 118px rgba(24,59,104,.025);
    }

    .circle-bg .circle-dot{
      display:none;
    }

    @keyframes circle-spin{
      to{transform:rotate(360deg)}
    }

    /* Similar circle detail in CTA, matching the reference screenshot */
    .cta-card:after{
      content:"";
      position:absolute;
      left:72px;
      bottom:-110px;
      width:310px;
      height:310px;
      border-radius:50%;
      opacity:.20;
      background:
        repeating-conic-gradient(
          from -18deg,
          rgba(255,255,255,.48) 0deg,
          rgba(255,255,255,.48) .7deg,
          transparent .7deg,
          transparent 7deg
        );
      mask-image:radial-gradient(circle at center, transparent 0 49%, #000 49.6% 73%, transparent 73.6%);
      animation:circle-spin 60s linear infinite;
    }

  
    /* Added interaction for content boxes */
    .value-card,
    .solution-card,
    .cert,
    .step{
      cursor:pointer;
      will-change:transform;
    }

    .cert,
    .step{
      position:relative;
      overflow:hidden;
      transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease,
        background .24s ease;
    }

    .cert:after,
    .step:after{
      content:"→";
      position:absolute;
      right:22px;
      bottom:18px;
      width:34px;
      height:34px;
      border-radius:50%;
      display:grid;
      place-items:center;
      font-weight:900;
      color:var(--cri-navy);
      background:#fff;
      border:1px solid #dbe7ef;
      opacity:0;
      transform:translate(8px,8px) scale(.92);
      transition:.24s ease;
      box-shadow:0 10px 22px rgba(6,27,58,.10);
    }

    .cert:hover,
    .step:hover{
      transform:translateY(-8px);
      border-color:rgba(181,31,42,.30);
      box-shadow:0 24px 58px rgba(6,27,58,.16);
      background:#fff;
    }

    .cert:hover:after,
    .step:hover:after{
      opacity:1;
      transform:translate(0,0) scale(1);
    }

    .cert:hover:before{
      width:74px;
      background:linear-gradient(90deg,var(--cri-red),var(--cri-gold));
    }

    .step:before{
      transition:
        transform .24s ease,
        background .24s ease,
        box-shadow .24s ease;
    }

    .step:hover:before{
      transform:scale(1.06);
      background:linear-gradient(135deg,var(--cri-red),var(--cri-navy));
      box-shadow:0 12px 24px rgba(181,31,42,.18);
    }

    .step h3,
    .cert strong,
    .value-card h3,
    .solution-card h3{
      transition:color .22s ease, transform .22s ease;
    }

    .step:hover h3,
    .cert:hover strong,
    .value-card:hover h3{
      color:var(--cri-red);
      transform:translateX(2px);
    }

    .solution-card:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.12) 46%, transparent 70%);
      transform:translateX(-120%);
      transition:transform .55s ease;
      pointer-events:none;
    }

    .solution-card:hover:after{
      transform:translateX(120%);
    }

    .value-card .icon,
    .node-icon{
      transition:transform .24s ease, background .24s ease, color .24s ease;
    }

    .value-card:hover .icon,
    .node:hover .node-icon{
      transform:rotate(-4deg) scale(1.06);
      background:#fff;
      color:var(--cri-navy);
      box-shadow:0 14px 24px rgba(6,27,58,.08);
    }

    .cert:hover{
      background:
        radial-gradient(circle at 88% 14%, rgba(215,185,0,.10), transparent 24%),
        #fff;
    }

    .step:hover{
      background:
        radial-gradient(circle at 88% 14%, rgba(181,31,42,.08), transparent 24%),
        #fff;
    }

    .step p,
    .cert span{
      transition:color .22s ease;
    }

    .step:hover p,
    .cert:hover span{
      color:#2f465b;
    }

    .btn:hover{
      letter-spacing:.01em;
    }

    @media (prefers-reduced-motion: reduce){
      .value-card,
      .solution-card,
      .cert,
      .step,
      .node,
      .btn,
      .value-card .icon,
      .node-icon{
        transition:none !important;
      }
      .solution-card:after,
      .circle-bg:before,
      .cta-card:after{
        animation:none !important;
      }
    }

  
    /* Trusted Delivery certification card spacing fix */
    .cert-grid{
      align-items:stretch;
    }

    .cert{
      min-height:158px;
      padding:26px 28px 58px;
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
    }

    .cert:before{
      flex:0 0 auto;
      margin-bottom:18px;
    }

    .cert strong{
      display:block;
      margin:0 0 12px;
      line-height:1.18;
      max-width:92%;
    }

    .cert span{
      display:block;
      line-height:1.55;
      max-width:92%;
    }

    .cert:after{
      right:22px;
      bottom:18px;
      top:auto;
    }

    @media (max-width:640px){
      .cert{
        min-height:auto;
        padding:24px 24px 62px;
      }
      .cert strong,
      .cert span{
        max-width:100%;
      }
    }

  
    /* How CRI Helps card refinement: softer hover, no odd heavy shadow */
    .timeline{
      gap:18px;
    }

    .step{
      cursor:pointer;
      background:#f5f9fc;
      border:1px solid #dbe7ef;
      box-shadow:none;
      transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease;
    }

    .step:after{
      content:"";
      position:absolute;
      left:24px;
      right:24px;
      top:0;
      bottom:auto;
      width:auto;
      height:4px;
      border-radius:0 0 999px 999px;
      background:linear-gradient(90deg,var(--cri-red),var(--cri-gold));
      opacity:.42;
      transform:scaleX(.28);
      transform-origin:left;
      box-shadow:none;
      transition:transform .24s ease, opacity .24s ease;
    }

    .step:hover{
      transform:translateY(-4px);
      border-color:#cbdce8;
      background:#fff;
      box-shadow:none;
    }

    .step:hover:after{
      opacity:.82;
      transform:scaleX(1);
    }

    .step:hover:before{
      transform:translateY(-1px);
      background:var(--cri-navy);
      box-shadow:none;
    }

    .step:hover h3{
      color:var(--cri-navy);
      transform:none;
    }

    .step p{
      max-width:95%;
    }

  
    /* Top student-loan alert bar changed to full yellow */
    .top-alert{
      background:var(--cri-gold) !important;
      color:var(--cri-navy) !important;
      border-bottom:1px solid rgba(6,27,58,.12);
    }

    .top-alert strong{
      color:var(--cri-navy) !important;
    }

    .top-alert a{
      background:rgba(255,255,255,.65) !important;
      color:var(--cri-navy) !important;
      border:1px solid rgba(6,27,58,.18) !important;
      box-shadow:0 8px 18px rgba(6,27,58,.08);
    }

    .top-alert a:hover{
      background:#fff !important;
      transform:translateY(-1px);
    }

  
    /* Updated top loan alert to match uploaded yellow sample */
    :root{
      --cri-gold:#fba21d;
    }

    .top-alert{
      background:#fba21d !important;
      color:var(--cri-navy) !important;
      border-bottom:1px solid rgba(6,27,58,.14);
    }

    .top-alert a{
      background:rgba(255,255,255,.72) !important;
      color:var(--cri-navy) !important;
      border:1px solid rgba(6,27,58,.20) !important;
    }

    .top-alert a:hover{
      background:#fff !important;
    }

  
    /* Pulse animation for the SYSTEMS ACTIVE status dot */
    .status{
      position:relative;
    }

    .status:before{
      animation:statusPulse 1.8s ease-in-out infinite;
    }

    @keyframes statusPulse{
      0%{
        transform:scale(1);
        box-shadow:0 0 0 0 rgba(88,210,132,.38);
      }
      50%{
        transform:scale(1.08);
        box-shadow:0 0 0 8px rgba(88,210,132,.12);
      }
      100%{
        transform:scale(1);
        box-shadow:0 0 0 0 rgba(88,210,132,0);
      }
    }

    @media (prefers-reduced-motion: reduce){
      .status:before{
        animation:none !important;
      }
    }

  
/* Dropdown navigation */
.menu{
  gap:22px;
}
.nav-item{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-item > a{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.has-dropdown > a:before{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  top:0;
  bottom:-18px;
}
.has-dropdown > a:after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.62;
  transition:transform .2s ease, opacity .2s ease;
  margin-left:3px;
}
.has-dropdown:hover > a:after,
.has-dropdown:focus-within > a:after{
  transform:rotate(225deg) translateY(-1px);
  opacity:1;
}
.dropdown{
  position:absolute;
  left:50%;
  top:100%;
  transform:translate(-50%,12px);
  width:265px;
  padding:12px;
  background:#fff;
  border:1px solid #dfeaf2;
  border-radius:20px;
  box-shadow:0 24px 58px rgba(6,27,58,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:80;
}
.dropdown:before{
  content:"";
  position:absolute;
  left:50%;
  top:-8px;
  width:16px;
  height:16px;
  transform:translateX(-50%) rotate(45deg);
  background:#fff;
  border-left:1px solid #dfeaf2;
  border-top:1px solid #dfeaf2;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,8px);
}
.dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#203a53;
  font-weight:800;
  font-size:13px;
  line-height:1.25;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.dropdown a:after{
  display:none !important;
}
.dropdown a:hover,
.dropdown a:focus{
  background:#f5f9fc;
  color:var(--cri-red);
  transform:translateX(2px);
  outline:none;
}
.dropdown a:first-child{
  color:var(--cri-navy);
}
@media (max-width:980px){
  .dropdown{
    display:none;
  }
}

  
    /* Hero button visibility and spacing fix */
    .hero-actions-fixed{
      display:flex !important;
      flex-wrap:wrap !important;
      align-items:center !important;
      gap:14px !important;
      position:relative;
      z-index:5;
    }

    .hero-actions-fixed .btn{
      display:inline-flex !important;
      visibility:visible !important;
      opacity:1 !important;
      min-height:48px;
      white-space:nowrap;
    }

    .hero-actions-fixed .btn-secondary{
      background:#fff !important;
      color:var(--cri-navy) !important;
      border:1px solid #d6e2eb !important;
    }

    @media (max-width:640px){
      .hero-actions-fixed{
        align-items:stretch !important;
      }
      .hero-actions-fixed .btn{
        width:100%;
      }
    }

  
    /* Hero dashboard repair */
    .tech-card{
      isolation:isolate;
    }

    .dashboard{
      position:relative;
      z-index:2;
      height:100%;
      display:grid;
      grid-template-rows:auto 1fr auto;
      gap:18px;
    }

    .dashboard-top{
      display:flex !important;
      justify-content:space-between;
      align-items:center;
      gap:14px;
      background:var(--cri-navy) !important;
      color:#fff !important;
      border-radius:24px;
      padding:18px 20px;
      box-shadow:0 18px 42px rgba(6,27,58,.22);
      min-height:78px;
    }

    .dashboard-logo{
      width:92px;
      height:auto;
      display:block;
      opacity:.96;
      flex:0 0 auto;
    }

    .status{
      display:inline-flex !important;
      align-items:center;
      gap:8px;
      font-size:12px;
      font-weight:900;
      color:#e7f4ff !important;
      text-transform:uppercase;
      letter-spacing:.08em;
      white-space:nowrap;
      flex:0 0 auto;
    }

    .node-grid{
      margin-top:2px;
    }

    .node{
      min-height:170px;
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
    }

    .node .label{
      margin-top:2px;
    }

    .node strong{
      min-height:52px;
      margin-bottom:12px;
    }

    .bar{
      margin-top:auto;
    }

    @media (max-width:640px){
      .dashboard-top{
        min-height:auto;
        padding:16px 18px;
      }
      .dashboard-logo{
        width:82px;
      }
      .status{
        font-size:11px;
      }
    }

  
    /* Four core services layout */
    .solution-grid-four{
      grid-template-columns:repeat(2,1fr);
      gap:22px;
      max-width:1000px;
      margin:0 auto;
    }

    .solution-grid-four .solution-card{
      min-height:255px;
    }

    .solution-grid-four .number{
      display:block;
      margin-bottom:2px;
    }

    @media (max-width:640px){
      .solution-grid-four{
        grid-template-columns:1fr;
      }
    }

  
    /* Footer/link spacing refinement */
    footer ul{
      gap:12px;
    }

    footer li{
      line-height:1.45;
    }

    footer a{
      display:inline-block;
      padding:2px 0;
      line-height:1.45;
      letter-spacing:.01em;
    }

    /* Slightly cleaner spacing for labels that include slashes */
    .tab,
    .dropdown a{
      line-height:1.35;
      letter-spacing:.01em;
    }

  
    /* Hero chip without logo */
    .banner-logo-chip-no-logo{
      padding:12px 20px !important;
      gap:0 !important;
    }

    .banner-logo-chip-no-logo span{
      display:inline-block;
      line-height:1.2;
    }

  
    /* Mobile header logo fix */
    header{
      overflow:visible;
    }

    .nav{
      min-height:78px;
    }

    .logo{
      display:flex;
      align-items:center;
      flex:0 0 auto;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }

    .logo img{
      width:158px;
      max-width:38vw;
      height:auto;
      display:block;
      background:transparent !important;
      object-fit:contain;
    }

    @media (max-width:760px){
      .nav{
        padding:12px 16px;
        gap:10px;
        min-height:74px;
      }

      .logo img{
        width:128px !important;
        max-width:34vw;
      }

      .nav .btn-primary{
        padding:11px 15px;
        font-size:13px;
        white-space:nowrap;
      }

      .mobile-toggle{
        padding:10px 14px;
        font-size:13px;
        white-space:nowrap;
      }
    }

    @media (max-width:430px){
      .logo img{
        width:112px !important;
        max-width:32vw;
      }

      .nav{
        gap:8px;
      }

      .nav .btn-primary{
        padding:10px 12px;
        font-size:12px;
      }

      .mobile-toggle{
        padding:9px 12px;
        font-size:12px;
      }
    }

  
    /* Mobile fix for the hero dashboard/card box */
    .tech-card{
      width:100%;
      max-width:100%;
      min-width:0;
      margin:0;
    }

    @media (max-width:980px){
      .tech-card{
        padding:22px;
        border-radius:28px;
        min-height:auto;
      }

      .node-grid{
        grid-template-columns:1fr 1fr;
        gap:14px;
      }
    }

    @media (max-width:640px){
      .hero .wrap{
        gap:26px;
      }

      .tech-card{
        width:100%;
        max-width:100%;
        padding:18px;
        border-radius:24px;
        overflow:hidden;
      }

      .dashboard{
        gap:14px;
      }

      .node-grid{
        grid-template-columns:1fr;
        gap:14px;
      }

      .node{
        min-height:auto;
        padding:16px;
      }

      .node strong{
        min-height:auto;
      }

      .signal{
        padding:18px;
        border-radius:20px;
        gap:14px;
      }

      .pulse{
        width:58px;
        height:58px;
      }
    }

  


.concept-strip{
  background:#fff;
  color:#061b3a;
  border-bottom:1px solid #e3ebf2;
  font-size:13px;
}
.concept-strip .wrap{
  max-width:1180px;
  margin:0 auto;
  padding:10px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  font-weight:800;
  letter-spacing:.01em;
}
.concept-strip strong{color:#b51f2a;}

    /* Hero button visibility and spacing fix */
    .hero-actions-fixed{
      display:flex !important;
      flex-wrap:wrap !important;
      align-items:center !important;
      gap:14px !important;
      position:relative;
      z-index:5;
    }

    .hero-actions-fixed .btn{
      display:inline-flex !important;
      visibility:visible !important;
      opacity:1 !important;
      min-height:48px;
      white-space:nowrap;
    }

    .hero-actions-fixed .btn-secondary{
      background:#fff !important;
      color:var(--cri-navy) !important;
      border:1px solid #d6e2eb !important;
    }

    @media (max-width:640px){
      .hero-actions-fixed{
        align-items:stretch !important;
      }
      .hero-actions-fixed .btn{
        width:100%;
      }
    }

  
    /* Hero dashboard repair */
    .tech-card{
      isolation:isolate;
    }

    .dashboard{
      position:relative;
      z-index:2;
      height:100%;
      display:grid;
      grid-template-rows:auto 1fr auto;
      gap:18px;
    }

    .dashboard-top{
      display:flex !important;
      justify-content:space-between;
      align-items:center;
      gap:14px;
      background:var(--cri-navy) !important;
      color:#fff !important;
      border-radius:24px;
      padding:18px 20px;
      box-shadow:0 18px 42px rgba(6,27,58,.22);
      min-height:78px;
    }

    .dashboard-logo{
      width:92px;
      height:auto;
      display:block;
      opacity:.96;
      flex:0 0 auto;
    }

    .status{
      display:inline-flex !important;
      align-items:center;
      gap:8px;
      font-size:12px;
      font-weight:900;
      color:#e7f4ff !important;
      text-transform:uppercase;
      letter-spacing:.08em;
      white-space:nowrap;
      flex:0 0 auto;
    }

    .node-grid{
      margin-top:2px;
    }

    .node{
      min-height:170px;
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
    }

    .node .label{
      margin-top:2px;
    }

    .node strong{
      min-height:52px;
      margin-bottom:12px;
    }

    .bar{
      margin-top:auto;
    }

    @media (max-width:640px){
      .dashboard-top{
        min-height:auto;
        padding:16px 18px;
      }
      .dashboard-logo{
        width:82px;
      }
      .status{
        font-size:11px;
      }
    }

  
    /* Four core services layout */
    .solution-grid-four{
      grid-template-columns:repeat(2,1fr);
      gap:22px;
      max-width:1000px;
      margin:0 auto;
    }

    .solution-grid-four .solution-card{
      min-height:255px;
    }

    .solution-grid-four .number{
      display:block;
      margin-bottom:2px;
    }

    @media (max-width:640px){
      .solution-grid-four{
        grid-template-columns:1fr;
      }
    }

  
    /* Footer/link spacing refinement */
    footer ul{
      gap:12px;
    }

    footer li{
      line-height:1.45;
    }

    footer a{
      display:inline-block;
      padding:2px 0;
      line-height:1.45;
      letter-spacing:.01em;
    }

    /* Slightly cleaner spacing for labels that include slashes */
    .tab,
    .dropdown a{
      line-height:1.35;
      letter-spacing:.01em;
    }

  
    /* Hero chip without logo */
    .banner-logo-chip-no-logo{
      padding:12px 20px !important;
      gap:0 !important;
    }

    .banner-logo-chip-no-logo span{
      display:inline-block;
      line-height:1.2;
    }

  
    /* Mobile header logo fix */
    header{
      overflow:visible;
    }

    .nav{
      min-height:78px;
    }

    .logo{
      display:flex;
      align-items:center;
      flex:0 0 auto;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }

    .logo img{
      width:158px;
      max-width:38vw;
      height:auto;
      display:block;
      background:transparent !important;
      object-fit:contain;
    }

    @media (max-width:760px){
      .nav{
        padding:12px 16px;
        gap:10px;
        min-height:74px;
      }

      .logo img{
        width:128px !important;
        max-width:34vw;
      }

      .nav .btn-primary{
        padding:11px 15px;
        font-size:13px;
        white-space:nowrap;
      }

      .mobile-toggle{
        padding:10px 14px;
        font-size:13px;
        white-space:nowrap;
      }
    }

    @media (max-width:430px){
      .logo img{
        width:112px !important;
        max-width:32vw;
      }

      .nav{
        gap:8px;
      }

      .nav .btn-primary{
        padding:10px 12px;
        font-size:12px;
      }

      .mobile-toggle{
        padding:9px 12px;
        font-size:12px;
      }
    }

  
    /* Mobile fix for the hero dashboard/card box */
    .tech-card{
      width:100%;
      max-width:100%;
      min-width:0;
      margin:0;
    }

    @media (max-width:980px){
      .tech-card{
        padding:22px;
        border-radius:28px;
        min-height:auto;
      }

      .node-grid{
        grid-template-columns:1fr 1fr;
        gap:14px;
      }
    }

    @media (max-width:640px){
      .hero .wrap{
        gap:26px;
      }

      .tech-card{
        width:100%;
        max-width:100%;
        padding:18px;
        border-radius:24px;
        overflow:hidden;
      }

      .dashboard{
        gap:14px;
      }

      .node-grid{
        grid-template-columns:1fr;
        gap:14px;
      }

      .node{
        min-height:auto;
        padding:16px;
      }

      .node strong{
        min-height:auto;
      }

      .signal{
        padding:18px;
        border-radius:20px;
        gap:14px;
      }

      .pulse{
        width:58px;
        height:58px;
      }
    }

  


/* Trust section refinement: remove the box wrapping the intro copy */
.trust-panel{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.trust-panel h2{
  text-align:left;
  margin-top:10px;
}
.trust-panel p{
  color:#52697c;
  font-size:18px;
  max-width:520px;
  margin:0 0 26px;
}
.trust-panel .hero-actions{
  margin-top:24px;
}
.trust-grid{
  align-items:center;
}
@media (max-width:980px){
  .trust-panel{
    max-width:760px;
  }
}



/* Trust section button refinement: match card rounding and remove heavy shadows */
.trust-panel .hero-actions{
  gap:14px;
}
.trust-panel .btn{
  border-radius:14px !important;
  box-shadow:none !important;
  padding:13px 18px;
}
.trust-panel .btn-primary{
  background:var(--cri-red) !important;
  color:#fff !important;
}
.trust-panel .btn-secondary{
  background:#fff !important;
  color:var(--cri-navy) !important;
  border:1px solid #d6e2eb !important;
}
.trust-panel .btn:hover{
  transform:translateY(-1px);
  box-shadow:none !important;
  letter-spacing:0;
}
.trust-panel .btn-primary:hover{
  background:var(--cri-red-dark) !important;
}
.trust-panel .btn-secondary:hover{
  background:#f7fafc !important;
  border-color:#cbdce8 !important;
}



/* Final trust button refinement: more square, no shadows */
.trust-panel .hero-actions{
  gap:12px !important;
}
.trust-panel .hero-actions .btn,
.trust-panel .hero-actions .btn-primary,
.trust-panel .hero-actions .btn-secondary{
  border-radius:8px !important;
  box-shadow:none !important;
  filter:none !important;
  padding:13px 18px !important;
}
.trust-panel .hero-actions .btn-primary{
  background:var(--cri-red) !important;
  color:#fff !important;
  border:1px solid var(--cri-red) !important;
}
.trust-panel .hero-actions .btn-secondary{
  background:#fff !important;
  color:var(--cri-navy) !important;
  border:1px solid #cfdde8 !important;
}
.trust-panel .hero-actions .btn:hover,
.trust-panel .hero-actions .btn-primary:hover,
.trust-panel .hero-actions .btn-secondary:hover,
.trust-panel .hero-actions .btn:focus,
.trust-panel .hero-actions .btn-primary:focus,
.trust-panel .hero-actions .btn-secondary:focus{
  box-shadow:none !important;
  filter:none !important;
  letter-spacing:0 !important;
}
.trust-panel .hero-actions .btn:hover{
  transform:translateY(-1px) !important;
}
.trust-panel .hero-actions .btn-primary:hover{
  background:var(--cri-red-dark) !important;
  border-color:var(--cri-red-dark) !important;
}
.trust-panel .hero-actions .btn-secondary:hover{
  background:#f5f9fc !important;
  border-color:#bfcfdd !important;
}



/* Global button cleanup: apply square, shadow-free styling to every button-like control */
.btn,
a.btn,
button.btn,
.top-alert a,
.hero-actions-fixed .btn,
.trust-panel .hero-actions .btn,
.cta-card .btn,
.nav .btn-primary,
.mobile-toggle{
  border-radius:8px !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

.btn-primary,
a.btn-primary,
button.btn-primary,
.nav .btn-primary{
  background:var(--cri-red) !important;
  color:#fff !important;
  border:1px solid var(--cri-red) !important;
  box-shadow:none !important;
}

.btn-secondary,
a.btn-secondary,
button.btn-secondary,
.hero-actions-fixed .btn-secondary,
.trust-panel .hero-actions .btn-secondary,
.cta-card .btn-secondary{
  background:#fff !important;
  color:var(--cri-navy) !important;
  border:1px solid #cbdce8 !important;
  box-shadow:none !important;
}

.btn:hover,
.btn:focus,
a.btn:hover,
a.btn:focus,
button.btn:hover,
button.btn:focus,
.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.nav .btn-primary:hover,
.nav .btn-primary:focus,
.mobile-toggle:hover,
.mobile-toggle:focus,
.top-alert a:hover,
.top-alert a:focus,
.hero-actions-fixed .btn:hover,
.hero-actions-fixed .btn:focus,
.trust-panel .hero-actions .btn:hover,
.trust-panel .hero-actions .btn:focus,
.cta-card .btn:hover,
.cta-card .btn:focus{
  box-shadow:none !important;
  letter-spacing:0 !important;
  transform:translateY(-1px) !important;
}

.btn-primary:hover,
.btn-primary:focus,
a.btn-primary:hover,
a.btn-primary:focus,
button.btn-primary:hover,
button.btn-primary:focus,
.nav .btn-primary:hover,
.nav .btn-primary:focus{
  background:var(--cri-red-dark) !important;
  border-color:var(--cri-red-dark) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
a.btn-secondary:hover,
a.btn-secondary:focus,
button.btn-secondary:hover,
button.btn-secondary:focus,
.mobile-toggle:hover,
.mobile-toggle:focus,
.cta-card .btn-secondary:hover,
.cta-card .btn-secondary:focus{
  background:#f5f9fc !important;
  border-color:#9fb6c8 !important;
  color:var(--cri-navy) !important;
}

.top-alert a{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(6,27,58,.20) !important;
}

.top-alert a:hover,
.top-alert a:focus{
  background:#fff !important;
}


/* WordPress theme mobile menu assist */
@media (max-width:980px){
  .menu.is-open{
    display:flex !important;
    position:absolute;
    left:16px;
    right:16px;
    top:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:16px;
    background:#fff;
    border:1px solid #dfeaf2;
    border-radius:18px;
    box-shadow:0 24px 58px rgba(6,27,58,.16);
  }
  .menu.is-open a{
    display:block;
    width:100%;
    padding:12px 8px;
  }
}

/* FINAL QA PATCH 2.3: keep yellow-strip CTA directly beside the alert copy */
.top-alert .wrap,
body .top-alert .wrap,
.wp-site-blocks .top-alert .wrap,
.entry-content .top-alert .wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
.top-alert .wrap > div,
body .top-alert .wrap > div,
.wp-site-blocks .top-alert .wrap > div,
.entry-content .top-alert .wrap > div{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin-right:0 !important;
}
.top-alert .wrap > a,
body .top-alert .wrap > a,
.wp-site-blocks .top-alert .wrap > a,
.entry-content .top-alert .wrap > a{
  flex:0 0 auto !important;
  margin-left:0 !important;
  margin-right:auto !important;
}


/* v2.8.0 CTA sunburst visibility fix */
.cta{
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}
.cta-card{
  position: relative;
  min-height: 180px;
  display: grid;
  align-items: center;
}
.cta-card:after{
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  left: 48px !important;
  right: auto !important;
  width: 320px !important;
  height: 320px !important;
  opacity: .14 !important;
}
@media (max-width: 640px){
  .cta{
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
  .cta-card{
    min-height: 150px;
  }
  .cta-card:after{
    left: 50% !important;
    top: 44% !important;
    transform: translate(-50%,-50%) !important;
    width: 240px !important;
    height: 240px !important;
    opacity: .12 !important;
  }
}


/* v3.3.0 CTA sunburst moved left and animated */
.cta-card:after{
  left: 26px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: 340px !important;
  height: 340px !important;
  opacity: .18 !important;
  transform: translateY(-50%) !important;
  transform-origin: center center !important;
  animation: circle-spin 26s linear infinite !important;
}
@media (max-width: 640px){
  .cta-card:after{
    left: 24px !important;
    top: 50% !important;
    width: 220px !important;
    height: 220px !important;
    transform: translateY(-50%) !important;
    animation: circle-spin 22s linear infinite !important;
  }
}


/* v4.2.0 restore animated sunburst on bottom red CTA */
@keyframes cri-cta-sunburst-spin{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta,
body .cta,
.wp-site-blocks .cta,
.entry-content .cta{
  position:relative !important;
  overflow:hidden !important;
}

.cta-card,
body .cta-card,
.wp-site-blocks .cta-card,
.entry-content .cta-card{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:24px !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:340px !important;
  height:340px !important;
  border-radius:50% !important;
  opacity:.18 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    repeating-conic-gradient(
      from -18deg,
      rgba(255,255,255,.48) 0deg,
      rgba(255,255,255,.48) .7deg,
      transparent .7deg,
      transparent 7deg
    ) !important;
  -webkit-mask-image:radial-gradient(circle at center, transparent 0 49%, #000 49.6% 73%, transparent 73.6%) !important;
  mask-image:radial-gradient(circle at center, transparent 0 49%, #000 49.6% 73%, transparent 73.6%) !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-cta-sunburst-spin 28s linear infinite !important;
}

.cta-card > *,
body .cta-card > *,
.wp-site-blocks .cta-card > *,
.entry-content .cta-card > *{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:640px){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    left:18px !important;
    width:230px !important;
    height:230px !important;
    opacity:.14 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}


/* v4.7.0 move CTA sunburst back to the right with original animation feel */
@keyframes cri-cta-sunburst-spin-right{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  left:auto !important;
  right:24px !important;
  top:50% !important;
  bottom:auto !important;
  width:340px !important;
  height:340px !important;
  opacity:.18 !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-cta-sunburst-spin-right 28s linear infinite !important;
}

@media (max-width:640px){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    left:auto !important;
    right:18px !important;
    width:230px !important;
    height:230px !important;
    opacity:.14 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}


/* v4.8.0 CTA sunburst: fully visible + visibly animated */
@keyframes cri-visible-sunburst-spin{
  from{ transform:translateY(-50%) rotate(0deg); }
  to{ transform:translateY(-50%) rotate(360deg); }
}

.cta,
body .cta,
.wp-site-blocks .cta,
.entry-content .cta{
  overflow:hidden !important;
}

.cta-card,
body .cta-card,
.wp-site-blocks .cta-card,
.entry-content .cta-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:320px !important;
  display:grid !important;
  align-items:center !important;
  isolation:isolate !important;
}

/* override all older :after/:before sunburst placements */
.cta-card::after,
body .cta-card::after,
.wp-site-blocks .cta-card::after,
.entry-content .cta-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:58px !important;
  left:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:260px !important;
  height:260px !important;
  border-radius:50% !important;
  opacity:.22 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    conic-gradient(
      from 0deg,
      rgba(255,255,255,.55) 0deg 74deg,
      transparent 74deg 118deg,
      rgba(255,255,255,.42) 118deg 208deg,
      transparent 208deg 260deg,
      rgba(255,255,255,.48) 260deg 342deg,
      transparent 342deg 360deg
    ) !important;
  -webkit-mask-image:
    repeating-conic-gradient(
      from 0deg,
      #000 0deg .9deg,
      transparent .9deg 6.5deg
    ),
    radial-gradient(circle at center, transparent 0 50%, #000 50.5% 74%, transparent 74.6%) !important;
  -webkit-mask-composite: source-in !important;
  mask-image:
    repeating-conic-gradient(
      from 0deg,
      #000 0deg .9deg,
      transparent .9deg 6.5deg
    ),
    radial-gradient(circle at center, transparent 0 50%, #000 50.5% 74%, transparent 74.6%) !important;
  mask-composite: intersect !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transform-origin:center center !important;
  animation:cri-visible-sunburst-spin 18s linear infinite !important;
}

.cta-card > *,
body .cta-card > *,
.wp-site-blocks .cta-card > *,
.entry-content .cta-card > *{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:640px){
  .cta-card,
  body .cta-card,
  .wp-site-blocks .cta-card,
  .entry-content .cta-card{
    min-height:260px !important;
  }

  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    right:24px !important;
    width:210px !important;
    height:210px !important;
    opacity:.18 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cta-card::after,
  body .cta-card::after,
  .wp-site-blocks .cta-card::after,
  .entry-content .cta-card::after{
    animation:none !important;
  }
}
