:root{
  --bg:#0F1621;
  --panel-left:#1A2230;
  --panel-right:#1E2737;
  --line:rgba(255,255,255,0.07);
  --btn:#2E4C6E;
  --btn-hover:#385A80;
  --btn-active:#274160;
  --btn-text:#FFFFFF;
  --field:#171E29;
  --field-border:#2C3644;
  --field-focus:#3E6189;
  --field-text:#FFFFFF;
  --field-icon:#9AA4B2;
  --muted:#8B95A5;
  --white:#FFFFFF;
  --danger:#E0625B;
  --success:#4ADE80;
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);
  color:var(--white);
  -webkit-font-smoothing:antialiased;
}

.layout{display:flex;height:100vh;width:100%;overflow:hidden}
.panel{flex:1;display:flex;flex-direction:column;padding:clamp(20px,3vw,46px)}
.panel-left{background:var(--panel-left)}
.panel-right{background:var(--panel-right);border-left:1px solid var(--line)}
.panel-title{
  font-size:clamp(15px,1.55vw,21px);
  font-weight:600;
  line-height:1.4;
  margin-bottom:clamp(16px,2.4vh,30px);
}

/* ---- left: resource buttons ---- */
.resource-buttons{flex:1;display:flex;flex-direction:column;gap:clamp(10px,1.7vh,18px)}
.big-btn{
  flex:1;
  display:flex;align-items:center;justify-content:center;gap:12px;
  background:var(--btn);color:var(--btn-text);
  border:none;border-radius:var(--radius);
  font-family:inherit;font-size:clamp(15px,1.5vw,19px);font-weight:600;
  text-decoration:none;cursor:pointer;
  transition:background .15s ease,transform .05s ease;
}
.big-btn:hover{background:var(--btn-hover)}
.big-btn:active{background:var(--btn-active);transform:scale(.992)}
.big-btn:focus-visible{outline:3px solid rgba(62,97,137,.75);outline-offset:3px}
.big-btn .ico svg{width:26px;height:26px}

/* ---- right: form ---- */
.contact-form{flex:1;display:flex;flex-direction:column;gap:14px;justify-content:center}
.contact-form.active{justify-content:flex-start}

.dropdown{position:relative}
.dropdown-trigger{
  width:100%;height:52px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--field);color:var(--field-text);
  border:1.5px solid var(--field-border);border-radius:var(--radius);
  padding:0 16px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.dropdown-trigger:hover{background:#1F2835}
.dropdown-trigger:focus-visible{outline:none;border-color:var(--field-focus)}
.dropdown-current{display:flex;align-items:center;gap:10px}
.dropdown-current.placeholder{color:var(--muted);font-weight:400}
.dropdown-current svg{width:22px;height:22px}
.chev{display:flex;color:var(--muted);transition:transform .18s ease}
.chev svg{width:20px;height:20px}
.dropdown.open .chev{transform:rotate(180deg)}
.dropdown-list{
  position:absolute;top:calc(100% + 6px);left:0;right:0;
  background:var(--field);border:1.5px solid var(--field-border);border-radius:var(--radius);
  list-style:none;overflow:hidden;z-index:10;
  box-shadow:0 14px 34px rgba(0,0,0,.55);
  display:none;
}
.dropdown.open .dropdown-list{display:block}
.dropdown-list li{
  display:flex;align-items:center;gap:10px;
  padding:13px 16px;color:var(--field-text);font-size:15px;font-weight:500;cursor:pointer;
  transition:background .12s ease;
}
.dropdown-list li:hover,.dropdown-list li.kb-focus{background:#232C3B}
.dropdown-list li svg{width:22px;height:22px}

.field-with-icon{
  display:flex;align-items:center;gap:10px;
  background:var(--field);border:1.5px solid var(--field-border);border-radius:var(--radius);
  padding:0 16px;height:52px;
}
.field-with-icon:focus-within{border-color:var(--field-focus)}
.field-with-icon.error{border-color:var(--danger)}
.field-icon{display:flex;color:var(--field-icon)}
.field-icon svg{width:22px;height:22px}
.field-with-icon input{
  flex:1;min-width:0;height:100%;
  border:none;background:transparent;outline:none;
  font-family:inherit;font-size:15px;color:var(--field-text);
}
textarea{
  flex:1;min-height:74px;
  background:var(--field);border:1.5px solid var(--field-border);border-radius:var(--radius);
  padding:13px 16px;
  font-family:inherit;font-size:15px;color:var(--field-text);resize:none;outline:none;
}
textarea:focus{border-color:var(--field-focus)}
input::placeholder,textarea::placeholder{color:var(--muted)}
.error-text{color:var(--danger);font-size:13px;font-weight:500;display:none;margin-top:-6px}
.error-text.show{display:block}

.submit-btn{
  background:var(--btn);color:var(--btn-text);
  border:none;border-radius:var(--radius);height:54px;
  font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;
  transition:background .15s ease,transform .05s ease;
}
.submit-btn:hover:not(:disabled){background:var(--btn-hover)}
.submit-btn:active:not(:disabled){background:var(--btn-active);transform:scale(.992)}
.submit-btn:focus-visible{outline:3px solid rgba(62,97,137,.75);outline-offset:3px}
.submit-btn:disabled{opacity:.6;cursor:not-allowed}

.success-msg{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;text-align:center;
}
.success-msg .check{
  width:58px;height:58px;border-radius:50%;
  background:var(--btn);color:var(--btn-text);
  display:flex;align-items:center;justify-content:center;
}
.success-msg .check svg{width:30px;height:30px}
.success-msg p{font-size:17px;font-weight:500}
.success-msg span{font-size:14px;color:rgba(255,255,255,.55)}

/* ---- copy toast ---- */
.toast{
  position:fixed;left:50%;bottom:26px;
  transform:translateX(-50%) translateY(18px);
  background:#2A3444;color:var(--white);
  border:1px solid var(--field-border);
  padding:11px 20px;border-radius:10px;
  font-size:14px;font-weight:500;
  display:flex;align-items:center;gap:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.error{border-color:var(--danger)}
.toast svg{width:18px;height:18px}

[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:720px){
  html,body{height:auto}
  .layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}
  .panel{min-height:100vh}
  .panel-right{border-left:none;border-top:1px solid var(--line)}
}
