/* =============================================
   RESET & BASE
============================================= */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --gold:#C9A96E; --gold-light:#E8D5A3; --gold-dark:#8B6914;
  --black:#0A0A0A; --dark:#111111; --dark-2:#1A1A1A; --dark-3:#222222;
  --grey:#888888; --grey-light:#CCCCCC; --white:#F8F6F1;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'Montserrat',sans-serif;
  --transition:cubic-bezier(0.25,0.46,0.45,0.94);
}

html { scroll-behavior:smooth; font-size:16px; }
body {
  background-color:var(--black); color:var(--white);
  font-family:var(--font-sans); font-weight:300;
  overflow-x:hidden; cursor:none;
}

/* =============================================
   CURSEUR PERSONNALISÉ
============================================= */
.cursor {
  position:fixed; width:8px; height:8px; background:var(--gold);
  border-radius:50%; pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%);
  transition:transform .1s ease, width .3s ease, height .3s ease;
}
.cursor-follower {
  position:fixed; width:36px; height:36px;
  border:1px solid rgba(201,169,110,0.4);
  border-radius:50%; pointer-events:none; z-index:99998;
  transform:translate(-50%,-50%);
  transition:transform .15s ease, width .3s ease, height .3s ease,
             border-color .3s ease, background .3s ease;
}
.cursor-follower.hover {
  width:50px; height:50px;
  background:rgba(201,169,110,0.08);
  border-color:rgba(201,169,110,0.6);
}

/* =============================================
   LOADER
============================================= */
#loader {
  position:fixed; inset:0; background:var(--black);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  z-index:100000;
  transition:opacity .6s ease, visibility .6s ease;
}
#loader.hidden { opacity:0; visibility:hidden; }

.loader-logo {
  font-family:var(--font-serif); font-size:2.5rem; font-weight:300;
  letter-spacing:0.4em; color:var(--gold); text-transform:uppercase;
  margin-bottom:3rem; opacity:0; animation:fadeInUp .8s ease .3s forwards;
}

.loader-bar-wrap {
  width:200px; height:1px; background:var(--dark-3);
  position:relative; overflow:hidden;
}
.loader-bar {
  position:absolute; top:0; left:0; height:100%;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-light));
  animation:loadBar 2s var(--transition) forwards;
}

@keyframes loadBar { from{width:0} to{width:100%} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* =============================================
   NAVIGATION
============================================= */
nav {
  position:fixed; top:0; left:0; width:100%;
  padding:1.5rem 4rem; display:flex; align-items:center;
  justify-content:space-between; z-index:1000;
  transition:background .5s ease, padding .4s ease, backdrop-filter .5s ease;
}
nav.scrolled {
  background:rgba(10,10,10,0.92); backdrop-filter:blur(20px);
  padding:1rem 4rem;
  border-bottom:1px solid rgba(201,169,110,0.1);
}

.nav-logo {
  text-decoration:none; display:flex; flex-direction:column;
  gap:2px; cursor:none;
}
.nav-logo-main {
  font-family:var(--font-serif); font-size:1.5rem; font-weight:300;
  letter-spacing:0.25em; color:var(--gold); text-transform:uppercase;
}
.nav-logo-sub {
  font-family:var(--font-sans); font-size:0.5rem; font-weight:400;
  letter-spacing:0.35em; color:var(--grey); text-transform:uppercase;
}

.nav-links {
  display:flex; list-style:none; align-items:center; gap:2.5rem;
}
.nav-links a {
  font-family:var(--font-sans); font-size:0.65rem; font-weight:400;
  letter-spacing:0.2em; color:var(--grey-light); text-decoration:none;
  text-transform:uppercase; position:relative; transition:color .3s ease; cursor:none;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .4s var(--transition);
}
.nav-links a:hover { color:var(--gold-light); }
.nav-links a:hover::after { width:100%; }

.nav-cta {
  background:transparent !important;
  border:1px solid var(--gold) !important;
  color:var(--gold) !important;
  padding:0.6rem 1.5rem;
  font-size:0.65rem !important;
  letter-spacing:0.3em !important;
  text-transform:uppercase; text-decoration:none;
  transition:background .3s ease, color .3s ease !important;
  font-family:var(--font-sans); cursor:none;
}
.nav-cta:hover {
  background:var(--gold) !important;
  color:var(--black) !important;
}
.nav-cta::after { display:none !important; }

.burger {
  display:none; flex-direction:column; gap:5px;
  cursor:none; background:none; border:none; padding:4px;
}
.burger span {
  display:block; width:28px; height:1px; background:var(--gold);
  transition:transform .4s ease, opacity .3s ease;
}
.burger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.mobile-menu {
  position:fixed; inset:0; background:rgba(10,10,10,0.98);
  backdrop-filter:blur(20px); z-index:999;
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:2.5rem;
  opacity:0; visibility:hidden;
  transition:opacity .4s ease, visibility .4s ease;
}
.mobile-menu.open { opacity:1; visibility:visible; }
.mobile-menu a {
  font-family:var(--font-serif); font-size:2.5rem; font-weight:300;
  letter-spacing:0.1em; color:var(--white); text-decoration:none;
  text-transform:uppercase; transition:color .3s ease;
}
.mobile-menu a:hover { color:var(--gold); }

/* =============================================
   HERO
============================================= */
#hero {
  position:relative; height:100vh;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}

.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(201,169,110,0.07) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(201,169,110,0.05) 0%, transparent 50%),
    linear-gradient(135deg, #0A0A0A 0%, #111111 40%, #0D0D0D 100%);
}

.hero-pattern {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,169,110,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,169,110,0.04) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center, black 20%, transparent 70%);
}

.hero-ornament {
  position:absolute; width:600px; height:600px;
  border:1px solid rgba(201,169,110,0.08); border-radius:50%;
  animation:rotate 30s linear infinite;
}
.hero-ornament::before {
  content:''; position:absolute; inset:30px;
  border:1px solid rgba(201,169,110,0.05); border-radius:50%;
}
.hero-ornament::after {
  content:''; position:absolute; inset:60px;
  border:1px solid rgba(201,169,110,0.03); border-radius:50%;
}
@keyframes rotate { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

.hero-content { position:relative; text-align:center; z-index:2; padding:0 2rem; }

.hero-eyebrow {
  font-family:var(--font-sans); font-size:0.65rem; font-weight:400;
  letter-spacing:0.5em; color:var(--gold); text-transform:uppercase;
  margin-bottom:1.5rem; opacity:0; animation:fadeInUp .8s ease 2.5s forwards;
}
.hero-eyebrow::before,
.hero-eyebrow::after { content:'—'; margin:0 1rem; opacity:0.5; }

.hero-title {
  font-family:var(--font-serif); font-size:clamp(3.5rem,9vw,8rem);
  font-weight:300; line-height:1; letter-spacing:0.02em; color:var(--white);
  margin-bottom:1.5rem; opacity:0; animation:fadeInUp .8s ease 2.7s forwards;
}
.hero-title em { font-style:italic; color:var(--gold-light); display:block; }

.hero-divider {
  width:60px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  margin:2rem auto; opacity:0; animation:fadeInUp .8s ease 2.9s forwards;
}

.hero-subtitle {
  font-family:var(--font-sans); font-size:0.8rem; font-weight:300;
  letter-spacing:0.2em; color:var(--grey); max-width:520px;
  margin:0 auto 3rem; line-height:2;
  opacity:0; animation:fadeInUp .8s ease 3.1s forwards;
}

.hero-actions {
  display:flex; align-items:center; justify-content:center; gap:2rem;
  flex-wrap:wrap; opacity:0; animation:fadeInUp .8s ease 3.3s forwards;
}

.btn-primary {
  display:inline-block; padding:1rem 2.5rem;
  background:linear-gradient(135deg, var(--gold-dark), var(--gold));
  color:var(--black); font-family:var(--font-sans); font-size:0.65rem;
  font-weight:600; letter-spacing:0.3em; text-transform:uppercase;
  text-decoration:none; position:relative; overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease; cursor:none;
}
.btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(201,169,110,0.3);
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  opacity:0; transition:opacity .3s ease;
}
.btn-primary:hover::before { opacity:1; }
.btn-primary span { position:relative; z-index:1; }

.btn-secondary {
  display:inline-flex; align-items:center; gap:0.8rem;
  color:var(--grey-light); text-decoration:none;
  font-family:var(--font-sans); font-size:0.65rem; font-weight:400;
  letter-spacing:0.25em; text-transform:uppercase; transition:color .3s ease;
}
.btn-secondary i {
  width:36px; height:36px; border:1px solid rgba(201,169,110,0.3);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:0.7rem; color:var(--gold);
  transition:background .3s ease, border-color .3s ease;
}
.btn-secondary:hover { color:var(--gold-light); }
.btn-secondary:hover i {
  background:var(--gold); color:var(--black); border-color:var(--gold);
}

.scroll-indicator {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  opacity:0; animation:fadeInUp .8s ease 3.8s forwards;
}
.scroll-indicator span {
  font-size:0.55rem; letter-spacing:0.3em; color:var(--grey); text-transform:uppercase;
}
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  animation:scrollPulse 2s ease infinite;
}
@keyframes scrollPulse {
  0%,100% { opacity:0.3; transform:scaleY(0.6); }
  50% { opacity:1; transform:scaleY(1); }
}

/* =============================================
   SECTION COMMONS
============================================= */
.section-eyebrow {
  font-family:var(--font-sans); font-size:0.6rem; font-weight:400;
  letter-spacing:0.5em; color:var(--gold); text-transform:uppercase;
  margin-bottom:1rem;
}
.section-title {
  font-family:var(--font-serif); font-size:clamp(2.5rem,5vw,4rem);
  font-weight:300; line-height:1.1; color:var(--white); letter-spacing:0.02em;
}
.section-title em { font-style:italic; color:var(--gold-light); }

/* REVEAL ANIMATIONS */
.reveal {
  opacity:0; transform:translateY(40px);
  transition:opacity .8s var(--transition), transform .8s var(--transition);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* =============================================
   TICKER
============================================= */
.ticker {
  background:var(--dark-2);
  border-top:1px solid rgba(201,169,110,0.15);
  border-bottom:1px solid rgba(201,169,110,0.15);
  overflow:hidden; padding:1rem 0;
}
.ticker-inner {
  display:flex; white-space:nowrap; animation:ticker 25s linear infinite;
}
.ticker-item {
  display:inline-flex; align-items:center; gap:2rem; padding-right:4rem;
  font-family:var(--font-sans); font-size:0.65rem; font-weight:400;
  letter-spacing:0.3em; color:var(--grey); text-transform:uppercase;
}
.ticker-item i { color:var(--gold); font-size:0.5rem; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* =============================================
   ABOUT
============================================= */
#about { padding:10rem 4rem; background:var(--black); }

.about-grid {
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:center;
}

.about-visual { position:relative; }

.about-img-wrap { position:relative; aspect-ratio:3/4; overflow:hidden; }

.about-img-placeholder {
  width:100%; height:400px;
  background:linear-gradient(135deg, var(--dark-2) 0%, var(--dark-3) 100%);
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:1rem;
}
.about-img-placeholder i { font-size:4rem; color:rgba(201,169,110,0.3); }
.about-img-placeholder span {
  font-family:var(--font-serif); font-size:1.2rem;
  color:rgba(201,169,110,0.4); letter-spacing:0.2em;
}

.about-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(201,169,110,0.05), transparent);
  pointer-events:none;
}

.about-badge {
  position:absolute; bottom:-2rem; left:2rem;
  background:var(--gold); padding:1.5rem 2rem;
  display:flex; align-items:center; gap:1rem; z-index:2;
}
.badge-number {
  font-family:var(--font-serif); font-size:2.5rem; font-weight:600;
  color:var(--black); line-height:1;
}
.badge-text {
  font-size:0.6rem; letter-spacing:0.15em; color:var(--black);
  text-transform:uppercase; line-height:1.5; font-weight:500;
}

.about-text { max-width:500px; }

.about-desc {
  font-size:0.85rem; line-height:2; color:var(--grey-light);
  margin-top:1.5rem; letter-spacing:0.03em;
}
.about-desc strong { color:var(--gold); font-weight:500; }

.about-stats {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
  margin-top:3rem; padding-top:3rem;
  border-top:1px solid rgba(201,169,110,0.15);
}
.stat { text-align:center; }
.stat-number {
  font-family:var(--font-serif); font-size:2.5rem; font-weight:300;
  color:var(--gold); line-height:1;
}
.stat-suffix { font-family:var(--font-serif); font-size:1.5rem; color:var(--gold); }
.stat-label {
  display:block; font-size:0.6rem; letter-spacing:0.2em;
  color:var(--grey); text-transform:uppercase; margin-top:0.5rem;
}

/* =============================================
   SERVICES
============================================= */
#services { padding:10rem 4rem; background:var(--dark); }

.services-wrap { max-width:1300px; margin:0 auto; }

.services-header {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem;
  align-items:end; margin-bottom:5rem;
}
.services-intro {
  font-size:0.85rem; color:var(--grey-light); line-height:2;
  letter-spacing:0.03em; max-width:450px;
}

.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}

.service-card {
  background:var(--dark-2); border:1px solid rgba(201,169,110,0.08);
  padding:2.5rem 2rem; position:relative; overflow:hidden;
  transition:border-color .4s ease, background .4s ease; cursor:none;
}
.service-card:hover {
  border-color:rgba(201,169,110,0.25); background:var(--dark-3);
}

.service-icon {
  width:50px; height:50px; border:1px solid rgba(201,169,110,0.2);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.5rem;
  transition:border-color .3s ease, background .3s ease;
}
.service-card:hover .service-icon {
  background:var(--gold); border-color:var(--gold);
}
.service-icon i { color:var(--gold); font-size:1rem; transition:color .3s ease; }
.service-card:hover .service-icon i { color:var(--black); }

.service-number {
  font-family:var(--font-serif); font-size:3rem; font-weight:300;
  color:rgba(201,169,110,0.08); position:absolute; top:1rem; right:1.5rem;
}
.service-title {
  font-family:var(--font-serif); font-size:1.4rem; font-weight:400;
  color:var(--white); margin-bottom:1rem;
}
.service-desc {
  font-size:0.78rem; color:var(--grey); line-height:1.8; letter-spacing:0.02em;
}
.service-line {
  width:30px; height:1px; background:var(--gold); margin-top:1.5rem;
  transition:width .4s var(--transition);
}
.service-card:hover .service-line { width:60px; }

/* =============================================
   COLLECTIONS
============================================= */
#collections { padding:10rem 4rem; background:var(--black); }

.collections-wrap { max-width:1300px; margin:0 auto; }
.collections-header { text-align:center; margin-bottom:5rem; }

.collections-grid {
  display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1.5rem;
}
.collections-grid .collection-card:first-child { grid-row:1/3; }

.collection-card {
  position:relative; overflow:hidden; cursor:none;
  transition:transform .4s var(--transition);
}
.collection-card:hover { transform:translateY(-4px); }

.collection-placeholder {
  width:100%; height:100%; min-height:280px;
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:1.5rem;
  transition:background .5s ease;
}
.collection-card:first-child .collection-placeholder { min-height:580px; }
.collection-placeholder i {
  font-size:3rem; color:rgba(201,169,110,0.25);
  transition:color .4s ease;
}
.collection-card:hover .collection-placeholder i { color:rgba(201,169,110,0.5); }

.collection-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  transition:background .4s ease;
}
.collection-card:hover .collection-overlay {
  background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}

.collection-content { position:absolute; bottom:0; left:0; right:0; padding:2rem; }

.collection-tag {
  font-size:0.55rem; letter-spacing:0.35em; color:var(--gold);
  text-transform:uppercase; margin-bottom:0.5rem; display:block;
}
.collection-name {
  font-family:var(--font-serif); font-size:1.8rem; font-weight:300;
  color:var(--white); line-height:1.1;
}
.collection-card:first-child .collection-name { font-size:2.5rem; }

.collection-action {
  display:inline-flex; align-items:center; gap:0.5rem; margin-top:1rem;
  font-size:0.6rem; letter-spacing:0.25em; color:var(--gold-light);
  text-decoration:none; text-transform:uppercase;
  opacity:0; transform:translateY(10px);
  transition:opacity .4s ease, transform .4s ease;
}
.collection-card:hover .collection-action { opacity:1; transform:translateY(0); }

/* =============================================
   EXPERTISE / PROCESS
============================================= */
#expertise { padding:10rem 4rem; background:var(--dark); }
.expertise-wrap { max-width:1300px; margin:0 auto; }
.expertise-header { text-align:center; margin-bottom:6rem; }

.expertise-steps {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:2px; background:rgba(201,169,110,0.08);
}

.step {
  background:var(--dark); padding:3rem 2rem;
  position:relative; overflow:hidden; transition:background .4s ease;
}
.step:hover { background:var(--dark-2); }

.step-number {
  font-family:var(--font-serif); font-size:4rem; font-weight:300;
  color:rgba(201,169,110,0.1); line-height:1; margin-bottom:1.5rem;
}
.step-title {
  font-family:var(--font-serif); font-size:1.3rem; font-weight:400;
  color:var(--white); margin-bottom:1rem;
}
.step-desc { font-size:0.75rem; color:var(--grey); line-height:1.8; }
.step-icon {
  position:absolute; top:2rem; right:2rem;
  font-size:1.2rem; color:rgba(201,169,110,0.15);
  transition:color .3s ease;
}
.step:hover .step-icon { color:rgba(201,169,110,0.4); }

/* =============================================
   BRANDS
============================================= */
#brands {
  padding:5rem 0; background:var(--black); overflow:hidden;
  border-top:1px solid rgba(201,169,110,0.08);
  border-bottom:1px solid rgba(201,169,110,0.08);
}
.brands-label {
  text-align:center; font-size:0.6rem; letter-spacing:0.4em;
  color:var(--grey); text-transform:uppercase; margin-bottom:3rem;
}
.brands-overflow { overflow:hidden; }
.brands-scroll {
  display:flex; animation:brandScroll 20s linear infinite; white-space:nowrap;
}
.brand-item {
  display:inline-flex; align-items:center; gap:1rem; padding:0 3rem;
  font-family:var(--font-serif); font-size:1.3rem; font-weight:300;
  color:rgba(201,169,110,0.25); letter-spacing:0.15em;
  transition:color .3s ease; cursor:default;
}
.brand-item:hover { color:rgba(201,169,110,0.6); }
.brand-dot {
  width:4px; height:4px; background:rgba(201,169,110,0.2);
  border-radius:50%; flex-shrink:0;
}
@keyframes brandScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* =============================================
   TESTIMONIALS
============================================= */
#testimonials { padding:10rem 4rem; background:var(--dark); }
.testimonials-wrap { max-width:1100px; margin:0 auto; }
.testimonials-header { text-align:center; margin-bottom:5rem; }

.testimonials-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}

.testimonial-card {
  background:var(--dark-2); border:1px solid rgba(201,169,110,0.08);
  padding:2.5rem 2rem; position:relative;
  transition:border-color .4s ease, transform .4s ease;
}
.testimonial-card:hover {
  border-color:rgba(201,169,110,0.25); transform:translateY(-4px);
}

.testimonial-quote {
  font-family:var(--font-serif); font-size:4rem;
  color:rgba(201,169,110,0.2); line-height:1; margin-bottom:0.5rem;
}
.testimonial-stars { display:flex; gap:3px; margin-bottom:1.5rem; }
.testimonial-stars i { color:var(--gold); font-size:0.65rem; }

.testimonial-text {
  font-size:0.82rem; color:var(--grey-light); line-height:1.9;
  margin-bottom:2rem; font-style:italic;
}

.testimonial-author { display:flex; align-items:center; gap:1rem; }
.author-avatar {
  width:40px; height:40px; background:var(--gold); color:var(--black);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-serif); font-size:1.1rem; font-weight:600;
}
.author-info { display:flex; flex-direction:column; gap:2px; }
.author-name { font-size:0.8rem; font-weight:500; color:var(--white); }
.author-loc { font-size:0.65rem; color:var(--grey); letter-spacing:0.1em; }

/* =============================================
   CONTACT
============================================= */
#contact { padding:10rem 4rem; background:var(--black); }

.contact-wrap {
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:start;
}

.contact-info h2 { margin-bottom:1.5rem; }
.contact-desc {
  font-size:0.85rem; color:var(--grey-light); line-height:2;
  margin-top:1rem; letter-spacing:0.03em;
}

.contact-channels {
  margin-top:3rem; display:flex; flex-direction:column; gap:1.5rem;
}
.contact-channel {
  display:flex; align-items:center; gap:1.2rem;
  padding:1.2rem 1.5rem; border:1px solid rgba(201,169,110,0.1);
  background:var(--dark-2); text-decoration:none;
  transition:border-color .3s ease, background .3s ease, transform .3s ease;
}
.contact-channel:hover {
  border-color:rgba(201,169,110,0.4); background:var(--dark-3);
  transform:translateX(6px);
}

.channel-icon {
  width:44px; height:44px; border:1px solid rgba(201,169,110,0.2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.channel-icon i { color:var(--gold); font-size:1rem; }

.channel-info { display:flex; flex-direction:column; gap:3px; }
.channel-label {
  font-size:0.6rem; letter-spacing:0.2em; color:var(--grey);
  text-transform:uppercase;
}
.channel-value {
  font-size:0.9rem; color:var(--white); font-weight:400; letter-spacing:0.05em;
}

/* FORM */
.contact-form-wrap {
  background:var(--dark-2); border:1px solid rgba(201,169,110,0.1);
  padding:3rem;
}
.contact-form-wrap h3 {
  font-family:var(--font-serif); font-size:1.5rem; font-weight:300;
  color:var(--white); margin-bottom:0.5rem;
}
.contact-form-wrap p {
  font-size:0.75rem; color:var(--grey); margin-bottom:2rem; letter-spacing:0.05em;
}

.form-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
.form-group { display:flex; flex-direction:column; gap:0.5rem; }
.form-group.full { grid-column:1 / -1; }

.form-group label {
  font-size:0.6rem; letter-spacing:0.25em; color:var(--grey); text-transform:uppercase;
}
.form-group input,
.form-group select,
.form-group textarea {
  background:rgba(255,255,255,0.03);
  border: 1px solid rgba(201,169,110,0.15);
  color: var(--white);
  padding: 0.9rem 1.2rem;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 300;
  outline: none;
  width: 100%;
  -webkit-appearance: none;
transition: border-color 0.3s ease, background-color 0.3s ease;
}

.form-group select { cursor:none; }
.form-group select option { background:var(--dark-2); }

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:rgba(201,169,110,0.5);
  background:rgba(255,255,255,0.05);
}
.form-group input::placeholder,
.form-group textarea::placeholder {
  color:rgba(255,255,255,0.2); font-size:0.78rem;
}
.form-group textarea { resize:none; height:130px; }

.form-submit { grid-column:1 / -1; margin-top:0.5rem; }

.submit-btn {
  width: 100%;
  padding: 1.2rem 2rem;
  background: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light));
  color: var(--black);
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.submit-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: left 0.6s ease;
}

.submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(201, 169, 110, 0.35);
}

.submit-btn:hover::before {
  left: 100%;
}

.submit-btn:active {
  transform: translateY(0);
}


/* =============================================
   FOOTER
============================================= */
footer {
  background:var(--dark); padding:6rem 4rem 3rem;
  border-top:1px solid rgba(201,169,110,0.1);
}

.footer-grid {
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:4rem;
  margin-bottom:4rem;
}

.footer-brand .nav-logo { margin-bottom:0.5rem; }
.footer-brand p {
  font-size:0.78rem; color:var(--grey); line-height:2;
  margin-top:1.5rem; max-width:300px;
}

.footer-social { display:flex; gap:0.8rem; margin-top:2rem; }

.social-link {
  width:36px; height:36px; border:1px solid rgba(201,169,110,0.2);
  display:flex; align-items:center; justify-content:center;
  color:var(--grey); text-decoration:none; font-size:0.75rem;
  transition:border-color .3s ease, color .3s ease, background .3s ease;
}
.social-link:hover {
  border-color:var(--gold); color:var(--black); background:var(--gold);
}

.footer-col h4 {
  font-family:var(--font-sans); font-size:0.6rem; font-weight:600;
  letter-spacing:0.35em; color:var(--gold); text-transform:uppercase;
  margin-bottom:1.5rem;
}
.footer-col ul {
  list-style:none; display:flex; flex-direction:column; gap:0.8rem;
}
.footer-col ul li a {
  font-size:0.8rem; color:var(--grey); text-decoration:none;
  transition:color .3s ease; display:flex; align-items:center; gap:0.5rem;
}
.footer-col ul li a::before {
  content:''; width:0; height:1px; background:var(--gold);
  transition:width .3s ease; flex-shrink:0;
}
.footer-col ul li a:hover { color:var(--gold-light); }
.footer-col ul li a:hover::before { width:15px; }

.footer-bottom {
  max-width:1300px; margin:0 auto;
  padding-top:2rem; border-top:1px solid rgba(201,169,110,0.08);
  display:flex; align-items:center; justify-content:space-between;
}
.footer-copy {
  font-size:0.65rem; color:var(--grey); letter-spacing:0.1em;
}
.footer-legal { display:flex; gap:2rem; }
.footer-legal a {
  font-size:0.65rem; color:var(--grey); text-decoration:none;
  letter-spacing:0.1em; transition:color .3s ease;
}
.footer-legal a:hover { color:var(--gold); }

/* =============================================
   FLOATING CTA
============================================= */
.floating-cta {
  position:fixed; bottom:2rem; right:2rem; z-index:900;
  display:flex; flex-direction:column; gap:0.8rem;
  opacity:0; transform:translateY(20px);
  transition:opacity .4s ease, transform .4s ease;
}
.floating-cta.visible { opacity:1; transform:translateY(0); }

.float-btn {
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:1.1rem;
  transition:transform .3s ease, box-shadow .3s ease;
  position:relative;
}
.float-btn:hover { transform:scale(1.1); }

.float-btn-wa { background:#25D366; color:#fff; }
.float-btn-wa:hover { box-shadow:0 8px 25px rgba(37,211,102,0.4); }

.float-btn-mail { background:var(--gold); color:var(--black); }
.float-btn-mail:hover { box-shadow:0 8px 25px rgba(201,169,110,0.4); }

.float-btn .tooltip {
  position:absolute; right:calc(100% + 12px);
  background:var(--dark-3); color:var(--white);
  font-size:0.65rem; letter-spacing:0.1em; white-space:nowrap;
  padding:0.4rem 0.8rem; border:1px solid rgba(201,169,110,0.2);
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.float-btn:hover .tooltip { opacity:1; }

/* =============================================
   RESPONSIVE
============================================= */
@media (max-width:1100px) {
  nav { padding:1.5rem 2rem; }
  nav.scrolled { padding:1rem 2rem; }

  #about, #services, #collections, #expertise, #contact { padding:7rem 2rem; }

  .about-grid { gap:4rem; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .collections-grid { grid-template-columns:1fr 1fr; }
  .collections-grid .collection-card:first-child { grid-column:1/-1; grid-row:auto; }
  .expertise-steps { grid-template-columns:repeat(2,1fr); }
  .testimonials-grid { grid-template-columns:1fr 1fr; }
  .contact-wrap { gap:4rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  footer { padding:4rem 2rem 2rem; }
}

@media (max-width:768px) {
  .cursor, .cursor-follower { display:none; }
  body { cursor:auto; }

  .nav-links { display:none; }
  .burger { display:flex; }

  .hero-ornament { width:350px; height:350px; }

  .about-grid, .services-header, .contact-wrap { grid-template-columns:1fr; }
  .about-badge { bottom:-1.5rem; left:1rem; }
  .services-grid { grid-template-columns:1fr; }
  .collections-grid { grid-template-columns:1fr; }
  .expertise-steps { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .contact-form-wrap { padding:2rem; }
  .form-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; gap:1rem; }

  #about, #services, #collections, #expertise, #contact { padding:5rem 1.5rem; }
  footer { padding:3rem 1.5rem 2rem; }
  nav { padding:1.2rem 1.5rem; }
}

@media (max-width:480px) {
  .hero-actions { flex-direction:column; }
  .about-stats { grid-template-columns:1fr 1fr; }
}
