:root{
  --blue:#11166b;

  --page-gutter:clamp(20px,6vw,72px);
  --maxw:1100px;

  --neo-bg:#060813;
  --neo-text:rgba(255,255,255,.92);
  --neo-muted:rgba(255,255,255,.66);
  --neo-accent:rgba(120, 210, 255, .95);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.6;
  background:var(--neo-bg);
  color:var(--neo-text);
}

/* Container */
.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
}

/* ===== HEADER ===== */
.header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--blue);
  box-shadow:0 4px 18px rgba(0,0,0,.2);
}
.nav{
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
}
.brand{
  font-weight:800;
  line-height:1.1;
  color:#fff;
  text-decoration:none;
}
.brand--link:hover{opacity:.95}
.nav ul{
  list-style:none;
  display:flex;
  gap:28px;
  margin:0;
  padding:0;
}
.nav a{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  position:relative;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  background:#fff;
  transform:scaleX(0);
  transition:.25s;
}
.nav a:hover::after,
.nav a.active::after{ transform:scaleX(1); }

.lang-switch{ display:flex; gap:6px; font-size:13px; }
.lang-btn{ background:none; border:none; color:#fff; font-weight:600; cursor:pointer; }

/* ===== PAGE BACKGROUND ===== */
.contact-neo{
  min-height:100vh;
  position:relative;
  overflow:hidden;
}
.contact-neo::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(900px 520px at 18% 20%, rgba(90, 220, 255, .16), transparent 62%),
    radial-gradient(900px 520px at 82% 28%, rgba(170, 120, 255, .16), transparent 62%),
    radial-gradient(900px 520px at 50% 92%, rgba(40, 120, 255, .10), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.25));
  filter:saturate(1.05);
}
.contact-neo > *{ position:relative; z-index:1; }

/* ===== HERO ===== */
.contact-hero{
  padding:54px 0 14px;
  text-align:center;
}
.page-title{
  margin:0;
  font-size:clamp(26px, 4.2vw, 46px);
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 18px 60px rgba(0,0,0,.6);
}
.page-underline{
  width:84px;
  height:3px;
  margin:16px auto 14px;
  border-radius:99px;
  background:rgba(120,210,255,.75);
  box-shadow:0 0 22px rgba(120,210,255,.25);
}
.page-subtitle{
  margin:0 auto 14px;
  max-width:78ch;
  color:var(--neo-muted);
  font-weight:650;
}

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:14px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.86);
  font-weight:800;
  font-size:13px;
  backdrop-filter: blur(10px);
}

/* ===== LAYOUT ===== */
.contact-main{ padding:16px 0 72px; }

.contact-grid{
  display:grid;
  grid-template-columns: 1.55fr 2.05fr; /* left slightly wider for readability */
  gap:18px;
  align-items:stretch;
}

/* ===== PANEL SYSTEM ===== */
.panel{
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 70px rgba(0,0,0,.35);
  backdrop-filter: blur(14px);
  padding:18px;
  position:relative;
  overflow:hidden;
}

.panel::before{
  content:"";
  position:absolute;
  inset:-70px;
  pointer-events:none;
  background:
    radial-gradient(520px 280px at 15% 10%, rgba(90, 220, 255, .12), transparent 62%),
    radial-gradient(520px 280px at 85% 25%, rgba(170, 120, 255, .10), transparent 62%);
  opacity:.85;
}

.panel > *{ position:relative; z-index:1; }

.panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.panel__title{
  margin:0;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(255,255,255,.92);
}
.panel__chip{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:7px 10px;
  border-radius:999px;
  color:rgba(120,210,255,.95);
  background:rgba(120,210,255,.08);
  border:1px solid rgba(120,210,255,.18);
  font-weight:800;
}
.panel__chip--soft{
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

/* ===== LEFT: contact blocks ===== */
.contact-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:12px;
}

.contact-block{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:14px 14px;
  border-radius:18px;
  text-decoration:none;
  color:rgba(255,255,255,.92);

  background:rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.12);
  transition: transform .18s, background .18s, border-color .18s;
}

.contact-block:hover{
  transform: translateY(-1px);
  background:rgba(0,0,0,.22);
  border-color:rgba(255,255,255,.18);
}

.contact-block__text{ min-width:0; }
.contact-block__label{
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(255,255,255,.66);
  margin-bottom:6px;
}

.contact-block__value{
  font-weight:900;
  font-size:14px;
  line-height:1.25;
  color:rgba(255,255,255,.96);

  /* show full email/link */
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.contact-block__right{
  display:flex;
  align-items:center;
  gap:10px;
  flex: 0 0 auto;
}

.contact-block__arrow{
  font-weight:900;
  color:rgba(120,210,255,.95);
  font-size:18px;
  opacity:.95;
}

/* small copy button */
.mini-btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.90);
  padding:8px 10px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  cursor:pointer;
  backdrop-filter: blur(10px);
  transition: transform .18s, background .18s, border-color .18s;
}
.mini-btn:hover{
  transform: translateY(-1px);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
}

/* email highlight */
.contact-block--email{
  border-color: rgba(120,210,255,.22);
}
.contact-block--email:hover{
  border-color: rgba(120,210,255,.38);
}
.contact-block--email .contact-block__value{
  color: rgba(120,210,255,.98);
}

/* mini panels */
.panel-mini{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
}

.panel-mini__title{
  font-weight:900;
  color:rgba(255,255,255,.92);
  margin:0 0 10px;
  letter-spacing:.06em;
}
.panel-mini__note{
  margin:10px 0 0;
  color:rgba(255,255,255,.62);
  font-weight:650;
  font-size:13px;
}

.mini-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.mini-list li{
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-weight:650;
  font-size:13px;
}

.badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.badge{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:750;
}

/* toast */
.toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%) translateY(10px);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(10,12,24,.82);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.92);
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:11px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 9999;
}
.toast.is-show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* ===== RIGHT: form ===== */
.form-hint{
  margin:0 0 14px;
  color:rgba(255,255,255,.65);
  font-weight:650;
  font-size:14px;
}

.contact-form select,
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.28);
  color:rgba(255,255,255,.92);
  outline:none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.contact-form textarea{ resize:vertical; min-height: 170px; }

.contact-form select:focus,
.contact-form input:focus,
.contact-form textarea:focus{
  border-color: rgba(120,210,255,.42);
  box-shadow: 0 0 0 3px rgba(120,210,255,.14);
  background:rgba(0,0,0,.34);
}

.form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.field{ display:grid; gap:8px; }
.field--full{ grid-column: 1 / -1; }

label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
  font-weight:800;
}

.form-actions{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(120,210,255,.35);
  background:rgba(120,210,255,.92);
  color:rgba(10,10,20,.95);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  cursor:pointer;
  box-shadow:0 18px 40px rgba(0,0,0,.30);
  transition: transform .2s, filter .2s;
}
.submit-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.form-note{
  color:rgba(255,255,255,.55);
  font-weight:650;
  font-size:12.5px;
  max-width: 56ch;
}

/* ===== FOOTER (same as other pages) ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  transition:.25s;
}
.btn--primary{
  background:#fff;
  color:var(--blue) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.35);
}
.btn--primary:hover{ transform:translateY(-2px); }
.btn--ghost{
  border:1.5px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.12);
  color:#fff !important;
}
.btn--ghost:hover{ background:rgba(255,255,255,.22); }
.btn--primary-dark{
  background:#fff;
  color:var(--blue) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.25);
}
.btn--ghost-dark{
  border:1.5px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.12);
  color:#fff !important;
}

.cta-band{
  background:linear-gradient(180deg, #11166b 0%, #0d1258 100%);
  color:#fff;
  padding:42px 0;
}
.cta-band__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.cta-band__text h3{
  margin:0 0 6px;
  font-size:22px;
  letter-spacing:.02em;
}
.cta-band__text p{ margin:0; opacity:.9; }
.cta-band__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.footer{
  background:#0b0f4f;
  color:#e9ecff;
}
.footer__grid{
  padding:44px 0;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:34px;
}
.footer__brand{
  font-weight:900;
  font-size:18px;
  margin-bottom:10px;
  color:#fff;
}
.footer__muted{
  margin:6px 0 0;
  opacity:.85;
  color:#d7dcff;
}
.footer__title{
  font-weight:800;
  color:#fff;
  margin-bottom:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
.footer__links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.footer__links a{
  color:#d7dcff;
  text-decoration:none;
  opacity:.92;
}
.footer__links a:hover{ opacity:1; text-decoration:underline; }

.footer__contact{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d7dcff;
  text-decoration:none;
  margin-bottom:12px;
}
.footer__contact:hover{ color:#fff; }

.ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  opacity:.9;
}
.ico svg{ width:18px;height:18px;color:currentColor; }

.footer__lang{ margin-top:16px; }
.lang-switch--footer{ margin-top:8px; }
.lang-switch--footer span{ opacity:.55; color:#d7dcff; }
.lang-switch--footer .lang-btn{ padding:2px 6px; border-radius:6px; }
.lang-switch--footer .lang-btn.active,
.lang-switch--footer .lang-btn:hover{ background:rgba(255,255,255,.12); }

.footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:14px 0;
}
.footer__bottom-inner{
  text-align:center;
  font-size:13px;
  color:#d7dcff;
  opacity:.9;
}

/* ===== Responsive ===== */
@media (max-width:980px){
  .contact-grid{ grid-template-columns:1fr; }
  .form-grid{ grid-template-columns:1fr; }

  .cta-band__inner{ flex-direction:column; text-align:center; }
  .cta-band__actions{ justify-content:center; }
  .footer__grid{ grid-template-columns:1fr; }
}

/* ===== SUBMIT button loader state ===== */
.submit-btn{
  position:relative;
  gap:10px;
}
.submit-btn__loader{
  width:14px;height:14px;
  border-radius:999px;
  border:2px solid rgba(10,10,20,.35);
  border-top-color: rgba(10,10,20,.92);
  display:none;
  animation: spin .7s linear infinite;
}
.submit-btn.is-sending .submit-btn__loader{ display:inline-block; }
.submit-btn.is-sending .submit-btn__arrow{ display:none; }
.submit-btn.is-sending .submit-btn__text{ opacity:.9; }

@keyframes spin{
  to{ transform:rotate(360deg); }
}

/* ===== Toast (copied) ===== */
.toast{
  position:fixed;
  right:18px;
  bottom:18px;
  padding:10px 14px;
  border-radius:14px;
  background: rgba(120,210,255,.92);
  color: rgba(10,10,20,.95);
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:11px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  opacity:0;
  transform: translateY(8px);
  pointer-events:none;
  transition: .2s;
  z-index:3000;
}
.toast.is-show{
  opacity:1;
  transform: translateY(0);
}

/* ===== THANKS PAGE (same design family) ===== */
.thanks-hero{
  padding:72px 0 90px;
  text-align:center;
}
.thanks-hero__inner{
  max-width: 70ch;
  margin: 0 auto;
}

.thanks-check{
  width:76px;
  height:76px;
  margin:0 auto 18px;
  border-radius:999px;
  background: rgba(120,210,255,.92);
  color: rgba(10,10,20,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 1000;
  font-size: 34px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  animation: pop .55s ease;
}
.thanks-check span{
  transform: translateY(-1px);
}

.thanks-title{
  margin:0;
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 950;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(255,255,255,.95);
}
.thanks-subtitle{
  margin: 12px auto 22px;
  color: rgba(255,255,255,.68);
  font-weight: 650;
}

.thanks-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

.ghost-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.20);
  transition: transform .2s, background .2s;
}
.ghost-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.12);
}

@keyframes pop{
  0%{ transform: scale(.85); opacity:0; }
  100%{ transform: scale(1); opacity:1; }
}