/* ============================================
   RENATA NORTE - UGC CREATOR
   STYLE.CSS - Design Premium Dourado & Taupe
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,700&family=Montserrat:wght@300;400;500;600;700;800&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400;1,600&display=swap');

:root {
  --primary: #C9A84C;
  --primary-dark: #a8843a;
  --primary-light: #E2C06A;
  --dark: #1A1A1A;
  --dark-2: #242424;
  --dark-3: #121212;
  --light: #FEFEFE;
  --bg-light: #FAF7F2;
  --bg-warm: #F2EDE8;
  --accent: #E2C06A;
  --accent-2: #F0D98C;
  --text-muted: #8a7e72;
  --border: rgba(201,168,76,0.18);
  --border-strong: rgba(201,168,76,0.38);
  --shadow-sm: 0 4px 20px rgba(201,168,76,0.1);
  --shadow-md: 0 10px 40px rgba(201,168,76,0.18);
  --shadow-lg: 0 20px 60px rgba(201,168,76,0.22);
  --shadow-dark: 0 20px 60px rgba(26,26,26,0.25);
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Montserrat', sans-serif;
  --font-italic: 'Cormorant Garamond', Georgia, serif;
  --transition: all 0.4s cubic-bezier(0.25,0.8,0.25,1);
  --transition-fast: all 0.2s ease;
  --radius: 16px;
  --radius-sm: 8px;
  --radius-lg: 28px;
  --radius-full: 9999px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:var(--font-body); background:var(--light); color:var(--dark); line-height:1.7; overflow-x:hidden; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { border:none; background:none; font-family:inherit; }
.container { max-width:1280px; margin:0 auto; padding:0 40px; }
section { position:relative; }

/* LOADER */
#loader { position:fixed; top:0; left:0; width:100%; height:100%; background:var(--dark-3); z-index:9999; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:24px; transition:opacity 0.3s ease, visibility 0.3s ease; pointer-events:none; }
#loader.hide { opacity:0; visibility:hidden; }
.loader-text { font-family:var(--font-heading); font-size:clamp(28px,5.5vw,64px); font-weight:700; color:var(--light); letter-spacing:0.2em; animation:loaderPulse 0.8s ease-in-out infinite; }
.loader-text span { color:var(--primary); }
.loader-bar { width:200px; height:2px; background:rgba(255,255,255,0.1); border-radius:var(--radius-full); overflow:hidden; }
.loader-bar-fill { height:100%; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:var(--radius-full); animation:loaderFill 0.3s ease forwards; }
@keyframes loaderPulse { 0%,100%{opacity:0.6;transform:scale(1)} 50%{opacity:1;transform:scale(1.03)} }
@keyframes loaderFill { from{width:0} to{width:100%} }

/* CURSOR */
#cursor { position:fixed; width:8px; height:8px; background:var(--primary); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:transform 0.1s ease, width 0.3s ease, height 0.3s ease, opacity 0.3s ease; opacity:0; }
#cursor.active { opacity:1; }
#cursor-follower { position:fixed; width:36px; height:36px; border:1.5px solid var(--primary); border-radius:50%; pointer-events:none; z-index:9997; transform:translate(-50%,-50%); transition:transform 0.15s ease, width 0.3s ease, height 0.3s ease, opacity 0.3s ease; opacity:0; }
#cursor-follower.active { opacity:0.6; }

/* NAVBAR */
#navbar { position:fixed; top:0; left:0; right:0; z-index:1000; padding:22px 0; transition:var(--transition); background:transparent; }
#navbar.scrolled { background:rgba(254,254,254,0.96); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); padding:14px 0; box-shadow:0 4px 30px rgba(0,0,0,0.08); border-bottom:1px solid var(--border); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; max-width:1280px; margin:0 auto; padding:0 40px; }
.nav-logo { font-family:var(--font-heading); font-size:22px; font-weight:700; letter-spacing:0.05em; transition:var(--transition); color:var(--light); }
.nav-logo span { color:var(--primary-light); }
#navbar.scrolled .nav-logo { color:var(--dark); }
#navbar.scrolled .nav-logo span { color:var(--primary); }

.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a { font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:rgba(254,254,254,0.85); transition:var(--transition); position:relative; }
#navbar.scrolled .nav-links a { color:var(--dark); }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--primary); transition:var(--transition); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-links a:hover { color:var(--primary-light); }
#navbar.scrolled .nav-links a:hover { color:var(--primary); }

.nav-cta { padding:10px 24px; background:var(--primary); color:var(--light)!important; border-radius:var(--radius-full); font-weight:600!important; }
.nav-cta::after { display:none!important; }
.nav-cta:hover { background:var(--primary-dark)!important; transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,0.38); }

.hamburger { display:none; flex-direction:column; gap:6px; padding:8px; cursor:pointer; }
.hamburger span { display:block; width:26px; height:2px; background:var(--light); border-radius:var(--radius-full); transition:var(--transition); }
#navbar.scrolled .hamburger span { background:var(--dark); }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,6px); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-6px); }

#mobile-menu { position:fixed; top:0; right:-100%; width:min(360px,85vw); height:100vh; background:var(--light); z-index:999; padding:100px 48px 48px; transition:right 0.5s cubic-bezier(0.25,0.8,0.25,1); box-shadow:-20px 0 60px rgba(24,24,24,0.15); display:flex; flex-direction:column; justify-content:space-between; }
#mobile-menu.open { right:0; }
.mobile-nav-links { display:flex; flex-direction:column; gap:8px; }
.mobile-nav-links a { font-family:var(--font-heading); font-size:24px; font-weight:500; color:var(--dark); padding:12px 0; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; transition:var(--transition); }
.mobile-nav-links a:hover { color:var(--primary); padding-left:12px; }
.mobile-nav-links a span { font-size:20px; color:var(--primary); opacity:0; transition:var(--transition); }
.mobile-nav-links a:hover span { opacity:1; }
.mobile-menu-footer p { font-size:12px; color:var(--text-muted); letter-spacing:0.1em; text-align:center; }
.menu-overlay { display:none; position:fixed; inset:0; background:rgba(24,24,24,0.5); z-index:998; backdrop-filter:blur(4px); }
.menu-overlay.open { display:block; }

/* HERO */
#home { min-height:100vh; background:linear-gradient(160deg, #1A1A1A 60%, #1e1a12 100%); display:flex; flex-direction:column; position:relative; overflow:hidden; padding-top:80px; }
.hero-shape { position:absolute; border-radius:50%; animation:floatShape 8s ease-in-out infinite; pointer-events:none; }
.hero-shape-1 { width:600px; height:600px; background:radial-gradient(circle,rgba(201,168,76,0.1) 0%,transparent 70%); top:-200px; right:-100px; animation-duration:10s; }
.hero-shape-2 { width:400px; height:400px; background:radial-gradient(circle,rgba(201,168,76,0.06) 0%,transparent 70%); bottom:100px; left:-100px; animation-delay:-3s; animation-duration:13s; }
.hero-shape-3 { width:250px; height:250px; background:radial-gradient(circle,rgba(201,168,76,0.05) 0%,transparent 70%); top:40%; left:40%; animation-delay:-6s; animation-duration:9s; }
@keyframes floatShape { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(20px,-30px) scale(1.05)} 66%{transform:translate(-15px,15px) scale(0.97)} }

.hero-ticker-wrap { background:var(--primary); overflow:hidden; padding:10px 0; width:100%; }
.hero-ticker { display:flex; gap:0; white-space:nowrap; animation:tickerScroll 25s linear infinite; }
.hero-ticker-inner { display:flex; gap:0; flex-shrink:0; }
.hero-ticker span { font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--light); padding:0 24px; }
.hero-ticker-dot { color:rgba(254,254,254,0.4)!important; padding:0 4px!important; }
@keyframes tickerScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.hero-content { flex:1; display:grid; grid-template-columns:1.15fr 0.85fr; align-items:center; gap:60px; padding:70px 40px 50px; max-width:1280px; margin:0 auto; width:100%; }
.hero-col-left { display:flex; flex-direction:column; gap:28px; }
.hero-tag { display:inline-flex; align-items:center; gap:10px; padding:8px 20px; background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.28); border-radius:var(--radius-full); width:fit-content; }
.hero-tag-dot { width:6px; height:6px; background:var(--primary); border-radius:50%; animation:pulseDot 2s ease-in-out infinite; }
@keyframes pulseDot { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.4);opacity:0.6} }
.hero-tag span { font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--primary-light); }
.hero-title { font-family:var(--font-heading); font-size:clamp(36px,4.5vw,66px); font-weight:900; color:var(--light); line-height:1.12; letter-spacing:-0.01em; }
.hero-title em { font-style:italic; color:var(--primary-light); font-family:var(--font-italic); font-size:1.06em; }
.hero-desc { font-size:16px; color:rgba(254,254,254,0.78); max-width:520px; line-height:1.8; }
.hero-buttons { display:flex; gap:16px; flex-wrap:wrap; }

.btn-primary { display:inline-flex; align-items:center; gap:10px; padding:16px 36px; background:var(--primary); color:var(--light); border-radius:var(--radius-full); font-size:14px; font-weight:600; letter-spacing:0.06em; transition:var(--transition); cursor:pointer; }
.btn-primary:hover { background:var(--primary-dark); transform:translateY(-3px); box-shadow:0 12px 32px rgba(201,168,76,0.5); }
.btn-outline { display:inline-flex; align-items:center; gap:10px; padding:15px 36px; border:1.5px solid rgba(254,254,254,0.3); color:var(--light); border-radius:var(--radius-full); font-size:14px; font-weight:500; letter-spacing:0.06em; transition:var(--transition); cursor:pointer; }
.btn-outline:hover { background:rgba(254,254,254,0.08); border-color:rgba(254,254,254,0.6); transform:translateY(-3px); }
.btn-dark { display:inline-flex; align-items:center; gap:10px; padding:16px 36px; background:var(--dark); color:var(--light); border-radius:var(--radius-full); font-size:14px; font-weight:600; letter-spacing:0.06em; transition:var(--transition); cursor:pointer; }
.btn-dark:hover { background:var(--dark-2); transform:translateY(-3px); box-shadow:var(--shadow-dark); }
.btn-primary-light { display:inline-flex; align-items:center; gap:10px; padding:16px 36px; background:var(--light); color:var(--dark); border-radius:var(--radius-full); font-size:14px; font-weight:700; letter-spacing:0.06em; transition:var(--transition); cursor:pointer; }
.btn-primary-light:hover { background:var(--bg-warm); transform:translateY(-3px); box-shadow:var(--shadow-md); }

.hero-col-right { position:relative; display:flex; justify-content:center; align-items:center; }
.hero-img-frame { position:relative; width:400px; max-width:100%; }
.hero-img-main { width:100%; aspect-ratio:3/4; border-radius:var(--radius-lg) var(--radius-lg) 120px var(--radius-lg); overflow:hidden; background:linear-gradient(145deg,var(--primary) 0%,var(--primary-dark) 40%,var(--dark-2) 100%); position:relative; box-shadow:var(--shadow-lg); }
.hero-img-main img { width:100%; height:100%; object-fit:cover; object-position:top; }

.badge-float { position:absolute; background:rgba(254,254,254,0.14); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(254,254,254,0.22); border-radius:var(--radius); padding:12px 20px; animation:floatBadge 4s ease-in-out infinite; box-shadow:0 8px 32px rgba(0,0,0,0.2); }
.badge-float-1 { top:10%; right:-30px; animation-delay:0s; }
.badge-float-2 { bottom:12%; left:-40px; animation-delay:-2s; }
@keyframes floatBadge { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.badge-float .badge-number { font-family:var(--font-heading); font-size:18px; font-weight:700; color:var(--primary-light); display:block; }
.badge-float .badge-label { font-size:11px; color:rgba(254,254,254,0.7); letter-spacing:0.08em; display:block; margin-top:2px; }

.hero-stats { background:rgba(255,255,255,0.04); border-top:1px solid rgba(201,168,76,0.12); padding:28px 0; }
.stats-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:0; max-width:1280px; margin:0 auto; padding:0 40px; }
.stat-item { text-align:center; padding:16px 20px; position:relative; }
.stat-item + .stat-item::before { content:''; position:absolute; left:0; top:20%; height:60%; width:1px; background:rgba(201,168,76,0.18); }
.stat-number { font-size:28px; color:var(--primary-light); line-height:1; display:block; margin-bottom:4px; }
.stat-label { font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:rgba(254,254,254,0.75); margin-top:6px; display:block; }

/* MARQUEE */
.marquee-section { background:var(--bg-light); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:0; overflow:hidden; }
.marquee-row { display:flex; overflow:hidden; padding:14px 0; }
.marquee-row + .marquee-row { border-top:1px solid var(--border); }
.marquee-inner { display:flex; gap:0; white-space:nowrap; animation:marqueeScroll 35s linear infinite; }
.marquee-row:nth-child(2) .marquee-inner { animation:marqueeScrollRev 35s linear infinite; }
.marquee-inner span { font-family:var(--font-heading); font-size:18px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--dark); padding:0 28px; opacity:0.85; }
@keyframes marqueeScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes marqueeScrollRev { from{transform:translateX(-50%)} to{transform:translateX(0)} }

/* SECTION HEADERS */
.section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--primary); margin-bottom:12px; }
.section-title { font-family:var(--font-heading); font-size:clamp(32px,4vw,52px); font-weight:800; color:var(--dark); line-height:1.15; letter-spacing:-0.01em; margin-bottom:20px; }
.section-title em { font-style:italic; font-family:var(--font-italic); color:var(--primary-dark); font-size:1.08em; }

/* ABOUT */
#about { padding:120px 0; background:var(--light); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-visual { position:relative; height:540px; }
.about-img-main { position:absolute; top:0; left:0; width:70%; height:460px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.about-img-main img { width:100%; height:100%; object-fit:cover; }
.about-img-secondary { position:absolute; bottom:0; right:0; width:55%; height:320px; border-radius:var(--radius-lg); overflow:hidden; border:6px solid var(--light); box-shadow:var(--shadow-lg); z-index:2; }
.about-img-secondary img { width:100%; height:100%; object-fit:cover; }
.about-badge { position:absolute; bottom:40px; left:20px; background:var(--primary); color:var(--light); padding:16px 24px; border-radius:var(--radius); z-index:3; box-shadow:0 10px 30px rgba(201,168,76,0.4); text-align:center; }
.badge-big-num { font-family:var(--font-heading); font-size:32px; font-weight:700; line-height:1; display:block; }
.badge-big-label { font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; opacity:0.9; margin-top:4px; display:block; }

.about-text { display:flex; flex-direction:column; gap:20px; }
.about-text p { font-size:15px; color:var(--text-muted); line-height:1.9; }
.niche-tags { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 15px; }
.niche-tag { display:inline-flex; align-items:center; gap:6px; padding:7px 16px; background:var(--bg-light); border:1px solid var(--border); border-radius:var(--radius-full); font-size:12px; font-weight:600; color:var(--dark); transition:var(--transition-fast); }
.niche-tag:hover { background:var(--primary); color:var(--light); border-color:var(--primary); transform:translateY(-2px); }

/* SERVICES */
#services { padding:120px 0; background:var(--bg-light); overflow:hidden; }
.services-bg-text { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:var(--font-heading); font-size:clamp(100px,18vw,260px); font-weight:900; color:rgba(201,168,76,0.04); pointer-events:none; white-space:nowrap; z-index:0; }
.services-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:60px; position:relative; z-index:1; }
.services-header-right { max-width:440px; color:var(--text-muted); font-size:15px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative; z-index:1; }
.service-card { background:var(--light); border:1px solid var(--border); border-radius:var(--radius); padding:40px 32px; display:flex; flex-direction:column; gap:16px; transition:var(--transition); position:relative; }
.service-card:hover { transform:translateY(-8px); border-color:var(--primary); box-shadow:var(--shadow-md); }
.service-card.featured { background:linear-gradient(145deg, #1f1c16 0%, #161410 100%); color:var(--light); border-color:var(--primary); }
.service-card.featured .service-title { color:var(--light); }
.service-card.featured .service-desc { color:rgba(254,254,254,0.7); }
.service-icon { font-size:32px; }
.service-title { font-family:var(--font-heading); font-size:22px; font-weight:600; color:var(--dark); }
.service-desc { font-size:14px; color:var(--text-muted); line-height:1.8; flex:1; }
.service-tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--primary); padding-top:12px; border-top:1px solid var(--border); width:fit-content; }

/* PORTFOLIO HIGHLIGHTS */
#portfolio { padding:120px 0; background:var(--light); }
.portfolio-header { text-align:center; max-width:600px; margin:0 auto 40px; }
.portfolio-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-bottom:48px; }
.filter-btn { padding:10px 24px; border:1px solid var(--border); border-radius:var(--radius-full); font-size:13px; font-weight:600; color:var(--dark); background:var(--light); transition:var(--transition); cursor:pointer; }
.filter-btn.active, .filter-btn:hover { background:var(--dark); color:var(--light); border-color:var(--dark); }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.portfolio-item { position:relative; overflow:hidden; border-radius:var(--radius); }
.portfolio-img-wrap { width:100%; min-height:360px; height:380px; background:linear-gradient(135deg,#F2EDE8 0%,#E8E0D5 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.portfolio-item.tall .portfolio-img-wrap { min-height:480px; height:500px; }
.portfolio-item.wide .portfolio-img-wrap { min-height:300px; height:320px; }
.portfolio-item-img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s cubic-bezier(0.25,0.8,0.25,1); }
.portfolio-item:hover .portfolio-item-img { transform:scale(1.06); }
.portfolio-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,26,26,0.88) 0%, rgba(26,26,26,0.2) 50%, transparent 100%); display:flex; align-items:flex-end; padding:28px; opacity:0; transition:var(--transition); }
.portfolio-item:hover .portfolio-overlay { opacity:1; }
.portfolio-overlay-content h4 { font-family:var(--font-heading); font-size:20px; color:var(--light); margin-bottom:4px; transform:translateY(15px); transition:var(--transition); }
.portfolio-overlay-content span { font-size:12px; color:var(--primary-light); font-weight:600; letter-spacing:0.08em; text-transform:uppercase; transform:translateY(15px); transition:var(--transition); display:block; }
.portfolio-item:hover .portfolio-overlay-content h4, .portfolio-item:hover .portfolio-overlay-content span { transform:translateY(0); }
.portfolio-item.hidden { display:none!important; }

/* SEÇÃO GALERIA */
#gallery { padding:120px 0; background:var(--bg-light); border-top:1px solid var(--border); }
.gallery-header { text-align:center; max-width:700px; margin:0 auto 40px; }
.gallery-header p { font-size:15px; color:var(--text-muted); line-height:1.8; margin-top:12px; }
.gallery-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:48px; }
.gallery-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.gallery-card { background:var(--light); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition); display:flex; flex-direction:column; cursor:pointer; }
.gallery-card:hover { transform:translateY(-6px); border-color:var(--primary); box-shadow:var(--shadow-md); }
.gallery-card-img-wrap { width:100%; aspect-ratio:3/4; overflow:hidden; position:relative; background:var(--bg-warm); }
.gallery-card-img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s cubic-bezier(0.25,0.8,0.25,1); }
.gallery-card:hover .gallery-card-img { transform:scale(1.07); }
.gallery-card-zoom-icon { position:absolute; top:16px; right:16px; width:36px; height:36px; background:rgba(26,26,26,0.7); backdrop-filter:blur(6px); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--light); opacity:0; transform:scale(0.8); transition:var(--transition); }
.gallery-card:hover .gallery-card-zoom-icon { opacity:1; transform:scale(1); }
.gallery-card-info { padding:18px 16px; display:flex; flex-direction:column; gap:6px; flex:1; justify-content:center; background:var(--light); }
.gallery-card-tag { font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--primary-dark); }
.gallery-card-caption { font-family:var(--font-heading); font-size:14px; font-weight:600; color:var(--dark); line-height:1.4; }
.gallery-card.hidden { display:none!important; }

.gallery-pagination { display:flex; justify-content:center; margin-top:50px; }
.gallery-btn-more { display:inline-flex; align-items:center; gap:12px; padding:16px 40px; background:var(--dark); color:var(--light); border-radius:var(--radius-full); font-size:14px; font-weight:600; letter-spacing:0.06em; transition:var(--transition); cursor:pointer; }
.gallery-btn-more:hover { background:var(--primary); transform:translateY(-3px); box-shadow:0 12px 30px rgba(201,168,76,0.35); }

/* LIGHTBOX MODAL */
#lightbox-modal { position:fixed; inset:0; background:rgba(18,18,18,0.95); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:99999; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease; padding:20px; }
#lightbox-modal.active { opacity:1; visibility:visible; }
.lightbox-close { position:absolute; top:28px; right:36px; width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); color:var(--light); font-size:24px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition); }
.lightbox-close:hover { background:var(--primary); border-color:var(--primary); transform:rotate(90deg); }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); color:var(--light); font-size:22px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition); }
.lightbox-nav:hover { background:var(--primary); border-color:var(--primary); }
.lightbox-prev { left:36px; }
.lightbox-next { right:36px; }
.lightbox-content { max-width:90vw; max-height:85vh; display:flex; flex-direction:column; align-items:center; gap:16px; }
.lightbox-content img { max-height:75vh; max-width:85vw; object-fit:contain; border-radius:var(--radius); box-shadow:0 20px 60px rgba(0,0,0,0.6); }
.lightbox-caption-box { text-align:center; color:var(--light); }
.lightbox-tag { font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--primary-light); margin-bottom:4px; display:block; }
.lightbox-title { font-family:var(--font-heading); font-size:18px; font-weight:600; color:var(--light); }

/* VIDEOS */
#videos { padding:120px 0; background:var(--light); }
.videos-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; }
.swiper-nav-btns { display:flex; gap:12px; }
.swiper-nav-btn { width:48px; height:48px; border-radius:50%; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--dark); transition:var(--transition); background:var(--light); cursor:pointer; }
.swiper-nav-btn:hover { background:var(--dark); color:var(--light); border-color:var(--dark); }
.video-card { background:var(--bg-light); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:var(--transition); }
.video-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--primary); }
.video-thumb { position:relative; width:100%; min-height:240px; aspect-ratio:9/14; background:linear-gradient(160deg,#1A1410 0%,#2C2015 60%,#C9A84C22 100%); border-radius:var(--radius) var(--radius) 0 0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.video-thumb img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.video-play-btn { position:absolute; width:52px; height:52px; background:rgba(254,254,254,0.92); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--dark); box-shadow:0 8px 24px rgba(0,0,0,0.3); transition:var(--transition); }
.video-play-btn svg { width:22px; height:22px; margin-left:3px; }
.video-card:hover .video-play-btn { background:var(--primary); color:var(--light); transform:scale(1.1); }
.video-info { padding:20px; }
.video-brand { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--primary); margin-bottom:4px; }
.video-title { font-family:var(--font-heading); font-size:16px; font-weight:600; color:var(--dark); margin-bottom:8px; line-height:1.4; }
.video-meta { font-size:12px; color:var(--text-muted); }

/* CTA BAND */
.cta-band { background:linear-gradient(145deg,#1A1A1A 0%,#181510 100%); padding:100px 0; text-align:center; position:relative; overflow:hidden; }
.cta-band::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:300px; background:radial-gradient(ellipse,rgba(201,168,76,0.12) 0%,transparent 70%); pointer-events:none; }
.cta-band-inner { max-width:750px; margin:0 auto; padding:0 40px; position:relative; z-index:1; }
.cta-band-title { font-family:var(--font-heading); font-size:clamp(36px,4.5vw,56px); font-weight:800; color:var(--light); line-height:1.15; margin-bottom:20px; }
.cta-band-title em { font-style:italic; font-family:var(--font-italic); color:var(--primary-light); font-size:1.08em; }
.cta-band-desc { font-size:16px; color:rgba(254,254,254,0.7); line-height:1.8; margin-bottom:40px; }
.cta-band-buttons { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }

/* CONTACT */
#contact { padding:120px 0; background:var(--bg-light); border-top:1px solid var(--border); }
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.contact-info { display:flex; flex-direction:column; gap:40px; }
.contact-items { display:flex; flex-direction:column; gap:24px; }
.contact-item { display:flex; align-items:center; gap:20px; background:var(--light); padding:20px; border-radius:var(--radius); border:1px solid var(--border); box-shadow:var(--shadow-sm); }
.contact-item-icon { width:52px; height:52px; border-radius:var(--radius-sm); background:var(--bg-warm); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.contact-item-content label { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:2px; }
.contact-item-content a, .contact-item-content p { font-size:16px; color:var(--dark); font-weight:600; transition:color 0.3s ease; }
.contact-item-content a:hover { color:var(--primary); }
.social-links { display:flex; gap:14px; }
.social-link { width:48px; height:48px; border-radius:var(--radius-sm); background:var(--light); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:20px; transition:var(--transition); text-decoration:none; }
.social-link:hover { background:var(--dark); border-color:var(--dark); color:var(--light); transform:translateY(-3px); box-shadow:var(--shadow-md); }

.contact-form-wrap { background:var(--light); border-radius:var(--radius-lg); padding:48px; border:1px solid var(--border); box-shadow:var(--shadow-sm); }
.contact-form-wrap h3 { font-family:var(--font-heading); font-size:28px; font-weight:600; color:var(--dark); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.form-group label { font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--dark); }
.form-group input, .form-group select, .form-group textarea { padding:14px 18px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-family:var(--font-body); font-size:14px; color:var(--dark); background:var(--bg-light); transition:var(--transition); outline:none; resize:vertical; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--primary); background:var(--light); box-shadow:0 0 0 4px rgba(201,168,76,0.09); }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-muted); opacity:0.6; }
.btn-submit { width:100%; padding:18px 36px; background:var(--dark); color:var(--light); border:none; border-radius:var(--radius-full); font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:0.08em; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; gap:12px; }
.btn-submit:hover { background:var(--primary); transform:translateY(-3px); box-shadow:0 12px 32px rgba(201,168,76,0.38); }
.form-success { display:none; text-align:center; padding:32px; }
.form-success.show { display:flex; flex-direction:column; align-items:center; gap:16px; }
.form-success .success-icon { width:64px; height:64px; background:var(--bg-warm); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:28px; }
.form-success h4 { font-family:var(--font-heading); font-size:24px; color:var(--dark); }
.form-success p { font-size:14px; color:var(--text-muted); }

/* FOOTER */
footer { background:linear-gradient(180deg,#1A1A1A,#14120E); padding:60px 0 32px; border-top:1px solid rgba(201,168,76,0.15); }
.footer-inner { max-width:1280px; margin:0 auto; padding:0 40px; }
.footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:60px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.06); flex-wrap:wrap; }
.footer-brand { display:flex; flex-direction:column; gap:16px; max-width:320px; }
.footer-logo { font-family:var(--font-heading); font-size:24px; font-weight:700; color:var(--light); }
.footer-logo span { color:var(--primary); }
.footer-desc { font-size:14px; color:rgba(254,254,254,0.5); line-height:1.8; }
.footer-links-group h4 { font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(254,254,254,0.5); margin-bottom:20px; }
.footer-links-group ul { display:flex; flex-direction:column; gap:12px; }
.footer-links-group ul a { font-size:14px; color:rgba(254,254,254,0.7); transition:color 0.3s ease; }
.footer-links-group ul a:hover { color:var(--primary-light); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:32px; gap:24px; flex-wrap:wrap; }
.footer-bottom p { font-size:13px; color:rgba(254,254,254,0.35); }
.footer-bottom-links { display:flex; gap:24px; }
.footer-bottom-links a { font-size:13px; color:rgba(254,254,254,0.35); transition:color 0.3s ease; }
.footer-bottom-links a:hover { color:var(--primary-light); }

/* RESPONSIVO */
@media (max-width:1200px) {
  .gallery-grid { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:1024px) {
  .container,.nav-inner,.stats-inner,.footer-inner { padding:0 24px; }
  .hero-content { gap:48px; padding:60px 24px 40px; }
  .hero-img-frame { width:340px; }
  .badge-float-1 { right:-20px; } .badge-float-2 { left:-20px; }
  .about-grid { gap:60px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; gap:60px; }
  .lightbox-prev { left:16px; }
  .lightbox-next { right:16px; }
}
@media (max-width:768px) {
  #cursor,#cursor-follower { display:none; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .hero-content { grid-template-columns:1fr; padding:40px 24px 32px; gap:48px; text-align:center; }
  .hero-col-left { align-items:center; order:2; }
  .hero-col-right { order:1; }
  .hero-img-frame { width:280px; }
  .hero-buttons { justify-content:center; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(3)::before { display:none; }
  .about-grid { grid-template-columns:1fr; gap:48px; }
  .about-visual { height:420px; }
  .about-img-main { height:360px; }
  .about-img-secondary { height:240px; }
  .services-header { flex-direction:column; align-items:flex-start; }
  .services-header-right { text-align:left; max-width:100%; margin-top:12px; }
  .services-grid { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .portfolio-item:nth-child(2) { grid-row:span 1; }
  .portfolio-item:nth-child(5) { grid-column:span 1; }
  .gallery-grid { grid-template-columns:repeat(2, 1fr); gap:16px; }
  .videos-header { flex-direction:column; align-items:flex-start; }
  .contact-form-wrap { padding:32px 24px; }
  .form-row { grid-template-columns:1fr; }
  .footer-top { flex-direction:column; gap:40px; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .cta-band-buttons { flex-direction:column; align-items:center; }
  #services,#portfolio,#gallery,#videos,#about,#contact { padding:80px 0; }
}
@media (max-width:480px) {
  .portfolio-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; }
  .hero-img-frame { width:240px; }
  .badge-float { display:none; }
}
