/* ============================================================
   DAVI RODRIGUES FOTOGRAFIA — Redesign "Obsidian & Gold" 2026
   ============================================================ */

/* ─── VARIÁVEIS ─────────────────────────────────────────────── */
:root {
  --bg-1:    #04040A;
  --bg-2:    #070710;
  --bg-3:    #0D0D1C;
  --bg-card: #101020;
  --gold:    #C9A96E;
  --gold-lt: #E8D5A8;
  --gold-dk: #7D6330;
  --glow:    rgba(201,169,110,.22);
  --white:   #F5F2EC;
  --dim:     rgba(245,242,236,.55);
  --border:  rgba(201,169,110,.13);
  --radius:  14px;
  --rsm:     8px;
  --ease:    cubic-bezier(.25,.46,.45,.94);
  --tr:      all .45s var(--ease);
  --shcard:  0 10px 50px rgba(0,0,0,.55);
  --shgold:  0 0 40px rgba(201,169,110,.18);

  /* legado — mantidos para compatibilidade */
  --primary:       #04040A;
  --secondary:     #F5F2EC;
  --accent:        #C9A96E;
  --accent-dark:   #7D6330;
  --accent-light:  rgba(201,169,110,.08);
  --gray:          #070710;
  --dark-gray:     #F5F2EC;
  --medium-gray:   rgba(245,242,236,.55);
  --shadow:        0 10px 50px rgba(0,0,0,.55);
  --shadow-hover:  0 0 40px rgba(201,169,110,.18);
  --transition:    all .45s cubic-bezier(.25,.46,.45,.94);
}

/* ─── RESET ─────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }

body {
  font-family:'Inter', 'Montserrat', sans-serif;
  background:var(--bg-1);
  color:var(--white);
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5 {
  font-family:'Cormorant Garamond', 'Playfair Display', serif;
  font-weight:600;
  color:var(--white);
  line-height:1.2;
}
a { text-decoration:none; color:inherit; transition:var(--tr); }
ul { list-style:none; }
img { max-width:100%; display:block; }

/* ─── CURSOR PERSONALIZADO ──────────────────────────────────── */
.cursor-dot {
  width:8px; height:8px; background:var(--gold);
  border-radius:50%; position:fixed; pointer-events:none;
  z-index:99999; top:0; left:0; will-change:transform;
  transition:width .15s, height .15s, background .15s;
}
.cursor-ring {
  width:38px; height:38px; border:1.5px solid rgba(201,169,110,.45);
  border-radius:50%; position:fixed; pointer-events:none;
  z-index:99998; top:0; left:0; will-change:transform;
  transition:width .2s, height .2s, opacity .2s;
}
.cursor-dot.hovered  { width:12px; height:12px; }
.cursor-ring.hovered { width:56px; height:56px; opacity:.3; }

/* ─── UTILITÁRIOS ───────────────────────────────────────────── */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section-padding { padding:110px 0; }

.section-title { text-align:center; margin-bottom:80px; }
.section-title .stag {
  display:inline-block; font-family:'Inter',sans-serif;
  font-size:.63rem; font-weight:700; letter-spacing:4px;
  text-transform:uppercase; color:var(--gold); margin-bottom:14px;
}
.section-title h2 {
  font-size:3.2rem; position:relative; display:inline-block;
  padding-bottom:22px; margin-bottom:18px;
}
.section-title h2::after {
  content:''; position:absolute; width:55px; height:1.5px;
  background:var(--gold); bottom:0; left:50%; transform:translateX(-50%);
}
.section-title p { max-width:680px; margin:0 auto; color:var(--dim); font-size:1rem; font-family:'Inter',sans-serif; }

/* ─── BOTÕES ─────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 34px; background:var(--gold); color:var(--bg-1);
  border-radius:3px; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; transition:var(--tr); border:none; cursor:pointer;
  font-size:11.5px; font-family:'Inter',sans-serif;
  position:relative; overflow:hidden; white-space:nowrap;
}
.btn:hover { transform:translateY(-3px); box-shadow:0 14px 40px var(--glow); color:var(--bg-1); }
.btn-outline { background:transparent; color:var(--gold); border:1.5px solid var(--gold); }
.btn-outline:hover { background:var(--gold); color:var(--bg-1); }

/* ─── HEADER ─────────────────────────────────────────────────── */
header {
  position:fixed; width:100%; top:0; left:0; z-index:1000;
  padding:18px 0;
  background:rgba(4,4,10,.85);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--border);
  transition:var(--tr);
}
header.scrolled {
  padding:11px 0;
  background:rgba(4,4,10,.96);
  box-shadow:0 4px 40px rgba(0,0,0,.6);
}
.header-container {
  display:flex; justify-content:space-between; align-items:center;
  max-width:1200px; margin:0 auto; padding:0 24px;
}
.logo img {
  height:38px; width:auto; max-width:180px; object-fit:contain;
  filter:brightness(0) invert(1); transition:var(--tr);
}
.logo:hover img { opacity:.8; }

nav ul { display:flex; gap:12px; align-items:center; }
nav ul li a {
  font-weight:500; font-size:11px; position:relative; color:var(--dim);
  text-transform:uppercase; letter-spacing:1.5px; white-space:nowrap;
  padding:4px 0; font-family:'Inter',sans-serif;
}
nav ul li a:not(.btn-client)::after {
  content:''; position:absolute; width:0; height:1px;
  background:var(--gold); bottom:-4px; left:0; transition:var(--tr);
}
nav ul li a:not(.btn-client):hover::after,
nav ul li a.active:not(.btn-client)::after { width:100%; }
nav ul li a:hover, nav ul li a.active { color:var(--gold); }

.nav-cta { margin-left:10px; }
.btn-client {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:7px 16px; border:1px solid var(--border); border-radius:30px;
  font-size:10px !important; font-weight:600;
  color:var(--dim) !important; white-space:nowrap;
  text-transform:uppercase; letter-spacing:1px; line-height:1;
}
.btn-client i { font-size:9px; color:var(--gold); }
.btn-client:hover { border-color:var(--gold); color:var(--gold) !important; }

.mobile-menu-btn {
  display:none; flex-direction:column; justify-content:space-between;
  width:26px; height:18px; background:transparent; border:none; cursor:pointer; z-index:1001;
}
.mobile-menu-btn span {
  display:block; width:100%; height:1.5px; background:var(--gold);
  transition:var(--tr); border-radius:2px;
}
.mobile-menu-btn.active span:nth-child(1) { transform:translateY(8.25px) rotate(45deg); }
.mobile-menu-btn.active span:nth-child(2) { opacity:0; }
.mobile-menu-btn.active span:nth-child(3) { transform:translateY(-8.25px) rotate(-45deg); }

/* ─── HERO ───────────────────────────────────────────────────── */
.hero {
  height:100vh; min-height:750px; position:relative;
  display:flex; align-items:center; color:var(--white);
  overflow:hidden; padding-top:80px;
}
.hero-background { position:absolute; inset:0; z-index:0; background:var(--bg-1); }
.hero-background::before {
  content:''; position:absolute; inset:0; z-index:2;
  background:linear-gradient(110deg, rgba(4,4,10,.93) 0%, rgba(4,4,10,.65) 55%, rgba(4,4,10,.28) 100%);
}
.hero-background::after {
  content:''; position:absolute; inset:0; z-index:3;
  background:linear-gradient(to top, rgba(4,4,10,.85) 0%, transparent 45%);
}
.hero-slide {
  position:absolute; inset:0; object-fit:cover; width:100%; height:100%;
  opacity:0; transition:opacity 1.8s ease;
}
.hero-slide.active { opacity:1; animation:heroZoom 9s ease-in-out both; }

.hero-content { position:relative; z-index:4; max-width:860px; padding:0 24px; }

.hero-tag {
  display:inline-flex; align-items:center; gap:12px;
  font-family:'Inter',sans-serif; font-size:.63rem; font-weight:700;
  letter-spacing:3.5px; text-transform:uppercase; color:var(--gold);
  border:1px solid rgba(201,169,110,.28); padding:7px 18px; border-radius:2px;
  margin-bottom:26px;
  opacity:0; animation:fadeInUp .8s var(--ease) .2s forwards;
}
.hero-tag::before { content:''; width:22px; height:1px; background:var(--gold); }

.hero h1 {
  font-size:5.2rem; margin-bottom:22px; color:var(--white);
  font-weight:600; letter-spacing:-1.5px;
  opacity:0; animation:fadeInUp .9s var(--ease) .4s forwards;
  line-height:1.05;
}
.hero h1 .gold { color:var(--gold); }

.hero-content p {
  font-size:1.05rem; margin-bottom:42px; max-width:540px;
  color:rgba(245,242,236,.62); font-weight:300;
  opacity:0; animation:fadeInUp .9s var(--ease) .6s forwards;
  font-family:'Inter',sans-serif; line-height:1.8;
}
.hero-btns {
  display:flex; gap:14px; flex-wrap:wrap;
  opacity:0; animation:fadeInUp .9s var(--ease) .8s forwards;
}

.hero-stats {
  display:flex; margin-top:65px;
  opacity:0; animation:fadeInUp .9s var(--ease) 1s forwards;
  background:rgba(16,16,32,.8); backdrop-filter:blur(16px);
  border:1px solid var(--border); border-radius:var(--rsm);
  overflow:hidden; width:fit-content;
}
.hero-stat {
  text-align:center; padding:18px 30px;
  border-right:1px solid var(--border);
}
.hero-stat:last-child { border-right:none; }
.hero-stat-number {
  font-size:1.9rem; font-weight:700; color:var(--gold);
  font-family:'Cormorant Garamond',serif; line-height:1; margin-bottom:3px;
}
.hero-stat-label {
  font-size:.6rem; text-transform:uppercase; letter-spacing:2px;
  color:var(--dim); font-family:'Inter',sans-serif;
}

/* ─── AWARDS STRIP (MARQUEE) ─────────────────────────────────── */
.awards-strip {
  background:var(--bg-2); overflow:hidden; padding:0;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.awards-track {
  display:flex; width:max-content;
  animation:marquee 30s linear infinite;
}
.awards-strip:hover .awards-track { animation-play-state:paused; }
.award-badge {
  display:flex; align-items:center; gap:12px; padding:15px 38px;
  color:var(--dim); font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px; white-space:nowrap;
  border-right:1px solid var(--border); font-family:'Inter',sans-serif; transition:.3s;
}
.award-badge i { color:var(--gold); font-size:13px; }
.award-badge:hover { color:var(--gold); }

/* ─── SERVIÇOS — FLIP CARDS 3D ───────────────────────────────── */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.service-card { perspective:1300px; height:310px; cursor:pointer; }
.card-inner {
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transition:transform .75s cubic-bezier(.4,0,.2,1);
}
.service-card:hover .card-inner { transform:rotateY(180deg); }

.card-front, .card-back {
  position:absolute; inset:0; backface-visibility:hidden;
  border-radius:var(--radius); display:flex;
  flex-direction:column; align-items:center;
  justify-content:center; text-align:center; padding:36px 28px;
}
.card-front {
  background:var(--bg-card);
  border:1px solid var(--border);
  transition:box-shadow .4s;
}
.service-card:hover .card-front { box-shadow:0 0 50px rgba(201,169,110,.12); }
.card-back {
  background:linear-gradient(155deg, var(--gold-dk) 0%, var(--bg-3) 70%);
  border:1px solid rgba(201,169,110,.28);
  transform:rotateY(180deg);
}
.service-icon {
  width:66px; height:66px; border:1px solid var(--border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; color:var(--gold); margin-bottom:20px;
  background:rgba(201,169,110,.07);
}
.card-front h3 { font-size:1.45rem; margin-bottom:8px; }
.card-tagline {
  color:var(--dim); font-size:.83rem; font-style:italic;
  font-family:'Cormorant Garamond',serif; margin-top:4px;
}
.card-back h3 { font-size:1.3rem; margin-bottom:14px; }
.card-back p {
  color:rgba(245,242,236,.82); font-size:.86rem; line-height:1.75;
  margin-bottom:20px; font-family:'Inter',sans-serif;
}
.service-link {
  color:var(--gold-lt); font-weight:600; font-size:.72rem;
  text-transform:uppercase; letter-spacing:1.5px;
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Inter',sans-serif; border-bottom:1px solid rgba(232,213,168,.35);
  padding-bottom:2px; transition:var(--tr);
}
.service-link:hover { color:var(--white); border-color:var(--white); }
.service-link i { transition:transform .3s; }
.service-link:hover i { transform:translateX(5px); }

/* ─── PORTFÓLIO ───────────────────────────────────────────────── */
.portfolio { background:var(--bg-2); }
.portfolio-filter {
  display:flex; justify-content:center; margin-bottom:48px;
  flex-wrap:wrap; gap:8px;
}
.filter-btn {
  padding:9px 20px; background:transparent; border:1px solid var(--border);
  color:var(--dim); border-radius:2px; cursor:pointer; transition:var(--tr);
  font-weight:600; font-size:.68rem; text-transform:uppercase; letter-spacing:1.5px;
  font-family:'Inter',sans-serif;
}
.filter-btn.active, .filter-btn:hover {
  background:var(--gold); color:var(--bg-1); border-color:var(--gold);
}
.portfolio-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.portfolio-item {
  position:relative; overflow:hidden; border-radius:var(--rsm);
  aspect-ratio:4/5; cursor:pointer; border:1px solid var(--border);
}
.portfolio-item::after {
  content:''; position:absolute; inset:0; border:2px solid var(--gold);
  border-radius:var(--rsm); opacity:0; transition:opacity .3s; z-index:5;
}
.portfolio-item:hover::after { opacity:1; }
.portfolio-img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .9s var(--ease), filter .5s;
}
.portfolio-item:hover .portfolio-img { transform:scale(1.09); filter:brightness(.55); }
.portfolio-overlay {
  position:absolute; inset:0; z-index:4;
  background:linear-gradient(to top, rgba(4,4,10,.86) 0%, transparent 56%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:26px; opacity:0; transition:var(--tr);
}
.portfolio-item:hover .portfolio-overlay { opacity:1; }
.portfolio-overlay h3 {
  color:var(--white); font-size:1.2rem; margin-bottom:4px;
  transform:translateY(14px); transition:transform .4s var(--ease);
}
.portfolio-overlay p {
  color:var(--gold); font-size:.67rem; text-transform:uppercase;
  letter-spacing:2px; font-family:'Inter',sans-serif;
  transform:translateY(14px); transition:transform .4s var(--ease) .06s;
}
.portfolio-item:hover .portfolio-overlay h3,
.portfolio-item:hover .portfolio-overlay p { transform:translateY(0); }

.portfolio-modal {
  position:fixed; inset:0; background:rgba(4,4,10,.96); z-index:2000;
  display:none; justify-content:center; align-items:center; padding:20px;
  backdrop-filter:blur(10px);
}
.portfolio-modal.active { display:flex; }
.modal-content {
  background:var(--bg-card); max-width:980px; width:95%;
  border-radius:var(--radius); overflow:hidden; position:relative;
  max-height:90vh; display:flex; flex-direction:column;
  border:1px solid var(--border);
}
.modal-close {
  position:absolute; top:12px; right:16px; color:var(--white);
  z-index:10; font-size:26px; cursor:pointer; background:transparent;
  border:none; opacity:.6; transition:.2s;
}
.modal-close:hover { opacity:1; color:var(--gold); }
.modal-gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:8px; padding:18px; max-height:70vh; overflow-y:auto;
}
.modal-gallery-item {
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:4px; cursor:pointer; transition:transform .2s;
}
.modal-gallery-item:hover { transform:scale(1.04); }
#modalImg { width:100%; height:auto; display:block; }

/* ─── SOBRE ──────────────────────────────────────────────────── */
.about-content { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-image {
  border-radius:var(--radius); overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.65); position:relative;
}
.about-image::before {
  content:''; position:absolute; inset:-10px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) + 10px); z-index:-1; pointer-events:none;
}
.about-image img { width:100%; height:auto; display:block; transition:var(--tr); }
.about-image:hover img { transform:scale(1.03); }
.about-text h3 { font-size:2.3rem; margin-bottom:22px; }
.about-text .highlight { color:var(--gold); }
.about-text p {
  margin-bottom:16px; color:rgba(245,242,236,.65);
  text-align:justify; line-height:1.85;
  font-family:'Inter',sans-serif; font-size:.94rem;
}

.stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; margin-top:42px;
  background:var(--border); border:1px solid var(--border);
  border-radius:var(--rsm); overflow:hidden;
}
.stat-item {
  text-align:center; padding:22px 14px; background:var(--bg-card);
  transition:var(--tr); position:relative;
}
.stat-item::after {
  content:''; position:absolute; bottom:0; left:50%;
  transform:translateX(-50%); width:0; height:2px;
  background:var(--gold); transition:.4s;
}
.stat-item:hover::after { width:75%; }
.stat-item:hover { background:var(--bg-3); }
.stat-number {
  font-size:2.4rem; font-weight:700; color:var(--gold);
  font-family:'Cormorant Garamond',serif; line-height:1;
}
.stat-label {
  font-size:.62rem; color:var(--dim); text-transform:uppercase;
  font-weight:600; letter-spacing:2px; margin-top:5px;
  font-family:'Inter',sans-serif;
}

/* ─── DEPOIMENTOS ─────────────────────────────────────────────── */
.testimonials { background:var(--bg-2); }
.testimonial-slider { max-width:850px; margin:0 auto; position:relative; }
.testimonial-item {
  background:var(--bg-card); padding:52px 48px;
  border-radius:var(--radius); box-shadow:var(--shcard);
  text-align:center; position:relative; display:none;
  border:1px solid var(--border);
}
.testimonial-item.active { display:block; animation:fadeInUp .5s var(--ease); }
.testimonial-item::before {
  content:'\201C'; position:absolute; top:18px; left:34px;
  font-size:7rem; color:var(--gold);
  font-family:'Cormorant Garamond',serif; opacity:.18; line-height:1;
}
.testimonial-text {
  font-style:italic; margin-bottom:28px; color:var(--dim);
  font-family:'Inter',sans-serif; line-height:1.8; font-size:.97rem;
}
.testimonial-text h3 { font-size:1.45rem; color:var(--white); margin-bottom:12px; font-style:normal; }
.testimonial-author { display:flex; align-items:center; justify-content:center; gap:18px; }
.author-img { width:64px; height:64px; border-radius:50%; overflow:hidden; border:2px solid var(--gold); }
.author-img img { width:100%; height:100%; object-fit:cover; }
.author-info h4 { font-size:1.1rem; color:var(--white); margin-bottom:2px; }
.author-info p { font-size:.72rem; color:var(--gold); font-family:'Inter',sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.video-wrapper {
  position:relative; width:100%; padding-bottom:56.25%;
  border-radius:var(--rsm); overflow:hidden; margin-top:38px;
  border:1px solid var(--border);
}
.video-wrapper iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.slider-nav { display:flex; justify-content:center; gap:10px; margin-top:28px; }
.slider-dot {
  width:28px; height:2px; background:var(--border);
  cursor:pointer; transition:var(--tr); border-radius:2px;
}
.slider-dot.active { background:var(--gold); }

/* ─── CTA ─────────────────────────────────────────────────────── */
.cta-section {
  background:var(--bg-3); padding:100px 0; text-align:center;
  position:relative; overflow:hidden;
}
.cta-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(201,169,110,.09) 0%, transparent 65%);
  pointer-events:none;
}
.cta-section h2 { font-size:3rem; color:var(--white); margin-bottom:16px; }
.cta-section h2 span { color:var(--gold); }
.cta-section p {
  color:var(--dim); font-size:1rem; max-width:540px;
  margin:0 auto 38px; line-height:1.75; font-family:'Inter',sans-serif;
}
.cta-section .btn { padding:16px 42px; }

/* ─── CONTATO ─────────────────────────────────────────────────── */
.contact-container { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.contact-info h3 { font-size:2rem; margin-bottom:12px; }
.contact-intro { margin-bottom:30px; color:var(--dim); font-size:.93rem; line-height:1.75; font-family:'Inter',sans-serif; }
.contact-list { list-style:none; padding:0; margin:0 0 32px; }
.contact-list li { display:flex; align-items:center; margin-bottom:20px; }
.contact-icon-circle {
  width:46px; height:46px; background:rgba(201,169,110,.08);
  color:var(--gold); border:1px solid var(--border); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:15px; margin-right:16px; flex-shrink:0; transition:var(--tr);
}
.contact-list li:hover .contact-icon-circle { background:var(--gold); color:var(--bg-1); border-color:var(--gold); }
.contact-text h4 {
  margin:0 0 2px; font-size:.62rem; color:var(--gold);
  text-transform:uppercase; letter-spacing:2px; font-weight:700;
  font-family:'Inter',sans-serif;
}
.contact-text span { font-size:.95rem; color:var(--white); font-family:'Inter',sans-serif; }
.contact-text p { font-size:.9rem; color:var(--dim); margin:0; font-family:'Inter',sans-serif; }

.contact-form-wrapper {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius); padding:40px;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
  width:100%; padding:13px 17px; margin-bottom:14px;
  border:1px solid var(--border); border-radius:var(--rsm);
  font-family:'Inter',sans-serif; font-size:.9rem;
  background:rgba(255,255,255,.035); color:var(--white);
  transition:border-color .3s, box-shadow .3s;
  -webkit-appearance:none; appearance:none;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder { color:rgba(245,242,236,.28); }
.contact-form select option { background:var(--bg-card); color:var(--white); }
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
  outline:none; border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,169,110,.09);
}
.form-message {
  padding:13px 16px; border-radius:var(--rsm); margin-bottom:16px;
  display:none; font-family:'Inter',sans-serif; font-size:.87rem;
}
.form-message.success { background:rgba(76,175,80,.12); color:#81c784; border:1px solid rgba(76,175,80,.22); display:block; }
.form-message.error { background:rgba(244,67,54,.12); color:#e57373; border:1px solid rgba(244,67,54,.22); display:block; }
.contact-form .btn { width:100%; margin-top:6px; }

/* ─── SOCIAL LINKS ──────────────────────────────────────────── */
.social-links { display:flex; gap:12px; margin-top:22px; }
.social-links a {
  width:42px; height:42px; border-radius:50%;
  background:rgba(201,169,110,.07); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--dim); font-size:1rem; transition:var(--tr);
}
.social-links a:hover { background:var(--gold); color:var(--bg-1); border-color:var(--gold); transform:translateY(-4px); }

/* ─── FOOTER ─────────────────────────────────────────────────── */
footer { background:var(--bg-2); padding:80px 0 28px; border-top:1px solid var(--border); }
.footer-content { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:50px; margin-bottom:55px; }
.footer-column h3 { color:var(--white); margin-bottom:20px; position:relative; padding-bottom:14px; font-size:1.15rem; }
.footer-column h3::after { content:''; position:absolute; width:28px; height:1.5px; background:var(--gold); bottom:0; left:0; }
.footer-column p { color:var(--dim); font-size:.86rem; line-height:1.7; font-family:'Inter',sans-serif; }
.footer-column ul li { margin-bottom:10px; }
.footer-column ul li a {
  color:var(--dim); font-size:.83rem; font-family:'Inter',sans-serif;
  display:inline-flex; align-items:center; gap:8px; transition:var(--tr);
}
.footer-column ul li a:hover { color:var(--gold); transform:translateX(5px); }
.footer-column ul li a i { font-size:.55rem; color:var(--gold); }
.instagram-feed { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.instagram-item { aspect-ratio:1/1; overflow:hidden; border-radius:4px; border:1px solid var(--border); }
.instagram-item img { width:100%; height:100%; object-fit:cover; transition:.5s; opacity:.65; }
.instagram-item:hover img { transform:scale(1.1); opacity:1; }
.footer-bottom { text-align:center; padding-top:26px; border-top:1px solid var(--border); font-size:.8rem; color:var(--dim); font-family:'Inter',sans-serif; }

/* ─── EXTRAS ─────────────────────────────────────────────────── */
.whatsapp-btn {
  position:fixed; bottom:32px; right:32px; width:58px; height:58px;
  background:#25D366; color:white; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:26px; box-shadow:0 6px 24px rgba(37,211,102,.35);
  z-index:999; transition:var(--tr);
}
.whatsapp-btn:hover { transform:scale(1.1) rotate(8deg); }
.whatsapp-pulse {
  position:absolute; width:100%; height:100%; border-radius:50%;
  background:#25D366; opacity:.55; animation:pulse 2s infinite;
}
.back-to-top {
  position:fixed; bottom:104px; right:32px; width:46px; height:46px;
  background:var(--bg-card); border:1px solid var(--border); color:var(--gold);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:15px; z-index:998; opacity:0; visibility:hidden; transition:var(--tr);
}
.back-to-top:hover { background:var(--gold); color:var(--bg-1); border-color:var(--gold); }
.back-to-top.active { opacity:1; visibility:visible; }

.preloader {
  position:fixed; inset:0; background:var(--bg-1);
  display:flex; justify-content:center; align-items:center;
  z-index:9999; flex-direction:column; gap:18px;
  transition:opacity .6s ease, visibility .6s ease;
}
.preloader.hidden { opacity:0; visibility:hidden; }
.preloader-spinner {
  width:48px; height:48px; border:2px solid rgba(201,169,110,.18);
  border-top-color:var(--gold); border-radius:50%; animation:spin 1s linear infinite;
}
.preloader-logo {
  font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold);
  letter-spacing:4px; text-transform:uppercase; opacity:.5;
}

/* ─── ORÇAMENTO ──────────────────────────────────────────────── */
.quote-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:22px; max-width:960px; margin:40px auto 80px; padding:0 24px;
}
.quote-card {
  background:var(--bg-card); padding:38px 26px; border-radius:var(--radius);
  text-align:center; box-shadow:var(--shcard); border:1px solid var(--border);
  transition:var(--tr); display:flex; flex-direction:column;
  align-items:center; height:100%; position:relative; overflow:hidden;
}
.quote-card:hover { transform:translateY(-10px); border-color:var(--gold); box-shadow:var(--shgold); }
.icon-box {
  width:64px; height:64px; background:rgba(201,169,110,.08); border:1px solid var(--border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:25px; color:var(--gold); margin-bottom:16px; transition:var(--tr);
}
.quote-card:hover .icon-box { background:var(--gold); color:var(--bg-1); border-color:var(--gold); }
.quote-card h3 { font-size:1.2rem; color:var(--white); margin-bottom:8px; }
.quote-card p { font-size:.84rem; color:var(--dim); margin-bottom:20px; line-height:1.6; font-family:'Inter',sans-serif; }
.btn-download { color:var(--gold); font-weight:700; text-transform:uppercase; font-size:.72rem; letter-spacing:1.5px; display:inline-flex; align-items:center; gap:8px; font-family:'Inter',sans-serif; }
.quote-card.featured { border:1.5px solid var(--gold); }
.quote-card.featured::before {
  content:'MAIS ESCOLHIDO'; position:absolute; top:12px; right:12px;
  background:var(--gold); color:var(--bg-1); font-size:9px; font-weight:700;
  padding:3px 8px; border-radius:2px; font-family:'Inter',sans-serif; letter-spacing:1px;
}

/* ─── ANIMAÇÕES ──────────────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes heroZoom {
  from { transform:scale(1); }
  to   { transform:scale(1.07); }
}
@keyframes marquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
@keyframes pulse {
  0%   { transform:scale(.85); opacity:.55; }
  70%  { transform:scale(1.3); opacity:0; }
  100% { transform:scale(.85); opacity:0; }
}
@keyframes spin { to { transform:rotate(360deg); } }

/* ─── RESPONSIVO ─────────────────────────────────────────────── */
@media (max-width:1100px) {
  .hero h1 { font-size:3.8rem; }
  .section-title h2 { font-size:2.6rem; }
  nav ul { gap:8px; }
}

@media (max-width:992px) {
  .about-content, .contact-container { grid-template-columns:1fr; }
  .about-image { order:-1; max-width:460px; margin:0 auto; }
  .hero h1 { font-size:3rem; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .hero-stats { flex-wrap:wrap; }
  .hero-stat { flex:1 1 auto; min-width:100px; }
}

@media (max-width:768px) {
  .mobile-menu-btn { display:flex; }
  nav {
    position:fixed; top:0; right:-100%; width:100%; max-width:310px;
    height:100vh; background:var(--bg-2); border-left:1px solid var(--border);
    box-shadow:-5px 0 40px rgba(0,0,0,.7); z-index:1000; transition:var(--tr);
    padding:90px 26px 26px; display:flex; flex-direction:column;
  }
  nav.active { right:0; }
  nav ul { flex-direction:column; align-items:flex-start; gap:18px; }
  .nav-cta { margin:14px 0 0; }
  .btn-client { width:100%; justify-content:center; margin-top:8px; padding:11px; }
  .hero { height:95vh; min-height:600px; }
  .hero h1 { font-size:2.5rem; }
  .section-padding { padding:75px 0; }
  .stats { grid-template-columns:1fr; }
  .footer-content { grid-template-columns:1fr; gap:38px; }
  .contact-form-wrapper { padding:26px; }
  .testimonial-item { padding:30px 22px; }
  .cta-section h2 { font-size:2.2rem; }
  .cursor-dot, .cursor-ring { display:none; }

  /* Flip cards → flat em mobile */
  .service-card { perspective:none; height:auto; }
  .card-inner { transform-style:flat; transform:none !important; height:auto; }
  .service-card:hover .card-inner { transform:none !important; }
  .card-front, .card-back {
    position:static; transform:none !important;
    backface-visibility:visible; height:auto;
  }
  .card-front { border-radius:var(--radius) var(--radius) 0 0; border-bottom:none; }
  .card-back {
    border-radius:0 0 var(--radius) var(--radius);
    background:rgba(125,99,48,.14); border-top:1px solid var(--border);
  }
}

@media (max-width:600px) {
  .services-grid { grid-template-columns:1fr; }
  .hero h1 { font-size:2rem; letter-spacing:-.5px; }
  .section-title h2 { font-size:1.9rem; }
  .hero-btns { flex-direction:column; align-items:flex-start; }
  .hero-stats { width:100%; border-radius:var(--rsm); }
  .hero-stat { flex:1; padding:15px 10px; }
}
