.contact-section { position: relative; isolation: isolate; overflow: clip; scroll-margin-top: 104px; padding-block: clamp(74px, 7vw, 108px) clamp(42px, 3.5vw, 56px); color: #f5f0e7; background: radial-gradient(ellipse 55% 55% at 16% 42%, rgba(32, 84, 98, .14), transparent 72%), radial-gradient(ellipse 38% 40% at 88% 15%, rgba(177, 126, 61, .065), transparent 76%), linear-gradient(135deg, #07141e 0%, #040d14 50%, #06131b 100%); }
.contact-section__transition { position: absolute; z-index: 0; inset: 0 0 auto; height: 92px; pointer-events: none; background: radial-gradient(76% 94px at 22% 0%, rgba(243, 239, 231, .96) 0%, rgba(243, 239, 231, .56) 36%, transparent 76%), linear-gradient(180deg, #f1eee7 0%, rgba(243, 239, 231, .82) 20%, rgba(199, 160, 98, .16) 46%, rgba(71, 54, 34, .14) 63%, transparent 100%); }
.contact-section__ambient, .contact-section__lines { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.contact-section__ambient i { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: rgba(228, 177, 101, .62); box-shadow: 0 0 12px rgba(223, 165, 83, .36); animation: contact-particle 15s ease-in-out infinite; }
.contact-section__ambient i:nth-child(1) { top: 30%; inset-inline-start: 11%; }.contact-section__ambient i:nth-child(2) { top: 68%; inset-inline-end: 17%; width: 2px; height: 2px; animation-delay: -6s; }.contact-section__ambient i:nth-child(3) { top: 23%; inset-inline-end: 43%; width: 2px; height: 2px; animation-delay: -10s; }
.contact-section__lines { overflow: hidden; }.contact-section__lines i { position: absolute; display: block; width: min(46vw, 660px); height: 290px; border: 1px solid rgba(226, 174, 98, .15); border-radius: 50%; }.contact-section__lines i:first-child { top: -230px; inset-inline-end: -190px; border-inline-start-color: transparent; border-block-end-color: rgba(237, 187, 112, .28); transform: rotate(-12deg); }.contact-section__lines i:last-child { bottom: -245px; inset-inline-start: -210px; border-inline-end-color: transparent; border-block-start-color: rgba(220, 169, 98, .16); transform: rotate(11deg); }
.contact-section__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); gap: clamp(44px, 6vw, 106px); align-items: center; width: min(1440px, calc(100% - 96px)); margin-inline: auto; }
.contact-copy { width: 100%; max-width: 530px; justify-self: start; }.contact-eyebrow { display: flex; align-items: center; gap: 13px; color: #dca867; font-size: .85rem; font-weight: 600; }.contact-eyebrow::after { width: 42px; height: 1px; background: linear-gradient(to left, #dfae6b, transparent); content: ""; }.contact-copy h2 { margin-top: 18px; color: #fbf6ed; font-size: clamp(2rem, 3.1vw, 3.2rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.28; }.contact-copy__intro { max-width: 44ch; margin-top: 18px; color: rgba(226, 232, 227, .78); font-size: clamp(.95rem, 1.08vw, 1.05rem); line-height: 2; }.contact-copy__trust { margin-top: 21px; color: rgba(226, 186, 123, .84); font-size: .82rem; }
.contact-methods { display: grid; width: 100%; justify-self: start; gap: 10px; margin-top: clamp(30px, 3.2vw, 42px); }.contact-method { display: flex; align-items: center; gap: 13px; min-height: 64px; padding: 11px 13px; border: 1px solid rgba(231, 221, 202, .14); border-radius: 11px; color: #f6f3eb; background: rgba(8, 24, 33, .46); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: border-color .25s ease, background .25s ease, transform .25s ease; }.contact-method:hover { border-color: rgba(228, 180, 109, .5); background: rgba(12, 35, 45, .64); transform: translateY(-1px); }.contact-method__icon { display: grid; flex: none; width: 38px; height: 38px; place-items: center; border: 1px solid currentColor; border-radius: 50%; }.contact-method__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }.contact-method span:last-child { display: grid; gap: 4px; }.contact-method small { color: rgba(244, 239, 229, .7); font-size: .75rem; }.contact-method strong { color: #fffaf1; font-family: var(--font-latin); font-size: .93rem; letter-spacing: .02em; }.contact-method--whatsapp { border-color: rgba(130, 192, 179, .42); color: #8bc8bb; background: linear-gradient(110deg, rgba(32, 83, 83, .66), rgba(10, 30, 39, .56)); }.contact-method--phone { color: #e0ae68; }
.lead-form { position: relative; padding: clamp(26px, 3vw, 42px); border: 1px solid rgba(213, 183, 135, .25); border-radius: 18px 8px 18px 8px; background: linear-gradient(125deg, rgba(13, 34, 45, .85), rgba(5, 19, 28, .8)); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 22px 45px rgba(0,0,0,.2); backdrop-filter: blur(12px); }.lead-form::before { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, rgba(90, 145, 155, .06), transparent 42%, rgba(220, 168, 93, .045)); content: ""; pointer-events: none; }.lead-form__header, .lead-form__grid, .lead-form__submit, .lead-form__privacy { position: relative; z-index: 1; }.lead-form__header h3 { color: #faf5ec; font-size: clamp(1.35rem, 1.85vw, 1.72rem); font-weight: 600; }.lead-form__header p { margin-top: 7px; color: rgba(224, 231, 226, .66); font-size: .87rem; }.lead-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 14px; margin-top: 26px; }.form-field { display: grid; gap: 8px; }.form-field--full { grid-column: 1 / -1; }.form-field > span { color: rgba(245, 239, 227, .88); font-size: .82rem; font-weight: 500; }.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid rgba(213, 224, 218, .19); border-radius: 8px; outline: none; color: #fcf8f0; background: rgba(3, 14, 21, .42); font: inherit; font-size: .9rem; transition: border-color .22s ease, box-shadow .22s ease, background .22s ease; }.form-field input, .form-field select { height: 46px; padding-inline: 13px; }.form-field textarea { min-height: 94px; padding: 12px 13px; resize: vertical; }.form-field select { appearance: auto; }.form-field input::placeholder, .form-field textarea::placeholder { color: rgba(218, 225, 220, .4); }.form-field option { color: #08202d; background: #edf0eb; }.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: rgba(229, 181, 107, .74); background: rgba(5, 20, 29, .63); box-shadow: 0 0 0 3px rgba(218, 164, 87, .08); }.form-field.is-invalid input, .form-field.is-invalid select, .form-field.is-invalid textarea { border-color: rgba(221, 138, 122, .74); }.form-field__error { min-height: 0; color: #e9a28d; font-size: .72rem; line-height: 1.45; }.form-field__error:not(:empty) { min-height: 16px; }.lead-form__submit { display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 50px; margin-top: 24px; border: 1px solid rgba(249, 208, 139, .8); border-radius: 9px; color: #091824; background: linear-gradient(110deg, #d9a65f, #efc885); font-family: inherit; font-size: .94rem; font-weight: 700; box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 22px rgba(0,0,0,.15); transition: transform .22s ease, box-shadow .22s ease, filter .22s ease; }.lead-form__submit:hover { filter: brightness(1.04); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 13px 26px rgba(0,0,0,.2); transform: translateY(-2px); }.lead-form__submit svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }.lead-form__privacy { margin-top: 12px; color: rgba(218, 226, 222, .52); font-size: .71rem; line-height: 1.7; }
.motion-ready .contact-copy, .motion-ready .lead-form { opacity: 0; transform: translateY(12px); transition: opacity .68s ease, transform .68s cubic-bezier(.22,.61,.36,1); }.motion-ready .lead-form { transition-delay: .12s; }.motion-ready .contact-copy.is-revealed, .motion-ready .lead-form.is-revealed { opacity: 1; transform: translateY(0); }
.site-footer { position: relative; border-top: 1px solid rgba(231, 180, 105, .14); background: #030b11; color: rgba(239, 235, 226, .68); }.site-footer__main { display: grid; grid-template-columns: minmax(300px, 1.4fr) repeat(3, minmax(150px, 1fr)); align-items: start; column-gap: clamp(26px, 3.3vw, 54px); row-gap: 28px; width: min(1440px, calc(100% - 96px)); margin-inline: auto; padding-block: clamp(42px, 5vw, 68px); }.footer-brand { max-width: 360px; }.footer-brand__name { color: #f6eddf; font-size: 1.28rem; font-weight: 600; }.footer-brand p { margin-top: 13px; color: rgba(225, 230, 225, .62); font-size: .82rem; line-height: 1.9; }.footer-links { display: grid; align-content: start; gap: 9px; }.footer-links h3 { margin-bottom: 5px; color: #e0ae68; font-size: .82rem; font-weight: 600; }.footer-links a { color: rgba(235, 233, 226, .62); font-size: .79rem; transition: color .2s ease, transform .2s ease; }.footer-links a:hover { color: #e8b974; transform: translateX(-2px); }.footer-links--contact a { display: grid; justify-items: start; gap: 3px; }.footer-links--contact strong { justify-self: start; color: #dcebe4; font-family: var(--font-latin); font-size: .8rem; }.site-footer__bottom { width: min(1440px, calc(100% - 96px)); min-height: 62px; margin-inline: auto; border-top: 1px solid rgba(244, 239, 228, .09); display: flex; align-items: center; font-size: .74rem; }
:root:dir(ltr) .contact-eyebrow::after { background: linear-gradient(to right, #dfae6b, transparent); }:root:dir(ltr) .footer-links a:hover { transform: translateX(2px); }
@keyframes contact-particle { 0%,100% { opacity:.16; transform:translate3d(0,0,0); } 50% { opacity:.7; transform:translate3d(5px,-9px,0); } }
@media (max-width: 920px) { .contact-section__inner { grid-template-columns: 1fr; gap: 44px; width: calc(100% - 64px); }.contact-copy { max-width: 660px; }.contact-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }.site-footer__main { grid-template-columns: 1.2fr repeat(2, minmax(130px, .8fr)); width: calc(100% - 64px); }.footer-links--contact { grid-column: 2 / -1; }.site-footer__bottom { width: calc(100% - 64px); } }
@media (max-width: 620px) { .contact-section { padding-block: 68px 62px; }.contact-section__inner { width: calc(100% - 40px); gap: 36px; }.contact-methods { grid-template-columns: 1fr; }.lead-form { padding: 23px 18px; border-radius: 14px 7px 14px 7px; }.lead-form__grid { grid-template-columns: 1fr; gap: 15px; }.form-field--full { grid-column: auto; }.site-footer__main { grid-template-columns: 1fr 1fr; width: calc(100% - 40px); gap: 30px 22px; padding-block: 42px; }.footer-brand { grid-column: 1 / -1; }.footer-links--contact { grid-column: auto; }.site-footer__bottom { width: calc(100% - 40px); min-height: 58px; } }
@media (prefers-reduced-motion: reduce) { .contact-section__ambient i { animation:none; }.contact-method, .lead-form__submit, .form-field input, .form-field select, .form-field textarea { transition:none; } }
