@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Jost:wght@300;400;500;600&display=swap');

html { scroll-behavior: smooth; }
body { font-family: 'Jost', 'Helvetica Neue', sans-serif; background: #f8f5f0; color: #1f1f1f; }
.font-display { font-family: 'Cormorant Garamond', Georgia, serif; }

.pattern-divider {
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 10 L10 0 L20 10 L30 0 L40 10' fill='none' stroke='%23b87333' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 40px 10px;
}
.pattern-divider-light {
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 10 L10 0 L20 10 L30 0 L40 10' fill='none' stroke='%23d2b48c' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 40px 10px;
}
.pattern-bg {
  background-color: #1f1f1f;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23d2b48c' stroke-opacity='0.08' stroke-width='1'%3E%3Cpath d='M28 4 L52 28 L28 52 L4 28 Z'/%3E%3Cpath d='M28 14 L42 28 L28 42 L14 28 Z'/%3E%3Cpath d='M28 22 L34 28 L28 34 L22 28 Z'/%3E%3C/g%3E%3C/svg%3E");
}
.pattern-bg-ivory {
  background-color: #f2ede4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%238b5e3c' stroke-opacity='0.07' stroke-width='1'%3E%3Cpath d='M28 4 L52 28 L28 52 L4 28 Z'/%3E%3Cpath d='M28 14 L42 28 L28 42 L14 28 Z'/%3E%3C/g%3E%3C/svg%3E");
}
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(0.16,1,0.3,1), transform .9s cubic-bezier(0.16,1,0.3,1); }
.reveal.reveal-visible { opacity: 1; transform: translateY(0); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-up { animation: fadeUp 1s cubic-bezier(0.16,1,0.3,1) both; }
.delay-100 { animation-delay: .1s; }
.delay-200 { animation-delay: .2s; }
.delay-300 { animation-delay: .3s; }
.delay-500 { animation-delay: .5s; }
@keyframes slowZoom { from { transform: scale(1); } to { transform: scale(1.08); } }
.animate-slow-zoom { animation: slowZoom 18s ease-out forwards; }
.link-underline { position: relative; }
.link-underline::after {
  content: ""; position: absolute; left: 0; bottom: -3px; width: 100%; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .35s ease;
}
.link-underline:hover::after { transform: scaleX(1); transform-origin: left; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f2ede4; }
::-webkit-scrollbar-thumb { background: #b8967a; border-radius: 6px; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.card-lift { transition: transform .5s cubic-bezier(0.16,1,0.3,1), box-shadow .5s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -18px rgba(31,31,31,0.28); }
.img-zoom img, .img-zoom > div { transition: transform .8s cubic-bezier(0.16,1,0.3,1); }
.img-zoom:hover img, .img-zoom:hover > div { transform: scale(1.06); }
.text-gold { color: #d4af37; }

/* Utility aliases for classes we set via Tailwind config (so the CDN-less static bundle still works) */
.bg-sand { background-color: #d2b48c; }
.bg-sand-light { background-color: #e6d5b8; }
.bg-canyon { background-color: #8b5e3c; }
.bg-canyon-dark { background-color: #6b4529; }
.bg-forest { background-color: #355e3b; }
.bg-ivory { background-color: #f8f5f0; }
.bg-charcoal { background-color: #1f1f1f; }
.bg-stone { background-color: #c8c8c8; }
.bg-turquoise { background-color: #30d5c8; }
.bg-copper { background-color: #b87333; }
.bg-gold { background-color: #d4af37; }
.text-sand { color: #d2b48c; }
.text-canyon { color: #8b5e3c; }
.text-forest { color: #355e3b; }
.text-ivory { color: #f8f5f0; }
.text-charcoal { color: #1f1f1f; }
.text-stone { color: #c8c8c8; }
.text-turquoise { color: #30d5c8; }
.text-turquoise-dark { color: #1a9e94; }
.text-copper { color: #b87333; }
.text-gold { color: #d4af37; }
.border-sand { border-color: #d2b48c; }
.border-canyon { border-color: #8b5e3c; }
.border-forest { border-color: #355e3b; }
.border-charcoal { border-color: #1f1f1f; }
.border-stone { border-color: #c8c8c8; }
.border-turquoise { border-color: #30d5c8; }
.border-copper { border-color: #b87333; }
.border-gold { border-color: #d4af37; }
.hover\:bg-canyon-dark:hover { background-color: #6b4529; }
.hover\:bg-forest:hover { background-color: #355e3b; }
.hover\:bg-gold:hover { background-color: #d4af37; }
.hover\:text-canyon:hover { color: #8b5e3c; }
.hover\:text-turquoise:hover { color: #30d5c8; }
.hover\:border-canyon:hover { border-color: #8b5e3c; }
