/* Variant C — Highland Bloom */
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', system-ui, sans-serif; background:#F8F1E4; color:#1F140E; -webkit-font-smoothing: antialiased; }
.font-display { font-family: 'DM Serif Display', Georgia, serif; }

/* Floating blob keyframes */
@keyframes float1 {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  33%      { transform: translate(20px, -30px) rotate(8deg); }
  66%      { transform: translate(-15px, 20px) rotate(-6deg); }
}
@keyframes float2 {
  0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
  50%      { transform: translate(-30px, -20px) rotate(-10deg) scale(1.05); }
}
@keyframes float3 {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  25%      { transform: translate(15px, 25px) rotate(5deg); }
  75%      { transform: translate(-20px, -10px) rotate(-4deg); }
}
.blob-float-1 { animation: float1 14s ease-in-out infinite; }
.blob-float-2 { animation: float2 18s ease-in-out infinite; }
.blob-float-3 { animation: float3 16s ease-in-out infinite; }

/* Hero stagger */
.hero-word { display: inline-block; opacity: 0; transform: translateY(30px); animation: rise 1s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes rise { to { opacity: 1; transform: translateY(0); } }
.hero-word:nth-child(1){animation-delay:.2s}.hero-word:nth-child(2){animation-delay:.35s}.hero-word:nth-child(3){animation-delay:.5s}.hero-word:nth-child(4){animation-delay:.65s}.hero-word:nth-child(5){animation-delay:.8s}.hero-word:nth-child(6){animation-delay:.95s}.hero-word:nth-child(7){animation-delay:1.1s}.hero-word:nth-child(8){animation-delay:1.25s}.hero-word:nth-child(9){animation-delay:1.4s}.hero-word:nth-child(10){animation-delay:1.55s}.hero-word:nth-child(11){animation-delay:1.7s}.hero-word:nth-child(12){animation-delay:1.85s}.hero-word:nth-child(13){animation-delay:2.0s}

/* JS parallax for blobs */
.parallax-blob { will-change: transform; transition: transform .2s ease-out; }

/* Sticky nav */
.nav-shell { transition: background-color .35s ease, backdrop-filter .35s ease, box-shadow .35s ease, color .35s ease; }
.nav-shell.scrolled { background-color: rgba(31,20,14,.92); backdrop-filter: blur(12px); box-shadow: 0 4px 20px rgba(31,20,14,.18); }
.nav-shell.scrolled .nav-link { color: #FFFFFF; }
.nav-shell.scrolled .nav-link.active,
.nav-shell.scrolled .nav-link:hover { color: #D49678; }
.nav-shell.scrolled #navToggle { color: #FFFFFF; }
.nav-shell.scrolled #navMobile { background-color: #1F140E; border-top-color: rgba(248,241,228,.12); color: #F8F1E4; }

/* Soft card */
.soft-card {
  background: #3A2418; color: #F8F1E4; border-radius: 28px;
  box-shadow: 0 12px 36px rgba(31,20,14,.28);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.soft-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(31,20,14,.38); }
.soft-card img { transition: transform .9s cubic-bezier(.22,1,.36,1); }
.soft-card:hover img { transform: scale(1.06); }

/* Pill button hover scale */
.btn-pill { transition: transform .25s ease, box-shadow .3s ease, background-color .25s ease; }
.btn-pill:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 12px 24px rgba(181,85,43,.28); }

/* Underline reveal nav */
.nav-link { position: relative; }
.nav-link::after {
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); transform-origin: left; }

[data-aos] { transition-timing-function: cubic-bezier(.22,1,.36,1); }
