  @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;900&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

  :root{
    --graphite: #14181C;
    --panel: #1B2126;
    --panel-2: #222A30;
    --line: #2E373E;
    --off-white: #EDEEEE;
    --muted: #8A939B;
    --amber: #F2A93B;
    --teal: #3FBDB6;
    --red: #D9584F;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--graphite);
    color:var(--off-white);
    font-family:'Inter',sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Archivo',sans-serif; font-weight:900; letter-spacing:-0.01em;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  section{padding:96px 0;}
  @media(max-width:720px){ section{padding:64px 0;} }

  :focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(20,24,28,0.92); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1180px; margin:0 auto;}
  .logo{ display:flex; align-items:center; gap:10px; font-family:'Archivo',sans-serif; font-weight:900; font-size:19px; letter-spacing:-0.01em;}
  .logo-mark{ width:11px; height:11px; border-radius:2px; background:var(--teal); box-shadow:0 0 0 3px rgba(63,189,182,0.15); animation:pulse-mark 2.4s ease-in-out infinite;}
  @keyframes pulse-mark{ 0%,100%{opacity:1;} 50%{opacity:0.45;} }
  .navlinks{ display:flex; gap:34px; font-size:14.5px; color:var(--muted); }
  .navlinks a:hover{ color:var(--off-white); }
  @media(max-width:820px){ .navlinks{ display:none; } }
  .nav-cta{
    background:var(--amber); color:#1A1305; font-weight:600; font-size:14px;
    padding:10px 20px; border-radius:3px; white-space:nowrap;
  }
  .nav-cta:hover{ background:#ffbb55; }

  /* ---------- HERO / SIGNATURE STATUS STRIP ---------- */
  .hero{ padding:88px 0 60px; position:relative; overflow:hidden; }
  .hero-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; }
  @media(max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--amber);
    text-transform:uppercase; letter-spacing:0.08em; margin-bottom:22px;
  }
  .eyebrow::before{ content:''; width:6px; height:6px; background:var(--amber); border-radius:50%; }

  .hero h1{ font-size:clamp(34px, 5vw, 56px); line-height:1.05; margin-bottom:22px; }
  .hero h1 .accent{ color:var(--teal); }
  .hero p.lead{ font-size:17.5px; color:var(--muted); max-width:520px; margin-bottom:34px; }

  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn-primary{
    background:var(--teal); color:#0A2422; font-weight:600; font-size:15px;
    padding:14px 26px; border-radius:3px; display:inline-block;
  }
  .btn-primary:hover{ background:#5cd6ce; }
  .btn-ghost{
    border:1px solid var(--line); color:var(--off-white); font-weight:500; font-size:15px;
    padding:13px 26px; border-radius:3px; display:inline-block;
  }
  .btn-ghost:hover{ border-color:var(--muted); }

  /* Signature: Power State Panel */
  .status-panel{
    background:var(--panel); border:1px solid var(--line); border-radius:6px;
    padding:26px; position:relative;
  }
  .status-panel-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
  .status-panel-head .label{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.06em;}
  .status-panel-head .id{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--muted); }

  .status-row{ display:flex; align-items:center; gap:14px; padding:13px 0; border-top:1px solid var(--line); }
  .status-row:first-of-type{ border-top:none; }
  .status-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
  .status-row .txt{ flex:1; }
  .status-row .txt .t1{ font-size:14.5px; font-weight:500; }
  .status-row .txt .t2{ font-size:12.5px; color:var(--muted); font-family:'IBM Plex Mono',monospace; }

  #dot-grid{ background:var(--red); animation:blink-red 1.8s steps(1) infinite; }
  #dot-backup{ background:var(--amber); }
  #dot-load{ background:var(--teal); }
  @keyframes blink-red{ 0%,49%{opacity:1;} 50%,100%{opacity:0.25;} }

  .status-footer{
    margin-top:18px; padding-top:16px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center;
    font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted);
  }
  .status-footer .ok{ color:var(--teal); }

  /* ---------- VALUE STRIP ---------- */
  .value-strip{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:56px 0; }
  .value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px 32px; }
  @media(max-width:900px){ .value-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .value-grid{ grid-template-columns:1fr; } }
  .value-item .num{ font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:12.5px; margin-bottom:10px; }
  .value-item h4{ font-size:16.5px; margin-bottom:8px; font-weight:700; }
  .value-item p{ font-size:14px; color:var(--muted); }

  /* ---------- SECTION HEADS ---------- */
  .sec-head{ max-width:640px; margin-bottom:52px; }
  .sec-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--teal); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:14px; }
  .sec-head h2{ font-size:clamp(26px,3.4vw,38px); margin-bottom:14px; }
  .sec-head p{ color:var(--muted); font-size:16px; }

  /* ---------- SERVICES ---------- */
  .services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media(max-width:900px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:600px){ .services-grid{ grid-template-columns:1fr; } }
  .service-card{
    background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:28px;
    transition:border-color 0.2s, transform 0.2s;
  }
  .service-card:hover{ border-color:var(--teal); transform:translateY(-3px); }
  .service-card .tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--amber); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; display:block; }
  .service-card h3{ font-size:19px; margin-bottom:10px; font-weight:700; }
  .service-card p{ font-size:14px; color:var(--muted); margin-bottom:16px; }
  .service-card .link{ font-size:13.5px; color:var(--off-white); font-weight:600; }
  .service-card .link:after{ content:' →'; color:var(--teal); }

  /* ---------- SECTORS ---------- */
  .sectors-strip{ background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .sectors-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
  @media(max-width:900px){ .sectors-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .sectors-grid{ grid-template-columns:1fr; } }
  .sector-cell{
    padding:26px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    font-size:14.5px; font-weight:500; display:flex; align-items:center; gap:10px;
  }
  .sector-cell::before{ content:''; width:5px; height:5px; background:var(--amber); border-radius:50%; flex-shrink:0; }

  /* ---------- PROCESS ---------- */
  .process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
  @media(max-width:900px){ .process-grid{ grid-template-columns:1fr; gap:28px; } }
  .process-item{ padding:0 22px 0 0; position:relative; }
  .process-item:not(:last-child){ border-right:1px solid var(--line); }
  @media(max-width:900px){ .process-item:not(:last-child){ border-right:none; border-bottom:1px solid var(--line); padding-bottom:28px; } }
  .process-item .step{ font-family:'IBM Plex Mono',monospace; color:var(--muted); font-size:12px; margin-bottom:14px; }
  .process-item h4{ font-size:17px; margin-bottom:10px; }
  .process-item p{ font-size:13.5px; color:var(--muted); }

  /* ---------- TESTIMONIAL ---------- */
  .testimonial-box{
    background:var(--panel); border:1px solid var(--line); border-radius:6px;
    padding:44px; max-width:760px; position:relative;
  }
  .testimonial-box .quote-mark{ font-family:'Archivo',sans-serif; font-size:52px; color:var(--teal); line-height:0.5; display:block; margin-bottom:18px; }
  .testimonial-box p.q{ font-size:19px; line-height:1.5; margin-bottom:22px; }
  .testimonial-box .attr{ font-size:13.5px; color:var(--muted); font-family:'IBM Plex Mono',monospace; }
  .placeholder-note{ font-size:12.5px; color:var(--muted); margin-top:14px; font-style:italic; }

  /* ---------- FAQ ---------- */
  .faq-item{ border-top:1px solid var(--line); padding:22px 0; }
  .faq-item:last-child{ border-bottom:1px solid var(--line); }
  .faq-q{ display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:16px; font-weight:600; }
  .faq-q .plus{ font-family:'IBM Plex Mono',monospace; color:var(--teal); font-size:18px; transition:transform 0.2s; }
  .faq-item.open .plus{ transform:rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height 0.25s ease; }
  .faq-item.open .faq-a{ max-height:200px; }
  .faq-a p{ padding-top:14px; color:var(--muted); font-size:14.5px; max-width:640px; }

  /* ---------- CTA ---------- */
  .cta-band{
    background:linear-gradient(120deg, var(--panel) 0%, var(--panel-2) 100%);
    border:1px solid var(--line); border-radius:8px;
    padding:64px 48px; text-align:center; margin:0 28px;
    max-width:1124px; margin:0 auto;
  }
  @media(max-width:600px){ .cta-band{ padding:44px 24px; } }
  .cta-band h2{ font-size:clamp(26px,3.6vw,36px); margin-bottom:16px; }
  .cta-band p{ color:var(--muted); font-size:16px; margin-bottom:30px; max-width:480px; margin-left:auto; margin-right:auto; }

  /* ---------- FOOTER ---------- */
  footer{ border-top:1px solid var(--line); padding:64px 0 32px; }
  .footer-grid{ display:grid; grid-template-columns:1.2fr repeat(4,1fr); gap:32px; margin-bottom:48px; }
  @media(max-width:1000px){ .footer-grid{ grid-template-columns:1fr 1fr 1fr; } }
  @media(max-width:700px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
  .footer-col h5{ font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); margin-bottom:16px; font-family:'IBM Plex Mono',monospace; font-weight:500; }
  .footer-col a, .footer-col p{ display:block; font-size:14px; color:var(--off-white); margin-bottom:10px; }
  .footer-col a:hover{ color:var(--teal); }
  .footer-bottom{ border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--muted); }

  .section-alt{ background:var(--panel); }

  /* ---------- INTERNAL PAGE HEADER ---------- */
  .page-header{ padding:64px 0 48px; border-bottom:1px solid var(--line); }
  .page-header .sec-eyebrow{ margin-bottom:16px; }
  .page-header h1{ font-size:clamp(28px,4vw,44px); margin-bottom:14px; }
  .page-header p{ color:var(--muted); font-size:16.5px; max-width:600px; }
  .breadcrumb{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); margin-bottom:20px; }
  .breadcrumb a{ color:var(--muted); }
  .breadcrumb a:hover{ color:var(--teal); }

  /* ---------- SERVICE DETAIL BLOCK ---------- */
  .service-detail{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:56px 0; border-bottom:1px solid var(--line); }
  .service-detail:last-of-type{ border-bottom:none; }
  @media(max-width:800px){ .service-detail{ grid-template-columns:1fr; gap:24px; } }
  .service-detail.reverse{ direction:rtl; }
  .service-detail.reverse > *{ direction:ltr; }
  .service-detail .tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--amber); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; display:block; }
  .service-detail h3{ font-size:24px; margin-bottom:14px; }
  .service-detail p{ color:var(--muted); font-size:15px; margin-bottom:18px; }
  .service-detail ul{ list-style:none; }
  .service-detail li{ font-size:14.5px; padding:8px 0; border-top:1px solid var(--line); display:flex; gap:10px; align-items:baseline; }
  .service-detail li:before{ content:'—'; color:var(--teal); flex-shrink:0; }
  .service-visual{ background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:32px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--muted); min-height:180px; display:flex; align-items:center; justify-content:center; text-align:center; }

  /* ---------- SECTOR DETAIL CARDS ---------- */
  .sector-detail-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
  @media(max-width:700px){ .sector-detail-grid{ grid-template-columns:1fr; } }
  .sector-detail-card{ background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:30px; }
  .sector-detail-card h3{ font-size:19px; margin-bottom:10px; }
  .sector-detail-card p{ color:var(--muted); font-size:14.5px; }

  /* ---------- CONTACT PAGE ---------- */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  @media(max-width:800px){ .contact-grid{ grid-template-columns:1fr; } }
  .contact-card{ background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:32px; margin-bottom:20px; }
  .contact-card h4{ font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); font-family:'IBM Plex Mono',monospace; margin-bottom:16px; }
  .contact-card .name{ font-size:19px; font-weight:700; margin-bottom:8px; }
  .contact-card a{ display:block; font-size:14.5px; color:var(--teal); margin-bottom:6px; }
  .form-field{ margin-bottom:18px; }
  .form-field label{ display:block; font-size:13px; color:var(--muted); margin-bottom:8px; }
  .form-field input, .form-field textarea, .form-field select{
    width:100%; background:var(--panel); border:1px solid var(--line); border-radius:4px;
    padding:12px 14px; color:var(--off-white); font-family:'Inter',sans-serif; font-size:14.5px;
  }
  .form-field textarea{ resize:vertical; min-height:100px; }
  .form-field input:focus, .form-field textarea:focus, .form-field select:focus{ outline:none; border-color:var(--teal); }
