:root{
    --bg:#0a0a0a; --white:#f3f3f1; --red:#ff3344; --blue:#2a5dff; --yellow:#ffd400;
    --grey:#7a7a7a; --line: rgba(243,243,241,0.14);
  }
  *{margin:0; padding:0; box-sizing:border-box;}
  body{ background:var(--bg); color:var(--white); font-family:'Space Grotesk', sans-serif; min-height:100vh; display:flex; flex-direction:column; }
  ::selection{ background:var(--yellow); color:var(--bg); }
  .display{ font-family:'Archivo Black', sans-serif; line-height:0.92; letter-spacing:-0.01em; }

  header{
    display:flex; justify-content:space-between; align-items:center; padding:24px 48px;
  }
  .mark{ display:flex; gap:4px; align-items:center; }
  .mark span{ width:9px; height:9px; border-radius:2px; }
  .mark span:nth-child(1){ background:var(--red); }
  .mark span:nth-child(2){ background:var(--blue); }
  .mark span:nth-child(3){ background:var(--yellow); }
  .mark b{ font-family:'Archivo Black',sans-serif; font-size:16px; margin-left:10px; }
  nav ul{ display:flex; gap:34px; list-style:none; }
  nav a{ color:var(--white); text-decoration:none; font-size:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; position:relative; }
  nav a.active{ color:var(--yellow); }
  nav a::after{ content:""; position:absolute; left:0; bottom:-5px; width:0; height:2px; background:var(--red); transition:width .25s ease; }
  nav a:hover::after{ width:100%; }

  main{ flex:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; padding:60px 48px 80px; align-items:start; }

  .intro h1{ font-size:clamp(48px,7vw,104px); }
  .intro h1 .c1{ color:var(--red); } .intro h1 .c2{ color:var(--blue); }
  .intro p{ margin-top:24px; max-width:420px; color:var(--grey); font-size:15px; line-height:1.7; }

  .direct{ margin-top:56px; display:flex; flex-direction:column; gap:20px; }
  .direct a{ color:var(--white); text-decoration:none; font-family:'Archivo Black',sans-serif; font-size:26px; display:inline-flex; align-items:center; gap:14px; width:fit-content; }
  .direct a .sw{ width:9px; height:9px; border-radius:50%; }
  .direct a:nth-child(1) .sw{ background:var(--red); }
  .direct a:nth-child(2) .sw{ background:var(--blue); }
  .direct a:hover{ color:var(--yellow); }

  .socials{ margin-top:44px; display:flex; gap:22px; }
  .socials a{ color:var(--grey); text-decoration:none; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; border-bottom:1px solid transparent; }
  .socials a:hover{ color:var(--white); border-color:var(--white); }

  /* ---- form ---- */
  form{ display:flex; flex-direction:column; gap:26px; }
  .field{ position:relative; }
  .field label{ display:block; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:var(--grey); margin-bottom:10px; }
  .field input, .field textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--white); font-family:'Space Grotesk',sans-serif; font-size:17px; padding:10px 2px;
    outline:none; transition:border-color .25s ease;
  }
  .field input:focus, .field textarea:focus{ border-color:var(--yellow); }
  .field textarea{ resize:vertical; min-height:90px; }

  .topic-group{ display:flex; flex-wrap:wrap; gap:10px; }
  .topic{
    border:1px solid var(--line); padding:9px 16px; border-radius:30px; font-size:12px;
    letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; color:var(--grey);
    transition:all .2s ease; background:transparent;
  }
  .topic.sel{ background:var(--white); color:var(--bg); border-color:var(--white); }

  .submit{
    margin-top:8px; align-self:flex-start; display:inline-flex; align-items:center; gap:12px;
    background:var(--red); color:var(--white); border:none; cursor:pointer;
    font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.04em;
    text-transform:uppercase; padding:18px 30px; border-radius:3px; transition:all .25s ease;
  }
  .submit:hover{ background:var(--yellow); color:var(--bg); transform:translateY(-2px); }
  .form-note{ font-size:12px; color:var(--grey); margin-top:-6px; }

  footer{ border-top:1px solid var(--line); padding:26px 48px; text-align:center; font-size:12px; color:var(--grey); letter-spacing:0.04em; }

  @media (max-width:860px){
    main{ grid-template-columns:1fr; padding:40px 22px 60px; gap:50px; }
    header{ padding:18px 22px; }
    nav ul{ gap:18px; } nav a{ font-size:11px; }
    footer{ padding:22px; }
  }
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{ outline:2px solid var(--yellow); outline-offset:3px; }
