/* AuraSync — formularios de contacto */
.contact-form{display:grid;gap:20px}
.contact-form__grid{display:grid;gap:18px}
.contact-field{display:grid;gap:8px;min-width:0}
.contact-field label{font-size:13px;font-weight:650;color:var(--ink)}
.contact-field input,.contact-field select,.contact-field textarea{
  width:100%;min-height:50px;padding:13px 14px;border:1px solid var(--line-strong);border-radius:9px;
  background:#fff;color:var(--ink);font:inherit;font-size:15px;line-height:1.4;box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.contact-field textarea{min-height:138px;resize:vertical}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{
  outline:0;border-color:var(--cyan-dark);box-shadow:0 0 0 3px rgba(101,213,221,.18)
}
.contact-field [aria-invalid="true"]{border-color:var(--pink);box-shadow:0 0 0 3px rgba(229,107,152,.12)}
.contact-field__hint{font-size:12.5px;line-height:1.45;color:var(--grey)}
.contact-field__error{font-size:12.5px;line-height:1.4;color:#9e2852}
.contact-check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.5;color:var(--ink-2)}
.contact-check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--cyan-dark)}
.contact-check a{color:inherit;text-underline-offset:3px}
.contact-form__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.contact-status{margin:0;padding:14px 16px;border-left:3px solid var(--cyan);background:#edf8f8;font-size:14px;line-height:1.5;color:var(--ink)}
.contact-status--error{border-color:var(--pink);background:#fff2f6;color:#7f2144}
.contact-status--progress{border-color:var(--grey);background:#f4f6f6;color:var(--grey)}
.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.contact-page{background:#f3f5f6}
.contact-page__hero{padding:76px 0 58px}
.contact-page__hero h1{max-width:13ch;font-size:clamp(3rem,6vw,6.2rem);line-height:.96;letter-spacing:-.055em}
.contact-page__hero .lede{max-width:53ch;margin-top:26px}
.contact-page__body{padding:0 0 112px}
.contact-page__layout{display:grid;gap:42px;align-items:start}
.contact-page__panel{padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 65px rgba(16,23,25,.08)}
.contact-page__aside{padding-top:18px;border-top:1px solid var(--line-strong)}
.contact-page__aside h2{max-width:15ch;font-size:clamp(1.7rem,3vw,2.8rem)}
.contact-page__steps{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.contact-page__steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-page__steps span{font-size:12px;font-weight:700;color:var(--cyan-dark);padding-top:3px}
.contact-page__steps p{font-size:15px;line-height:1.52;color:var(--ink-2)}
@media(min-width:900px){
  .contact-page__layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.68fr);gap:84px}
  .contact-page__panel{padding:40px}
  .contact-form__grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-field--wide{grid-column:1/-1}
}

.home-contact{position:relative;overflow:hidden;padding:102px 0;background:#0d4f58;color:#fff}
.home-contact::after{content:"";position:absolute;width:520px;height:520px;right:-200px;top:-250px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 76px rgba(255,255,255,.024),0 0 0 152px rgba(255,255,255,.018)}
.home-contact__layout{position:relative;z-index:1;display:grid;gap:42px;align-items:start}
.home-contact h2{max-width:16ch;font-size:clamp(2.25rem,4.3vw,4.5rem);line-height:1.02;color:#fff}
.home-contact__copy>p:last-child{max-width:43ch;margin-top:22px;color:rgba(255,255,255,.7)}
.home-contact__form{padding:26px;border-radius:16px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 22px 65px rgba(0,0,0,.18)}
.home-contact__form .contact-form{gap:16px}
.home-contact__form .contact-field textarea{min-height:112px}
.home-contact__form .btn{width:100%;justify-content:space-between}
@media(min-width:940px){.home-contact__layout{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:88px}.home-contact__form{padding:32px}}
@media(max-width:700px){.contact-page__hero{padding-top:52px}.contact-page__body,.home-contact{padding-bottom:80px}.home-contact{padding-top:78px}.home-contact__form{padding:22px}}
