/*==================================================
GUILHERME VICENTINI
Perito Avaliador Imobiliário
Design System v1
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

:root {

--gold:#C8A45D;
--gold-light:#DFC28C;
--gold-dark:#987739;

--bg:#050505;
--bg2:#0E0E0E;
--card:#141414;
--card2:#1B1B1B;

--text:#FFFFFF;
--text2:#C9C9C9;
--text3:#8E8E8E;

--border:rgba(255,255,255,.08);

--radius:18px;

--shadow:0 20px 60px rgba(0,0,0,.35);

--transition:.35s;

}

* {
margin:0;
padding:0;
box-sizing:border-box;
}

html {
scroll-behavior:smooth;
}

body {

font-family:'Inter',sans-serif;

background:var(--bg);

color:var(--text);

overflow-x:hidden;

line-height:1.7;

/* Sempre visível — opacity:0 quebrava o site inteiro quando o JS não marcava .loaded */
opacity:1;

position:relative;

}

body::before {

content:"";

position:fixed;

inset:0;

background:
radial-gradient(circle at 10% 10%,rgba(200,164,93,.06),transparent 24%),
radial-gradient(circle at 90% 20%,rgba(255,255,255,.03),transparent 18%);

pointer-events:none;

z-index:-1;

}

body.loaded {

opacity:1;

}

img {

max-width:100%;
height:auto;
display:block;

}

a {

text-decoration:none;

color:inherit;

}

.container {

width:min(1280px,92%);

margin:auto;

}

section {

padding:120px 0;

position:relative;

isolation:isolate;

}

h1 {

font-size:68px;

line-height:1.05;

font-weight:900;

letter-spacing:-2px;

}

h2 {

font-size:48px;

font-weight:800;

line-height:1.15;

margin-bottom:20px;

}

h3 {

font-size:28px;

font-weight:700;

margin-bottom:15px;

}

p {

font-size:19px;

color:var(--text2);

}

.text-center {

text-align:center;

}

.grid {

display:grid;

gap:30px;

}

.btn {

display:inline-flex;

align-items:center;

justify-content:center;

padding:18px 34px;

border-radius:14px;

font-weight:700;

transition:.35s;

cursor:pointer;

position:relative;

overflow:hidden;

}

.btn::after {

content:"";

position:absolute;

top:0;

left:-120%;

width:70%;

height:100%;

background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);

transform:skewX(-20deg);

}

.btn:hover::after {

left:150%;

transition:.8s;

}

.btn:hover {

transform:translateY(-4px);

box-shadow:0 18px 35px rgba(200,164,93,.25);

}

.btn {

box-shadow:0 10px 24px rgba(0,0,0,.18);

transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;

}

.btn-primary {

background:linear-gradient(135deg,var(--gold),#E8C889);

color:#111;

}

.btn-primary:hover {

transform:translateY(-4px);

box-shadow:0 20px 50px rgba(200,164,93,.35);

}

.btn-outline {

border:1px solid rgba(255,255,255,.15);

color:white;

}

.btn-outline:hover {

background:white;

color:black;

}

.card {

background:linear-gradient(180deg,#151515,#0F0F0F);

border:1px solid var(--border);

border-radius:22px;

padding:40px;

transition:.35s;

box-shadow:var(--shadow);

}

.card:hover {

transform:translateY(-8px);

border-color:rgba(200,164,93,.5);

}

.badge {

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

border-radius:50px;

background:rgba(200,164,93,.08);

border:1px solid rgba(200,164,93,.35);

color:var(--gold-light);

font-size:14px;

font-weight:700;

margin-bottom:30px;

}

.highlight {

color:var(--gold);

}

.divider {

width:90px;

height:4px;

background:var(--gold);

border-radius:50px;

margin:25px auto;

}

@media(max-width:1100px){

h1 {

font-size:52px;

}

h2 {

font-size:40px;

}

}

.section-header {
  max-width:860px;
  margin-bottom:45px;
  position:relative;
  padding-left:8px;
}

.section-header::before {
  content:"";
  position:absolute;
  left:0;
  top:-10px;
  width:84px;
  height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
}

.section-header p {
  max-width:760px;
  font-size:20px;
}

.timeline-wrapper {
  display:grid;
  gap:24px;
  margin-top:55px;
}

.timeline-item {
  display:grid;
  grid-template-columns:70px 1fr;
  gap:24px;
  align-items:start;
  padding:28px 32px;
  background:linear-gradient(180deg,#151515,#0F0F0F);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.timeline-item:hover,
.benefit-card:hover,
.comparison-card:hover,
.flow-step:hover,
.delivery-item:hover,
.professional-card:hover,
.case-left:hover,
.case-right:hover,
.timeline-item:hover {
  transform:translateY(-6px);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.timeline-icon {
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(200,164,93,.14);
  color:var(--gold-light);
  border:1px solid rgba(200,164,93,.3);
}

.timeline-content h3 {
  margin-bottom:8px;
}

.benefits {
  padding:140px 0;
  background:#080808;
}

.benefits-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:35px;
  margin-top:70px;
}

.benefit-card {
  padding:40px;
  background:#151515;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}

.benefit-card:hover {
  transform:translateY(-8px);
  border-color:#C8A45D;
}

.benefit-card h3 {
  margin:25px 0 15px;
  font-size:26px;
}

.benefit-card p {
  line-height:1.9;
  color:#D4D4D4;
}

.icon-box {
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(200,164,93,.14);
  color:var(--gold-light);
  border:1px solid rgba(200,164,93,.3);
}

.premium-comparison {
  padding:150px 0;
  background:#080808;
}

.comparison-wrapper {
  display:grid;
  grid-template-columns:1fr 140px 1fr;
  gap:35px;
  align-items:center;
  margin-top:70px;
}

.comparison-card {
  background:#141414;
  padding:45px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  height:100%;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.comparison-card.right {
  border:1px solid rgba(200,164,93,.35);
  background:linear-gradient(180deg,#171717,#101010);
}

.comparison-title {
  font-size:30px;
  font-weight:700;
  margin-bottom:35px;
}

.comparison-title.gold {
  color:#C8A45D;
}

.comparison-card ul {
  list-style:none;
  padding:0;
  margin:0;
}

.comparison-card li {
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:24px;
  line-height:1.8;
}

.comparison-card svg {
  width:24px;
  height:24px;
  flex-shrink:0;
}

.left svg {
  stroke:#FF6363;
}

.right svg {
  stroke:#C8A45D;
}

.comparison-vs {
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  font-weight:700;
  color:#C8A45D;
}

.technical-flow {
  padding:150px 0;
  background:#050505;
}

.flow-wrapper {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  margin-top:70px;
  flex-wrap:wrap;
}

.flow-step {
  width:250px;
  background:#141414;
  border-radius:22px;
  padding:35px;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}

.flow-step:hover {
  transform:translateY(-8px);
  border-color:#C8A45D;
}

.flow-step.highlight {
  background:linear-gradient(180deg,#1b1b1b,#111);
  border:1px solid rgba(200,164,93,.35);
}

.flow-icon {
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:rgba(200,164,93,.10);
  margin-bottom:25px;
}

.flow-icon svg {
  width:36px;
  height:36px;
  stroke:#C8A45D;
}

.flow-step h3 {
  margin-bottom:20px;
  font-size:26px;
}

.flow-step ul {
  padding-left:18px;
  line-height:2;
  color:#D5D5D5;
}

.flow-step small {
  display:block;
  margin-top:20px;
  opacity:.65;
}

.flow-arrow {
  font-size:34px;
  color:#C8A45D;
}

.flow-arrow svg {
  width:34px;
  height:34px;
  stroke:#C8A45D;
}

.flow-result {
  margin-top:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.flow-result-card {
  max-width:800px;
  padding:50px;
  background:#141414;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.flow-result-card.premium {
  margin-top:25px;
  background:linear-gradient(180deg,#1A1A1A,#111);
  border:1px solid rgba(200,164,93,.35);
}

.flow-result-icon {
  width:90px;
  height:90px;
  margin:auto auto 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:rgba(200,164,93,.12);
}

.flow-result-icon svg {
  width:46px;
  height:46px;
  stroke:#C8A45D;
}

.flow-result-arrow {
  margin:25px 0;
}

.flow-result-arrow svg {
  width:42px;
  height:42px;
  stroke:#C8A45D;
}

@media(max-width:900px){

.comparison-wrapper {
  grid-template-columns:1fr;
}

.comparison-vs {
  padding:20px 0;
}

.flow-wrapper {
  flex-direction:column;
}

.flow-arrow {
  transform:rotate(90deg);
}

.flow-step {
  width:100%;
  max-width:500px;
}

.delivery-grid {
  grid-template-columns:repeat(2,1fr);
}

.professional-grid {
  grid-template-columns:1fr;
}

.case-card {
  grid-template-columns:1fr;
}

.case-arrow {
  transform:rotate(90deg);
  padding:20px;
}

.footer-grid {
  grid-template-columns:1fr;
  gap:32px;
}

}

.professionals {
  padding:150px 0;
  background:#050505;
}

.professional-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:35px;
  margin-top:70px;
}

.professional-card {
  padding:45px;
  background:#151515;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}

.professional-card:hover {
  transform:translateY(-8px);
  border-color:#C8A45D;
}

.professional-card h3 {
  margin:25px 0 15px;
  font-size:28px;
}

.professional-card p {
  line-height:1.9;
  color:#D6D6D6;
}

.case-study {
  padding:150px 0;
  background:#080808;
}

.case-card {
  display:grid;
  grid-template-columns:1fr 120px 1fr;
  gap:30px;
  align-items:center;
  margin-top:70px;
}

.case-left,
.case-right {
  padding:45px;
  background:#151515;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.case-arrow {
  display:flex;
  justify-content:center;
}

.case-arrow svg {
  width:46px;
  height:46px;
  stroke:#C8A45D;
}

.case-card h3 {
  font-size:30px;
  margin-bottom:20px;
  color:#C8A45D;
}

.case-card p {
  line-height:2;
  color:#D5D5D5;
}

.final-cta {
  padding:150px 0;
  background:linear-gradient(135deg,#0d0d0d,#090909);
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
}

.final-cta h2 {
  margin-bottom:20px;
}

.final-cta p {
  max-width:760px;
  margin:0 auto 36px;
}

.cta-buttons {
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.services-central {
  padding:120px 0;
  background:linear-gradient(180deg,#0b0b0b,#070707);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.services-table-wrap {
  margin-top:40px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:auto;
  background:#111;
}

.services-table {
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}

.services-table th,
.services-table td {
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  font-size:16px;
}

.services-table thead th {
  color:var(--gold-light);
  background:rgba(200,164,93,.08);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.6px;
}

.services-table tbody tr:hover {
  background:rgba(255,255,255,.02);
}

.services-table td a {
  color:var(--gold-light);
  font-weight:700;
}

.services-central-actions {
  margin-top:30px;
  display:flex;
  justify-content:center;
}

.expert-signature {
  padding:90px 0 110px;
  background:#060606;
}

.expert-card {
  display:grid;
  grid-template-columns:160px 1fr;
  gap:26px;
  align-items:center;
  background:linear-gradient(145deg,#161616,#101010);
  border:1px solid rgba(200,164,93,.34);
  border-radius:24px;
  padding:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.3);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.expert-card:hover {
  transform:translateY(-6px);
  box-shadow:0 28px 76px rgba(0,0,0,.36);
  border-color:rgba(200,164,93,.62);
}

.expert-photo {
  width:160px;
  height:160px;
  border-radius:18px;
  object-fit:cover;
  border:2px solid rgba(200,164,93,.45);
}

.expert-kicker {
  display:inline-block;
  margin-bottom:10px;
  color:var(--gold-light);
  font-weight:700;
  font-size:13px;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.expert-copy h3 {
  margin-bottom:10px;
}

.expert-copy p {
  margin-bottom:12px;
}

.expert-link {
  color:var(--gold-light);
  font-weight:700;
}

.footer-premium {
  padding:72px 0;
  background:#0a0a0a;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:34px;
}

.footer-grid ul {
  list-style:none;
  padding:0;
  margin:0;
}

.footer-grid li {
  margin-bottom:10px;
  color:var(--text2);
}

.footer-grid a {
  color:var(--text2);
}

.footer-grid a:hover {
  color:var(--gold-light);
}

.premium-delivery {
  padding:150px 0;
  background:#080808;
}

.delivery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  margin-top:70px;
}

.delivery-item {
  background:#141414;
  padding:35px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}

.delivery-item:hover {
  transform:translateY(-8px);
  border-color:#C8A45D;
}

.delivery-number {
  position:absolute;
  top:18px;
  right:22px;
  font-size:42px;
  font-weight:800;
  opacity:.08;
  color:#fff;
}

.delivery-item h3 {
  margin-top:35px;
  margin-bottom:18px;
  font-size:24px;
}

.delivery-item p {
  line-height:1.9;
  color:#D6D6D6;
}

.authority-block {
  padding:150px 0;
  background:#050505;
}

.authority-flow {
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-top:60px;
  align-items:center;
}

.authority-card {
  width:min(760px,100%);
  padding:32px 36px;
  background:linear-gradient(180deg,#171717,#111);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  text-align:center;
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}

.authority-card h3 {
  margin-bottom:10px;
  color:#C8A45D;
}

.authority-arrow {
  color:#C8A45D;
  font-size:24px;
}

.authority-arrow svg {
  width:28px;
  height:28px;
  stroke:#C8A45D;
}

@media(max-width:700px){

.delivery-grid {
  grid-template-columns:1fr;
}

}

@media(max-width:768px){

section {

padding:80px 0;

}

h1 {

font-size:38px;

}

h2 {

font-size:30px;

}

h3 {

font-size:22px;

}

p {

font-size:17px;

}

.expert-card {
  grid-template-columns:1fr;
  text-align:center;
}

.expert-photo {
  width:140px;
  height:140px;
  margin:0 auto;
}

.services-table {
  min-width:640px;
}

.footer-grid {
  grid-template-columns:1fr;
}

}
