/* ═══════════════════════════════════════════════════
   TSM PREMIUM ENHANCEMENT LAYER
   Layers ON TOP of style.css — does not override, only enhances
   ═══════════════════════════════════════════════════ */

/* ── Smooth page-level transitions ── */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: rgba(184,148,79,0.25); color: #fff; }

/* ── Nav refinement ── */
.nav {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background 0.4s, border-color 0.4s, box-shadow 0.4s;
}
.nav.scrolled {
  box-shadow: 0 1px 30px rgba(0,0,0,0.4);
  border-bottom-color: rgba(184,148,79,0.12);
}
.nav__link {
  position: relative;
  transition: color 0.3s;
}
.nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--gold, #B8944F);
  transition: width 0.3s, left 0.3s;
}
.nav__link:hover::after,
.nav__link--gold::after {
  width: 100%;
  left: 0;
}

/* ── Hero text enhancement ── */
.hero__title {
  line-height: 1.08;
  letter-spacing: -0.015em;
}
.hero__title .gold-text,
.hero__title em,
.hero__title span[style*="color"] {
  background: linear-gradient(135deg, #D4AF6A, #B8944F, #A68A3E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero__eyebrow {
  letter-spacing: 0.25em;
}
.hero__subtitle {
  line-height: 1.75;
}

/* ── Scroll reveal animation ── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* ── Card hover enhancements ── */
.pillar-card,
.offering-card,
.book-card,
.format-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s,
              box-shadow 0.35s,
              background 0.35s;
}
.pillar-card:hover,
.offering-card:hover,
.book-card:hover,
.format-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.3), 0 0 0 1px rgba(184,148,79,0.1);
}
.pillar-card::before,
.offering-card::before,
.book-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,148,79,0.5), transparent);
  opacity: 0;
  transition: opacity 0.35s;
}
.pillar-card:hover::before,
.offering-card:hover::before,
.book-card:hover::before {
  opacity: 1;
}
.pillar-card,
.offering-card,
.book-card {
  position: relative;
  overflow: hidden;
}

/* ── Button refinements ── */
.btn {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn--primary:hover {
  box-shadow: 0 4px 20px rgba(184,148,79,0.25);
  transform: translateY(-1px);
}
.btn__arrow {
  transition: transform 0.3s;
}
.btn:hover .btn__arrow {
  transform: translateX(4px);
}

/* ── Section eyebrow refinement ── */
.section-header__eyebrow {
  letter-spacing: 0.28em;
}

/* ── ICA section enhancement ── */
.ica-layer {
  transition: border-color 0.3s, background 0.3s;
}
.ica-layer:hover {
  border-color: rgba(184,148,79,0.25);
  background: rgba(184,148,79,0.03);
}

/* ── Pillar number styling ── */
.pillar-card__number {
  background: linear-gradient(135deg, rgba(184,148,79,0.15), rgba(184,148,79,0.05));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Doctrine quote enhancement ── */
.doctrine-quote {
  position: relative;
}
.doctrine-quote::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(184,148,79,0.03) 0%, transparent 70%);
  pointer-events: none;
}

/* ── Product feature cards ── */
.product-feature {
  transition: border-color 0.4s;
}
.product-feature:hover {
  border-color: rgba(184,148,79,0.12);
}
.product-feature__tag {
  letter-spacing: 0.2em;
}

/* ── Footer refinement ── */
.footer__link {
  transition: color 0.3s, transform 0.3s;
}
.footer__link:hover {
  color: var(--gold, #B8944F);
  transform: translateX(2px);
}

/* ── Credibility stats ── */
.credibility__stat-value {
  background: linear-gradient(135deg, #D4AF6A, #B8944F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Subtle page atmosphere ── */
.hero::before {
  content: '';
  position: absolute;
  top: -20%; left: 15%;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(184,148,79,0.025) 0%, transparent 70%);
  pointer-events: none;
}
.hero { position: relative; overflow: hidden; }

/* ── Offering card price ── */
.offering-card__price {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
}

/* ── Smooth image loads ── */
img {
  transition: opacity 0.4s;
}

/* ── Gold accent line on section headers ── */
.section-header__eyebrow::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--gold, #B8944F);
  margin-right: 12px;
  vertical-align: middle;
}
