/* Extracted from JA_CONTACT_RELAUNCH.html. */

.entry-content.single-content { max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.ja-contact-page, .ja-contact-page * { box-sizing:border-box; }
.ja-contact-page {
  --cream:#f5f0ea; --beige:#e8ddd2; --warm:#d4c4b0; --brown:#2c1f14; --brown-mid:#6b4c32; --accent:#c4a882; --white:#faf8f5;
  background:var(--white); color:var(--brown); font-family:'DM Sans', sans-serif; overflow-x:hidden;
}
.ja-contact-section { padding:clamp(76px,9vw,138px) 8vw; }
.ja-contact-hero { background:linear-gradient(90deg,var(--cream) 64%,var(--white) 64%); min-height:62vh; display:flex; align-items:center; }
.ja-contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:clamp(38px,6vw,92px); align-items:start; }
.ja-contact-kicker { display:inline-flex; align-items:center; gap:14px; margin:0 0 26px; color:var(--brown-mid); font-size:11px; letter-spacing:3px; text-transform:uppercase; }
.ja-contact-kicker::after { content:""; width:42px; height:1px; background:var(--warm); }
.ja-contact-page h1,.ja-contact-page h2,.ja-contact-page h3 { font-family:'Cormorant Garamond', serif; font-weight:300; line-height:1.04; margin:0; color:var(--brown); }
.ja-contact-page h1 { max-width:820px; font-size:clamp(52px,6.4vw,88px); letter-spacing:-2.2px; }
.ja-contact-page h2 { font-size:clamp(40px,5.6vw,76px); letter-spacing:-1.3px; }
.ja-contact-page h3 { font-size:clamp(28px,2.8vw,40px); }
.ja-contact-lead { max-width:680px; margin:28px 0 0; color:var(--brown-mid); font-size:clamp(18px,1.5vw,22px); line-height:1.75; font-weight:300; }
.ja-contact-copy { color:var(--brown-mid); font-size:17px; line-height:1.8; font-weight:300; }
.ja-contact-card { padding:34px; border-radius:24px; background:var(--brown); color:var(--cream); box-shadow:0 28px 80px rgba(44,31,20,.14); }
.ja-contact-card h3 { color:var(--cream); }
.ja-contact-card p,.ja-contact-card li { color:rgba(245,240,234,.7); }
.ja-contact-list { display:grid; gap:14px; list-style:none; margin:24px 0 0; padding:0; }
.ja-contact-list li { position:relative; padding-left:28px; line-height:1.65; }
.ja-contact-list li::before { content:""; position:absolute; left:0; top:.78em; width:13px; height:1px; background:var(--accent); }
.ja-contact-methods { display:grid; gap:14px; margin-top:30px; }
.ja-contact-method { display:flex; justify-content:space-between; gap:18px; padding:18px 0; border-top:1px solid rgba(196,168,130,.24); color:rgba(245,240,234,.74); }
.ja-contact-method strong { color:var(--accent); font-size:12px; letter-spacing:2px; text-transform:uppercase; }
.ja-contact-method a { color:var(--cream); text-decoration:none; }
.ja-contact-form-wrap { padding:34px; border:1px solid var(--beige); border-radius:24px; background:var(--white); box-shadow:0 22px 70px rgba(44,31,20,.07); }
.ja-contact-form { display:grid; gap:18px; margin-top:28px; }
.ja-contact-field { display:grid; gap:8px; }
.ja-contact-field label { color:var(--brown); font-size:13px; letter-spacing:1.4px; text-transform:uppercase; }
.ja-contact-field input,.ja-contact-field select,.ja-contact-field textarea {
  width:100%; min-height:50px; border:1px solid var(--beige); border-radius:10px; background:var(--cream); color:var(--brown); padding:14px 16px; font-family:'DM Sans', sans-serif; font-size:15px;
}
.ja-contact-field textarea { min-height:150px; resize:vertical; }
.ja-contact-submit { display:inline-flex; align-items:center; justify-content:center; min-height:54px; margin-top:8px; padding:16px 30px; border:1px solid var(--brown); background:var(--brown); color:var(--cream); text-transform:uppercase; letter-spacing:1.8px; font-size:12px; cursor:pointer; transition:.3s ease; }
.ja-contact-submit:hover { background:var(--accent); border-color:var(--accent); color:var(--brown); }
.ja-contact-note { margin-top:18px; color:var(--brown-mid); font-size:14px; line-height:1.7; }
.ja-contact-wpforms .wpforms-container { margin:28px 0 0 !important; }
.ja-contact-wpforms .wpforms-field { padding:0 0 18px !important; }
.ja-contact-wpforms .wpforms-field-label {
  color:var(--brown) !important;
  font-size:13px !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  margin-bottom:8px !important;
}
.ja-contact-wpforms input,
.ja-contact-wpforms select,
.ja-contact-wpforms textarea {
  width:100% !important;
  min-height:50px !important;
  border:1px solid var(--beige) !important;
  border-radius:10px !important;
  background:var(--cream) !important;
  color:var(--brown) !important;
  padding:14px 16px !important;
  font-family:'DM Sans', sans-serif !important;
  font-size:15px !important;
  box-shadow:none !important;
}
.ja-contact-wpforms textarea { min-height:150px !important; resize:vertical !important; }
.ja-contact-wpforms .wpforms-submit {
  min-height:54px !important;
  padding:16px 30px !important;
  border:1px solid var(--brown) !important;
  border-radius:0 !important;
  background:var(--brown) !important;
  color:var(--cream) !important;
  font-family:'DM Sans', sans-serif !important;
  text-transform:uppercase !important;
  letter-spacing:1.8px !important;
  font-size:12px !important;
  box-shadow:none !important;
  transition:.3s ease !important;
}
.ja-contact-wpforms .wpforms-submit:hover {
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:var(--brown) !important;
}
.ja-contact-dark {
  background:var(--brown);
  color:var(--cream);
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1fr);
  gap:clamp(42px,7vw,110px);
  align-items:center;
}
.ja-contact-dark h2,.ja-contact-dark h3 { color:var(--cream); }
.ja-contact-dark .ja-contact-kicker { color:var(--accent); }
.ja-contact-dark .ja-contact-copy,.ja-contact-dark .ja-contact-lead { color:rgba(245,240,234,.68); }
.ja-contact-dark-copy {
  max-width:680px;
}
.ja-contact-dark .ja-contact-kicker {
  margin-bottom:24px;
}
.ja-contact-dark h2 {
  max-width:12ch;
}
.ja-contact-dark .ja-contact-lead {
  max-width:520px;
}
.ja-contact-steps {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:0;
}
.ja-contact-step {
  padding:clamp(26px,3.2vw,40px);
  border:1px solid rgba(196,168,130,.18);
  border-radius:22px;
  background:rgba(245,240,234,.05);
  min-height:220px;
}
.ja-contact-step span { display:block; margin-bottom:26px; color:var(--accent); letter-spacing:2px; font-size:12px; }
.ja-contact-step h3 {
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.ja-contact-step .ja-contact-copy {
  max-width:28rem;
  font-size:16px;
  line-height:1.75;
}
@media (max-width:1024px){ .ja-contact-grid{grid-template-columns:1fr;} .ja-contact-hero{background:var(--cream);} .ja-contact-dark{grid-template-columns:1fr;} }
@media (max-width:767px){
  .ja-contact-section{padding:72px 6vw;}
  .ja-contact-page h1{font-size:clamp(50px,15vw,74px);}
  .ja-contact-steps{grid-template-columns:1fr; gap:14px;}
  .ja-contact-step{min-height:auto; padding:28px;}
  .ja-contact-step h3{font-size:clamp(30px,10vw,42px);}
  .ja-contact-method{display:grid;}
}
@media (max-width:1180px){
  .ja-contact-dark{
    display:block !important;
  }

  .ja-contact-dark-copy{
    max-width:760px !important;
    margin-bottom:34px !important;
  }

  .ja-contact-dark h2{
    max-width:760px !important;
  }

  .ja-contact-dark .ja-contact-lead{
    max-width:680px !important;
  }

  .ja-contact-dark .ja-contact-steps{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none;
    margin-left:0;
    margin-right:0;
  }

  .ja-contact-dark .ja-contact-step{
    min-height:auto !important;
  }
}

@media (max-width:767px){
  .ja-contact-dark{
    text-align:left;
    display:block !important;
  }

  .ja-contact-dark .ja-contact-kicker{
    display:flex;
    writing-mode:horizontal-tb;
    transform:none;
    letter-spacing:2.6px;
    margin-bottom:22px;
  }

  .ja-contact-dark h2{
    font-size:clamp(44px,13vw,62px);
    max-width:100%;
    line-height:1.02;
    letter-spacing:-1px;
  }

  .ja-contact-dark .ja-contact-lead{
    font-size:16px;
    line-height:1.75;
    margin-bottom:34px;
  }

  .ja-contact-dark .ja-contact-steps{
    grid-template-columns:1fr !important;
    max-width:none;
  }

  .ja-contact-dark .ja-contact-step h3{
    font-size:clamp(30px,9vw,40px) !important;
    line-height:1.08 !important;
  }
}

@media (max-width:1280px){
  .ja-contact-dark{
    grid-template-columns:1fr !important;
  }

  .ja-contact-dark-copy{
    min-width:0 !important;
  }

  .ja-contact-dark h2,
  .ja-contact-dark .ja-contact-lead{
    max-width:760px !important;
  }

  .ja-contact-steps{
    min-width:0 !important;
  }
}

@media (max-width:767px){
  .ja-contact-section{
    padding:58px 20px;
  }

  .ja-contact-hero{
    min-height:auto;
    padding-top:92px;
    padding-bottom:42px;
  }

  .ja-contact-grid{
    gap:28px;
  }

  .ja-contact-page h1{
    font-size:clamp(40px,11.6vw,56px);
    line-height:1.02;
    letter-spacing:-1px;
  }

  .ja-contact-page h2{
    font-size:clamp(36px,10.5vw,52px);
    line-height:1.03;
    letter-spacing:-.8px;
  }

  .ja-contact-lead{
    margin-top:20px;
    font-size:16px;
    line-height:1.66;
  }

  .ja-contact-copy{
    font-size:15px;
    line-height:1.7;
  }

  .ja-contact-card,
  .ja-contact-form-wrap{
    padding:22px;
    border-radius:22px;
  }

  .ja-contact-list{
    gap:10px;
    margin-top:18px;
  }

  .ja-contact-list li{
    padding-left:24px;
    font-size:14px;
    line-height:1.58;
  }

  .ja-contact-methods{
    gap:8px;
    margin-top:22px;
  }

  .ja-contact-method{
    padding:13px 0;
  }

  .ja-contact-wpforms .wpforms-container{
    margin-top:20px !important;
  }

  .ja-contact-wpforms .wpforms-field{
    padding:0 0 14px !important;
    overflow:visible !important;
  }

  .ja-contact-wpforms .wpforms-field-label{
    font-size:11px !important;
    letter-spacing:1.2px !important;
    margin-bottom:7px !important;
  }

  .ja-contact-wpforms input,
  .ja-contact-wpforms select,
  .ja-contact-wpforms textarea{
    min-height:48px !important;
    padding:13px 14px !important;
    border-radius:14px !important;
    font-size:16px !important;
  }

  .ja-contact-wpforms textarea{
    min-height:124px !important;
  }

  .ja-contact-wpforms .wpforms-submit-container{
    padding:2px 0 0 !important;
  }

  .ja-contact-wpforms .wpforms-submit{
    width:100% !important;
    min-height:52px !important;
    border-radius:999px !important;
    padding:15px 22px !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:14px !important;
    font-weight:800 !important;
  }

  .ja-contact-wpforms .cf-turnstile,
  .ja-contact-wpforms iframe{
    max-width:100% !important;
  }

  .ja-contact-mode-pilot #ja-contact-title{
    font-size:clamp(38px,10.8vw,54px);
  }

  .ja-contact-mode-pilot #ja-contact-section-title{
    font-size:clamp(35px,10vw,50px);
  }
}

@media (max-width:420px){
  .ja-contact-section{
    padding-left:16px;
    padding-right:16px;
  }

  .ja-contact-hero{
    padding-top:84px;
  }

  .ja-contact-card,
  .ja-contact-form-wrap{
    padding:18px;
  }
}

/* Mobile-Fix: Der dunkle Kontaktbereich darf nicht als zweispaltige/flex Section bleiben.
   Die Live-Seite hat eine globale Kontakt-Regel mit display:flex; diese Regel gewinnt sonst
   gegen .ja-contact-dark und zerquetscht die linke Textspalte auf Mobile. */
@media (max-width:900px){
  .ja-contact-page > .ja-contact-section.ja-contact-dark{
    display:block !important;
    min-height:auto !important;
    align-items:initial !important;
    gap:0 !important;
    padding:64px 20px !important;
    text-align:left !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-dark-copy,
  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-steps{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-dark-copy{
    margin-bottom:30px !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-kicker{
    display:flex !important;
    width:100% !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark h2{
    max-width:100% !important;
    font-size:clamp(36px,10.5vw,52px) !important;
    line-height:1.04 !important;
    letter-spacing:-.8px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-lead{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.68 !important;
    margin-bottom:0 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-step{
    width:100% !important;
    min-width:0 !important;
    min-height:auto !important;
    padding:22px !important;
  }

  .ja-contact-page > .ja-contact-section.ja-contact-dark .ja-contact-step h3{
    max-width:100% !important;
    font-size:clamp(30px,9vw,40px) !important;
    line-height:1.08 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
}

@media (max-width:420px){
  .ja-contact-page > .ja-contact-section.ja-contact-dark{
    padding:58px 16px !important;
  }
}
