/* ============================================
   SANSONE GROUP — V3 GLOBAL ENHANCEMENTS
   Applied sitewide for design elevation
   ============================================ */

/* === WARM BACKGROUNDS === */
body { background: #F8F6F2 !important; }
main.site-main { background: #F8F6F2; }

/* === ENHANCED TYPOGRAPHY === */
h1, h2, h3, h4 {
  font-family: 'Italiana', serif;
  color: #0A1628;
}

/* === SMOOTH SCROLL === */
html { scroll-behavior: smooth; }

/* === GLOBAL SCROLL REVEAL === */
.sg-reveal {
  opacity: 0; transform: translateY(40px);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sg-reveal.visible { opacity: 1; transform: translateY(0); }
.sg-reveal-d1 { transition-delay: 0.15s; }
.sg-reveal-d2 { transition-delay: 0.3s; }
.sg-reveal-d3 { transition-delay: 0.45s; }

/* === ENHANCED BUTTONS === */
.sg-btn-gold {
  display: inline-block; padding: 18px 52px;
  background: #B5985A; color: #fff;
  font-size: 12px; letter-spacing: 4px; text-transform: uppercase;
  font-family: 'Inter', sans-serif; text-decoration: none;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative; overflow: hidden;
}
.sg-btn-gold::before {
  content: ''; position: absolute; inset: 0;
  background: #fff; transform: scaleX(0); transform-origin: right;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); z-index: 0;
}
.sg-btn-gold:hover::before { transform: scaleX(1); transform-origin: left; }
.sg-btn-gold:hover { color: #0A1628; }
.sg-btn-gold span { position: relative; z-index: 1; }

.sg-btn-outline {
  display: inline-block; padding: 18px 52px;
  border: 1px solid rgba(255,255,255,0.3); color: #fff;
  font-size: 11px; letter-spacing: 5px; text-transform: uppercase;
  font-family: 'Inter', sans-serif; text-decoration: none;
  transition: all 0.5s; position: relative; overflow: hidden;
}
.sg-btn-outline::before {
  content: ''; position: absolute; inset: 0;
  background: #B5985A; transform: scaleX(0); transform-origin: right;
  transition: transform 0.5s; z-index: 0;
}
.sg-btn-outline:hover::before { transform: scaleX(1); transform-origin: left; }
.sg-btn-outline:hover { border-color: #B5985A; }
.sg-btn-outline span { position: relative; z-index: 1; }

/* === WATERMARK UTILITY === */
.sg-watermark {
  position: absolute;
  font-family: 'Italiana', serif;
  font-size: clamp(100px, 16vw, 250px);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
  line-height: 1;
  user-select: none;
}
.sg-watermark--light { color: rgba(10,22,40,0.025); }
.sg-watermark--dark { color: rgba(255,255,255,0.02); }

/* === ENHANCED HEADER === */
.site-header {
  transition: background 0.4s, box-shadow 0.4s;
}
.site-header.scrolled {
  background: rgba(10,22,40,0.97) !important;
  box-shadow: 0 2px 40px rgba(0,0,0,0.15);
  backdrop-filter: blur(12px);
}

/* === HERO ENHANCEMENTS (all pages) === */
[class*="hero"] {
  position: relative;
}

/* === SECTION TRANSITIONS === */
.sg-fade-to-dark {
  position: relative;
}
.sg-fade-to-dark::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 200px;
  background: linear-gradient(to bottom, transparent, #0A1628);
  pointer-events: none; z-index: 1;
}
.sg-fade-to-light::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 200px;
  background: linear-gradient(to bottom, transparent, #F8F6F2);
  pointer-events: none; z-index: 1;
}
.sg-fade-from-dark::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 200px;
  background: linear-gradient(to top, transparent, #0A1628);
  pointer-events: none; z-index: 1;
}

/* === GOLD ACCENT LINE === */
.sg-gold-line {
  width: 60px; height: 2px; background: #B5985A;
}
.sg-gold-line--center { margin: 0 auto; }

/* === PARTNER MARQUEE (global) === */
.sg-partner-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.sg-partner-marquee__track {
  display: flex; width: max-content; gap: 80px; align-items: center;
  animation: sgPartnerScroll 25s linear infinite;
}
@keyframes sgPartnerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* === ENHANCED FOOTER === */
.site-footer {
  background: #060F1C !important;
}

/* === SELECTION COLOR === */
::selection {
  background: rgba(181,152,90,0.3);
  color: #0A1628;
}

/* === LOADING ENHANCEMENT === */
@keyframes sgFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
