/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ===== DESIGN TOKENS ===== */
:root{
  /* backgrounds — Ricco brand: grafite quente */
  --color-bg-deep:oklch(0.22 0.012 75);      /* grafite quente */
  --color-bg-surface:oklch(0.96 0.003 75);   /* branco gelo #F2F2F2 */
  --color-bg-card:oklch(1.0 0 0);            /* white cards */
  --color-bg-muted:oklch(0.93 0.005 75);     /* cinza suave */

  /* text */
  --color-text-primary:oklch(0.22 0.010 75); /* grafite escuro */
  --color-text-inverse:oklch(0.96 0.003 75); /* branco gelo */
  --color-text-muted:oklch(0.50 0.008 75);   /* cinza técnico */

  /* accent — mostarda Ricco #D9A621 */
  --color-accent:oklch(0.73 0.155 85);       /* mostarda principal */
  --color-accent-hover:oklch(0.62 0.140 85); /* amarelo profundo #B88A1A */
  --color-accent-subtle:oklch(0.73 0.155 85 / 0.12);

  /* cinza técnico #4A4A4A */
  --color-tech-grey:oklch(0.38 0.008 75);

  /* borders */
  --color-border:oklch(0.22 0.010 75 / 0.10);
  --color-border-light:oklch(0.96 0.003 75 / 0.15);

  /* typography — Ricco: Archivo Black + Gambetta + Manrope */
  --ff-display:"Archivo Black",sans-serif;
  --ff-accent:"Gambetta",serif;
  --ff-body:"Manrope",sans-serif;

  /* fluid scale */
  --text-hero:clamp(3rem,7vw,5.5rem);
  --text-display:clamp(1.65rem,6vw,4.5rem);
  --text-heading:clamp(1.5rem,3vw,2.5rem);
  --text-subheading:clamp(1.125rem,2vw,1.5rem);
  --text-body:clamp(1rem,1.2vw,1.125rem);
  --text-small:clamp(0.8125rem,1vw,0.875rem);
  --text-micro:0.75rem;

  /* spacing */
  --space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;
  --space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;
  --space-section:clamp(5rem,10vw,10rem);

  /* shape — sharp corners, precisão de engenharia */
  --radius-sm:0px;--radius-md:0px;--radius-lg:2px;--radius-full:9999px;

  /* elevation */
  --shadow-subtle:0 1px 3px oklch(0 0 0 / 0.06);
  --shadow-card:0 4px 24px oklch(0 0 0 / 0.08);
  --shadow-elevated:0 12px 48px oklch(0 0 0 / 0.12);

  /* motion */
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
  --ease-out-quart:cubic-bezier(0.25,1,0.5,1);
  --dur-fast:200ms;--dur-normal:400ms;--dur-slow:800ms;
}

body{
  font-family:var(--ff-body);font-size:var(--text-body);
  color:var(--color-text-primary);background:var(--color-bg-surface);
  line-height:1.6;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}
ul{list-style:none}

/* ===== UTILITIES ===== */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--ff-body);font-weight:600;font-size:var(--text-small);
  letter-spacing:0.06em;text-transform:uppercase;
  padding:0.9rem 2.2rem;border-radius:var(--radius-md);
  transition:all var(--dur-normal) var(--ease-out-expo);
}
.btn-primary{
  background:var(--color-accent);color:oklch(0.97 0.005 75);
}
.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px)}
.btn-primary:focus-visible{
  outline:3px solid var(--color-accent);outline-offset:3px;
}
.btn-ghost{
  background:transparent;border:1px solid currentColor;color:inherit;
}
.btn-ghost:hover{background:oklch(1 0 0 / 0.1)}
.btn-ghost:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.btn-ghost--dark:hover{background:oklch(0 0 0 / 0.06)}
.btn-micro{
  padding:0;background:none;text-transform:uppercase;
  font-weight:600;font-size:var(--text-small);letter-spacing:0.06em;
  color:var(--color-accent);display:inline-flex;align-items:center;gap:0.4rem;
}
.btn-micro .arrow{transition:transform var(--dur-fast) var(--ease-out-quart)}
.btn-micro:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.btn-micro:hover .arrow{transform:translateX(4px)}

/* ===== HEADER ===== */
.header{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  padding:1.25rem 0;transition:all var(--dur-normal) var(--ease-out-expo);
}
.header.scrolled{
  background:rgba(50,44,38,0.97);backdrop-filter:blur(12px);
  padding:0.8rem 0;box-shadow:0 1px 0 rgba(255,255,255,0.06);
}
.header .container{display:flex;align-items:center;justify-content:space-between}
.header__logo{
  display:flex;align-items:center;gap:0.6rem;
  color:var(--color-text-inverse);text-decoration:none;
}
.header__logo-icon{height:32px;width:auto}
.header__logo-text{
  font-family:var(--ff-display);font-size:0.85rem;line-height:1.15;
  letter-spacing:0.08em;text-transform:uppercase;
}
.header__logo-text small{
  font-family:var(--ff-body);font-size:0.55rem;font-weight:500;
  letter-spacing:0.12em;opacity:0.7;
}
.header__logo span{color:var(--color-accent)}
.header__nav{display:flex;gap:2rem;align-items:center}
.header__nav a{
  color:oklch(0.97 0.005 75 / 0.70);font-size:var(--text-small);font-weight:500;
  letter-spacing:0.03em;transition:color var(--dur-fast) ease;
}
.header__nav a:hover{color:var(--color-text-inverse)}
.header__nav a:focus-visible{
  outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px;
}
.header__cta{
  font-size:0.8rem;padding:0.65rem 1.5rem;
  background:var(--color-accent);color:var(--color-bg-deep);
  border-radius:var(--radius-md);font-weight:600;letter-spacing:0.05em;
  text-transform:uppercase;transition:all var(--dur-fast) ease;
}
.header__cta:hover{background:var(--color-accent-hover)}
.header__mobile-toggle{display:none;color:var(--color-text-inverse);font-size:1.5rem}

/* Mobile Menu */
.mobile-menu{
  position:fixed;inset:0;background:var(--color-bg-deep);z-index:99;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  opacity:0;pointer-events:none;transition:opacity var(--dur-normal) var(--ease-out-expo);
}
.mobile-menu.active{opacity:1;pointer-events:all}
.mobile-menu a{
  font-family:var(--ff-display);font-size:1.8rem;color:var(--color-text-inverse);
  text-transform:uppercase;letter-spacing:0.04em;
}
.hamburger {
  width: 24px;
  height: 16px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-accent);
  transition: all var(--dur-normal) var(--ease-out-expo);
  transform-origin: center;
}
.header__mobile-toggle.is-active .hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
  background-color: var(--color-text-inverse);
}
.header__mobile-toggle.is-active .hamburger span:nth-child(2) {
  opacity: 0;
}
.header__mobile-toggle.is-active .hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
  background-color: var(--color-text-inverse);
}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  justify-content:center;overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;z-index:0;
}
.hero__bg img,.hero__bg video{width:100%;height:100%;object-fit:cover;filter:blur(3px);pointer-events:none}
.hero__video--mobile{display:none}
@media(max-width:768px){
  .hero__video--desktop{display:none}
  .hero__bg .hero__video--mobile{display:block;filter:none !important}
  .hero__overlay{background:rgba(50,44,38,0.35)}
}
.hero__overlay{
  position:absolute;inset:0;
  background:rgba(50,44,38,0.45);
}
.hero__content{
  position:relative;z-index:2;width:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
}
.hero__logo-center{
  max-width:clamp(260px, 35vw, 480px);height:auto;
  margin-bottom:var(--space-lg);
  filter:brightness(0) invert(1);
  opacity:0;transform:scale(0.9);animation:heroLogoIn 1.2s var(--ease-out-expo) 0.3s forwards;
}
@keyframes heroLogoIn{to{opacity:1;transform:scale(1)}}
.hero__cta{
  font-size:0.9rem;padding:1rem 3rem;letter-spacing:0.12em;
  opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease-out-expo) 0.8s forwards;
}
.hero__tag{
  font-family:var(--ff-accent);font-style:italic;font-size:var(--text-subheading);
  color:var(--color-accent);margin-bottom:var(--space-md);
  opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease-out-expo) 0.3s forwards;
}
.hero__title{
  font-family:var(--ff-display);font-size:var(--text-hero);
  color:var(--color-text-inverse);line-height:0.95;text-transform:uppercase;
  margin-bottom:var(--space-lg);
  opacity:0;transform:translateY(30px);animation:fadeUp 1s var(--ease-out-expo) 0.5s forwards;
}
.hero__subtitle{
  font-size:var(--text-body);color:rgba(247,245,242,0.7);
  max-width:520px;line-height:1.7;margin-bottom:var(--space-lg);
  opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease-out-expo) 0.7s forwards;
}
.hero__actions{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease-out-expo) 0.9s forwards;
}
.hero__scroll-arrow{
  position:absolute;bottom:2.5rem;left:50%;
  color:rgba(247,245,242,0.6);
  opacity:0;z-index:2;
  animation: fadeUp 1s var(--ease-out-expo) 1.2s forwards, floatDown 2s ease-in-out infinite 1.2s;
}
@keyframes floatDown{
  0%,100%{transform:translate(-50%, 0)}
  50%{transform:translate(-50%, 10px)}
}

/* ===== MARQUEE ===== */
.marquee{
  background:var(--color-bg-deep);padding:1.1rem 0;overflow:hidden;
  border-top:1px solid oklch(0.73 0.155 85 / 0.25);border-bottom:1px solid oklch(0.73 0.155 85 / 0.25);
}
.marquee__track{
  display:flex;gap:3rem;animation:marqueeScroll 30s linear infinite;width:max-content;
}
.marquee__item{
  font-family:var(--ff-display);font-size:var(--text-small);text-transform:uppercase;
  color:var(--color-accent);letter-spacing:0.15em;white-space:nowrap;
  display:flex;align-items:center;gap:1.5rem;
}
.marquee__dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);opacity:0.5}

/* ===== SECTION SHARED ===== */
.section{padding:var(--space-section) 0}
.section--dark{background:var(--color-bg-deep);color:var(--color-text-inverse)}
.section--muted{background:var(--color-bg-muted)}
.section__tag{
  font-family:var(--ff-accent);font-style:italic;font-size:var(--text-subheading);
  color:var(--color-accent);margin-bottom:var(--space-sm);
}
.section__title{
  font-family:var(--ff-display);font-size:var(--text-display);
  text-transform:uppercase;line-height:1;margin-bottom:var(--space-lg);
}
.section__subtitle{
  font-size:var(--text-body);color:var(--color-text-muted);
  max-width:600px;line-height:1.7;
}

/* ===== FEATURED PROPERTIES ===== */
.properties__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);
  margin-top:var(--space-xl);
}
.property-card{
  background:var(--color-bg-card);border-radius:var(--radius-lg);
  overflow:hidden;transition:all var(--dur-normal) var(--ease-out-expo);
}
.property-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-elevated)}
.property-card__img{
  position:relative;overflow:hidden;aspect-ratio:4/3;
}
.property-card__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform var(--dur-slow) var(--ease-out-expo);
}
.property-card:hover .property-card__img img{transform:scale(1.04)}
.property-card__badge{
  position:absolute;top:var(--space-sm);left:var(--space-sm);
  background:var(--color-accent);color:var(--color-bg-deep);
  font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:0.35rem 0.8rem;border-radius:var(--radius-full);
}
.property-card__body{padding:var(--space-md)}
.property-card__price{
  font-family:var(--ff-display);font-size:var(--text-heading);
  margin-bottom:0.25rem;
}
.property-card__location{
  color:var(--color-text-muted);font-size:var(--text-small);
  margin-bottom:var(--space-sm);display:flex;align-items:center;gap:0.35rem;
}
.property-card__features{
  display:flex;gap:var(--space-md);padding-top:var(--space-sm);
  border-top:1px solid var(--color-border);
}
.property-card__feat{
  display:flex;align-items:center;gap:0.35rem;
  font-size:var(--text-small);color:var(--color-text-muted);
}
.property-card__feat strong{color:var(--color-text-primary);font-weight:600}

/* ===== SERVICES / WHY US ===== */
.services__grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  margin-top:var(--space-xl);background:var(--color-border-light);
}
.service-item{
  padding:var(--space-lg) var(--space-md);
  background:var(--color-bg-deep);
  transition:background var(--dur-normal) var(--ease-out-expo);
  position:relative;
}
.service-item:hover{background:oklch(0.73 0.155 85 / 0.08)}
.service-item__num{
  font-family:var(--ff-display);font-size:var(--text-small);
  color:var(--color-accent);letter-spacing:0.1em;margin-bottom:var(--space-md);
}
.service-item__title{
  font-family:var(--ff-display);font-size:var(--text-subheading);
  text-transform:uppercase;margin-bottom:var(--space-sm);line-height:1.2;
}
.service-item__desc{
  font-size:var(--text-small);color:rgba(247,245,242,0.6);line-height:1.6;
}

/* ===== VALUE PROPS ===== */
.values__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);
  margin-top:var(--space-xl);
}
.value-card{padding:var(--space-lg) 0;border-top:2px solid var(--color-accent)}
.value-card__icon{
  margin-bottom:var(--space-md);
  display:flex;
  align-items:center;
}
.value-card__icon img{
  width:40px;
  height:40px;
  object-fit:contain;
}
.value-card__title{
  font-family:var(--ff-display);font-size:var(--text-subheading);
  text-transform:uppercase;margin-bottom:var(--space-xs);line-height:1.2;
}
.value-card__desc{font-size:var(--text-small);color:var(--color-text-muted);line-height:1.6}

/* ===== ABOUT ===== */
.about__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);
  align-items:center;margin-top:var(--space-xl);
}
.about__image{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;
}
.about__image img{width:100%;height:100%;object-fit:cover}
.about__stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);
  margin-top:var(--space-xl);padding-top:var(--space-lg);
  border-top:1px solid var(--color-border);
}
.stat__number{
  font-family:var(--ff-display);font-size:var(--text-heading);
  color:var(--color-accent);line-height:1;
}
.stat__label{font-size:var(--text-small);color:var(--color-text-muted);margin-top:0.25rem}
.about__text{font-size:var(--text-body);line-height:1.7;color:var(--color-text-muted)}
.about__text p+p{margin-top:var(--space-sm)}
.about__checks{
  display:flex;flex-direction:column;gap:0.6rem;margin:var(--space-lg) 0;
}
.about__checks li{
  display:flex;align-items:center;gap:0.6rem;
  font-weight:500;font-size:var(--text-body);color:var(--color-text-primary);
}
.about__checks .check{color:var(--color-accent);font-weight:700}

/* ===== FOUNDERS DUO ===== */
.founders{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);
  margin-top:var(--space-2xl);
}
.founder-card{
  background:var(--color-bg-card);padding:var(--space-lg);
  border-top:3px solid var(--color-accent);
}
.founder-card__header{margin-bottom:var(--space-md)}
.founder-card__name{
  font-family:var(--ff-display);font-size:var(--text-subheading);
  text-transform:uppercase;line-height:1.2;margin-bottom:0.25rem;
}
.founder-card__role{
  font-family:var(--ff-body);font-size:var(--text-small);
  color:var(--color-accent);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
}
.founder-card__quote{
  font-family:var(--ff-accent);font-style:italic;font-size:var(--text-body);
  color:var(--color-text-muted);line-height:1.6;
  margin-bottom:var(--space-md);padding-left:var(--space-sm);
  border-left:2px solid var(--color-accent);
}
.founder-card__facts{
  display:flex;flex-direction:column;gap:0.5rem;
  font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5;
}
.founder-card__facts li{
  padding-left:1rem;position:relative;
}
.founder-card__facts li::before{
  content:'•';position:absolute;left:0;color:var(--color-accent);font-weight:700;
}

/* ===== ÁREA DE ATUAÇÃO (MAPA) ===== */
.area__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);
  align-items:start;
}
.area__map{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:var(--color-bg-card);
}
.area__map iframe{width:100%;height:100%;display:block}
.area__map-label{
  position:absolute;bottom:var(--space-sm);left:var(--space-sm);
  background:var(--color-bg-deep);color:var(--color-text-inverse);
  font-family:var(--ff-body);font-size:var(--text-small);font-weight:600;
  padding:0.5rem 1rem;letter-spacing:0.03em;
}
.area__services-title{
  font-family:var(--ff-display);font-size:var(--text-heading);
  text-transform:uppercase;margin-bottom:var(--space-xs);line-height:1.2;
}
.area__services-desc{
  font-size:var(--text-body);color:var(--color-text-muted);
  line-height:1.6;margin-bottom:var(--space-lg);
}
.area__services-list{
  display:flex;flex-direction:column;gap:0.75rem;
}
.area__services-list li{
  font-family:var(--ff-body);font-size:var(--text-body);font-weight:500;
  text-transform:uppercase;letter-spacing:0.04em;
  display:flex;align-items:center;gap:0.75rem;
  padding-bottom:0.75rem;border-bottom:1px solid var(--color-border);
}
.check-accent{color:var(--color-accent);font-weight:700;font-size:1.1rem}

/* ===== GOOGLE REVIEWS ===== */
.google-rating{
  display:inline-flex;align-items:center;gap:0.75rem;
  margin-top:var(--space-md);padding:0.6rem 1.5rem;
  border:1px solid var(--color-border);border-radius:100px;
  font-family:var(--ff-body);
}
.google-rating__score{
  font-family:var(--ff-display);font-size:var(--text-subheading);
  font-weight:700;color:var(--color-text-primary);
}
.google-rating__stars{color:#FBBC04;font-size:1.1rem;letter-spacing:2px}
.google-rating__count{font-size:var(--text-small);color:var(--color-text-muted)}

.reviews-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);
  margin-top:var(--space-xl);
}
.review-card{
  background:var(--color-bg-card);padding:var(--space-lg);
  border:1px solid var(--color-border);
  transition:all var(--dur-normal) var(--ease-out-expo);
}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated)}
.review-card__header{
  display:flex;align-items:center;gap:var(--space-sm);
  margin-bottom:var(--space-sm);
}
.review-card__avatar{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:1.1rem;
  font-family:var(--ff-body);flex-shrink:0;
}
.review-card__name{
  font-family:var(--ff-display);font-size:var(--text-body);
  font-weight:600;text-transform:uppercase;letter-spacing:0.03em;
  color:var(--color-text-primary);line-height:1.2;
}
.review-card__meta{
  font-size:0.75rem;color:var(--color-text-muted);margin-top:0.15rem;
}
.review-card__stars{
  color:#FBBC04;font-size:0.95rem;letter-spacing:2px;
  margin-bottom:var(--space-sm);
}
.review-card__text{
  font-size:var(--text-small);color:var(--color-text-muted);
  line-height:1.65;
}
.reviews-nav__btn{
  width:44px;height:44px;border:1px solid var(--color-border);
  background:transparent;color:var(--color-text-primary);
  font-size:1.1rem;cursor:pointer;margin:0 0.4rem;
  transition:all var(--dur-fast) ease;border-radius:50%;
}
.reviews-nav__btn:hover{
  background:var(--color-bg-deep);color:var(--color-text-inverse);
  border-color:var(--color-bg-deep);
}



/* ===== CONTACT ===== */
#contact {
  position: relative;
  background-image: linear-gradient(to right, rgba(20, 18, 15, 0.92) 0%, rgba(20, 18, 15, 0.75) 50%, rgba(20, 18, 15, 0.95) 100%), url('obra-projeto.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

@media (max-width: 992px) {
  #contact {
    background-attachment: scroll;
    background-image: linear-gradient(to bottom, rgba(20, 18, 15, 0.95) 0%, rgba(20, 18, 15, 0.85) 100%), url('obra-projeto.png');
  }
}

.contact__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);
  align-items:center;max-width:1000px;margin:var(--space-xl) auto 0;
}
@media(max-width:992px){
  .contact__grid{grid-template-columns:1fr;max-width:600px;}
}
.contact__info-card {
  position: relative;
  background-image: url('images/enderecocerto.png');
  background-size: cover;
  background-position: center;
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 400px;
}
.contact__info-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, oklch(0.22 0.012 75 / 0.9) 0%, oklch(0.22 0.012 75 / 0.6) 100%);
  z-index: 1;
}
.contact__info-item{position: relative; z-index: 2; margin-bottom:var(--space-lg)}
.contact__info-label{
  position: relative; z-index: 2;
  font-family:var(--ff-display);font-size:var(--text-small);
  text-transform:uppercase;letter-spacing:0.1em;color:var(--color-accent);
  margin-bottom:0.5rem;
}
.contact__info-value{position: relative; z-index: 2; color:oklch(0.97 0.005 75 / 0.9);font-size:var(--text-body)}
.contact__info-value a{color:inherit;text-decoration:underline;text-underline-offset:3px; transition: color var(--dur-fast) ease;}
.contact__info-value a:hover{color:var(--color-accent)}

/* ===== IMAGE COMPARISON ===== */
.img-compare{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  width:100%;
  max-width:900px;
  margin:0 auto;
  cursor:ew-resize;
  user-select:none;
  box-shadow:var(--shadow-elevated);
}

/* Imagem de baixo — base, sempre 100% visível */
.img-compare__bottom{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  pointer-events:none;
  z-index:1;
}

/* Imagem de cima — clip-path atualizado pelo JS */
.img-compare__top{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  pointer-events:none;
  clip-path:inset(0 50% 0 0); /* valor inicial; JS sobrescreve via element.style */
  z-index:2;
}

/* Linha divisória */
.img-compare__slider{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;                    /* JS atualiza via element.style.left */
  transform:translateX(-50%);
  width:2px;
  background:oklch(0.97 0.005 75 / 0.5);
  z-index:10;
  touch-action:none;
}

/* Botão de arraste */
.img-compare__handle{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--color-accent);
  color:oklch(0.97 0.005 75);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 2px 16px oklch(0 0 0 / 0.4);
  transition:transform var(--dur-fast) var(--ease-out-quart);
}
.img-compare:hover .img-compare__handle,
.img-compare:active .img-compare__handle{
  transform:translate(-50%,-50%) scale(1.12);
}

/* Labels */
.img-compare__label{
  position:absolute;
  bottom:var(--space-md);
  font-family:var(--ff-display);
  font-size:var(--text-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:oklch(0.97 0.005 75);
  background:oklch(0 0 0 / 0.45);
  backdrop-filter:blur(6px);
  padding:0.35rem 0.8rem;
  border-radius:var(--radius-full);
  pointer-events:none;
  z-index:11;
}
.img-compare__label--before{left:var(--space-md)}
.img-compare__label--after{right:var(--space-md)}

/* ===== INSTAGRAM FEED ===== */
.instagram-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);
  max-width:1000px;margin:0 auto;
}
.social-card{
  position:relative;display:block;border-radius:1.5rem;
  overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:9/16;
  max-height:800px;
  -webkit-mask-image: -webkit-radial-gradient(white, black); /* Fix for webkit overflow */
  transform: translateZ(0);
}
.social-card video{
  width:100%;height:100%;object-fit:cover;display:block;
  border-radius:1.5rem;
}
.social-card__badge{
  position:absolute;top:var(--space-md);right:var(--space-md);
  width:36px;height:36px;background:white;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--color-bg-deep);box-shadow:0 2px 8px rgba(0,0,0,0.1);
  z-index:2;
}
.social-card__badge svg{width:20px;height:20px}
.social-card__overlay{
  position:absolute;inset:0;background:rgba(0,0,0,0.4);
  opacity:0;transition:opacity var(--dur-normal) ease;z-index:1;
}
.social-card__cta{
  position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%, 20px);
  background:white;color:var(--color-bg-deep);padding:0.7rem 1.2rem;
  font-family:var(--ff-display);font-weight:700;font-size:0.85rem;
  letter-spacing:0.1em;text-transform:uppercase;
  opacity:0;transition:all var(--dur-normal) ease;z-index:2;
  white-space:nowrap;display:flex;align-items:center;gap:0.5rem;
  border-radius:2px;
}
.social-card__cta svg{width:16px;height:16px}
.social-card:hover .social-card__overlay{opacity:1}
.social-card:hover .social-card__cta{opacity:1;transform:translate(-50%, 0)}

/* ===== FAQ ===== */
.faq__list{max-width:800px;margin:var(--space-xl) auto 0}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item__question{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:var(--space-md) 0;font-family:var(--ff-body);font-weight:600;
  font-size:var(--text-body);text-align:left;
  transition:color var(--dur-fast) ease;cursor:pointer;
}
.faq-item__question:hover{color:var(--color-accent)}
.faq-item__icon{
  font-size:1.2rem;transition:transform var(--dur-normal) var(--ease-out-expo);
  flex-shrink:0;margin-left:1rem;
}
.faq-item.active .faq-item__icon{transform:rotate(45deg)}
.faq-item__answer{
  max-height:0;overflow:hidden;
  transition:max-height var(--dur-normal) var(--ease-out-expo);
}
.faq-item__answer p{
  padding-bottom:var(--space-md);color:var(--color-text-muted);
  font-size:var(--text-small);line-height:1.7;
}

/* ===== FOOTER ===== */
.footer{
  background-color: var(--color-bg-deep); 
  background-image: url('footerdesktop.png');
  background-size: 100% auto; /* Redimensiona a imagem pela largura sem cortar a altura no Desktop */
  background-position: top center; /* Prende a imagem no topo para fazer a transição do fundo claro pro escuro */
  background-repeat: no-repeat;
  
  /* Esse padding ENORME é crucial no Desktop! 
     Ele empurra o texto branco para BAIXO, tirando ele do "céu claro" da imagem 
     e jogando ele para a área escura dos prédios/fundo para que fique visível. */
  padding: 28vw 0 0 0; 
  border-top:1px solid rgba(247,245,242,0.06);
  position:relative;
  overflow:hidden;
}
.footer__grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-xl);
  padding-bottom:var(--space-xl); 
  position:relative; z-index:10;
}
.footer__brand-desc{
  color:rgba(247,245,242,0.5);font-size:var(--text-small);
  line-height:1.7;margin-top:var(--space-sm);max-width:320px;
}
.footer__heading{
  font-family:var(--ff-display);font-size:var(--text-small);
  text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-inverse);
  margin-bottom:var(--space-md);
}
.footer__links{display:flex;flex-direction:column;gap:0.6rem}
.footer__links a{
  color:rgba(247,245,242,0.5);font-size:var(--text-small);
  transition:color var(--dur-fast) ease;
}
.footer__links a:hover{color:var(--color-accent)}

/* Copyright Bar */
.footer__bottom{
  position:relative; z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  padding:var(--space-md) 0;
  border-top:1px solid rgba(247,245,242,0.08);
  color:rgba(247,245,242,0.35);font-size:var(--text-small);
}



/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:80;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(37,211,102,0.35);
  transition:transform var(--dur-fast) var(--ease-out-quart);
}
.whatsapp-float:hover{transform:scale(1.1)}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes scrollLine{0%{top:-100%}50%{top:100%}100%{top:100%}}
@keyframes marqueeScroll{to{transform:translateX(-50%)}}

.reveal{opacity:0;transform:translateY(30px);transition:all var(--dur-slow) var(--ease-out-expo)}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  .marquee__track{animation-play-state:paused}
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .properties__grid{grid-template-columns:repeat(2,1fr)}
  .services__grid{grid-template-columns:repeat(3,1fr)}
  .values__grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .area__grid{grid-template-columns:1fr}
  .area__map{aspect-ratio:16/10}
}
@media(max-width:768px){
  .header__nav{display:none}
  .header__cta{display:none}
  .header__mobile-toggle{display:block}
  .properties__grid{grid-template-columns:1fr}
  .services__grid{grid-template-columns:1fr}
  .values__grid{grid-template-columns:1fr}
  .about__grid{grid-template-columns:1fr;gap:var(--space-xl)}
  .about__stats{grid-template-columns:repeat(3,1fr)}
  .founders{grid-template-columns:1fr}
  .area__grid{grid-template-columns:1fr}

  .reviews-grid{
    grid-template-columns:1fr;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .reviews-grid::-webkit-scrollbar{display:none}
  .review-card{scroll-snap-align:start;min-width:85vw}
  .instagram-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  .social-card__cta{opacity:1;transform:translate(-50%, 0)}
  .footer {
    background-image: url('footermobile.png');
    /* Regras blindadas para manter o Mobile intacto */
    background-size: cover;
    background-position: bottom center;
    padding-top: 48vw; 
  }
  .footer__grid{
    grid-template-columns: 1fr 1fr; /* Lado a lado para não ficar muito longo e caber na imagem */
    gap:var(--space-lg); 
    margin-bottom:var(--space-md);
  }
  .footer__brand-desc{ grid-column: 1 / -1; } /* Faz a logo e descrição ocuparem a linha toda */
  .footer__bottom{flex-direction:column;gap:0.5rem;text-align:center;}
  .hero{min-height:100svh}
  .hero__logo-center{max-width:clamp(180px,55vw,280px)}
}
