/* Página de qualificação — /consulta-particular/
   Usa os tokens do site.css (cores, fontes, raio, sombra). */
:root {
  --ouro: #c9a461;
  --ouro-escuro: #8c6a3f;
  --linha: rgba(107, 90, 78, 0.18);
}
.q-main { overflow-x: clip; }
.q-sec { padding: 96px 0; }
.q-sec.alt { background: var(--bege); }
.q-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.q-head .label { justify-content: center; }
.q-head .label::after { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .5; }
.q-head h2 { font-size: clamp(34px, 4.4vw, 52px); margin-top: 14px; }
.q-head h2 em { color: var(--marrom); }
.q-head p { margin-top: 14px; color: var(--texto-suave); }

/* 1 — Sobre mim */
.q-sobre { padding-top: 132px; }
.q-sobre-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 72px; align-items: center; }
.q-foto { position: relative; }
.q-foto img { width: 100%; height: 620px; object-fit: cover; object-position: center top; border-radius: 260px 260px var(--radius) var(--radius); box-shadow: var(--sombra); }
.q-foto::after { content: ""; position: absolute; inset: -14px; border: 1px solid rgba(201, 164, 97, .55); border-radius: 274px 274px 30px 30px; pointer-events: none; }
.q-sobre h1 { font-size: clamp(40px, 5.2vw, 64px); margin: 14px 0 24px; }
.q-sobre h1 em { color: var(--marrom); }
.q-sobre p { color: var(--texto-suave); margin-bottom: 16px; font-size: 16.5px; }
.q-sobre p.lead { color: var(--texto); font-size: 18px; }
.q-cred { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--linha); font-size: 13.5px; letter-spacing: .04em; color: var(--verde); line-height: 1.9; }

/* 2 — Formação e experiência (grade com fio superior) */
.q-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 48px; }
.q-item { border-top: 1px solid var(--linha); padding-top: 26px; }
.q-item .ano { display: block; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro-escuro); margin-bottom: 10px; }
.q-item h3 { font-size: 27px; margin-bottom: 10px; }
.q-item p { color: var(--texto-suave); font-size: 15.5px; }
.q-sub { font-size: clamp(28px, 3.4vw, 38px); text-align: center; margin: 80px 0 32px; }
.q-exp { max-width: 860px; margin: 0 auto; border-top: 1px solid var(--linha); padding-top: 28px; }
.q-exp p { color: var(--texto-suave); font-size: 16.5px; margin-bottom: 16px; }
.q-registro { text-align: center; margin-top: 48px; }
.q-registro span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--marrom); margin-bottom: 6px; }
.q-registro strong { font-family: "Cormorant", serif; font-size: 28px; font-weight: 500; color: var(--verde); }

/* 3 — Filosofia (bloco verde com monograma) */
.q-filo { position: relative; background: var(--verde); color: #f2eee8; border-radius: 48px; margin: 0 16px; padding: 104px 0; overflow: hidden; isolation: isolate; }
.q-filo::before { content: ""; position: absolute; right: -60px; top: 50%; width: 520px; height: 420px; transform: translateY(-50%); background: url("/assets/fotos/monograma-acp.webp") no-repeat center / contain; opacity: .07; z-index: -1; }
.q-filo .q-head h2 { color: #f6f1eb; }
.q-filo .q-head h2 em { color: var(--ouro); }
.q-filo .label { color: var(--ouro); }
.q-filo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 72px; max-width: 1000px; margin: 0 auto; }
.q-valor { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 34px 0; border-top: 1px solid rgba(201, 164, 97, .35); }
.q-valor .num { font-family: "Cormorant", serif; font-style: italic; font-size: 44px; line-height: 1; color: var(--ouro); }
.q-valor h3 { font-size: 28px; color: #f6f1eb; margin-bottom: 8px; }
.q-valor p { color: rgba(242, 238, 232, .78); font-size: 15.5px; }

/* 4 — Compromisso (lista numerada + foto) */
.q-comp-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 72px; align-items: center; }
.q-comp-grid .q-head { text-align: left; margin: 0 0 24px; }
.q-comp-grid .q-head .label { justify-content: flex-start; }
.q-comp-grid .q-head .label::after { display: none; }
.q-passos { list-style: none; counter-reset: passo; }
.q-passos li { counter-increment: passo; display: grid; grid-template-columns: 72px 1fr; gap: 16px; padding: 26px 0; border-top: 1px solid var(--linha); }
.q-passos li::before { content: counter(passo, decimal-leading-zero); font-family: "Cormorant", serif; font-size: 46px; line-height: 1; color: var(--ouro-escuro); }
.q-passos h3 { font-size: 26px; margin-bottom: 6px; }
.q-passos p { color: var(--texto-suave); font-size: 15.5px; }
.q-comp-foto img { width: 100%; height: 640px; object-fit: cover; object-position: center 20%; border-radius: var(--radius); box-shadow: var(--sombra); }

/* 5 — Incluído e valor */
.q-lista { list-style: none; max-width: 900px; margin: 0 auto; }
.q-lista li { position: relative; padding: 24px 0 24px 30px; border-bottom: 1px solid var(--linha); }
.q-lista li::before { content: ""; position: absolute; left: 4px; top: 33px; width: 7px; height: 7px; border-radius: 50%; background: var(--ouro-escuro); }
.q-lista h3 { font-family: "Montserrat", sans-serif; font-size: 16.5px; font-weight: 600; color: var(--texto); margin-bottom: 4px; line-height: 1.5; }
.q-lista p { color: var(--texto-suave); font-size: 15.5px; }
.q-preco { max-width: 640px; margin: 72px auto 0; background: #fff; border-radius: 32px; box-shadow: var(--sombra); padding: 56px 48px 48px; text-align: center; position: relative; }
.q-preco::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(201, 164, 97, .45); border-radius: 24px; pointer-events: none; }
.q-preco .label { justify-content: center; }
.q-preco .label::after { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .5; }
.q-preco h2 { font-size: clamp(32px, 4vw, 44px); margin: 12px 0 18px; }
.q-valor-num { font-family: "Cormorant", serif; font-size: clamp(56px, 8vw, 76px); line-height: 1; color: var(--verde); font-weight: 500; }
.q-reajuste { margin-top: 10px; font-size: 14px; color: var(--marrom); }
.q-pag { margin: 22px auto 0; max-width: 440px; color: var(--texto-suave); font-size: 15.5px; }
.q-part { margin: 24px auto 28px; padding-top: 22px; border-top: 1px solid var(--linha); color: var(--texto); font-size: 15.5px; max-width: 460px; }
.q-preco .btn { position: relative; z-index: 1; }
.q-conf { margin-top: 16px; font-size: 13.5px; color: var(--texto-suave); }

.q-main .container > * { overflow-wrap: anywhere; }

@media (max-width: 960px) {
  .q-sobre-grid, .q-comp-grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .q-foto { max-width: 440px; margin: 0 auto; width: 100%; }
  .q-foto img { height: 520px; }
  .q-comp-foto { order: -1; }
  .q-comp-foto img { height: 440px; }
  .q-grid3 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .q-filo-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .q-sec { padding: 64px 0; }
  .q-sobre { padding-top: 104px; }
  .q-foto img { height: 440px; }
  .q-foto::after { inset: -8px; }
  .q-filo { padding: 72px 0; border-radius: 32px; margin: 0 8px; }
  .q-valor { grid-template-columns: 48px 1fr; gap: 14px; }
  .q-valor .num { font-size: 36px; }
  .q-passos li { grid-template-columns: 52px 1fr; }
  .q-passos li::before { font-size: 38px; }
  .q-preco { padding: 44px 24px 36px; border-radius: 26px; }
  .q-sub { margin-top: 56px; }
}
.q-filo-wrap { padding: 32px 0; }
#valor { scroll-margin-top: 100px; }
