:root{
    /* Steel Authority Palette */
    --bg-1:#1C1F26;          /* Charcoal */
    --bg-2:#2A2F38;          /* Gunmetal */
    --accent:#2C5F7A;        /* Steel Blue */
    --accent-hover:#3E7FA3;  /* Brighter Steel */
    --text-1:#E6E9ED;        /* Off-White */
    --text-2:#9AA3AD;        /* Muted Gray */
    --border:rgba(230,233,237,.10);
    --shadow: 0 16px 40px rgba(0,0,0,.35);
    --max: 1120px;
    --radius: 0px;          /* keep it sharp */
  }

  *{ box-sizing:border-box; }
  html,body{ height:100%; }
  body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
    background:var(--bg-1);
    color:var(--text-1);
    line-height:1.5;
    overflow-x:hidden;
  }

  a{ color:inherit; text-decoration:none; }
  .container{
    width:min(var(--max), calc(100% - 40px));
    margin-inline:auto;
  }

  /* ===== Logo ===== */
  .logo{
    height:36px;
    width:auto;
    display:block;
  }	
  /* ===== Header ===== */
  header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(28,31,38,.80);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0;
    gap:16px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:220px;
  }
  .mark{
    width:34px; height:34px;
    border:1px solid rgba(44,95,122,.55);
    background: linear-gradient(180deg, rgba(44,95,122,.18), rgba(44,95,122,.02));
    box-shadow: inset 0 0 0 1px rgba(230,233,237,.06);
  }
  .brand b{
    letter-spacing:.10em;
    font-size:13px;
    text-transform:uppercase;
  }
  .brand span{
    display:block;
    color:var(--text-2);
    font-size:12px;
    letter-spacing:.06em;
    margin-top:2px;
  }

  .nav-links{
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .nav-links a{
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--text-2);
    padding:8px 10px;
    border:1px solid transparent;
  }
  .nav-links a:hover{
    color:var(--text-1);
    border-color:var(--border);
    background:rgba(255,255,255,.02);
  }

  .nav-cta{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:8px;
  }

  /* ===== Buttons ===== */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 14px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    border-radius:var(--radius);
    border:1px solid transparent;
    cursor:pointer;
    user-select:none;
    transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease, box-shadow .12s ease;
    white-space:nowrap;
  }
  .btn:active{ transform:translateY(1px); }
  .btn-primary{
    background:var(--accent);
    color:var(--text-1);
    box-shadow: 0 10px 24px rgba(44,95,122,.28);
  }
  .btn-primary:hover{
    background:var(--accent-hover);
    box-shadow: 0 12px 28px rgba(62,127,163,.28);
  }
  .btn-outline{
    background:transparent;
    border-color:rgba(44,95,122,.55);
    color:var(--text-1);
  }
  .btn-outline:hover{
    background:rgba(44,95,122,.12);
    border-color:rgba(62,127,163,.65);
  }

  /* ===== Hero ===== */
  .hero{
    position:relative;
    padding:70px 0 48px;
    border-bottom:1px solid var(--border);
    overflow:hidden;
  }
  /* subtle grid lines */
  .hero::before{
    content:"";
    position:absolute; inset:-2px;
    background:
      linear-gradient(to right, rgba(230,233,237,.05) 1px, transparent 1px) 0 0/72px 72px,
      linear-gradient(to bottom, rgba(230,233,237,.035) 1px, transparent 1px) 0 0/72px 72px;
    mask-image: radial-gradient(circle at 30% 25%, black 0 45%, transparent 70%);
    opacity:.55;
    pointer-events:none;
  }
  .hero::after{
    content:"";
    position:absolute;
    width:900px; height:900px;
    right:-520px; top:-520px;
    background: radial-gradient(circle, rgba(44,95,122,.35), transparent 60%);
    pointer-events:none;
    filter: blur(2px);
  }
  .hero-inner{
    position:relative;
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap:28px;
    align-items:center;
  }
  .kicker{
    color:var(--text-2);
    letter-spacing:.18em;
    text-transform:uppercase;
    font-size:12px;
    margin:0 0 12px;
  }
  h1{
    margin:0 0 14px;
    font-size: clamp(34px, 4vw, 52px);
    line-height:1.05;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .lead{
    margin:0 0 22px;
    color:var(--text-2);
    max-width:58ch;
  }
  .hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
  }

  .hero-card{
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border:1px solid var(--border);
    box-shadow: var(--shadow);
    padding:18px;
  }
  .hero-card h3{
    margin:0 0 10px;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--text-1);
  }
  .hero-card p{
    margin:0 0 14px;
    color:var(--text-2);
    font-size:13px;
  }
  .hero-stats{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:10px;
  }
  .stat{
    border:1px solid var(--border);
    padding:10px;
    background:rgba(0,0,0,.18);
  }
  .stat b{
    display:block;
    font-size:18px;
    letter-spacing:.06em;
  }
  .stat span{
    display:block;
    color:var(--text-2);
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-top:2px;
  }

  /* ===== Trust Strip ===== */
  .trust{
    background:var(--bg-2);
    border-bottom:1px solid var(--border);
  }
  .trust-row{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:14px;
    padding:16px 0;
  }
  .trust-item{
    display:flex;
    gap:10px;
    align-items:center;
    border:1px solid var(--border);
    padding:12px;
    background:rgba(0,0,0,.12);
  }
  .dot{
    width:10px; height:10px;
    background:var(--accent);
  }
  .trust-item b{
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .trust-item span{
    display:block;
    color:var(--text-2);
    font-size:12px;
    margin-top:2px;
  }

  /* ===== Sections ===== */
  section{ padding:56px 0; }
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;
    margin-bottom:22px;
  }
  .section-head h2{
    margin:0;
    font-size:18px;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .section-head p{
    margin:0;
    color:var(--text-2);
    max-width:60ch;
    font-size:13px;
  }

  /* ===== Services ===== */
  .services{ background:var(--bg-2); border-bottom:1px solid var(--border); }
  .grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:14px;
  }
  .card{
    border:1px solid var(--border);
    background:rgba(0,0,0,.14);
    padding:18px;
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
    transition: transform .12s ease, border-color .12s ease, background .12s ease;
    position:relative;
    overflow:hidden;
  }
  .card::after{
    content:"";
    position:absolute;
    left:18px; right:18px; bottom:14px;
    height:2px;
    background:rgba(44,95,122,.0);
    transition: background .12s ease;
  }
  .card:hover{
    transform: translateY(-2px);
    border-color:rgba(62,127,163,.35);
    background:rgba(255,255,255,.03);
  }
  .card:hover::after{ background:rgba(44,95,122,.9); }

  .card h3{
    margin:0 0 10px;
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .card p{
    margin:0;
    color:var(--text-2);
    font-size:13px;
  }
  .card a.more{
    display:inline-block;
    margin-top:14px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(230,233,237,.9);
  }
  .card a.more:hover{ color:var(--accent-hover); }

  /* ===== Philosophy ===== */
  .split{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:22px;
    align-items:start;
  }
  .panel{
    border:1px solid var(--border);
    background:rgba(0,0,0,.14);
    padding:22px;
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
  }
  .panel h3{
    margin:0 0 10px;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--text-1);
  }
  .panel p{
    margin:0;
    color:var(--text-2);
    font-size:13px;
  }
  .bullets{
    margin:14px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:10px;
  }
  .bullets li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    color:var(--text-2);
    font-size:13px;
  }
  .bullets i{
    display:inline-block;
    width:10px; height:10px;
    margin-top:6px;
    background:var(--accent);
    flex:0 0 auto;
  }

  /* ===== CTA ===== */
  .cta{
    background:var(--accent);
    border-top:1px solid rgba(255,255,255,.18);
    border-bottom:1px solid rgba(0,0,0,.22);
  }
  .cta-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:40px 0;
    flex-wrap:wrap;
  }
  .cta h2{
    margin:0;
    font-size:22px;
    letter-spacing:.14em;
    text-transform:uppercase;
    line-height:1.2;
  }
  .cta p{
    margin:8px 0 0;
    color:rgba(230,233,237,.92);
    max-width:60ch;
    font-size:13px;
  }
  .btn-invert{
    background:#0E1116;
    color:var(--text-1);
    border:1px solid rgba(255,255,255,.18);
  }
  .btn-invert:hover{
    background:#0A0D12;
    border-color:rgba(255,255,255,.28);
  }

  /* ===== Footer ===== */
  footer{
    padding:32px 0;
    color:var(--text-2);
    font-size:12px;
    border-top:1px solid var(--border);
    background:rgba(0,0,0,.10);
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    align-items:center;
  }
  .fineprint{
    letter-spacing:.06em;
  }
  .footer-links{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
  }
  .footer-links a:hover{ color:var(--text-1); }

  /* ===== Responsive ===== */
  @media (max-width: 980px){
    .hero-inner{ grid-template-columns:1fr; }
    .grid{ grid-template-columns: repeat(2, 1fr); }
    .trust-row{ grid-template-columns: repeat(2, 1fr); }
    .split{ grid-template-columns:1fr; }
  }
  @media (max-width: 560px){
    .grid{ grid-template-columns:1fr; }
    .trust-row{ grid-template-columns:1fr; }
    .nav-links{ display:none; } /* simple starter: hide links on mobile */
  }

  /* PRIVACY PAGE */
.policy{
    padding:60px 0;
    max-width:800px;
    margin:auto;
  }
  
  .policy h1{
    margin-bottom:20px;
  }
  
  .policy h2{
    margin-top:32px;
    font-size:16px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  
  .policy p{
    color:var(--text-2);
    font-size:14px;
    margin-top:10px;
  }
  
  .policy ul{
    margin-top:10px;
    padding-left:18px;
    color:var(--text-2);
  }

  .process-section{
    padding:56px 0;
    background:var(--bg-2);
    border-top:1px solid var(--border);
  }
  
  .process-grid{
    grid-template-columns: repeat(4, 1fr);
  }
  
  @media (max-width: 980px){
    .process-grid{
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 560px){
    .process-grid{
      grid-template-columns: 1fr;
    }
  }