/* Nature World — Custom styles layered on top of Tailwind CDN */

/* Font smoothing */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: 'Inter', system-ui, sans-serif; color: #3D3D3D; }
h1, h2, h3, h4, h5, h6, .font-heading { font-family: 'Playfair Display', Georgia, serif; }

/* Section eyebrow */
.section-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #2E7D6F;
}
.gold-rule { display: block; width: 48px; height: 1px; background: #C9A84C; margin: 0 0 1rem 0; }

/* Buttons */
.btn-primary {
  display: inline-block; padding: 14px 32px;
  background: #C9A84C; color: #1C1C1E;
  font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;
  transition: all 150ms ease; border: none; cursor: pointer;
}
.btn-primary:hover { background: #B8943E; box-shadow: 0 4px 12px rgba(0,0,0,0.15); }

.btn-secondary {
  display: inline-block; padding: 12px 30px;
  background: transparent; color: #1A3C34;
  font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;
  border: 2px solid #1A3C34; transition: all 200ms ease; cursor: pointer;
}
.btn-secondary:hover { background: #1A3C34; color: #fff; }

.btn-secondary-light {
  display: inline-block; padding: 12px 30px;
  background: transparent; color: #fff;
  font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;
  border: 2px solid #fff; transition: all 200ms ease; cursor: pointer;
}
.btn-secondary-light:hover { background: #fff; color: #1A3C34; }

/* Service card */
.card-service {
  background: #fff; border: 1px solid #E5E7EB; border-top: 3px solid #C9A84C;
  padding: 2rem; transition: all 200ms ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.card-service:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,0.10); }

/* Hero overlay */
.hero-overlay {
  background: linear-gradient(135deg, rgba(26,60,52,0.85) 0%, rgba(26,60,52,0.3) 100%);
}

/* Scroll cue animation */
@keyframes bounce-slow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
.animate-bounce-slow { animation: bounce-slow 2s ease-in-out infinite; }

/* Extraction timeline — desktop path */
.extract-path {
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  transition: stroke-dashoffset 1.2s ease-out;
}
.extract-path.drawn { stroke-dashoffset: 0; }

.extract-node { opacity: 0; transform: translateY(20px); transition: all 500ms ease-out; }
.extract-node.visible { opacity: 1; transform: translateY(0); }

/* Mobile extraction card */
.extract-card-mobile { opacity: 0; transform: translateX(-20px); transition: all 400ms ease-out; }
.extract-card-mobile.visible { opacity: 1; transform: translateX(0); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .extract-path, .extract-node, .extract-card-mobile, .animate-bounce-slow { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; stroke-dashoffset: 0 !important; }
}

/* Nav scroll shadow */
.nav-scrolled { box-shadow: 0 4px 16px rgba(26,60,52,0.15); }

/* Mobile nav slide */
.mobile-menu { transform: translateX(100%); transition: transform 300ms ease; }
.mobile-menu.open { transform: translateX(0); }

/* Form focus */
.form-field:focus { outline: none; border-color: #2E7D6F; box-shadow: 0 0 0 3px rgba(46,125,111,0.15); }

/* Cookie banner */
.cookie-banner { transform: translateY(100%); transition: transform 400ms ease; }
.cookie-banner.show { transform: translateY(0); }

/* Utility */
.max-w-prose-custom { max-width: 68ch; }
