.contact-page .nav-v3 a[aria-current="page"] { color: var(--paper); }
.contact-page .nav-v3 a[aria-current="page"]::after { right: 0; }
.contact-page .menu-v3 nav a[aria-current="page"] { color: var(--gold-soft); }

.contact-section { padding: 125px 0; }
.contact-title {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(43px,4.6vw,64px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.contact-title em { color: var(--gold-soft); font-weight: 400; }

.contact-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 84px);
  background:
    radial-gradient(circle at 78% 42%, rgba(201,169,110,.08), transparent 29%),
    linear-gradient(105deg,#09090b 0%,#0a0a0c 59%,#100e0c 100%);
}
.contact-hero::before { position: absolute; content: "Contato"; left: 3.5%; top: 39%; color: rgba(237,234,228,.018); font-family: var(--serif); font-size: clamp(125px,18vw,270px); line-height: 1; pointer-events: none; }
.contact-hero-grid { min-height: calc(100vh - 84px); display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 105px; padding-top: 76px; padding-bottom: 92px; }
.contact-hero-copy { position: relative; z-index: 2; }
.contact-hero .hero-display { max-width: 710px; margin: 0 0 29px; font-family: var(--serif); font-size: clamp(55px,5.6vw,79px); font-weight: 400; letter-spacing: -.035em; line-height: 1.03; }
.contact-hero .hero-display em { color: var(--gold-soft); font-weight: 400; }
.contact-hero-lead { max-width: 610px; margin-bottom: 37px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.contact-hero-actions { display: flex; align-items: center; gap: 27px; flex-wrap: wrap; }

.contact-panel { position: relative; z-index: 2; padding: 12px; border: 1px solid var(--border); background: rgba(18,16,14,.62); box-shadow: 0 28px 70px rgba(0,0,0,.24); }
.contact-panel::before { position: absolute; content: ""; inset: 28px -24px -24px 28px; z-index: -1; border: 1px solid var(--border); }
.contact-panel-header { padding: 31px 29px 26px; border-bottom: 1px solid var(--border-white); }
.contact-panel-header span { display: block; margin-bottom: 8px; color: var(--gold); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.contact-panel-header h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 400; line-height: 1.25; }
.contact-channel { display: grid; grid-template-columns: 42px 1fr auto; gap: 18px; align-items: center; padding: 25px 28px; border-bottom: 1px solid var(--border-white); transition: background 180ms ease; }
.contact-channel:hover { background: rgba(201,169,110,.06); }
.contact-channel i { width: 42px; height: 42px; display: grid; place-items: center; color: var(--gold); border: 1px solid var(--border); border-radius: 50%; font-size: 16px; }
.contact-channel small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.contact-channel strong { display: block; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.contact-channel > span:last-child { color: var(--gold); font-size: 18px; }
.contact-panel-note { margin: 0; padding: 23px 29px; color: var(--muted); font-size: 12px; line-height: 1.65; }

.contact-location { background: var(--black); }
.contact-location-heading { display: grid; grid-template-columns: .9fr .5fr; gap: 95px; align-items: end; margin-bottom: 58px; }
.contact-location-heading > p { margin: 0; color: var(--muted); font-size: 14px; }
.contact-location-grid { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 560px; border: 1px solid var(--border); }
.contact-address { display: flex; flex-direction: column; padding: 48px 42px; background: var(--black-soft); border-right: 1px solid var(--border); }
.contact-address-mark { margin-bottom: 55px; color: var(--gold); font-family: var(--serif); font-size: 18px; font-style: italic; }
.contact-address h3 { margin: 0 0 18px; font-family: var(--serif); font-size: 31px; font-weight: 400; }
.contact-address address { margin: 0 0 35px; color: var(--muted); font-size: 14px; font-style: normal; line-height: 1.9; }
.contact-hours { display: grid; grid-template-columns: 95px 1fr; gap: 16px; padding: 22px 0; border-top: 1px solid var(--border-white); border-bottom: 1px solid var(--border-white); }
.contact-hours strong { color: var(--gold-soft); font-family: var(--serif); font-size: 17px; font-weight: 400; }
.contact-hours span { color: var(--muted); font-size: 12px; line-height: 1.65; }
.contact-address .quiet-link { align-self: flex-start; margin-top: auto; }
.contact-map { min-height: 560px; }
.contact-map iframe { width: 100%; height: 100%; min-height: 560px; display: block; border: 0; filter: grayscale(1) invert(.9) contrast(.85) brightness(.72); }

.contact-first-step { padding: 115px 0; background: #0d0c0b; border-top: 1px solid var(--border-white); border-bottom: 1px solid var(--border-white); }
.contact-first-step-heading { max-width: 820px; margin-bottom: 60px; }
.contact-steps { display: grid; grid-template-columns: repeat(3,1fr); }
.contact-steps article { min-height: 245px; display: flex; flex-direction: column; padding: 35px 31px; margin: -1px 0 0 -1px; border: 1px solid var(--border); background: linear-gradient(145deg,rgba(201,169,110,.035),transparent 52%); }
.contact-steps article > span { margin-bottom: 38px; color: rgba(201,169,110,.65); font-family: var(--serif); font-style: italic; }
.contact-steps h3 { margin: auto 0 8px; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.contact-steps p { margin: 0; color: var(--muted); font-size: 13px; }

.contact-social { background: var(--black); }
.contact-social-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.contact-social-copy > p:not(.label-v3) { max-width: 580px; margin: 25px 0 0; color: var(--muted); font-size: 14px; }
.contact-social-links { display: grid; grid-template-columns: repeat(3,1fr); }
.contact-social-links a { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px 25px; margin: -1px 0 0 -1px; border: 1px solid var(--border); transition: color 180ms ease, background 180ms ease, border-color 180ms ease; }
.contact-social-links i { color: var(--gold); font-size: 22px; }
.contact-social-links span { color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.contact-social-links a:hover { color: var(--paper); background: rgba(201,169,110,.06); border-color: rgba(201,169,110,.45); }

@media (max-width:1050px) {
  .contact-hero-grid { gap: 60px; }
  .contact-location-grid { grid-template-columns: .82fr 1.18fr; }
}

@media (max-width:820px) {
  .contact-section { padding: 95px 0; }
  .contact-hero { min-height: auto; }
  .contact-hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 65px; padding-top: 85px; padding-bottom: 110px; }
  .contact-panel { width: calc(100% - 20px); max-width: 650px; margin-left: auto; }
  .contact-location-heading, .contact-location-grid, .contact-social-inner { grid-template-columns: 1fr; }
  .contact-location-grid { min-height: auto; }
  .contact-address { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--border); }
  .contact-steps { grid-template-columns: 1fr; }
  .contact-social-inner { gap: 48px; }
}

@media (max-width:560px) {
  .contact-section { padding: 78px 0; }
  .contact-hero-grid { padding-top: 65px; padding-bottom: 88px; }
  .contact-hero .hero-display { font-size: 50px; }
  .contact-title { font-size: 42px; }
  .contact-hero-actions { align-items: stretch; flex-direction: column; }
  .contact-hero-actions .quiet-link { align-self: flex-start; }
  .contact-panel { width: calc(100% - 8px); }
  .contact-panel::before { inset: 18px -12px -12px 18px; }
  .contact-channel { grid-template-columns: 38px 1fr auto; gap: 13px; padding: 22px 16px; }
  .contact-channel i { width: 38px; height: 38px; }
  .contact-channel strong { font-size: 17px; }
  .contact-address { min-height: 460px; padding: 38px 27px; }
  .contact-map, .contact-map iframe { min-height: 460px; }
  .contact-first-step { padding: 78px 0; }
  .contact-social-links { grid-template-columns: 1fr; }
  .contact-social-links a { min-height: 115px; }
}
