/* Contact only: the approved dark botanical composition. */
@property --contact-neon-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: true;
}

#contato.contact.section {
  --wave-base: #003d36;
  padding: 64px 0 63px;
  background-color: #003d36;
  background-image:
    linear-gradient(180deg, #003d36 0, rgba(0, 61, 54, 0) 88px),
    radial-gradient(ellipse at 78% 25%, rgba(16, 143, 105, .39), transparent 40%),
    radial-gradient(ellipse at 38% 101%, rgba(13, 169, 117, .49), transparent 39%),
    radial-gradient(ellipse at -5% 65%, rgba(0, 158, 117, .23), transparent 37%),
    linear-gradient(109deg, #00312e 0%, #005046 55%, #003e38 100%) !important;
  background-repeat: no-repeat;
}

#contato.contact.section::after {
  background: radial-gradient(ellipse at 76% 42%, rgba(25, 210, 148, .1), transparent 46%);
  opacity: 1;
  mask-image: none;
  mix-blend-mode: screen;
}

#contato .contact-scenery { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
#contato .contact-foliage { position: absolute; left: max(-76px, calc((100vw - 1920px)/2 - 70px)); bottom: -18px; width: clamp(310px, 22vw, 390px); height: auto; opacity: .95; filter: drop-shadow(0 0 16px rgba(35, 217, 129, .23)); }

#contato .contact-wrap {
  width: min(calc(100% - 80px), 1328px);
  max-width: 1328px;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(44px, 3.9vw, 75px);
  align-items: center;
  transform: translateX(40px);
}

#contato .contact-copy { position: relative; z-index: 1; padding-left: 0; transform: none; }
#contato .contact-copy .kicker { color: #67edba; font-size: 13px; letter-spacing: .2em; }
#contato .contact-copy .kicker::before { width: 25px; height: 2px; }
#contato .contact-copy .section-title {
  color: #f7fff9;
  max-width: none;
  margin: 24px 0 23px;
  font-size: clamp(48px, 3.56vw, 69px);
  line-height: 1.035;
  letter-spacing: -.063em;
  font-weight: 850;
  text-wrap: nowrap;
  text-shadow: 0 2px 16px rgba(0, 28, 22, .14);
}
#contato .contact-copy .section-title span {
  color: #7ef0c7;
  background: linear-gradient(92deg, #c4f88e 0%, #69f5c9 49%, #bffab1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 9px rgba(82, 243, 170, .12));
}
#contato .contact-copy .section-desc { color: #d4f3e6; max-width: 540px; margin: 0; font-size: clamp(17px, 1.12vw, 20px); line-height: 1.55; }
#contato .contact-benefits { margin-top: 28px; gap: 10px; color: #f2fff8; font-size: 15px; font-weight: 520; }
#contato .contact-benefits li { gap: 17px; min-height: 34px; }
#contato .contact-benefit-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid rgba(126, 255, 169, .66); border-radius: 50%; background: linear-gradient(140deg, rgba(59, 198, 121, .25), rgba(0, 112, 76, .24)); box-shadow: 0 0 14px rgba(76, 220, 134, .16), inset 0 0 10px rgba(104, 248, 170, .12); }
#contato .contact-benefit-icon .i { width: 20px; height: 20px; color: #deffef; stroke-width: 2.3; }

#contato .contact-form {
  position: relative;
  top: -20px;
  width: 100%;
  max-width: none;
  padding: 29px 48px 32px;
  border: 1px solid transparent;
  border-radius: 28px;
  color: #f6fff9;
  background: linear-gradient(137deg, rgba(0, 90, 74, .96), rgba(0, 53, 48, .95) 59%, rgba(0, 56, 47, .97)) padding-box, linear-gradient(115deg, #40ecc5 0%, rgba(58, 221, 155, .69) 44%, #d1f872 100%) border-box;
  box-shadow: inset 0 1px 0 rgba(198, 255, 227, .19), 0 0 36px rgba(42, 236, 152, .28), 0 30px 65px rgba(0, 25, 21, .25);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  overflow: visible;
}
#contato .contact-form::before,
#contato .contact-form::after {
  content: "";
  position: absolute;
  inset: -2px;
  width: auto;
  height: auto;
  padding: 2px;
  border-radius: inherit;
  pointer-events: none;
  background: conic-gradient(from var(--contact-neon-angle), transparent 0deg 334deg, rgba(75, 250, 183, .65) 344deg, #e0ff8b 352deg, #72ffd2 357deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
#contato .contact-form::before { z-index: 1; opacity: .7; filter: blur(8px); }
#contato .contact-form::after {
  z-index: 2;
  filter: drop-shadow(0 0 7px rgba(129, 255, 176, .8));
}
#contato .contact-form h3 { margin: 0 0 9px; color: #fff; font-size: clamp(27px, 1.72vw, 33px); font-weight: 820; letter-spacing: -.048em; }
#contato .contact-form > p:not(.form-hint) { max-width: 550px; margin: 0 0 24px; color: #e7f7ee; font-size: 15px; line-height: 1.6; }
#contato .field-grid { column-gap: 16px; row-gap: 18px; }
#contato .field-group { gap: 8px; min-width: 0; }
#contato .field-group label { color: #f0fff8; font-size: 13px; font-weight: 730; line-height: 1.25; }
#contato .field-group label span { font-weight: inherit; }
#contato .contact-field-control { position: relative; display: block; width: 100%; }
#contato .contact-field-icon { position: absolute; left: 16px; top: 50%; z-index: 1; width: 20px; height: 20px; transform: translateY(-50%); stroke: #096752; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
#contato .contact-field-control input,
#contato .contact-field-control select { display: block; width: 100%; min-height: 51px; padding: 12px 39px 12px 52px; border: 1px solid rgba(231, 255, 246, .78); border-radius: 9px; background: linear-gradient(120deg, #f4fffb, #e9f8f3); color: #123c36; font-size: 14px; line-height: 1.25; box-shadow: inset 0 1px 2px rgba(2, 58, 45, .06); transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease; }
#contato .contact-field-control select { height: 51px; padding-right: 38px; cursor: pointer; }
@supports (appearance: base-select) {
  #contato .contact-field-control select::picker-icon { display: none; }
}
#contato .contact-field-control:has(select)::after { content: ""; position: absolute; right: 17px; top: calc(50% - 2px); width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #00614e; pointer-events: none; }
#contato .contact-field-control input::placeholder { color: #557a75; opacity: 1; }
#contato .contact-field-control :is(input, select):hover { border-color: #9bf6c5; background-color: #fafffc; }
#contato .contact-field-control :is(input, select):focus { border-color: #56efab; box-shadow: 0 0 0 3px rgba(71, 243, 172, .27), 0 0 16px rgba(71, 243, 172, .18); }
#contato .contact-field-control :is(input, select)[aria-invalid="true"] { border-color: #ffb0a1; box-shadow: 0 0 0 2px rgba(255, 176, 161, .25); }
#contato .field-error { color: #ffe0d9; }
#contato .contact-form button[type="submit"] { position: relative; display: flex; gap: 13px; width: 100%; min-height: 57px; margin-top: 21px; padding: 0 26px; border-radius: 20px; background: linear-gradient(95deg, #5bf5bc, #baf682 67%, #e0f877); color: #04392f; font-size: 15px; font-weight: 850; box-shadow: 0 8px 25px rgba(60, 239, 150, .23), inset 0 1px 0 rgba(255, 255, 255, .58); transition: transform .24s ease, box-shadow .24s ease, filter .24s ease; }
#contato .contact-form button[type="submit"]:hover { transform: translateY(-2px); background: linear-gradient(95deg, #5bf5bc, #baf682 67%, #e0f877); filter: brightness(1.04); box-shadow: 0 12px 32px rgba(90, 250, 165, .35), inset 0 1px 0 rgba(255, 255, 255, .62); }
#contato .contact-form button[type="submit"]:disabled { cursor: wait; opacity: .64; }
#contato .contact-whatsapp-icon { display: block; width: 24px; height: 24px; flex: 0 0 24px; stroke: #024a3a; stroke-width: 1.75; stroke-linejoin: round; stroke-linecap: round; }
#contato .contact-cta-arrow { width: 21px; height: 21px; margin-left: auto; transition: transform .24s ease; }
#contato .contact-form button[type="submit"]:hover .contact-cta-arrow { transform: translateX(4px); }
#contato .contact-form .form-hint { margin: 13px 0 0; color: #c5e9d8; font-size: 12px; line-height: 1.55; }
#contato .form-feedback.show { border: 1px solid rgba(102, 236, 170, .38); background: #dff9e9; color: #075e47; }
#contato .form-feedback[data-state="error"].show { border-color: #f4aaa0; background: #fff0ea; color: #7d2a21; }

@media (max-width: 1600px) {
  #contato .contact-foliage { width: 300px; left: -152px; opacity: .78; }
}
@media (max-width: 1320px) {
  #contato .contact-wrap { width: calc(100% - 8vw); gap: 4vw; transform: none; }
  #contato .contact-copy .section-title { font-size: clamp(43px, 4.1vw, 57px); }
  #contato .contact-form { padding: 34px; }
}
@media (max-width: 1150px) {
  #contato .contact-form { top: 0; }
  #contato .contact-wrap { grid-template-columns: 1fr; width: min(calc(100% - 72px), 710px); gap: 44px; }
  #contato .contact-copy { transform: none; }
  #contato .contact-copy .section-title { font-size: clamp(45px, 6vw, 64px); }
  #contato .contact-foliage { width: 285px; opacity: .35; left: -118px; }
}
@media (max-width: 767px) {
  #contato.contact.section { padding: 66px 0 75px; }
  #contato .contact-wrap { width: calc(100% - 36px); gap: 34px; }
  #contato .contact-copy .section-title { font-size: clamp(39px, 9vw, 61px); line-height: 1.05; text-wrap: wrap; }
  #contato .contact-title-break { display: none; }
  #contato .contact-copy .section-desc { font-size: 16px; }
  #contato .contact-benefits { font-size: 13px; gap: 12px; }
  #contato .contact-benefit-icon { width: 32px; height: 32px; flex-basis: 32px; }
  #contato .contact-form { padding: 27px 21px; border-radius: 24px; }
  #contato .contact-form h3 { font-size: 28px; }
  #contato .field-grid { grid-template-columns: 1fr; row-gap: 15px; }
  #contato .field-group.full { grid-column: auto; }
  #contato .contact-form button[type="submit"] { font-size: 13px; padding: 0 15px; gap: 8px; }
  #contato .contact-whatsapp-icon { width: 22px; height: 22px; flex-basis: 22px; }
  #contato .contact-foliage { width: 245px; left: -105px; bottom: -5px; opacity: .25; }
}
@media (max-width: 390px) {
  #contato .contact-copy .section-title { font-size: clamp(37px, 9vw, 42px); }
  #contato .contact-form button[type="submit"] { font-size: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  #contato .contact-form { animation: contact-neon-orbit 7s linear infinite; }
}
@keyframes contact-neon-orbit { to { --contact-neon-angle: 360deg; } }
