.contact-main { --contact-gold: #d0b182; --contact-ivory: #eee2d1; background: #071321; padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1rem, 4vw, 3rem) 4rem; }
.contact-composition { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: clamp(1.5rem, 4vw, 3.5rem); max-width: 1200px; margin: 0 auto; align-items: stretch; }
.contact-introduction { min-height: 760px; padding: 2rem 1.5rem; background: linear-gradient(180deg, rgba(6,15,26,.22), transparent 42%, rgba(7,19,33,.15)), url('../images/contato-rosa-caneta.png') center bottom / cover no-repeat; border-radius: 3px; }
.contact-introduction-copy { max-width: 420px; position: relative; }
.contact-kicker { margin: 0 0 1rem; color: var(--contact-gold); font: 400 .72rem/1.8 var(--ah-sans); letter-spacing: .2em; text-transform: uppercase; }
.contact-main h1 { margin: 0; color: #dfc28e; font: 400 clamp(3.4rem, 6vw, 5.5rem)/1.1 "Baskerville Old Face", "Palatino Linotype", Georgia, serif; }
.contact-gold-rule { display: flex; align-items: center; gap: .65rem; margin: 1.5rem 0; width: 190px; color: var(--contact-gold); }
.contact-gold-rule::before, .contact-gold-rule::after { content: ''; flex: 1; height: 1px; background: #94754c; }
.contact-gold-rule span { line-height: 1; }
.contact-main .contact-approved-phrase { margin: 0; max-width: 28ch; color: var(--contact-ivory); font: 400 clamp(1.22rem, 1.9vw, 1.55rem)/1.6 "Palatino Linotype", Georgia, serif; text-wrap: balance; }
.contact-form-panel { padding: clamp(1.3rem, 3vw, 2.5rem); border: 1px solid #94754c; border-radius: 8px; background: #0a1829; box-shadow: 0 12px 40px rgba(0,0,0,.12); }
.contact-form { display: flex; flex-direction: column; gap: 1.2rem; }
.contact-form-field { display: flex; flex-direction: column; min-width: 0; gap: .5rem; }
.contact-form-field label { color: #ddc79f; font: 400 1rem/1.5 "Palatino Linotype", Georgia, serif; }
.contact-main .contact-form-field input, .contact-main .contact-form-field textarea { display: block; width: 100%; min-width: 0; min-height: 46px; padding: .7rem .8rem; color: #eee2d1; background: #071221; border: 1px solid #625741; border-radius: 4px; font: 400 1rem/1.6 var(--ah-sans); box-shadow: none; }
.contact-main .contact-form-field textarea { min-height: 175px; resize: vertical; }
.contact-main .contact-form-field input:focus-visible, .contact-main .contact-form-field textarea:focus-visible { border-color: #d0b182; outline: 2px solid #d0b182; outline-offset: 2px; }
.contact-main .contact-form-field input:user-invalid, .contact-main .contact-form-field textarea:user-invalid { border-color: #d79088; }
.contact-main .contact-send { min-height: 48px; margin-top: .3rem; padding: .8rem 1.2rem; color: #201710; background: linear-gradient(110deg, #c3a06a, #e3c48b 50%, #c9a66f); border: 1px solid #dfc28e; border-radius: 4px; font: 400 1.1rem/1.4 "Palatino Linotype", Georgia, serif; cursor: pointer; }
.contact-main .contact-send:hover:not(:disabled) { background: #e0c28f; }
.contact-main .contact-send:disabled { opacity: .62; cursor: not-allowed; }
.contact-main .contact-private-note { margin: -.4rem 0 0; color: #c9baa5; text-align: center; font: italic 400 .87rem/1.6 "Palatino Linotype", Georgia, serif; }
.contact-main .contact-data-note { margin: 0; color: #b9b3aa; font: 400 .8rem/1.8 var(--ah-sans); }
.contact-data-note a { color: #dbc08f; }
.contact-main .contact-availability, .contact-main .contact-feedback { margin: 0; padding: .8rem .9rem; border-left: 2px solid #9c8158; color: #e0d3bf; background: #101e2c; font: 400 .85rem/1.7 var(--ah-sans); }
.contact-main .contact-feedback[data-state="error"] { border-color: #c48b82; }
.contact-honey { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.contact-main [hidden] { display: none !important; }
.privacy-main { max-width: 840px; min-height: 60vh; margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) 1.5rem; color: #e4dacc; font: 400 1.1rem/1.85 "Palatino Linotype", Georgia, serif; }
.privacy-main h1 { margin: 0 0 1.5rem; color: #ddc08d; font: 400 clamp(2.4rem, 5vw, 3.6rem)/1.2 "Baskerville Old Face", "Palatino Linotype", Georgia, serif; }
.privacy-main h2 { margin: 2.4rem 0 1rem; color: #d0b182; font: 400 1.4rem/1.4 "Palatino Linotype", Georgia, serif; }
.privacy-main p, .privacy-main li { color: inherit; }
.privacy-draft { padding: 1rem 1.2rem; border-left: 2px solid #9c8158; color: #d2c4ae; background: #0c1827; font-size: .96rem; }
.privacy-main a { color: #d0b182; }
@media (min-width: 761px) {
  .contact-main .contact-approved-phrase { position: relative; isolation: isolate; }
  .contact-main .contact-approved-phrase::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -20px -20px;
    border-radius: 16px;
    background: linear-gradient(100deg, rgba(4,13,25,.87), rgba(4,13,25,.85) 75%, rgba(4,13,25,.82));
    filter: blur(12px);
    pointer-events: none;
  }
}
@media (max-width: 760px) {
  .contact-main { padding: 0 1.1rem 3rem; }
  .contact-composition { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .contact-introduction { min-height: 570px; padding: 2rem 1rem; background-position: center bottom; }
  .contact-introduction-copy { max-width: 27ch; }
  .contact-main h1 { font-size: clamp(3.2rem, 12vw, 4.6rem); }
  .contact-main .contact-approved-phrase { font-size: 1.25rem; max-width: 25ch; }
  .contact-form-panel { padding: 1.4rem 1.1rem; }
}

.contact-main .contact-feedback { scroll-margin-block: 8rem; }
.contact-main .contact-feedback[data-state="success"] { border: 1px solid #d0b182; border-left-width: 4px; border-radius: 4px; color: #fff1d5; background: #142a35; font-size: 1rem; }
.contact-main .contact-feedback:focus { outline: 2px solid #d0b182; outline-offset: 3px; }

/* Local translucent shade under the phrase; the candle and still life remain visible. */
@media (max-width: 760px) {
  .contact-main .contact-approved-phrase { position: relative; isolation: isolate; text-shadow: 0 1px 3px rgba(0,0,0,.8); }
  .contact-main .contact-approved-phrase::before {
    content: ""; position: absolute; z-index: -1; pointer-events: none;
    inset: -.7rem -1rem; border-radius: .8rem;
    background: linear-gradient(90deg, rgba(4,13,25,.78), rgba(4,13,25,.6) 65%, rgba(4,13,25,0));
    filter: blur(8px);
  }
}
