/* ==========================================================
   VORMELO – KONTAKT
========================================================== */

.contact-hero{
  padding:42px 0 76px;
  background:
    radial-gradient(circle at 86% 18%,rgba(37,99,235,.11),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}

.contact-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:38px;
  color:#64748b;
  font-size:.84rem;
}

.contact-breadcrumb a{
  color:#64748b;
  text-decoration:none;
}

.contact-breadcrumb a:hover{
  color:#2563eb;
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:64px;
  align-items:center;
}

.contact-hero-copy{
  min-width:0;
}

.contact-hero-copy h1{
  max-width:720px;
  margin:12px 0 20px;
  color:#0f1f38;
  font-size:clamp(2.45rem,4vw,4rem);
  line-height:1.04;
  letter-spacing:-.045em;
}

.contact-hero-lead{
  max-width:700px;
  margin:0;
  color:#5f7086;
  font-size:1.06rem;
  line-height:1.72;
}

.contact-hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

.contact-hero-points span{
  padding:9px 13px;
  border:1px solid #dbe6f4;
  border-radius:999px;
  background:#fff;
  color:#253b58;
  font-size:.81rem;
  font-weight:750;
  box-shadow:0 8px 22px rgba(15,44,85,.045);
}


/* ==========================================================
   QUICK CONTACT
========================================================== */

.contact-quick-card{
  padding:32px;
  border:1px solid #d7e4f5;
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 12%,rgba(37,99,235,.12),transparent 32%),
    #fff;
  box-shadow:0 24px 65px rgba(15,44,85,.10);
}

.contact-quick-icon{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  margin-bottom:22px;
  border-radius:18px;
  background:#2563eb;
  color:#fff;
  font-size:1.45rem;
  font-weight:900;
  box-shadow:0 14px 30px rgba(37,99,235,.23);
}

.contact-quick-card h2{
  margin:10px 0 12px;
  color:#10213a;
  font-size:clamp(1.7rem,2.5vw,2.35rem);
  line-height:1.1;
  letter-spacing:-.03em;
}

.contact-quick-card > p{
  margin:0 0 22px;
  color:#65758a;
  line-height:1.65;
}

.contact-quick-list{
  display:grid;
  gap:10px;
}

.contact-quick-list > a,
.contact-quick-list > div{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid #e0e8f2;
  border-radius:15px;
  background:#f9fbff;
  color:inherit;
  text-decoration:none;
}

.contact-quick-list > a{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.contact-quick-list > a:hover{
  transform:translateY(-2px);
  border-color:#bdd2f7;
  box-shadow:0 12px 26px rgba(37,99,235,.08);
}

.contact-quick-list-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:12px;
  background:#edf4ff;
  color:#2563eb;
  font-weight:850;
}

.contact-quick-list small,
.contact-quick-list strong{
  display:block;
}

.contact-quick-list small{
  margin-bottom:3px;
  color:#7a899c;
  font-size:.72rem;
}

.contact-quick-list strong{
  color:#17304f;
  font-size:.88rem;
}


/* ==========================================================
   SECTIONS
========================================================== */

.contact-section,
.contact-form-section,
.contact-help-section{
  padding:88px 0;
}

.contact-heading{
  max-width:820px;
  margin-bottom:42px;
}

.contact-heading h2,
.contact-form-intro h2,
.contact-help-card h2{
  margin:10px 0 14px;
  color:#10213a;
  font-size:clamp(1.9rem,3vw,2.85rem);
  line-height:1.1;
  letter-spacing:-.035em;
}

.contact-heading p,
.contact-form-intro > p,
.contact-help-card p{
  max-width:760px;
  margin:0;
  color:#65758a;
  line-height:1.68;
}


/* ==========================================================
   REASONS
========================================================== */

.contact-reason-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.contact-reason-card{
  min-height:230px;
  padding:24px;
  border:1px solid #dfe8f2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,38,70,.055);
}

.contact-reason-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  margin-bottom:24px;
  border-radius:14px;
  background:#edf4ff;
  color:#2563eb;
  font-size:1.15rem;
  font-weight:850;
}

.contact-reason-card h3{
  margin:0 0 10px;
  color:#17304f;
  font-size:1rem;
}

.contact-reason-card p{
  margin:0;
  color:#6a7a8e;
  font-size:.87rem;
  line-height:1.65;
}


/* ==========================================================
   FORM
========================================================== */

.contact-form-section{
  background:
    radial-gradient(circle at 12% 8%,rgba(37,99,235,.075),transparent 30%),
    #f7faff;
}

.contact-form-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  gap:64px;
  align-items:start;
}

.contact-form-intro{
  position:sticky;
  top:110px;
}

.contact-check-list{
  display:grid;
  gap:12px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}

.contact-check-list li{
  position:relative;
  padding-left:32px;
  color:#334a67;
  font-weight:700;
  line-height:1.5;
}

.contact-check-list li::before{
  content:"✓";
  position:absolute;
  top:0;
  left:0;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  background:#e8f2ff;
  color:#2563eb;
  font-size:.7rem;
  font-weight:900;
}

.contact-form{
  padding:30px;
  border:1px solid #d8e5f6;
  border-radius:26px;
  background:#fff;
  box-shadow:0 20px 56px rgba(15,44,85,.08);
}

.contact-form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.contact-field{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}

.contact-field label{
  color:#213650;
  font-size:.82rem;
  font-weight:750;
}

.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%;
  min-width:0;
  border:1px solid #d6e1ef;
  border-radius:12px;
  background:#fbfdff;
  color:#12243d;
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.contact-field input,
.contact-field select{
  height:50px;
  padding:0 14px;
}

.contact-field textarea{
  min-height:160px;
  padding:14px;
  resize:vertical;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  border-color:#7ca8f8;
  background:#fff;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

.contact-field input::placeholder,
.contact-field textarea::placeholder{
  color:#98a5b5;
}

.contact-consent{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:6px 0 24px;
  color:#65758a;
  font-size:.78rem;
  line-height:1.55;
}

.contact-consent input{
  width:17px;
  height:17px;
  margin-top:2px;
  accent-color:#2563eb;
}

.contact-form-footer{
  display:flex;
  flex-wrap:wrap;
  gap:14px 18px;
  align-items:center;
}

.contact-submit{
  min-width:180px;
}

.contact-form-footer small{
  color:#8693a3;
  font-size:.72rem;
}

.contact-form-status{
  margin-top:16px;
  color:#49627e;
  font-size:.82rem;
  line-height:1.55;
}


/* ==========================================================
   HELP
========================================================== */

.contact-help-section{
  background:#fff;
}

.contact-help-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:center;
  padding:34px 38px;
  border:1px solid #d8e5f6;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 15%,rgba(37,99,235,.10),transparent 32%),
    linear-gradient(180deg,#f9fbff 0%,#f5f8ff 100%);
  box-shadow:0 14px 38px rgba(15,44,85,.055);
}

.contact-help-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-width:330px;
}

.contact-help-actions .button{
  justify-content:center;
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1050px){

  .contact-hero-grid,
  .contact-form-grid{
    grid-template-columns:1fr;
  }

  .contact-hero-grid{
    gap:36px;
  }

  .contact-quick-card{
    max-width:760px;
  }

  .contact-reason-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .contact-form-grid{
    gap:34px;
  }

  .contact-form-intro{
    position:static;
  }

  .contact-help-card{
    grid-template-columns:1fr;
  }

  .contact-help-actions{
    width:100%;
    min-width:0;
  }
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:700px){

  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .contact-hero .container,
  .contact-section .container,
  .contact-form-section .container,
  .contact-help-section .container{
    width:min(calc(100% - 32px),680px);
    max-width:100%;
    margin-inline:auto;
    padding-inline:0;
  }

  .contact-hero{
    padding:28px 0 54px;
  }

  .contact-breadcrumb{
    margin-bottom:24px;
    font-size:.78rem;
  }

  .contact-hero-grid{
    gap:28px;
  }

  .contact-hero-copy h1{
    max-width:100%;
    margin-bottom:16px;
    font-size:clamp(2rem,9.5vw,2.7rem);
    line-height:1.07;
  }

  .contact-hero-lead{
    max-width:100%;
    font-size:.96rem;
    line-height:1.65;
  }

  .contact-hero-points{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin-top:22px;
  }

  .contact-hero-points span{
    width:100%;
    border-radius:14px;
  }

  .contact-quick-card{
    width:100%;
    padding:24px 20px;
    border-radius:22px;
  }

  .contact-quick-card h2{
    font-size:clamp(1.6rem,7.5vw,2rem);
  }

  .contact-section,
  .contact-form-section,
  .contact-help-section{
    padding:62px 0;
  }

  .contact-heading{
    max-width:100%;
    margin-bottom:28px;
  }

  .contact-heading h2,
  .contact-form-intro h2,
  .contact-help-card h2{
    max-width:100%;
    font-size:clamp(1.75rem,8vw,2.25rem);
  }

  .contact-reason-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .contact-reason-card{
    min-height:0;
    padding:22px 20px;
    border-radius:18px;
  }

  .contact-reason-icon{
    margin-bottom:18px;
  }

  .contact-form-grid{
    gap:28px;
  }

  .contact-form{
    width:100%;
    padding:22px 18px;
    border-radius:20px;
  }

  .contact-form-row{
    grid-template-columns:1fr;
    gap:0;
  }

  .contact-field input,
  .contact-field select{
    height:48px;
  }

  .contact-form-footer{
    display:grid;
    grid-template-columns:1fr;
  }

  .contact-submit{
    width:100%;
    min-width:0;
  }

  .contact-help-card{
    gap:22px;
    padding:24px 20px;
    border-radius:20px;
  }

  .contact-help-actions{
    grid-template-columns:1fr;
    width:100%;
  }

  .contact-help-actions .button{
    width:100%;
  }
}

@media(max-width:420px){

  .contact-hero .container,
  .contact-section .container,
  .contact-form-section .container,
  .contact-help-section .container{
    width:calc(100% - 24px);
  }

  .contact-hero-copy h1{
    font-size:clamp(1.9rem,10vw,2.4rem);
  }

  .contact-quick-list > a,
  .contact-quick-list > div{
    grid-template-columns:38px minmax(0,1fr);
    padding:11px;
  }

  .contact-quick-list-icon{
    width:38px;
    height:38px;
  }
}
