.page:has(.contact){height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;min-height:0}.contact{position:relative;height:100%;max-height:100%;flex-direction:column;align-items:stretch;background:linear-gradient(180deg,#fbfaf9,#f3f0ec);color:#80374a;box-sizing:border-box;padding:calc(10rem + env(safe-area-inset-top, 0px)) 1.25rem max(1.25rem,env(safe-area-inset-bottom,0px));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.contact,.contact__main{width:100%;min-height:0;display:flex}.contact__main{max-width:40rem;margin-left:auto;margin-right:auto;flex:1 1 0;flex-direction:column;justify-content:center;padding-bottom:.25rem}.contact__header{margin-bottom:clamp(.75rem,2vh,1.1rem);text-align:center;flex-shrink:0}.contact__title{font-size:clamp(1.55rem,3.8vh,1.95rem);font-weight:600;letter-spacing:-.02em;color:#6b142d;margin:0 0 .35rem;line-height:1.15}.contact__lead,.contact__title{font-family:PP Neue Montreal,sans-serif}.contact__lead{font-size:clamp(.95rem,2.2vh,1.1rem);line-height:1.45;color:rgba(128,55,74,.75);margin:0}.contact__hint{color:rgba(128,55,74,.55);font-size:.9em}.contact-form{display:flex;flex-direction:column;gap:clamp(.85rem,1.6vh,1.2rem);flex-shrink:1;min-height:0}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,1.8vw,1rem);flex-shrink:0}.contact-form__row .contact-form__field{min-width:0}.contact-form__field{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.contact-form__field label{font-family:PP Neue Montreal,sans-serif;font-size:clamp(.8rem,1.7vh,.9rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(128,55,74,.65)}.contact-form__field input,.contact-form__field select,.contact-form__field textarea{width:100%;font-family:PP Neue Montreal,sans-serif;font-size:clamp(1.05rem,2.1vh,1.2rem);line-height:1.4;color:#5c1028;background-color:rgba(255,255,255,.75);border:1px solid rgba(128,55,74,.2);border-radius:.5rem;padding:.7rem .85rem;transition:border-color .2s ease,background-color .2s ease}.contact-form__field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2380374a' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.5rem;color:#5c1028}.contact-form__field select:invalid{color:rgba(128,55,74,.45)}.contact-form__field select:valid{color:#5c1028}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:rgba(128,55,74,.35)}.contact-form__field input:focus,.contact-form__field select:focus,.contact-form__field textarea:focus{outline:none;border-color:rgba(107,20,45,.45);background-color:#fff}.contact-form__field textarea{resize:none;height:clamp(3.75rem,8.5vh,5rem);min-height:3.75rem;max-height:5rem;padding-top:.55rem;padding-bottom:.55rem;overflow-y:auto}.contact-form__actions{display:flex;flex-direction:column;gap:.4rem;margin-top:.15rem;flex-shrink:0}.contact-form__submit-row{display:flex;flex-wrap:wrap;gap:.55rem;width:100%}.contact-form__submit-row .contact-form__submit{flex:1 1 9.5rem;min-width:0}.contact-form__submit{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:PP Pangram Sans,sans-serif;font-size:clamp(.92rem,1.9vh,1.02rem);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;-webkit-font-smoothing:antialiased;color:#5c1028;background:rgba(255,255,255,.92);border:1px solid rgba(107,20,45,.28);border-radius:.5rem;padding:clamp(.7rem,1.5vh,.9rem) 1.2rem;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .15s ease}.contact-form__submit-label{position:relative;display:inline-block;width:max-content;max-width:100%;text-align:center;line-height:1.2;padding-bottom:.15rem}.contact-form__submit-label:after{content:"";position:absolute;width:100%;height:.1rem;bottom:0;left:0;background:#6b142d;transform:scaleX(0);transform-origin:bottom right;transition:transform .25s ease-out;will-change:transform}.contact-form__submit:hover:not(:disabled) .contact-form__submit-label:after{transform:scaleX(1);transform-origin:bottom left}.contact-form__submit:focus-visible{outline:2px solid rgba(107,20,45,.35);outline-offset:2px}.contact-form__submit--whatsapp:focus-visible{outline-color:rgba(18,140,126,.45)}.contact-form__submit:hover:not(:disabled){background:#fff;border-color:rgba(107,20,45,.48);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 2px 12px rgba(107,20,45,.08)}.contact-form__submit--whatsapp{color:#0a5c52;border-color:rgba(18,140,126,.38)}.contact-form__submit--whatsapp .contact-form__submit-label:after{background:#128c7e}.contact-form__submit--whatsapp:hover:not(:disabled){border-color:rgba(18,140,126,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 2px 12px rgba(18,140,126,.12)}.contact-form__submit:disabled{cursor:not-allowed;opacity:.65}.contact-form__submit:disabled .contact-form__submit-label:after{transform:none;opacity:.35}.contact-form__submit:active:not(:disabled){transform:scale(.99)}.contact-form__ok{font-family:PP Neue Montreal,sans-serif;font-size:.85rem;line-height:1.3;color:rgba(128,55,74,.65);margin:0;text-align:center}.contact-form__ok--error{color:rgba(107,20,45,.85);margin-top:.4rem;padding:.75rem 1rem;background:rgba(255,245,245,.6);border:1px solid rgba(107,20,45,.18);border-radius:.5rem}.contact-success-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:rgba(38,18,24,.42);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);animation:contact-success-backdrop-in .4s ease-out}.contact-success-modal{position:relative;max-width:22rem;width:100%;padding:2rem 1.5rem 1.4rem;text-align:center;color:#4a0f20;background:linear-gradient(170deg,#fffefa,#faf5f1 45%,#fff6f8);border:1px solid rgba(107,20,45,.16);border-radius:1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1.25rem 2.5rem rgba(50,20,30,.18);animation:contact-success-modal-in .5s cubic-bezier(.22,1,.36,1)}.contact-success-modal__logo-wrap{width:8.5rem;height:8.5rem;margin:0 auto 1.1rem;border-radius:50%;overflow:hidden;box-shadow:0 .4rem 1.35rem rgba(107,20,45,.15);background:#fff8f5;border:1px solid rgba(107,20,45,.1)}.contact-success-modal__logo{width:100%;height:100%;object-fit:cover;object-position:center}.contact-success-modal__title{font-family:PP Pangram Sans,sans-serif;font-size:clamp(1.05rem,2.2vw,1.2rem);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;-webkit-font-smoothing:antialiased;color:#2d0a14;margin:0 0 .5rem;line-height:1.2}.contact-success-modal__text{font-family:PP Neue Montreal,sans-serif;font-size:.95rem;line-height:1.45;font-weight:500;color:#5c1028;margin:0}.contact-success-modal__close{margin-top:1.35rem;width:100%;font-family:PP Pangram Sans,sans-serif;font-size:.9rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;-webkit-font-smoothing:antialiased;color:#5c1028;background:rgba(255,255,255,.85);border:1px solid rgba(107,20,45,.28);border-radius:.5rem;padding:.65rem 1rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.contact-success-modal__close:hover{background:#fff;border-color:rgba(107,20,45,.45)}.contact-success-modal__close:focus-visible{outline:2px solid rgba(107,20,45,.4);outline-offset:2px}@keyframes contact-success-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes contact-success-modal-in{0%{opacity:0;transform:translateY(.75rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.contact .contact__socials{margin-top:.6rem;flex-shrink:0;padding-top:.55rem;max-width:40rem;margin-left:auto;margin-right:auto;width:100%;gap:.4rem}.contact .contact__socials .nav-socials-heading{font-size:.88rem}.contact .contact__socials .nav-socials{gap:.4rem .65rem}.contact .contact__socials .nav-socials-link{min-width:4.5rem;padding:.4rem .45rem .45rem;gap:.3rem}.contact .contact__socials .nav-socials-icon{width:1.5rem;height:1.5rem}.contact .contact__socials .nav-socials-name{font-size:.9rem}@media (max-width:1000px){.page:has(.contact){height:auto;min-height:100dvh;max-height:none;overflow:visible}.contact{height:auto;min-height:100dvh;max-height:none;overflow-y:visible;overflow-x:hidden;padding:calc(7rem + env(safe-area-inset-top, 0px)) max(1rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.contact__main{flex:1 0 auto;justify-content:flex-start}}@media (max-width:640px){.contact-form__row{grid-template-columns:1fr}}@media (max-height:640px){.contact__header{margin-bottom:.25rem}}@media (prefers-reduced-motion:reduce){.contact-success-backdrop,.contact-success-modal{animation:none}.contact-form__submit{transition:none}.contact-form__submit:active{transform:none}.contact-form__submit-label:after{transition:none}}