/* Copacabana: composição e paleta das páginas de bairro já aprovadas. */
.bairro-copacabana {
  background-color: var(--nude);
  background-image: radial-gradient(circle at 12% 18%,rgba(154,119,78,.10) 0 .7px,transparent .9px),radial-gradient(circle at 72% 34%,rgba(205,177,137,.16) 0 .8px,transparent 1px),radial-gradient(circle at 38% 78%,rgba(125,92,57,.07) 0 .6px,transparent .85px),linear-gradient(135deg,rgba(255,255,255,.20),rgba(222,199,166,.08));
  background-size: 11px 13px,17px 19px,23px 21px,100% 100%;
  background-attachment: fixed;
}
.bairro-copacabana .page-hero {
  position: relative; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(295px,.72fr); gap: clamp(28px,4%,56px); align-items: center;
  min-height: 520px; margin: 0 -28px; padding: 54px clamp(28px,8%,108px); overflow: hidden; color: #fff;
  background-image: linear-gradient(90deg,rgba(74,46,34,.74) 0%,rgba(74,46,34,.43) 54%,rgba(74,46,34,.14) 100%),url('/manus-storage/copacabana-hero-frank-manicapelli_06af3231.jpg'),url('assets/copacabana-hero-frank-manicapelli.jpg');
  background-position: center, center 56%, center 56%; background-size: cover;
}
.bairro-copacabana .page-hero:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(49,31,22,.45),transparent 44%); pointer-events: none; }
.neighborhood-hero-copy,.neighborhood-hero-form { position: relative; z-index: 1; min-width: 0; }
.neighborhood-hero-copy { max-width: 550px; }
.bairro-copacabana .page-hero h1 { color: #fff; font-size: clamp(42px,6.5vw,78px); line-height: 1.02; letter-spacing: -.055em; text-shadow: 0 2px 18px rgba(0,0,0,.2); overflow-wrap: anywhere; }
.bairro-copacabana .page-hero p { color: #fff; max-width: 540px; text-shadow: 0 1px 10px rgba(0,0,0,.18); }
.bairro-copacabana .page-hero .kicker { color: #f5d9a8; }
.neighborhood-hero-form { justify-self: end; width: min(100%,360px); background: rgba(74,46,34,.95); border: 1px solid rgba(186,153,102,.86); box-shadow: 0 20px 55px rgba(49,31,22,.30); padding: 26px 25px 23px; color: #fff8eb; }
.neighborhood-hero-form:before { content: ''; position: absolute; left: 0; top: 0; width: 58px; height: 3px; background: #f5d9a8; }
.neighborhood-form-kicker { color: #f5d9a8; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.neighborhood-hero-form h2 { font: 500 27px/1.1 Montserrat,Arial,sans-serif; letter-spacing: -.045em; color: #fff8eb; margin: 12px 0 10px; }
.bairro-copacabana .neighborhood-hero-form > p { color: #f5eee5; font-size: 12px; line-height: 1.6; margin: 0 0 18px; text-shadow: none; }
.neighborhood-hero-form form { display: grid; gap: 11px; }
.neighborhood-hero-form label,.neighborhood-end-form label { display: block; color: #fff8eb; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; min-width: 0; }
.neighborhood-hero-form input,.neighborhood-end-form input { display: block; width: 100%; min-width: 0; margin-top: 6px; border: 1px solid rgba(245,217,168,.62); border-radius: 0; background: rgba(251,247,239,.10); padding: 11px; color: #fff8eb; font: inherit; }
.neighborhood-hero-form input::placeholder,.neighborhood-end-form input::placeholder { color: rgba(245,238,229,.76); }
.neighborhood-hero-form input:focus,.neighborhood-end-form input:focus { outline: 0; border-color: #f5d9a8; box-shadow: 0 0 0 3px rgba(245,217,168,.16); }
.neighborhood-hero-form .btn { width: 100%; border: 0; margin-top: 3px; background: #804e29; color: #fff8eb; }
.neighborhood-hero-form .btn:hover { background: #986138; }
.neighborhood-hero-form .btn:disabled,.neighborhood-end-form .btn:disabled { opacity: .52; cursor: not-allowed; }
.neighborhood-hero-form small { color: rgba(245,238,229,.78); font-size: 9px; line-height: 1.45; }
.bairro-copacabana .projects { padding-top: 56px; }
.bairro-copacabana .section-head h2 { font-size: clamp(30px,3.7vw,48px); }
.projects-empty { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 32px; background: rgba(255,255,255,.8); border: 1px solid var(--line); }
.projects-empty h3 { font: 500 25px/1.2 Montserrat,Arial,sans-serif; letter-spacing: -.03em; margin: 12px 0; }
.projects-empty p { max-width: 660px; color: var(--muted); font-size: 13px; line-height: 1.7; margin-bottom: 0; }
.projects-empty .btn { flex: 0 0 auto; white-space: normal; text-align: center; }
.bairro-copacabana .compact-project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.bairro-copacabana .compact-project-grid[hidden] { display: none; }
.neighborhood-end-contact { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.92fr); gap: 58px; align-items: center; background: var(--cream); color: #fff; margin: 0 -28px; padding: 58px clamp(28px,8%,108px); }
.neighborhood-end-copy { max-width: 500px; min-width: 0; }
.neighborhood-end-kicker { color: #dfc49d; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.neighborhood-end-copy h2 { font: 500 clamp(31px,4vw,48px)/1.06 Montserrat,Arial,sans-serif; letter-spacing: -.045em; color: #fff; margin: 12px 0 15px; }
.neighborhood-end-copy h2 em { font-style: normal; color: #f5d9a8; }
.neighborhood-end-copy p { color: #e4d6c6; line-height: 1.75; max-width: 420px; }
.neighborhood-end-copy .investment-note { display: block; color: #e4d6c6; font-size: 10px; line-height: 1.6; }
.neighborhood-end-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; min-width: 0; }
.neighborhood-end-form label:nth-child(3),.neighborhood-end-form .btn,.neighborhood-end-form small { grid-column: 1/-1; }
.neighborhood-end-form input { padding: 12px; }
.neighborhood-end-form .btn { border: 0; background: #f5d9a8; color: #4a2e22; margin-top: 3px; }
.neighborhood-end-form .btn:hover { background: #fff1d3; }
.neighborhood-end-form small { color: #e4d6c6; font-size: 10px; line-height: 1.45; }
.bairro-copacabana .floating-contact { position: fixed; z-index: 900; right: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; padding: 13px 17px 13px 13px; background: rgba(74,46,34,.96); border: 1px solid rgba(245,217,168,.72); color: #fff7ec; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-decoration: none; box-shadow: 0 8px 28px rgba(74,46,34,.25); transition: transform .25s ease,background .25s ease; }
.bairro-copacabana .floating-contact:hover { transform: translateY(-3px); background: #804e29; }
.bairro-copacabana .floating-contact:focus-visible { outline: 2px solid #f5d9a8; outline-offset: 3px; }
.bairro-copacabana .floating-contact-icon { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(245,217,168,.75); color: #f5d9a8; }
.bairro-copacabana .floating-contact-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.bairro-copacabana .floating-contact i { position: absolute; right: 8px; top: 7px; width: 5px; height: 5px; background: #f5d9a8; border-radius: 50%; animation: contact-pulse-global 2.4s infinite; }
@media (max-width: 960px) {
  .bairro-copacabana .page-hero { grid-template-columns: minmax(0,1fr); min-height: auto; padding: 52px 28px 35px; gap: 35px; }
  .neighborhood-hero-form { justify-self: stretch; width: 100%; max-width: none; padding: 24px 20px; }
  .neighborhood-end-contact { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 46px 28px; }
  .projects-empty { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 800px) {
  .bairro-copacabana .page-hero { margin: 0 -17px; padding-inline: 17px; }
  .bairro-copacabana .page-hero h1 { font-size: clamp(38px,9vw,64px); }
  .bairro-copacabana .projects { padding-top: 38px; }
  .projects-empty { padding: 24px 20px; gap: 24px; }
  .neighborhood-end-contact { margin: 0 -17px; padding-inline: 17px; }
  .neighborhood-end-form { grid-template-columns: minmax(0,1fr); }
  .neighborhood-end-form label:nth-child(3),.neighborhood-end-form .btn,.neighborhood-end-form small { grid-column: auto; }
  .bairro-copacabana .floating-contact { right: 14px; bottom: 14px; padding: 12px 14px 12px 11px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .bairro-copacabana .floating-contact { transition: none; }
  .bairro-copacabana .floating-contact i { animation: none; }
}
