/* ============================================================
   Contact — based on the export's ui_kits/contact/index.html,
   with responsive corrections for the WordPress markup.
   ============================================================ */
html,body{margin:0;padding:0}
a{color:#5939F5}a:hover{color:#4527d4}
.ct-page a{text-decoration:none}

/* 1 — Hero with full-bleed animated mascot */
.ct-hero{position:relative;background:#FFFFFF;min-height:960px;overflow:hidden;display:flex;align-items:center}
.ct-hero__mascot{position:absolute;left:calc(-12% - 200px);bottom:-8%;width:130vw;max-width:none;height:auto;z-index:0;pointer-events:none;user-select:none;animation:fa-listfloat 4s ease-in-out infinite}
.ct-hero .fa-container{position:relative;z-index:2;padding-top:80px;padding-bottom:40px}
.ct-hero__text{max-width:640px}
.ct-hero__h1{margin:0;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:60px;line-height:1.0;letter-spacing:-1.8px;color:#050E1E;text-wrap:balance}
.ct-hero__sub{margin:20px 0 0;max-width:520px;font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.5;color:#050E1E}
.ct-info{margin-top:48px;display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.ct-info__row{display:flex;flex-direction:column;gap:6px}
.ct-info__label{font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.4;color:rgba(5,14,30,0.6)}
.ct-info__val{font-family:"Epilogue",var(--font-body);font-weight:500;font-size:20px;line-height:1.4;color:#050E1E}
a.ct-info__val{color:#050E1E}a.ct-info__val:hover{color:#5939F5}
.ct-info__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:20px;line-height:1;letter-spacing:-0.2px;color:#050E1E}
.ct-info__link svg{display:block;transition:transform 200ms ease}
.ct-info__link:hover{color:#050E1E}
.ct-info__link:hover svg{transform:translateX(3px)}
.ct-socials{display:flex;gap:14px}
.ct-socials a{display:inline-flex;transition:opacity 150ms ease}
.ct-socials a:hover{opacity:0.7}
.ct-socials img{width:32px;height:32px;display:block}

/* 2 — Contact form (navy band) — reused Location-detail form styling */
.ct-form-sec{padding:80px 0;background:#050E1E}
.ct-form-sec .fa-container{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.ct-form-row{grid-column:2 / 12;display:flex;gap:100px;align-items:flex-start}
.ct-form-lead{flex:0 0 453px;max-width:453px}
.ct-form-lead__h{margin:0;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:32px;line-height:1.1;letter-spacing:-0.64px;color:#FFFFFF}
.ct-form{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:20px}
.ct-form__group{display:flex;flex-direction:column;gap:8px}
.ct-form__label{font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.4;color:#FFFFFF}
.ct-form__input{height:48px;background:#FFFFFF;border:0;border-radius:0;padding:0 14px;font-family:"Epilogue",var(--font-body);font-size:16px;color:#050E1E;box-sizing:border-box;width:100%}
.ct-form__input--area{height:140px;padding:12px 14px;resize:vertical}
.ct-form__submit{display:inline-flex;align-items:center;justify-content:center;height:52px;background:#5939F5;color:#FFFFFF;border:0;border-radius:0;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:18px;letter-spacing:-0.18px;cursor:pointer;margin-top:4px;transition:background 150ms ease;width:100%}
.ct-form__submit:hover{background:#4527d4;color:#FFFFFF}

/* 3 — FAQ (reused Pricing accordion) */
.ct-faq{padding:120px 0;background:#F6F6F6}
.ct-faq__grid{display:grid;grid-template-columns:335px 1fr;gap:138px;align-items:start}
.ct-faq__left{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.ct-faq__h{margin:0;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:32px;line-height:1;letter-spacing:-0.32px;color:#050E1E}
.ct-faq__sub{margin:0;font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.5;color:#050E1E}
.ct-faq .as-faq__q span{font-size:18px}

/* Tablet */
@media (max-width:1199px){
  .ct-hero{min-height:0;padding-bottom:60px}
  .ct-hero__h1{font-size:48px;letter-spacing:-1.4px}
  .ct-hero__mascot{width:120vw;left:-6%}
  .ct-form-sec{padding:80px 0}
  .ct-form-row{flex-direction:column;gap:40px}
  .ct-form-lead{flex:none;max-width:none;width:100%}
  .ct-form{width:100%}
  .ct-faq{padding:80px 0}
  .ct-faq__grid{grid-template-columns:1fr;gap:32px}
}
/* Mobile */
@media (max-width:767px){
  .ct-hero{min-height:0;flex-direction:column}
  .ct-hero .fa-container{order:1;flex-shrink:0;width:100%;padding-top:96px;padding-bottom:0}
  .ct-hero__h1{font-size:34px;letter-spacing:-1px}
  .ct-hero__text{max-width:none}
  .ct-hero__mascot{position:relative;order:2;flex-shrink:0;left:auto;bottom:auto;width:120%;margin:24px 0 -8px -10%;opacity:0.9}
  .ct-info{margin-top:32px}
  .ct-form-sec{padding:60px 0}
  .ct-faq{padding:60px 0}
}

/* Keep editable hero copy inside the mobile flex content box, including
   long words/URLs added through the normal rich-text editor. */
@media (max-width:767px){
  .ct-hero .fa-container{min-width:0}
  .ct-hero__text{width:100%;min-width:0}
  .ct-hero__sub{width:100%;min-width:0;overflow-wrap:anywhere}
}
