/* The sharing card follows the layer cards' vertical reveal and dismissal. */
.share-panel.is-closing { pointer-events: none; }
.share-card .share-mark { display: block; margin: 0 auto 16px; }
.share-secondary { white-space: nowrap; }
.share-link-only:hover,
.share-link-only:focus-visible { border-color: transparent; }

/* Keep every horizontal fill moving from the left edge. */
.journey-header nav > a[href="#contato"]::before { transform-origin: right; }

/* The docked logo uses difference blending. Pre-invert both tile and glyph
   on a light section so the visible result stays yellow/black or purple/white. */
@media (min-width: 1025px) {
  .depth-ready.map-docked:not(.map-on-dark):not(.at-contact) .glass-letter:is([data-letter-index="0"],[data-letter-index="2"],[data-letter-index="4"],[data-letter-index="6"]) {
    --glass-accent: #0030e8 !important;
    --glass-on-accent: #e0ded8 !important;
  }
  .depth-ready.map-docked:not(.map-on-dark):not(.at-contact) .glass-letter:is([data-letter-index="1"],[data-letter-index="3"],[data-letter-index="5"]) {
    --glass-accent: #73e91c !important;
    --glass-on-accent: #000 !important;
  }
}
@media (max-width: 1024px) {
  .depth-ready.journey-ending:not(.map-on-dark):not(.at-contact) .glass-letter:is([data-letter-index="0"],[data-letter-index="2"],[data-letter-index="4"],[data-letter-index="6"]) {
    --glass-accent: #0030e8 !important;
    --glass-on-accent: #e0ded8 !important;
  }
  .depth-ready.journey-ending:not(.map-on-dark):not(.at-contact) .glass-letter:is([data-letter-index="1"],[data-letter-index="3"],[data-letter-index="5"]) {
    --glass-accent: #73e91c !important;
    --glass-on-accent: #000 !important;
  }
}
#prototype-contact button { transition: border-color .4s cubic-bezier(.2,.75,.2,1); }
#prototype-contact button:hover,
#prototype-contact button:focus-visible,
#prototype-contact button:active { border-color: #ffc305; }

/* Match the company label to the other field labels. */
#prototype-contact label .contact-field-label { color: #f5f3ed; opacity: 1; }
#prototype-contact textarea { resize: none; }

@media (max-width: 600px) and (orientation: portrait) {
  .share-card { padding: 23px 20px 17px; }
  .share-card h2 { margin-bottom: 15px; }
  .share-help { margin-bottom: 14px; }
  .share-message { padding-block: 14px 12px; }
  .share-message-label { margin-bottom: 10px !important; }
  #prototype-contact label { font-size: 9.5px; }
  #prototype-contact input { height: 36px; }
  #prototype-contact textarea { height: 64px; min-height: 64px; }
  #prototype-contact input,
  #prototype-contact textarea { font-size: 15px; border-radius: 7px; padding: 8px 10px; }
  #prototype-contact input:-webkit-autofill,
  #prototype-contact input:-webkit-autofill:hover,
  #prototype-contact input:-webkit-autofill:focus {
    border: 0 !important;
    border-radius: 7px !important;
    outline: 0 !important;
    clip-path: inset(0 round 7px);
    -webkit-box-shadow: inset 0 0 0 1000px #202020;
    box-shadow: inset 0 0 0 1000px #202020;
  }
  .share-primary { flex: 1 1 auto; }
  .share-secondary { flex: 0 0 auto; font-size: 11px; padding-inline: 9px; }
}

@media (max-width: 600px) and (orientation: portrait) and (max-height: 730px) {
  .contact-scene { padding-top: 122px !important; }
  .contact-layout { gap: 12px; }
  #prototype-contact fieldset { row-gap: 7px; }
  #prototype-contact input { height: 34px; }
  #prototype-contact textarea { height: 46px; min-height: 46px; }
  #prototype-contact button { min-height: 40px; margin-top: 7px; }
  .contact-share-band { gap: 7px; margin-top: 8px; padding-block: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  #prototype-contact button { transition: none; }
}
