/* Contato: estilos locais. Header e footer usam somente o CSS global. */

/* 01. HERO */
.contact-hero { position:relative; isolation:isolate; overflow:hidden; background:#faf7f3; }
.contact-hero-inner { display:flex; align-items:center; min-height:370px; }
.contact-hero-copy { position:relative; z-index:2; width:64%; padding:48px 0; }
.contact-hero-copy .eyebrow { margin-bottom:16px; }
.contact-hero-copy .display { max-width:660px; margin:0 0 20px; font-size:var(--h1-size); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.contact-hero-copy .lead { max-width:590px; margin:0; font-size:1rem; line-height:1.55; }
.contact-hero-note { max-width:560px; margin:18px 0 0; color:var(--muted); font-size:.8rem; line-height:1.55; }
.contact-hero-note strong { color:var(--ink); font-weight:600; }
.contact-hero-photo { position:absolute; z-index:0; inset:0 0 0 auto; width:49%; }
.contact-hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#faf7f3 0%,rgba(250,247,243,.95) 12%,rgba(250,247,243,.5) 36%,transparent 70%); }
.contact-hero-photo img { height:100%; object-fit:cover; object-position:center 58%; }

/* 02. OPÇÕES DE CONTATO */
.contact-actions-section { padding:80px 0 48px; background:#f3eee7; }
.contact-actions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1100px; }
.contact-action-card { display:flex; flex-direction:column; min-width:0; min-height:280px; padding:40px; border:1px solid rgba(214,108,132,.2); border-radius:18px; background:#fffdfc; color:var(--ink); text-decoration:none; box-shadow:0 8px 28px rgba(65,48,39,.07); transition:border-color .2s ease,box-shadow .2s ease; }
.contact-action-card .h2 { margin:0 0 18px; color:var(--pink); font-size:clamp(1.85rem,3vw,2.65rem); line-height:1.12; }
.contact-action-card p { margin:0 0 28px; color:var(--muted); font-size:1rem; line-height:1.65; }
.contact-action-arrow { align-self:flex-end; margin-top:auto; color:var(--pink); font-size:1.65rem; line-height:1; }
.contact-action-card:hover { border-color:var(--rose); box-shadow:0 12px 32px rgba(65,48,39,.11); }
.contact-action-card:focus-visible { outline:3px solid var(--pink); outline-offset:5px; }

/* 03. CONTATOS */
.contact-channels { padding:64px 0 48px; background:#fdfbf9; }
.contact-channels-heading { margin-bottom:48px; text-align:center; }
.contact-channels-heading .eyebrow { margin-bottom:14px; font-size:.68rem; }
.contact-channels-heading .h2 { font-size:clamp(1.9rem,3.3vw,2.75rem); line-height:1.12; }
.contact-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.contact-channel { position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; padding:0 30px; color:var(--ink); text-align:center; text-decoration:none; }
.contact-channel + .contact-channel::before { content:""; position:absolute; left:0; top:30px; bottom:5px; width:1px; background:rgba(24,33,41,.08); }
.contact-channel-icon { display:grid; place-items:center; width:62px; height:62px; margin-bottom:4px; border:1px solid rgba(214,108,132,.14); border-radius:50%; background:rgba(214,108,132,.045); color:var(--rose); }
.contact-channel-icon svg { width:29px; height:29px; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.contact-channel-title { font-family:var(--serif); font-size:1.3rem; font-weight:500; line-height:1.2; }
.contact-channel-value { color:var(--muted); font-size:.9rem; line-height:1.5; }
.contact-channel-link { display:inline-flex; align-items:center; gap:10px; margin-top:auto; padding-top:12px; color:var(--pink); font-size:.88rem; font-weight:500; }
.contact-channel-link span { transition:transform .2s ease; }
.contact-channel:hover .contact-channel-link span,.contact-channel-link:hover span { transform:translateX(3px); }
.contact-channel:focus-visible,.contact-channel-link:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }

/* 04. IMAGEM FINAL */
.contact-final-section { padding:48px 0 96px; background:#fdfbf9; }
.contact-final-banner { position:relative; isolation:isolate; overflow:hidden; min-height:400px; border-radius:16px; background:#f2e9df; }
.contact-final-copy { position:relative; z-index:2; width:48%; padding:48px 0 42px 48px; }
.contact-final-copy .eyebrow { margin-bottom:16px; font-size:.68rem; }
.contact-final-copy .h2 { max-width:440px; margin-bottom:16px; font-size:clamp(1.85rem,3vw,2.6rem); line-height:1.1; text-wrap:balance; }
.contact-final-copy .lead { max-width:400px; margin:0; font-size:.95rem; line-height:1.55; }
.contact-final-signature { margin:24px 0 0; color:#947566; font-family:'Segoe Script','Brush Script MT',cursive; font-size:1.45rem; line-height:1.3; }
.contact-final-signature::before { content:""; display:block; width:26px; height:1px; margin-bottom:14px; background:var(--rose); }
.contact-final-signature i { font-weight:400; }
.contact-final-photo { position:absolute; z-index:0; inset:0 0 0 auto; width:57%; margin:0; }
.contact-final-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f2e9df,rgba(242,233,223,.7) 9%,transparent 28%); }
.contact-final-photo img { height:100%; object-fit:cover; object-position:center 38%; }

/* 05. RESPONSIVO */
@media (min-width:1600px) {
  .contact-hero-photo { width:calc(50% - 40px); }
}
@media (max-width:1024px) {
  .contact-hero-copy { width:65%; }
  .contact-hero-copy .display { font-size:var(--h1-size); }
  .contact-hero-copy .lead { font-size:.95rem; }
  .contact-channel { padding-inline:20px; }
  .contact-final-copy { padding:36px 0 36px 30px; }
  .contact-final-copy .lead { font-size:.9rem; }
}
@media (max-width:680px) {
  .contact-hero-inner { display:block; min-height:0; }
  .contact-hero-copy { width:100%; padding:38px 0 28px; }
  .contact-hero-copy .display { max-width:520px; font-size:var(--h1-size); }
  .contact-hero-copy .lead,.contact-hero-note { max-width:520px; }
  .contact-hero-photo { position:relative; width:calc(100% + 32px); height:165px; margin-left:-16px; }
  .contact-hero-photo::after { background:linear-gradient(180deg,#faf7f3,rgba(250,247,243,.2) 35%,transparent 70%); }
  .contact-hero-photo img { object-position:center 64%; }
  .contact-actions-section { padding:48px 0 32px; }
  .contact-actions-grid { grid-template-columns:1fr; gap:20px; }
  .contact-action-card { min-height:240px; padding:28px 22px; border-radius:16px; }
  .contact-action-card .h2 { font-size:1.9rem; }
  .contact-channels { padding:40px 0 32px; }
  .contact-channels-heading { margin-bottom:36px; }
  .contact-channel-grid { grid-template-columns:1fr; gap:26px; }
  .contact-channel { padding:0 12px; }
  .contact-channel + .contact-channel { padding-top:26px; }
  .contact-channel + .contact-channel::before { top:0; bottom:auto; left:15%; width:70%; height:1px; }
  .contact-final-section { padding:24px 0 56px; }
  .contact-final-banner { min-height:0; }
  .contact-final-copy { width:100%; padding:30px 24px 20px; }
  .contact-final-copy .h2,.contact-final-copy .lead { max-width:480px; }
  .contact-final-signature { margin-top:20px; }
  .contact-final-photo { position:relative; width:100%; height:clamp(270px,75vw,440px); }
  .contact-final-photo::after { background:linear-gradient(180deg,#f2e9df,rgba(242,233,223,.3) 12%,transparent 28%); }
  .contact-final-photo img { object-position:center 32%; }
}
