/*! Wharbz · páginas de serviço (lajes corporativas, prédios monousuários, imóveis de rua, empresas chegando a São Paulo)
    O topo da página, o menu e o sumário ficam no <style> de cada página (primeira dobra); aqui fica o restante. */

/* ===== SEÇÕES ===== */
.sv-sec{ padding:12vh 8vw; background:var(--white); }
.sv-sec.alt{ background:var(--cream); }
.sv-head{ max-width:720px; margin:0 auto 6vh; text-align:center; }
.sv-eyebrow{ font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-text); margin-bottom:1.1rem; }
.sv-h2{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:clamp(1.55rem,2.8vw,2.15rem); line-height:1.3; color:var(--navy); margin-bottom:1.1rem; }
.sv-nw{ white-space:nowrap; }
.sv-intro{ font-weight:300; font-size:.95rem; line-height:1.8; color:var(--grey-text); }
.sv-sec a:not(.sv-outro):not(.sv-tipo), .sv-nota a, .sv-ponte a, .comp-table a, .faq-a-inner a{ color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); transition:color .25s ease; }
.sv-sec a:not(.sv-outro):not(.sv-tipo):hover, .comp-table a:hover, .faq-a-inner a:hover{ color:var(--gold-text); }

/* ===== PERFIL (texto + foto) ===== */
.sv-split{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1.05fr 1fr; gap:6vw; align-items:center; }
.sv-split-text .sv-h2{ margin-bottom:1.3rem; }
.sv-p{ font-weight:300; font-size:.95rem; line-height:1.85; color:var(--grey-text); margin-bottom:1.6rem; }
.sv-lista{ list-style:none; margin-bottom:1.8rem; }
.sv-lista li{ position:relative; padding-left:1.4rem; margin-bottom:.8rem; font-size:.92rem; line-height:1.7; color:var(--navy); }
.sv-lista li::before{ content:''; position:absolute; left:0; top:.78rem; width:10px; height:1px; background:var(--gold); }
.sv-nota{ font-weight:300; font-size:.88rem; line-height:1.8; color:var(--grey-text); padding-top:1.4rem; border-top:1px solid rgba(14,42,77,.1); }
.sv-split-media{ position:relative; }
.sv-split-media img{ display:block; width:100%; height:auto; aspect-ratio:640/365; object-fit:cover; box-shadow:0 30px 60px rgba(14,42,77,.16); }
.sv-split-media::after{ content:''; position:absolute; left:-14px; bottom:-14px; width:38%; height:38%; border-left:1px solid var(--gold); border-bottom:1px solid var(--gold); pointer-events:none; }
@media (max-width:900px){ .sv-split{ grid-template-columns:1fr; gap:7vh; } .sv-split-media{ order:-1; } .sv-split-media::after{ left:-8px; bottom:-8px; } }

/* ===== TABELA ===== */
.comp-table-wrap{ max-width:960px; margin:0 auto; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.comp-table{ width:100%; border-collapse:collapse; }
.comp-table thead tr{ border-bottom:2px solid var(--gold); }
.comp-table th{ padding:1.2rem 1.4rem; text-align:left; font-family:'Jost',sans-serif; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500; color:var(--navy); }
.comp-table thead th.comp-attr{ color:var(--grey-text); width:26%; }
.comp-table tbody tr{ border-bottom:1px solid rgba(14,42,77,.08); transition:background .2s; }
.comp-table tbody tr:hover{ background:rgba(199,162,92,.05); }
.comp-table td{ padding:1.3rem 1.4rem; font-size:.88rem; font-weight:300; color:var(--grey-text); line-height:1.7; vertical-align:top; }
.comp-table tbody th.comp-attr{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; letter-spacing:0; text-transform:none; font-weight:400; color:var(--navy); vertical-align:top; padding-top:1.2rem; }
@media (max-width:640px){
  .comp-table thead{ display:none; }
  .comp-table, .comp-table tbody, .comp-table tr, .comp-table th, .comp-table td{ display:block; width:100%; }
  .comp-table tbody tr{ padding:1.2rem 0; }
  .comp-table tbody th.comp-attr{ padding:0 0 .4rem; }
  .comp-table td{ padding:0; font-size:.86rem; }
}

/* ===== CUSTO TOTAL (faixa azul) ===== */
.sv-custo{ background:var(--navy); color:var(--white); padding:14vh 8vw; }
.sv-custo-inner{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:7vw; align-items:center; }
.sv-custo .sv-eyebrow{ color:var(--gold); }
.sv-custo .sv-h2{ color:var(--white); }
.sv-custo-texto p{ font-weight:300; font-size:.95rem; line-height:1.85; color:rgba(252,252,250,.82); margin-bottom:1.2rem; }
.sv-conta{ list-style:none; border:1px solid rgba(255,255,255,.14); padding:2.2rem 2.4rem; background:rgba(255,255,255,.03); }
.sv-conta-linha, .sv-conta-total{ display:grid; grid-template-columns:1.6rem 1fr; align-items:baseline; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.1); font-weight:300; font-size:.92rem; color:rgba(252,252,250,.88); }
.sv-conta-base{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.25rem; color:var(--white); }
.sv-sinal{ color:var(--gold); font-weight:400; }
.sv-conta-total{ border-bottom:none; border-top:1px solid var(--gold); margin-top:.6rem; padding-top:1.1rem; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem; color:var(--gold); }
@media (max-width:900px){ .sv-custo-inner{ grid-template-columns:1fr; gap:6vh; } .sv-conta{ padding:1.6rem 1.5rem; } }

/* ===== ETAPAS ===== */
.sv-etapas{ list-style:none; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(14,42,77,.1); border:1px solid rgba(14,42,77,.1); }
.sv-etapa{ background:var(--white); padding:2.4rem 1.8rem 2.6rem; }
.sv-sec.alt .sv-etapa{ background:var(--cream); }
.sv-etapa-n{ display:block; font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--gold); line-height:1; margin-bottom:1.2rem; }
.sv-etapa h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.25rem; color:var(--navy); margin-bottom:.7rem; line-height:1.3; }
.sv-etapa p{ font-weight:300; font-size:.88rem; line-height:1.75; color:var(--grey-text); }
.sv-ponte{ max-width:720px; margin:5vh auto 0; text-align:center; font-weight:300; font-size:.92rem; line-height:1.8; color:var(--grey-text); }
@media (max-width:1000px){ .sv-etapas{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sv-etapas{ grid-template-columns:1fr; } .sv-etapa{ padding:2rem 1.6rem; } }

/* ===== CLÁUSULAS ===== */
.sv-clausulas{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.4rem; }
.sv-clausula{ background:var(--white); padding:2rem 1.8rem; border-top:2px solid var(--gold); box-shadow:0 10px 30px rgba(14,42,77,.05); }
.sv-clausula h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.2rem; color:var(--navy); margin-bottom:.7rem; }
.sv-clausula p{ font-weight:300; font-size:.88rem; line-height:1.75; color:var(--grey-text); }
.sv-ressalva{ max-width:780px; margin:6vh auto 0; padding:1.4rem 1.8rem; border-left:2px solid var(--gold); background:rgba(14,42,77,.03); font-size:.9rem; line-height:1.8; color:var(--navy); font-weight:400; }

/* ===== ONDE EM SÃO PAULO ===== */
.sv-eixos{ list-style:none; max-width:960px; margin:0 auto; border-top:1px solid rgba(14,42,77,.12); }
.sv-eixo{ display:grid; grid-template-columns:minmax(200px,32%) 1fr; gap:2rem; align-items:baseline; padding:1.5rem 0; border-bottom:1px solid rgba(14,42,77,.12); }
.sv-eixo-nome{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.3rem; color:var(--navy); line-height:1.4; }
.sv-eixo-nome a{ border-bottom:1px solid var(--gold); }
.sv-eixo-txt{ font-weight:300; font-size:.9rem; line-height:1.75; color:var(--grey-text); }
@media (max-width:640px){ .sv-eixo{ grid-template-columns:1fr; gap:.4rem; padding:1.3rem 0; } }

/* ===== PERGUNTAS FREQUENTES ===== */
.faq-section{ background:var(--cream); padding:12vh 8vw; }
.faq-inner{ max-width:780px; margin:0 auto; }
.faq-head{ margin-bottom:5vh; }
.faq-eyebrow{ font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-text); margin-bottom:1rem; }
.faq-head h2{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:clamp(1.4rem,2.4vw,1.9rem); color:var(--navy); line-height:1.35; }
.faq-item{ border-top:1px solid rgba(14,42,77,.12); }
.faq-item:last-child{ border-bottom:1px solid rgba(14,42,77,.12); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.8rem 0; background:none; border:none; cursor:pointer; text-align:left; font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:clamp(1.05rem,1.7vw,1.2rem); color:var(--navy); line-height:1.4; }
.faq-q:hover{ color:var(--gold-text); }
.faq-icon{ position:relative; width:16px; height:16px; flex-shrink:0; }
.faq-icon::before, .faq-icon::after{ content:''; position:absolute; background:var(--navy); transition:transform .3s, opacity .3s; }
.faq-icon::before{ left:0; top:7px; width:16px; height:1px; }
.faq-icon::after{ left:7px; top:0; width:1px; height:16px; }
.faq-item.open .faq-icon::after{ transform:rotate(90deg); opacity:0; }
/* Sem JavaScript, as respostas ficam abertas; com JavaScript, abrem uma de cada vez. */
.faq-a{ display:grid; grid-template-rows:1fr; overflow:hidden; }
.js .faq-a{ grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.js .faq-item.open .faq-a{ grid-template-rows:1fr; }
.faq-a-inner{ min-height:0; padding:0 0 1.8rem; font-weight:300; font-size:.92rem; color:var(--grey-text); line-height:1.85; transition:padding .35s ease; }
.js .faq-item:not(.open) .faq-a-inner{ visibility:hidden; padding-bottom:0; }

/* ===== OUTROS SERVIÇOS ===== */
.sv-outros{ background:var(--white); padding:11vh 8vw 4vh; }
.sv-outros-inner{ max-width:1120px; margin:0 auto; }
.sv-outros-titulo{ font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-text); font-weight:400; text-align:center; margin-bottom:4vh; }
.sv-outros-lista{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(14,42,77,.1); border:1px solid rgba(14,42,77,.1); }
.sv-outro{ display:flex; flex-direction:column; height:100%; background:var(--white); padding:2rem 1.8rem; text-decoration:none; transition:background .3s ease; }
.sv-outro:hover{ background:rgba(199,162,92,.06); }
.sv-outro-nome{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.25rem; color:var(--navy); margin-bottom:.6rem; }
.sv-outro-txt{ font-weight:300; font-size:.86rem; line-height:1.7; color:var(--grey-text); flex:1; }
.sv-outro-ir{ margin-top:1.2rem; color:var(--gold-text); font-size:1rem; transition:transform .3s ease; }
.sv-outro:hover .sv-outro-ir{ transform:translateX(4px); }
@media (max-width:900px){ .sv-outros-lista{ grid-template-columns:1fr; } }

/* ===== CHAMADA FINAL ===== */
.article-cta{ text-align:center; padding:10vh 8vw 14vh; background:var(--white); }
.article-cta-label{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.2rem,2vw,1.55rem); color:var(--navy); margin:0 auto 2.6rem; line-height:1.5; max-width:640px; }
.article-cta-btn{ display:inline-block; font-family:'Jost',sans-serif; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--white); background:var(--navy); border:1px solid var(--navy); padding:1.1rem 2.4rem; text-decoration:none; cursor:pointer; transition:all .3s; }
.article-cta-btn:hover{ background:var(--gold-text); border-color:var(--gold-text); }

/* ===== FLUXO EM TRÊS PASSOS (built to suit) ===== */
.sv-fluxo{ list-style:none; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; counter-reset:passo; }
.sv-passo{ position:relative; padding-top:2.6rem; }
.sv-passo::before{ content:''; position:absolute; top:1.05rem; left:2.6rem; right:-2.4rem; height:1px; background:var(--gold); opacity:.6; }
.sv-passo:last-child::before{ display:none; }
.sv-passo-n{ position:absolute; top:0; left:0; width:2.1rem; height:2.1rem; border:1px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--gold-text); background:var(--cream); }
.sv-passo h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.25rem; color:var(--navy); margin:.6rem 0 .6rem; }
.sv-passo p{ font-weight:300; font-size:.88rem; line-height:1.75; color:var(--grey-text); }
.sv-fluxo-texto{ max-width:760px; margin:7vh auto 0; }
.sv-fluxo-texto p{ font-weight:300; font-size:.95rem; line-height:1.85; color:var(--grey-text); margin-bottom:1.2rem; }
.sv-fluxo-texto p:last-child{ color:var(--navy); font-weight:400; padding:1.4rem 1.8rem; border-left:2px solid var(--gold); background:rgba(14,42,77,.03); margin-top:2rem; }
@media (max-width:820px){ .sv-fluxo{ grid-template-columns:1fr; gap:2rem; } .sv-passo{ padding:0 0 0 3.4rem; } .sv-passo::before{ top:2.4rem; bottom:-2rem; left:1.05rem; right:auto; width:1px; height:auto; } .sv-passo h3{ margin-top:.2rem; } }

/* ===== CRITÉRIOS DE REGIÃO + GUIAS ===== */
.sv-criterios{ list-style:none; max-width:820px; margin:0 auto; display:grid; gap:1rem; }
.sv-criterios li{ padding:1.3rem 1.6rem; border-left:2px solid var(--gold); background:rgba(14,42,77,.025); font-weight:300; font-size:.93rem; line-height:1.75; color:var(--grey-text); }
.sv-criterios strong{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.15rem; color:var(--navy); margin-right:.3rem; }
.sv-guias{ max-width:960px; margin:7vh auto 0; text-align:center; }
.sv-guias-titulo{ font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold-text); margin-bottom:1.6rem; }
.sv-guias ul{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; }
.sv-sec .sv-guias a{ display:inline-block; padding:.7rem 1.2rem; border:1px solid rgba(14,42,77,.2); border-bottom:1px solid rgba(14,42,77,.2); font-size:.82rem; color:var(--navy); text-decoration:none; transition:all .25s ease; }
.sv-sec .sv-guias a:hover{ border-color:var(--gold); color:var(--gold-text); background:rgba(199,162,92,.06); }

/* ===== LINHA DO TEMPO (à distância e presencial) ===== */
.sv-marcos{ list-style:none; max-width:820px; margin:0 auto; position:relative; }
.sv-marcos::before{ content:''; position:absolute; left:1.35rem; top:1.4rem; bottom:1.4rem; width:1px; background:var(--gold); opacity:.55; }
.sv-marco{ position:relative; display:grid; grid-template-columns:2.7rem 1fr; gap:1.6rem; padding:1.2rem 0; }
.sv-marco-n{ position:relative; z-index:1; width:2.7rem; height:2.7rem; border-radius:50%; border:1px solid var(--gold); background:var(--cream); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--gold-text); }
.sv-sec:not(.alt) .sv-marco-n{ background:var(--white); }
.sv-marco-corpo h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.3rem; color:var(--navy); margin:.35rem 0 .5rem; display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .9rem; }
.sv-marco-corpo p{ font-weight:300; font-size:.92rem; line-height:1.8; color:var(--grey-text); }
.sv-onde{ font-family:'Jost',sans-serif; font-style:normal; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; padding:.32rem .7rem; border:1px solid currentColor; line-height:1; }
.sv-onde-remoto{ color:var(--navy); }
.sv-onde-presencial{ color:var(--gold-text); background:rgba(199,162,92,.1); }
.sv-onde-misto{ color:var(--grey-text); }

/* cartões sobre fundo claro */
.sv-sec:not(.alt) .sv-clausula{ background:var(--cream); box-shadow:none; }
.sv-clausulas.sv-quatro{ grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }

/* ===== PÁGINA DE SERVIÇOS: por tipo de imóvel ===== */
.sv-tipos{ list-style:none; max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.sv-tipo{ position:relative; display:flex; flex-direction:column; height:100%; padding:2.2rem 1.8rem 2rem; background:var(--white); border:1px solid rgba(14,42,77,.12); text-decoration:none; transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.sv-tipo::before{ content:''; position:absolute; left:-1px; right:-1px; top:-1px; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.sv-tipo:hover{ border-color:rgba(199,162,92,.6); box-shadow:0 18px 40px rgba(14,42,77,.08); transform:translateY(-3px); }
.sv-tipo:hover::before{ transform:scaleX(1); }
.sv-tipo-icone svg{ width:44px; height:44px; fill:none; stroke:var(--navy); stroke-width:1.2; stroke-linejoin:round; margin-bottom:1.4rem; }
.sv-tipo-icone .sv-ic-destaque{ fill:var(--gold); fill-opacity:.22; stroke:var(--gold-text); }
.sv-tipo-nome{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem; color:var(--navy); line-height:1.3; margin-bottom:.7rem; }
.sv-tipo-txt{ font-weight:300; font-size:.88rem; line-height:1.7; color:var(--grey-text); flex:1; }
.sv-tipo-ir{ margin-top:1.4rem; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-text); }
@media (max-width:1100px){ .sv-tipos{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sv-tipos{ grid-template-columns:1fr; } }

/* ===== PÁGINA DE SERVIÇOS: o que você leva ===== */
.sv-kit{ list-style:none; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(14,42,77,.1); border:1px solid rgba(14,42,77,.1); }
.sv-kit-item{ background:var(--white); padding:2.2rem 2rem 2.4rem; }
.sv-kit-n{ display:block; font-family:'Cormorant Garamond',serif; font-size:1.9rem; color:var(--gold); line-height:1; margin-bottom:1rem; }
.sv-kit-item h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.25rem; color:var(--navy); margin-bottom:.6rem; }
.sv-kit-item p{ font-weight:300; font-size:.88rem; line-height:1.75; color:var(--grey-text); }
.sv-kit-fecho{ max-width:760px; margin:6vh auto 0; text-align:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.6; color:var(--gold-text); }
@media (max-width:900px){ .sv-kit{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sv-kit{ grid-template-columns:1fr; } }

/* ===== PÁGINA DE SERVIÇOS: indicação e transparência ===== */
.sv-dupla{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; gap:6vw; align-items:start; }
.sv-dupla-texto p{ font-weight:300; font-size:.95rem; line-height:1.9; color:var(--grey-text); margin-bottom:1.4rem; }
.sv-dupla-texto .sv-nota{ margin-bottom:0; }
@media (max-width:860px){ .sv-dupla{ grid-template-columns:1fr; gap:3vh; } }
.sv-compromissos{ list-style:none; max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:3vw; }
.sv-compromissos li{ padding-top:1.6rem; border-top:2px solid var(--gold); }
.sv-compromissos h3{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400; font-size:1.25rem; color:var(--navy); margin-bottom:.7rem; }
.sv-compromissos p{ font-weight:300; font-size:.9rem; line-height:1.8; color:var(--grey-text); }
@media (max-width:860px){ .sv-compromissos{ grid-template-columns:1fr; gap:4vh; } }
