/* ============================================================
   BLOCOS CARVALHO — REDESIGN MODERNO & EQUILIBRADO
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700;800;900&family=Open+Sans:wght@300;400;600&display=swap');

:root {
  /* Paleta principal — quente, cimento e dourado */
  --cream:     #f7f3ec;
  --cream-2:   #ede8de;
  --cream-3:   #e2dbd0;
  --dark:      #1c1712;
  --dark-2:    #271f15;
  --dark-3:    #31271a;
  --gold:      #c9a96e;
  --gold-l:    #e0c48a;
  --gold-d:    #a07840;
  --bronze:    #8b6030;
  --cement:    #9a9490;
  --cement-l:  #c4bfb8;
  --white:     #ffffff;
  --text:      #2a2218;
  --text-s:    #6b5e4e;
  --muted-d:   rgba(240,234,220,.55);   /* sobre fundo escuro */
  --border-d:  rgba(201,169,110,.18);
  --border-dl: rgba(201,169,110,.09);
  --glass-d:   rgba(255,255,255,.05);
  --glass-dh:  rgba(255,255,255,.09);
  --border-l:  rgba(42,34,24,.1);
  --green-w:   #25d366;
  --green-wd:  #128c4e;
  --nav-h:     72px;
  --radius:    14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --t:         .35s cubic-bezier(.25,.46,.45,.94);
  --tf:        .18s ease;
  --shadow:    0 4px 28px rgba(42,34,24,.10);
  --shadow-lg: 0 16px 56px rgba(42,34,24,.16);
  --shadow-d:  0 24px 64px rgba(0,0,0,.45);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Open Sans', sans-serif;
  background: var(--cream);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 28px; }
h1,h2,h3,h4,h5 { font-family: 'Montserrat', sans-serif; }

/* ===== UTILITY ===== */
.center { text-align: center; }

.tag {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .7rem; letter-spacing: 2px; text-transform: uppercase;
  padding: 6px 16px; border-radius: 30px; margin-bottom: 16px;
}
.tag-dark {
  background: rgba(201,169,110,.12);
  border: 1px solid rgba(201,169,110,.3);
  color: var(--gold);
}
.tag-light {
  background: rgba(42,34,24,.07);
  border: 1px solid rgba(42,34,24,.15);
  color: var(--bronze);
}
.tag.center { display: flex; justify-content: center; }

.section-title {
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 900; line-height: 1.15; margin-bottom: 14px;
}
.section-title.light { color: var(--white); }
.section-title.dark  { color: var(--dark); }
.accent-gold { color: var(--gold); }
.accent-dark { color: var(--bronze); }

.grad-text {
  background: linear-gradient(135deg, var(--gold-l) 0%, var(--gold) 50%, var(--bronze) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.grad-text-dark {
  background: linear-gradient(135deg, var(--bronze) 0%, var(--gold-d) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

.sub {
  font-size: 1.02rem; max-width: 560px; margin-bottom: 52px;
}
.sub.light { color: var(--muted-d); }
.sub.dark  { color: var(--text-s); }
.sub.center { margin-left: auto; margin-right: auto; text-align: center; }

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 30px; border-radius: 50px;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .88rem;
  cursor: pointer; transition: var(--t); border: none; outline: none;
}
.btn-gold   { background: linear-gradient(135deg,var(--gold-l),var(--gold-d)); color: var(--dark); box-shadow: 0 4px 20px rgba(201,169,110,.3); }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(201,169,110,.45); }
.btn-dark   { background: var(--dark); color: var(--cream); }
.btn-dark:hover { background: var(--dark-2); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.btn-ghost-dark { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,.3); backdrop-filter: blur(8px); }
.btn-ghost-dark:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
.btn-ghost-light { background: transparent; color: var(--dark); border: 1.5px solid var(--border-l); }
.btn-ghost-light:hover { border-color: var(--bronze); color: var(--bronze); transform: translateY(-2px); }
.btn-whatsapp { background: linear-gradient(135deg,#25d366,#128c4e); color: #fff; box-shadow: 0 4px 20px rgba(37,211,102,.3); }
.btn-whatsapp:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,.45); }
.btn-full { width: 100%; justify-content: center; }

/* ===== NAVBAR ===== */
#navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  height: var(--nav-h);
  transition: background var(--t), box-shadow var(--t), border-color var(--t);
}
#navbar.scrolled {
  background: rgba(247,243,236,.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-l);
  box-shadow: var(--shadow);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between; height: 100%;
}
.logo { display: flex; align-items: center; gap: 12px; }
.logo-img { height: 48px; width: auto; display: block; }
.logo-img-footer { height: 52px; filter: brightness(0) invert(1); }
.logo-mark {
  width: 42px; height: 42px; border-radius: 10px;
  background: linear-gradient(135deg, var(--gold), var(--bronze));
  display: flex; align-items: center; justify-content: center;
  color: var(--white); font-family: 'Montserrat', sans-serif;
  font-weight: 900; font-size: 1.25rem;
  box-shadow: 0 4px 14px rgba(139,96,48,.35);
  flex-shrink: 0; overflow: hidden;
}
.logo-mark img { width: 100%; height: 100%; object-fit: contain; }
.logo-text strong {
  display: block; font-family: 'Montserrat', sans-serif;
  font-weight: 900; font-size: .9rem; line-height: 1.2;
}
.logo-text small { font-size: .7rem; color: var(--cement); }

/* navbar no hero = texto branco */
.nav-hero .logo-text strong { color: var(--white); }
.nav-hero .logo-text small  { color: rgba(255,255,255,.55); }
.nav-hero .nav-links li a   { color: rgba(255,255,255,.7); }
.nav-hero .nav-links li a:hover,
.nav-hero .nav-links li a.active { color: var(--white); }

/* navbar scrolled = texto escuro */
#navbar.scrolled .logo-text strong { color: var(--dark); }
#navbar.scrolled .logo-text small  { color: var(--cement); }
#navbar.scrolled .nav-links li a   { color: var(--text-s); }
#navbar.scrolled .nav-links li a:hover,
#navbar.scrolled .nav-links li a.active { color: var(--dark); }

.nav-links { display: flex; align-items: center; gap: 4px; list-style: none; }
.nav-links li a {
  display: block; padding: 8px 15px;
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .83rem;
  border-radius: 8px; transition: color var(--tf), background var(--tf);
}
.nav-links li.cta a {
  background: linear-gradient(135deg, var(--gold-l), var(--gold-d));
  color: var(--dark) !important; padding: 9px 20px; border-radius: 50px; font-weight: 700;
  box-shadow: 0 3px 14px rgba(201,169,110,.3);
}
.nav-links li.cta a:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(201,169,110,.45); }

.hamburger {
  display: none; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25); border-radius: 8px;
  color: var(--white); font-size: 1.1rem; cursor: pointer; padding: 8px 10px;
  transition: all var(--tf);
}
#navbar.scrolled .hamburger {
  background: var(--cream-2); border-color: var(--border-l); color: var(--dark);
}

.mobile-nav {
  display: none; position: fixed;
  top: var(--nav-h); left: 0; right: 0; bottom: 0;
  background: rgba(247,243,236,.98);
  backdrop-filter: blur(20px);
  z-index: 999; padding: 32px 28px; flex-direction: column; gap: 6px;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  display: block; padding: 15px 18px;
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.05rem;
  color: var(--text-s); border-radius: var(--radius);
  border: 1px solid transparent; transition: all var(--tf);
}
.mobile-nav a:hover, .mobile-nav a.active { color: var(--bronze); background: var(--cream-2); border-color: var(--border-l); }
.mobile-nav .m-cta {
  margin-top: 12px; background: linear-gradient(135deg, var(--gold-l), var(--gold-d));
  color: var(--dark) !important; display: flex; align-items: center; justify-content: center; gap: 8px;
}

.page-content { padding-top: var(--nav-h); }

/* ===== HERO ===== */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; overflow: hidden;
}
.hero-bg-img {
  position: absolute; inset: 0; z-index: 0;
  background-image: url('fotos/DJI_0059.jpg');
  background-size: cover; background-position: center;
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(110deg,
    rgba(20,15,8,.88) 0%,
    rgba(28,23,18,.75) 50%,
    rgba(139,96,48,.35) 100%
  );
}
.hero-inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: center;
  padding: 60px 0;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(201,169,110,.12); border: 1px solid rgba(201,169,110,.3);
  padding: 7px 18px; border-radius: 50px;
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .7rem; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 22px;
}
.hero-eyebrow .dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--gold);
  animation: pulse 2s ease infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }

.hero h1 {
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  font-weight: 900; color: var(--white); line-height: 1.1;
  letter-spacing: -.5px; margin-bottom: 22px;
}
.hero-desc { color: rgba(255,255,255,.72); font-size: 1.08rem; max-width: 460px; margin-bottom: 38px; }
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 48px; }
.hero-proof {
  display: flex; align-items: center; gap: 24px;
  padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12);
}
.hero-proof-stat strong {
  display: block; font-family: 'Montserrat', sans-serif;
  font-weight: 900; font-size: 1.5rem; color: var(--white);
}
.hero-proof-stat span { font-size: .78rem; color: rgba(255,255,255,.5); }
.hero-proof-div { width: 1px; height: 36px; background: rgba(255,255,255,.12); }

/* HERO CARD 3D */
.hero-card-3d { perspective: 1000px; }
.hero-card-inner {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-lg); padding: 34px;
  transform-style: preserve-3d; transition: transform var(--t);
  position: relative; overflow: hidden;
}
.hero-card-inner::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,169,110,.7), transparent);
}
.card-label {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: .68rem; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 26px;
  display: flex; align-items: center; gap: 8px;
}
.card-label::after { content:''; flex:1; height:1px; background: rgba(255,255,255,.1); }
.stat-rows { display: flex; flex-direction: column; gap: 14px; }
.stat-row {
  display: flex; align-items: center; gap: 16px; padding: 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  transition: background var(--tf), transform var(--tf);
}
.stat-row:hover { background: rgba(201,169,110,.1); transform: translateX(4px); }
.stat-icon {
  width: 42px; height: 42px; flex-shrink: 0; border-radius: 10px;
  background: rgba(201,169,110,.2); border: 1px solid rgba(201,169,110,.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 1.05rem;
}
.stat-val { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.3rem; color:var(--white); }
.stat-lbl { font-size:.78rem; color:rgba(255,255,255,.5); }

/* ===== STATS BAR ===== */
.stats-bar { background: var(--dark-2); border-bottom: 1px solid rgba(201,169,110,.1); }
.stats-bar-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.stats-bar-item {
  padding: 38px 24px; text-align: center;
  border-right: 1px solid rgba(201,169,110,.08);
  transition: background var(--t);
  position: relative; overflow: hidden;
}
.stats-bar-item:last-child { border-right: none; }
.stats-bar-item::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:0; height:2px; background:var(--gold); transition:width var(--t);
}
.stats-bar-item:hover { background: rgba(201,169,110,.05); }
.stats-bar-item:hover::after { width:56%; }
.stats-num {
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:2.4rem; line-height:1;
  background: linear-gradient(135deg, var(--gold-l), var(--gold));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:block; margin-bottom:7px;
}
.stats-lbl { font-size:.82rem; color:rgba(240,234,220,.5); font-weight:600; }

/* ===== SECTION ===== */
.section { padding: 104px 0; position: relative; }
.section-light { background: var(--cream); }
.section-alt   { background: var(--cream-2); }
.section-dark  { background: var(--dark); }
.section-dark2 { background: var(--dark-2); }

/* ===== FEATURES ===== */
.features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.feature-card {
  padding: 34px 28px; border-radius: var(--radius-lg);
  background: var(--white); border: 1px solid var(--border-l);
  box-shadow: var(--shadow);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  transform-style: preserve-3d; position: relative; overflow: hidden;
}
.feature-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--gold-l), var(--bronze));
  transform: scaleX(0); transform-origin: left; transition: transform var(--t);
}
.feature-card:hover { transform: translateY(-8px) rotateX(2deg); box-shadow: var(--shadow-lg); border-color: rgba(201,169,110,.2); }
.feature-card:hover::before { transform: scaleX(1); }
.feature-icon {
  width: 54px; height: 54px; border-radius: 14px; margin-bottom: 20px;
  background: linear-gradient(135deg, rgba(201,169,110,.15), rgba(201,169,110,.05));
  border: 1px solid rgba(201,169,110,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem; color: var(--gold);
  transition: transform var(--t), box-shadow var(--t);
}
.feature-card:hover .feature-icon { transform: scale(1.1); box-shadow: 0 6px 20px rgba(201,169,110,.2); }
.feature-card h3 { font-size: 1.05rem; color: var(--dark); margin-bottom: 10px; }
.feature-card p { color: var(--text-s); font-size: .9rem; }

/* ===== PRODUCTS PREVIEW ===== */
.prod-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.prod-prev-card {
  border-radius: var(--radius-lg); overflow: hidden;
  background: var(--white); border: 1px solid var(--border-l);
  box-shadow: var(--shadow); display: flex; flex-direction: column;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  transform-style: preserve-3d;
}
.prod-prev-card:hover {
  transform: translateY(-10px) rotateX(2deg);
  box-shadow: var(--shadow-lg); border-color: rgba(201,169,110,.25);
}
.prod-img-wrap {
  height: 210px; overflow: hidden; position: relative;
  background: #ffffff; display:flex; align-items:center; justify-content:center;
}
.prod-img-wrap img {
  width: 100%; height: 100%; object-fit: contain; padding: 16px;
  mix-blend-mode: multiply;
  transition: transform .6s ease;
}
.prod-prev-card:hover .prod-img-wrap img { transform: scale(1.06); }
.prod-img-wrap .prod-img-fallback {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--cream-2), var(--cream-3));
  display: flex; align-items: center; justify-content: center;
  font-size: 3.5rem; color: var(--cement-l);
}
.prod-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(28,23,18,.5) 0%, transparent 50%);
}
.prod-prev-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.prod-cat-tag {
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.68rem;
  letter-spacing:2px; text-transform:uppercase; color:var(--gold-d); margin-bottom:7px;
}
.prod-prev-body h3 { font-size:1.05rem; color:var(--dark); margin-bottom:9px; }
.prod-prev-body p { color:var(--text-s); font-size:.88rem; flex:1; margin-bottom:18px; }
.prod-link {
  display: inline-flex; align-items: center; gap: 7px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.82rem;
  color: var(--bronze); transition: gap var(--tf);
}
.prod-link:hover { gap: 12px; }

/* ===== TESTIMONIALS ===== */
.testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 44px; }
.testimonial-card {
  background: var(--glass-d); border: 1px solid var(--border-d);
  border-radius: var(--radius-lg); padding: 32px 28px;
  display: flex; flex-direction: column; gap: 16px;
  transition: background var(--t), transform var(--t);
}
.testimonial-card:hover { background: var(--glass-dh); transform: translateY(-4px); }
.testimonial-stars { color: var(--gold); font-size: .9rem; display: flex; gap: 3px; }
.testimonial-card p { color: var(--muted-d); font-size: .95rem; line-height: 1.8; flex: 1; font-style: italic; }
.testimonial-author { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.testimonial-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--bronze));
  display: flex; align-items: center; justify-content: center;
  color: white; font-size: 1rem; flex-shrink: 0;
}
.testimonial-author strong { display: block; color: var(--white); font-size: .9rem; }
.testimonial-author span { color: var(--muted-d); font-size: .78rem; }

/* ===== COOKIE BANNER ===== */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
  background: var(--dark-2); border-top: 1px solid var(--border-d);
  padding: 20px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  box-shadow: 0 -8px 40px rgba(0,0,0,.35);
  transform: translateY(0); transition: transform .4s ease;
}
.cookie-banner.hidden { transform: translateY(110%); }
.cookie-banner p { color: var(--muted-d); font-size: .85rem; margin: 0; flex: 1; }
.cookie-banner a { color: var(--gold); text-decoration: underline; }
.cookie-banner-btns { display: flex; gap: 10px; flex-shrink: 0; }
.btn-cookie-accept {
  background: linear-gradient(135deg, var(--gold), var(--bronze));
  color: white; border: none; border-radius: 30px;
  padding: 10px 22px; font-family: 'Montserrat', sans-serif;
  font-weight: 700; font-size: .82rem; cursor: pointer;
  transition: opacity var(--tf);
}
.btn-cookie-accept:hover { opacity: .85; }
.btn-cookie-reject {
  background: transparent; color: var(--muted-d);
  border: 1px solid var(--border-d); border-radius: 30px;
  padding: 10px 18px; font-family: 'Montserrat', sans-serif;
  font-weight: 600; font-size: .82rem; cursor: pointer;
  transition: border-color var(--tf);
}
.btn-cookie-reject:hover { border-color: var(--gold); color: var(--gold); }

/* ===== CTA SECTION ===== */
.cta-section {
  position: relative; padding: 96px 0; overflow: hidden;
  background-image: url('https://images.unsplash.com/photo-1590247813693-5541d1c609fd?w=1600&q=80');
  background-size: cover; background-position: center;
  background-attachment: fixed;
}
.cta-section::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(20,15,8,.88) 0%, rgba(139,96,48,.75) 100%);
}
.cta-section .container { position: relative; z-index: 1; text-align: center; }
.cta-section h2 { font-size: clamp(1.9rem,3.5vw,2.8rem); color: var(--white); margin-bottom: 16px; }
.cta-section p { color: rgba(255,255,255,.72); font-size: 1.05rem; max-width: 480px; margin: 0 auto 40px; }
.cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ===== PAGE HERO (inner pages) ===== */
.page-hero {
  position: relative; padding: 96px 0 80px; overflow: hidden;
  text-align: center;
}
.page-hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
}
.page-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(20,15,8,.85) 0%, rgba(28,23,18,.78) 100%);
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 {
  font-size: clamp(2.2rem,4vw,3.2rem);
  font-weight: 900; color: var(--white); margin-bottom: 14px;
}
.page-hero p { color: rgba(255,255,255,.65); font-size: 1.03rem; max-width: 460px; margin: 0 auto; }
.breadcrumb {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-bottom: 18px; font-family:'Montserrat',sans-serif; font-size:.74rem; font-weight:600;
  color: rgba(201,169,110,.45);
}
.breadcrumb a { color: var(--gold); }

/* ===== SOBRE ===== */
.sobre-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sobre-visual { position: relative; }
.sobre-img-main {
  width: 100%; aspect-ratio: 4/3; border-radius: var(--radius-xl);
  overflow: hidden; box-shadow: var(--shadow-lg);
  transform-style: preserve-3d; transition: transform var(--t);
}
.sobre-img-main:hover { transform: perspective(600px) rotateY(-4deg) rotateX(2deg); }
.sobre-img-main img { width:100%; height:100%; object-fit:cover; }
.sobre-float-badge {
  position: absolute; bottom:-22px; right:-22px;
  background: linear-gradient(135deg, var(--gold), var(--bronze));
  border-radius: var(--radius); padding: 22px 28px; text-align: center;
  box-shadow: 0 12px 40px rgba(139,96,48,.35);
}
.sobre-float-badge strong {
  display: block; font-family:'Montserrat',sans-serif;
  font-weight:900; font-size:2.2rem; color:var(--white); line-height:1;
}
.sobre-float-badge span { font-size:.78rem; color:rgba(255,255,255,.75); font-weight:600; }

.sobre-content h2 { font-size:clamp(1.9rem,3vw,2.5rem); font-weight:900; color:var(--dark); margin-bottom:18px; }
.sobre-content p { color:var(--text-s); margin-bottom:16px; line-height:1.8; }
.check-list { list-style:none; display:flex; flex-direction:column; gap:10px; margin:24px 0; }
.check-list li {
  display:flex; align-items:flex-start; gap:12px;
  padding:13px 16px; border-radius:var(--radius);
  background:var(--cream-2); border:1px solid var(--border-l);
  transition: background var(--tf), border-color var(--tf);
}
.check-list li:hover { background:var(--cream-3); border-color:rgba(201,169,110,.2); }
.check-list li i { color:var(--gold-d); margin-top:3px; flex-shrink:0; }
.check-list li span { color:var(--text); font-size:.92rem; }

/* PHOTO GALLERY */
.photo-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 40px;
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.gallery-main {
  grid-row: span 2;
}
.gallery-main img {
  width: 100%; height: 100%; object-fit: cover;
  display: block; transition: transform .5s ease;
}
.gallery-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.gallery-side img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  border-radius: var(--radius);
  display: block; transition: transform .5s ease;
}
.gallery-main img:hover,
.gallery-side img:hover { transform: scale(1.03); }
.gallery-main { border-radius: var(--radius); overflow: hidden; }
.gallery-side > * { overflow: hidden; }

/* VALUES */
.values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.value-card {
  padding: 32px 22px; border-radius: var(--radius-lg); text-align: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  transition: transform var(--t), border-color var(--t), background var(--t);
  transform-style: preserve-3d;
}
.value-card:hover {
  transform: translateY(-8px) rotateX(3deg);
  border-color: rgba(201,169,110,.25); background: rgba(201,169,110,.07);
}
.value-icon {
  width:60px; height:60px; margin:0 auto 18px; border-radius:50%;
  background: rgba(201,169,110,.15); border:1px solid rgba(201,169,110,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.45rem; color:var(--gold);
}
.value-card h4 { color:var(--white); font-size:.98rem; margin-bottom:10px; }
.value-card p { color:var(--muted-d); font-size:.87rem; }

/* TIMELINE */
.timeline { position:relative; padding-left:36px; }
.timeline::before {
  content:''; position:absolute; left:10px; top:8px; bottom:8px;
  width:1px; background:linear-gradient(to bottom, var(--gold), transparent);
}
.tl-item { position:relative; margin-bottom:44px; }
.tl-item:last-child { margin-bottom:0; }
.tl-dot {
  position:absolute; left:-32px; top:4px;
  width:14px; height:14px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 10px rgba(201,169,110,.5);
  border:2px solid var(--dark);
}
.tl-year { font-family:'Montserrat',sans-serif; font-weight:800; font-size:.72rem; letter-spacing:2px; color:var(--gold); text-transform:uppercase; margin-bottom:5px; }
.tl-item h4 { color:var(--white); font-size:1rem; margin-bottom:6px; }
.tl-item p { color:var(--muted-d); font-size:.89rem; }

/* ===== PRODUTOS PAGE ===== */
.filter-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:44px; }
.filter-btn {
  padding:9px 22px; border-radius:50px;
  background:var(--white); border:1.5px solid var(--border-l);
  color:var(--text-s); font-family:'Montserrat',sans-serif; font-weight:700; font-size:.78rem;
  cursor:pointer; transition:all var(--tf);
  box-shadow: var(--shadow);
}
.filter-btn:hover { border-color:rgba(201,169,110,.3); color:var(--bronze); }
.filter-btn.active { background:linear-gradient(135deg,var(--gold-l),var(--gold-d)); color:var(--dark); border-color:transparent; }

.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.product-card {
  border-radius:var(--radius-lg); overflow:hidden;
  background:var(--white); border:1px solid var(--border-l);
  box-shadow:var(--shadow); display:flex; flex-direction:column;
  transition:transform var(--t), box-shadow var(--t), border-color var(--t);
  transform-style:preserve-3d; position:relative;
}
.product-card.featured { border-color:rgba(201,169,110,.25); }
.product-card:hover {
  transform:translateY(-10px) rotateX(2deg);
  box-shadow:0 32px 64px rgba(42,34,24,.18);
  border-color:rgba(201,169,110,.3);
}
.product-img {
  height:200px; overflow:hidden; position:relative;
  background: #ffffff;
  display:flex; align-items:center; justify-content:center;
  border-bottom: 1px solid var(--border-l);
}
.product-img img { width:100%; height:100%; object-fit:contain; padding:18px; transition:transform .6s ease; mix-blend-mode:multiply; }
.product-card:hover .product-img img { transform:scale(1.06); }
.product-img-fallback {
  width:100%; height:100%;
  background:linear-gradient(135deg,var(--cream-2),var(--cream-3));
  display:flex; align-items:center; justify-content:center;
  font-size:3.5rem; color:var(--cement-l);
}
.prod-badge {
  position:absolute; top:14px; right:14px; z-index:1;
  background:linear-gradient(135deg,var(--gold-l),var(--gold-d));
  color:var(--dark); font-family:'Montserrat',sans-serif;
  font-weight:700; font-size:.68rem; letter-spacing:1px; text-transform:uppercase;
  padding:5px 14px; border-radius:20px;
  box-shadow:0 4px 12px rgba(201,169,110,.3);
}
.product-body { padding:26px; flex:1; display:flex; flex-direction:column; }
.prod-cat { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.68rem; letter-spacing:2px; text-transform:uppercase; color:var(--gold-d); margin-bottom:7px; }
.product-body h3 { font-size:1.08rem; color:var(--dark); margin-bottom:9px; }
.product-body p { color:var(--text-s); font-size:.89rem; margin-bottom:16px; flex:1; }
.dims-label {
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.68rem;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--bronze);
  margin-bottom:8px;
}
.dims-list {
  list-style:none; margin-bottom:20px;
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--border-l); border-radius:10px; overflow:hidden;
}
.dims-list li {
  padding:8px 13px;
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.78rem;
  color:var(--text); background:var(--cream);
  border-bottom:1px solid var(--border-l);
  border-right:1px solid var(--border-l);
  display:flex; align-items:center; gap:7px;
  transition:background var(--tf);
}
.dims-list li:nth-child(even) { border-right:none; background:var(--white); }
.dims-list li:nth-last-child(-n+2) { border-bottom:none; }
.dims-list li::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--gold-d); flex-shrink:0;
}
.dims-list.single-col { grid-template-columns:1fr; }
.dims-list.single-col li { border-right:none; }
.btn-wa {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:linear-gradient(135deg,#25d366,#128c4e); color:white;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem;
  padding:13px; border-radius:var(--radius);
  transition:transform var(--tf), box-shadow var(--tf); margin-top:auto;
}
.btn-wa:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.35); }

/* ===== CONTACTO ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:52px; align-items:start; }
.contact-card {
  padding:38px; border-radius:var(--radius-xl);
  background:var(--white); border:1px solid var(--border-l);
  box-shadow:var(--shadow-lg);
}
.contact-card h2 { font-size:1.7rem; color:var(--dark); margin-bottom:10px; }
.contact-card > p { color:var(--text-s); margin-bottom:32px; }
.contact-items { display:flex; flex-direction:column; gap:14px; margin-bottom:32px; }
.contact-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:14px; border-radius:var(--radius);
  background:var(--cream-2); border:1px solid var(--border-l);
  transition:background var(--tf), border-color var(--tf);
}
.contact-item:hover { background:var(--cream-3); border-color:rgba(201,169,110,.2); }
.contact-icon {
  width:42px; height:42px; flex-shrink:0; border-radius:10px;
  background:linear-gradient(135deg,var(--gold-l),var(--gold-d));
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:.95rem;
}
.contact-item-body strong { display:block; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.8rem; color:var(--dark); margin-bottom:2px; }
.contact-item-body a, .contact-item-body span { color:var(--text-s); font-size:.9rem; }
.contact-item-body a:hover { color:var(--bronze); }

.form-card {
  padding:44px; border-radius:var(--radius-xl);
  background:var(--white); border:1px solid var(--border-l);
  box-shadow:var(--shadow-lg);
  position:relative; overflow:hidden;
}
.form-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--gold-l), var(--bronze));
}
.form-card h3 { font-size:1.25rem; color:var(--dark); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.78rem; color:var(--text); margin-bottom:7px; }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:13px 16px;
  background:var(--cream); border:1.5px solid var(--cream-3);
  border-radius:var(--radius); color:var(--text);
  font-family:'Open Sans',sans-serif; font-size:.92rem;
  transition:border-color var(--tf), background var(--tf), box-shadow var(--tf);
  resize:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline:none; border-color:var(--gold-d);
  background:var(--white); box-shadow:0 0 0 3px rgba(201,169,110,.1);
}
.form-note { font-size:.77rem; color:var(--cement); margin-top:12px; text-align:center; }

/* MAP */
.map-wrapper {
  border-radius:var(--radius-xl); overflow:hidden;
  border:1px solid var(--border-l); box-shadow:var(--shadow-lg);
  margin-top:52px; position:relative;
}
#map { width:100%; height:480px; }
.map-chip {
  position:absolute; top:18px; left:18px; z-index:500;
  background:rgba(247,243,236,.95); backdrop-filter:blur(16px);
  border:1px solid var(--border-l); border-radius:var(--radius);
  padding:16px 20px; max-width:220px;
  box-shadow:var(--shadow);
}
.map-chip strong { display:block; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.9rem; color:var(--dark); margin-bottom:4px; }
.map-chip p { font-size:.8rem; color:var(--text-s); margin-bottom:10px; }
.map-chip a { display:inline-flex; align-items:center; gap:5px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.76rem; color:var(--bronze); }

/* ===== FOOTER ===== */
.footer { background:var(--dark); border-top:1px solid rgba(201,169,110,.1); padding:72px 0 28px; }
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:48px;
  padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-brand .logo { margin-bottom:18px; }
.footer-brand .logo-text strong { color:var(--white); }
.footer-brand p { color:var(--muted-d); font-size:.87rem; max-width:260px; line-height:1.8; }
.footer-col h5 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.7rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { color:var(--muted-d); font-size:.87rem; transition:color var(--tf); }
.footer-col ul li a:hover { color:var(--gold); }
.footer-contact-list { list-style:none; display:flex; flex-direction:column; gap:13px; }
.footer-contact-list li { display:flex; align-items:flex-start; gap:10px; }
.footer-contact-list li i { color:var(--gold); margin-top:3px; flex-shrink:0; font-size:.88rem; }
.footer-contact-list li a,
.footer-contact-list li span { color:var(--muted-d); font-size:.85rem; }
.footer-contact-list li a:hover { color:var(--gold); }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:24px; flex-wrap:wrap; gap:12px;
}
.footer-bottom p { color:rgba(240,234,220,.2); font-size:.78rem; }
.footer-bottom-links { display:flex; gap:20px; }
.footer-bottom-links a { color:rgba(240,234,220,.2); font-size:.78rem; transition:color var(--tf); }
.footer-bottom-links a:hover { color:var(--gold); }

/* ===== WHATSAPP FLOAT ===== */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:998;
  width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg,#25d366,#128c4e);
  color:#fff; font-size:1.7rem;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 26px rgba(37,211,102,.45);
  transition:transform var(--t), box-shadow var(--t);
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 10px 36px rgba(37,211,102,.6); }
.wa-tip {
  position:absolute; right:68px; top:50%; transform:translateY(-50%);
  background:var(--dark); color:var(--cream);
  border:1px solid rgba(255,255,255,.1);
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.75rem;
  padding:7px 13px; border-radius:8px; white-space:nowrap;
  opacity:0; pointer-events:none; transition:opacity var(--tf);
}
.wa-float:hover .wa-tip { opacity:1; }

/* ===== REVEAL ===== */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.24s; }
.reveal-delay-3 { transition-delay:.36s; }
.reveal-scale { opacity:0; transform:scale(.96); transition:opacity .6s ease, transform .6s ease; }
.reveal-scale.visible { opacity:1; transform:scale(1); }

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr}.hero-card-3d{display:none}
  .features-grid{grid-template-columns:1fr 1fr}
  .prod-preview-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .sobre-grid{grid-template-columns:1fr}.sobre-visual{display:none}
  .photo-gallery{grid-template-columns:1fr}.gallery-main{grid-row:auto}.gallery-side{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .cookie-banner{flex-direction:column;align-items:flex-start}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}.hamburger{display:flex}
  .stats-bar-grid{grid-template-columns:1fr 1fr}
  .stats-bar-item{border-right:none;border-bottom:1px solid rgba(201,169,110,.08)}
  .stats-bar-item:nth-child(odd){border-right:1px solid rgba(201,169,110,.08)}
  .features-grid{grid-template-columns:1fr}
  .prod-preview-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .hero-btns{flex-direction:column}
  .hero-btns .btn{justify-content:center}
  .cta-btns{flex-direction:column;align-items:center}
  .form-card,.contact-card{padding:24px 18px}
  .footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:520px){
  .values-grid{grid-template-columns:1fr}
  .stats-bar-grid{grid-template-columns:1fr 1fr}
}
