:root{
      --blue:#0639b7;
      --blue2:#174ed1;
      --ink:#0d1420;
      --muted:#667085;
      --line:#e5eaf2;
      --soft:#f5f7fb;
      --white:#ffffff;
      --shadow:0 18px 52px rgba(11,24,54,.10);
      --radius:24px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Arial,Helvetica,sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.55;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;height:auto}
    button,input,textarea{font:inherit}
    .wrap{width:min(1160px,92vw);margin:0 auto}

    .topbar{
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(255,255,255,.96);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(10px);
    }
    .nav{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .brand img{display:block;height:35px;width:auto}
    .menu{
      display:flex;
      align-items:center;
      gap:28px;
      font-size:13px;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
    }
    .menu a:hover{color:var(--blue)}

    .hero{
      min-height:690px;
      display:flex;
      align-items:center;
      color:#fff;
      background:
        linear-gradient(90deg,rgba(5,14,36,.88) 0%,rgba(5,14,36,.66) 52%,rgba(5,14,36,.22) 100%),
        url('assets/images/home-bg-1.jpg') center/cover no-repeat;
    }
    .hero-inner{padding:96px 0}
    .eyebrow{
      margin-bottom:18px;
      font-size:13px;
      font-weight:800;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#d7e3ff;
    }
    .hero h1{
      max-width:850px;
      margin:0 0 24px;
      font-size:clamp(44px,6vw,78px);
      line-height:.98;
      letter-spacing:-.045em;
    }
    .hero p{
      max-width:760px;
      margin:0;
      color:#eef3ff;
      font-size:20px;
    }
    .actions{
      display:flex;
      flex-wrap:wrap;
      gap:13px;
      margin-top:34px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:50px;
      padding:0 24px;
      border-radius:999px;
      border:1px solid transparent;
      font-size:13px;
      font-weight:900;
      letter-spacing:.06em;
      text-transform:uppercase;
    }
    .btn.primary{background:var(--blue);color:#fff}
    .btn.primary:hover{background:var(--blue2)}
    .btn.ghost{border-color:rgba(255,255,255,.58);color:#fff;background:rgba(255,255,255,.05)}

    section{padding:80px 0}
    .intro{
      display:grid;
      grid-template-columns:210px 1fr;
      gap:52px;
      align-items:center;
    }
    .intro-logo{
      width:190px;
      margin:0 auto;
      filter:drop-shadow(0 12px 28px rgba(6,57,183,.10));
    }
    .kicker{
      color:var(--blue);
      font-size:12px;
      font-weight:900;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:10px;
    }
    h2{
      margin:0 0 16px;
      font-size:clamp(30px,4vw,50px);
      line-height:1.05;
      letter-spacing:-.035em;
    }
    .lead{
      max-width:840px;
      margin:0;
      color:var(--muted);
      font-size:18px;
    }

    .services{padding-top:0}
    .service-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
    }
    .service{
      padding:30px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:#fff;
      box-shadow:0 12px 38px rgba(11,24,54,.06);
    }
    .service-mark{
      width:54px;
      height:54px;
      display:grid;
      place-items:center;
      border-radius:16px;
      background:#edf3ff;
      color:var(--blue);
      font-size:22px;
      font-weight:900;
      margin-bottom:20px;
    }
    .service h3{margin:0 0 10px;font-size:22px}
    .service p{margin:0;color:var(--muted)}

    .company{
      background:var(--soft);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .section-head{
      max-width:820px;
      margin:0 auto 34px;
      text-align:center;
    }
    .section-head p{margin:0;color:var(--muted);font-size:17px}

    .company-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
      align-items:start;
    }
    .company-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      box-shadow:0 12px 34px rgba(11,24,54,.05);
      overflow:hidden;
    }
    .company-card h3{
      margin:0;
      padding:18px 22px;
      background:#fff;
      border-bottom:1px solid var(--line);
      font-size:20px;
    }
    .info-row{
      display:grid;
      grid-template-columns:42% 58%;
      border-top:1px solid var(--line);
    }
    .info-row:first-of-type{border-top:0}
    .info-label,.info-value{
      padding:11px 16px;
      font-size:13px;
      line-height:1.35;
    }
    .info-label{
      background:#f8faff;
      color:#3c4b68;
      font-weight:800;
    }
    .info-value{
      overflow-wrap:anywhere;
    }
    .company-note{
      margin:22px auto 0;
      max-width:930px;
      padding:14px 18px;
      border:1px solid #dce5f6;
      border-radius:14px;
      background:#fff;
      color:#5b667a;
      font-size:13px;
      text-align:center;
    }

    .contact-grid{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:28px;
      align-items:stretch;
    }
    .contact-panel{
      padding:34px;
      border-radius:26px;
      background:#0c162a;
      color:#fff;
      box-shadow:var(--shadow);
    }
    .contact-panel .kicker{color:#a9c0ff}
    .contact-panel h2{font-size:36px}
    .contact-panel p{color:#c9d1df}
    .contact-list{margin-top:26px}
    .contact-item{
      padding:13px 0;
      border-top:1px solid rgba(255,255,255,.13);
      font-size:14px;
    }
    .contact-item strong{display:block;margin-bottom:3px;color:#fff}
    .contact-item a{color:#cfe0ff}

    .contact-form{
      position:relative;
      padding:32px;
      border:1px solid var(--line);
      border-radius:26px;
      background:#fff;
      box-shadow:var(--shadow);
    }
    .form-title{margin:0 0 4px;font-size:26px}
    .form-note{margin:0 0 24px;color:var(--muted);font-size:14px}
    .form-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    label{
      display:block;
      margin:0 0 7px;
      font-size:12px;
      font-weight:900;
      letter-spacing:.04em;
      text-transform:uppercase;
      color:#36445f;
    }
    input,textarea{
      width:100%;
      border:1px solid #dfe5ef;
      border-radius:13px;
      background:#fbfcfe;
      padding:13px 14px;
      margin:0 0 15px;
      color:var(--ink);
      outline:none;
      transition:border-color .15s,box-shadow .15s;
    }
    input:focus,textarea:focus{
      border-color:#86a7f4;
      box-shadow:0 0 0 3px rgba(6,57,183,.08);
    }
    textarea{min-height:150px;resize:vertical}
    .consent{
      display:flex;
      gap:10px;
      align-items:flex-start;
      margin:2px 0 18px;
      color:var(--muted);
      font-size:13px;
    }
    .consent input{width:auto;margin:3px 0 0}
    .submit{
      width:100%;
      border:0;
      border-radius:999px;
      background:var(--blue);
      color:#fff;
      min-height:50px;
      font-weight:900;
      letter-spacing:.06em;
      text-transform:uppercase;
      cursor:pointer;
    }
    .submit:hover{background:var(--blue2)}
    .submit:disabled{opacity:.65;cursor:not-allowed}
    .status{
      display:none;
      margin:0 0 18px;
      padding:12px 14px;
      border-radius:12px;
      font-size:14px;
      font-weight:700;
    }
    .status.ok{display:block;background:#edf8f0;color:#176331;border:1px solid #cae9d2}
    .status.error{display:block;background:#fff0f0;color:#a31d1d;border:1px solid #f1caca}
    .hp{
      position:absolute !important;
      left:-10000px !important;
      width:1px !important;
      height:1px !important;
      overflow:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
    }

    .footer{
      padding:42px 0;
      background:#060b14;
      color:#cbd3df;
      text-align:center;
    }
    .footer img{width:122px;margin-bottom:14px}
    .social{
      display:flex;
      justify-content:center;
      gap:20px;
      margin:14px 0;
      font-size:14px;
    }
    .social a:hover{color:#fff}
    .footer small{display:block;color:#8f9aad;line-height:1.65}

    @media(max-width:900px){
      .menu{display:none}
      .hero{min-height:620px}
      .intro,.service-grid,.company-grid,.contact-grid,.form-row{grid-template-columns:1fr}
      .intro{text-align:center;gap:26px}
      .intro-logo{width:155px}
      .service-grid{gap:14px}
      .company-grid{gap:14px}
      section{padding:62px 0}
      .info-row{grid-template-columns:1fr}
      .info-value{padding-top:3px}
    }
