/* Camada "alto padrão": carregada depois de site.css.
   Capa em duas metades (texto escuro | foto sangrada), escala tipográfica maior,
   muito respiro, linhas finas champanhe no lugar de caixas e uma única palavra
   em itálico por título. */

@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 600; font-display: swap; src: url("../fonts/CormorantGaramond-SemiBoldItalic.woff2") format("woff2"); }

:root {
  --champagne: #E3CDAA;
  --hair: rgba(216, 171, 126, .32);
  --hair-ink: rgba(30, 23, 18, .14);
  --italic: "Cormorant Garamond", var(--serif);
}

.lux em { font-family: var(--italic); font-style: italic; font-weight: 600; color: var(--champagne); letter-spacing: -.005em; }
.lux .paper em { color: var(--bronze); }

/* topo transparente sobre a capa */
.lux .site-header { background: rgba(17, 12, 8, .82); border-bottom-color: rgba(216, 171, 126, .14); }
.lux .site-header .wrap { min-height: 76px; }
.lux .brand { gap: 14px; }
.lux .brand img { width: 24px; }
.lux .brand span { display: grid; gap: 2px; font-size: 11px; letter-spacing: .38em; }
.lux .brand small { font-size: 9px; letter-spacing: .5em; color: var(--stone); }
.lux .nav { gap: 34px; }
.lux .nav a { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.lux .btn { min-height: 52px; padding: 14px 30px; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; border-radius: 0; }
.lux .nav .btn { min-height: 42px; padding: 10px 20px; font-size: 11px; }
.lux .btn-line { background: transparent; color: var(--cream); border-color: transparent; padding-inline: 0; position: relative; }
.lux .btn-line::after { content: ""; position: absolute; left: 0; right: 0; bottom: 12px; height: 1px; background: var(--gold); transform-origin: left; transition: transform .3s; }
.lux .btn-line:hover { background: transparent; color: var(--gold); border-color: transparent; }
.lux .btn-line:hover::after { transform: scaleX(.6); }

/* ---------- capa em duas metades ---------- */
.cover { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: min(880px, 92vh); background: var(--dark); color: var(--cream); position: relative; overflow: hidden; }
.cover::before { content: ""; position: absolute; left: -20%; top: -40%; width: 90%; height: 120%; background: radial-gradient(closest-side, rgba(216, 171, 126, .13), rgba(216, 171, 126, 0) 72%); pointer-events: none; }
.cover-text { position: relative; display: grid; align-content: space-between; gap: 56px; padding-block: 96px 56px; padding-left: max(24px, calc((100vw - var(--wrap)) / 2 + 20px)); padding-right: 64px; }
.cover-main { display: grid; gap: 30px; max-width: 560px; }
.cover h1 { font-size: clamp(48px, 6.4vw, 92px); line-height: 1.02; letter-spacing: -.01em; color: var(--cream); }
.cover .lead { font-weight: 300; font-size: 19px; line-height: 1.75; color: var(--cream-muted); max-width: 30em; }
.cover .actions { gap: 28px; align-items: center; }
.cover-meta { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 8px 56px; padding-top: 26px; border-top: 1px solid var(--hair); font-size: 13px; letter-spacing: .06em; color: var(--stone); }
.cover-meta strong { display: block; color: var(--cream); font-weight: 500; font-size: 14px; letter-spacing: .04em; margin-bottom: 2px; }
.cover-photo { position: relative; margin: 0; }
.cover-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
.cover-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17, 12, 8, .55), rgba(17, 12, 8, 0) 28%), linear-gradient(0deg, rgba(17, 12, 8, .35), rgba(17, 12, 8, 0) 30%); }
.cover-photo figcaption { position: absolute; right: 28px; bottom: 26px; z-index: 1; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: rgba(253, 244, 229, .7); }

@media (max-width: 900px) {
  .cover { grid-template-columns: 1fr; min-height: 0; }
  .cover-photo { order: -1; height: 64vh; min-height: 420px; max-height: 640px; }
  .cover-photo::after { background: linear-gradient(0deg, rgba(17, 12, 8, 1), rgba(17, 12, 8, 0) 45%); }
  .cover-text { padding: 0 max(20px, env(safe-area-inset-right, 0px)) 56px max(20px, env(safe-area-inset-left, 0px)); margin-top: -96px; gap: 44px; }
  .cover h1 { font-size: clamp(44px, 12vw, 60px); }
  .cover-meta { grid-template-columns: 1fr; gap: 16px; }
}

/* ---------- seções ---------- */
.lux .section { padding-block: 140px; }
.lux .section + .section { border-top: 0; }
@media (max-width: 700px) { .lux .section { padding-block: 88px; } }
.lux .kicker { font-size: 11px; letter-spacing: .4em; }
.lux .kicker::before { content: ""; display: inline-block; width: 36px; height: 1px; background: currentColor; vertical-align: middle; margin-right: 16px; opacity: .7; }

/* afirmação central */
.statement { text-align: center; }
.statement .wrap { display: grid; justify-items: center; gap: 30px; max-width: 980px; }
.statement .kicker::before { display: none; }
.statement p.big { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 4.6vw, 60px); line-height: 1.14; color: var(--ink); text-wrap: balance; }
.statement p.small { color: var(--muted); font-size: 17px; max-width: 34em; }
.statement .rule { margin-top: 8px; }

/* quatro pontos da holding */
.chapters { display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: start; }
.chapters-head { position: sticky; top: 120px; display: grid; gap: 28px; }
.chapters-head h2 { font-size: clamp(38px, 4.4vw, 58px); color: var(--ink); line-height: 1.06; }
.chapters-head img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin-top: 12px; }
.chapter-list { list-style: none; margin: 0; padding: 0; counter-reset: cap; }
.chapter-list li { counter-increment: cap; display: grid; grid-template-columns: 76px 1fr; gap: 6px 24px; padding: 44px 0; border-top: 1px solid var(--hair-ink); }
.chapter-list li:last-child { border-bottom: 1px solid var(--hair-ink); }
.chapter-list li::before { content: counter(cap, upper-roman); grid-row: span 3; font: 500 34px/1 var(--serif); color: var(--gold); padding-top: 4px; }
.chapter-list h3 { font-size: 30px; color: var(--ink); }
.chapter-list p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.chapter-list .cite { margin-top: 6px; }
@media (max-width: 900px) {
  .chapters { grid-template-columns: 1fr; gap: 48px; }
  .chapters-head { position: static; }
  .chapters-head img { max-width: 440px; }
  .chapter-list li { grid-template-columns: 52px 1fr; padding: 34px 0; }
  .chapter-list li::before { font-size: 28px; }
  .chapter-list h3 { font-size: 26px; }
}

/* faixa com foto e frase */
.band { position: relative; color: var(--cream); background: var(--dark); overflow: hidden; }
.band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17, 12, 8, .9), rgba(17, 12, 8, .35)); }
.band .wrap { position: relative; z-index: 1; padding-block: 150px; display: grid; gap: 26px; }
.band blockquote { margin: 0; max-width: 820px; font: 500 clamp(36px, 4.8vw, 64px)/1.1 var(--serif); color: var(--cream); text-wrap: balance; }
.band p { color: var(--cream-muted); font-weight: 300; max-width: 36em; }
@media (max-width: 700px) { .band .wrap { padding-block: 100px; } }

/* caminhos em grade de linhas finas */
.ledger { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hair-ink); }
.ledger article { padding: 48px 56px 52px 0; display: grid; gap: 16px; align-content: start; border-bottom: 1px solid var(--hair-ink); min-width: 0; }
.ledger article:nth-child(even) { padding-left: 56px; padding-right: 0; border-left: 1px solid var(--hair-ink); }
.ledger h3 { font-size: 32px; color: var(--ink); }
.ledger p { color: var(--muted); font-size: 17px; line-height: 1.8; }
@media (max-width: 800px) {
  .ledger { grid-template-columns: 1fr; }
  .ledger article, .ledger article:nth-child(even) { padding: 36px 0 40px; border-left: 0; }
}
.lux .head { margin-bottom: 64px; gap: 22px; }
.lux .head h2 { font-size: clamp(38px, 4.4vw, 58px); color: var(--ink); line-height: 1.06; }
.lux .dark .head h2 { color: var(--cream); }

/* imóveis em colunas sobre fundo escuro */
.trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.trio article { border-top: 1px solid var(--hair); padding-top: 30px; display: grid; gap: 14px; align-content: start; min-width: 0; }
.trio h3 { font-size: 28px; color: var(--cream); }
.trio p { color: var(--cream-muted); font-weight: 300; font-size: 16.5px; line-height: 1.8; }
.trio .cite { color: var(--gold); }
@media (max-width: 900px) { .trio { grid-template-columns: 1fr; gap: 36px; } }

/* sobre */
.profile { display: grid; grid-template-columns: 5fr 6fr; gap: 96px; align-items: center; }
.profile figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.profile figcaption { margin-top: 16px; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); }
.profile-body { display: grid; gap: 24px; min-width: 0; }
.profile-body h2 { font-size: clamp(40px, 4.6vw, 62px); color: var(--ink); line-height: 1.04; }
.profile-body p:not(.kicker) { font-size: 18px; line-height: 1.85; color: var(--ink); }
@media (max-width: 900px) { .profile { grid-template-columns: 1fr; gap: 44px; } .profile figure { max-width: 440px; } }

/* contato com campos sublinhados */
.lux .contact { gap: 96px; }
.lux .contact-info h2 { font-size: clamp(40px, 4.6vw, 62px); }
.lux .form { background: transparent; color: var(--cream); padding: 0; gap: 28px; }
.lux .form h3 { color: var(--cream); font-size: 30px; }
.lux .form > p { color: var(--cream-muted); font-weight: 300; }
.lux .field label { color: var(--gold); font-size: 10.5px; letter-spacing: .32em; }
.lux .field input { background: transparent; color: var(--cream); border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; padding: 10px 0; min-height: 46px; font-size: 17px; }
.lux .field input:focus { box-shadow: none; border-bottom-color: var(--gold); }
.lux .form .btn { background: var(--gold); border-color: var(--gold); color: var(--dark); }
.lux .form .btn:hover { background: var(--cream); border-color: var(--cream); }
.lux .form .lgpd { color: var(--stone); border-top-color: var(--hair); }
.lux .form .lgpd a { color: var(--gold); }
.lux .form .status { color: var(--gold); }
@media (max-width: 900px) { .lux .contact { gap: 64px; } }

/* rodapé */
.lux .site-footer .wrap { padding-block: 72px 60px; }
.lux .section.flush-top { padding-top: 0; }
@media (max-width: 900px) {
  .cover-text { margin-top: -48px; }
  .cover .kicker::before { display: none; }
}
/* página principal na mesma linha */
.lux .areas, .lux .faq { border-top-color: var(--hair-ink); }
.lux .area h3 { font-size: 30px; }
.lux .note { background: transparent; border: 0; border-top: 1px solid var(--hair-ink); padding: 32px 0 0; }
.lux .notes { gap: 48px 64px; }
.lux .question { gap: 96px; }
.lux .question-body h2, .lux .about-body h2 { color: var(--ink); font-size: clamp(38px, 4.4vw, 58px); }
.lux .faq summary { font-size: 26px; padding-block: 28px; }

/* botão do WhatsApp: ícone encostado na borda esquerda */
.lux .btn.btn-wa { padding: 6px 26px 6px 6px; gap: 14px; }
.lux .btn-wa small { text-transform: none; letter-spacing: .04em; font-size: 13px; }
/* topo: botão sem quebra de linha; a capa empilha os dois contatos com a mesma largura */
.lux .nav { gap: 28px; }
.lux .nav .btn { white-space: nowrap; }
.cover .actions { display: grid; justify-items: stretch; gap: 12px; width: min(100%, 320px); }
.cover .actions .btn { width: 100%; }
.cover .actions .btn-wa { justify-content: flex-start; min-height: 56px; }
.cover .actions .btn-wa .social-ico { width: 42px; height: 42px; }
.cover .actions .btn-wa .social-ico svg { width: 23px; height: 23px; }
