/* === Brand palette sampled from the logo === */
:root{
  --brand-green: #215f3a;      /* main deep green */
  --brand-green-600:#1a4d2f;   /* hover */
  --brand-green-700:#143d25;   /* darker text/overlay */
  --brand-gold:  #f1c40f;      /* golden yellow */
  --brand-gold-600:#d4ab0d;    /* hover */
  --brand-soft:#eef6f0;        /* very light green wash */
}

body { font-family: 'Poppins', sans-serif; }
.font-display { font-family: 'Playfair Display', serif; }

/* Helpers */
.text-brand { color: var(--brand-green) !important; }
.text-brand-dark { color: var(--brand-green-700) !important; }
.text-gold { color: var(--brand-gold) !important; }

.bg-brand { background: var(--brand-green) !important; }
.bg-brand-600 { background: var(--brand-green-600) !important; }
.bg-gold { background: var(--brand-gold) !important; }
.bg-gold-600 { background: var(--brand-gold-600) !important; }
.bg-soft { background: var(--brand-soft) !important; }

.btn-brand{
  background: var(--brand-green); color:#fff;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.btn-brand:hover{ background: var(--brand-green-600); transform: translateY(-1px) scale(1.02); }
.btn-gold{
  background: var(--brand-gold); color:#1a1a1a;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.btn-gold:hover{ background: var(--brand-gold-600); transform: translateY(-1px) scale(1.02); }

.focus-brand:focus{
  outline: none;
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px rgba(33,95,58,.25);
}

/* Decorative swoosh switched to green+gold */
.swoosh-bg { position: absolute; inset:0; z-index:-1; overflow:hidden; }
.swoosh-bg::before{
  content:''; position:absolute; top:-20%; left:-10%;
  width:120%; height:120%;
  background:
    radial-gradient(60% 60% at 20% 25%, rgba(241,196,15,.30), transparent 65%),
    radial-gradient(70% 70% at 80% 10%, rgba(33,95,58,.28), transparent 70%),
    linear-gradient(135deg, rgba(33,95,58,.18), rgba(241,196,15,.15));
  border-radius:50%; filter: blur(120px); opacity:.35;
}

.gallery-item { transition: transform .3s ease-out, box-shadow .3s ease-out; }
.gallery-item:hover { transform: scale(1.05) rotate(1deg); box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }

@keyframes fadeIn { from{opacity:0; transform: translateY(20px)} to{opacity:1; transform:none} }
.fade-in { animation: fadeIn .8s ease-out forwards; }

/* Nav colors to brand */
.nav-item{ position:relative; transition: color .3s; }
.nav-item:hover{ color: var(--brand-green); }
.nav-item:after{
  content:''; position:absolute; width:0; height:2px; bottom:-4px; left:50%;
  background-color: var(--brand-gold); transition: width .3s ease, left .3s ease;
}
.nav-item:hover:after, .nav-item.active:after{ width:100%; left:0; }

/* Utility classes replacing Tailwind usage where needed */
.container { width:100%; max-width:1200px; margin:0 auto; padding-left:1rem; padding-right:1rem; }
.bg-white { background-color:#ffffff !important; }
.bg-white\/90 { background-color: rgba(255,255,255,.9) !important; }
.backdrop-blur-md { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.text-white { color:#ffffff !important; }
.text-gray-100 { color:#f3f4f6 !important; }
.text-gray-600 { color:#4b5563 !important; }
.text-gray-700 { color:#374151 !important; }
.text-gray-800 { color:#1f2937 !important; }
.text-gray-900 { color:#111827 !important; }
.text-emerald-600 { color:#059669 !important; }
.text-red-600 { color:#dc2626 !important; }
.text-sm { font-size:0.875rem; }
.text-lg { font-size:1.125rem; }
.text-xl { font-size:1.25rem; }
.text-2xl { font-size:1.5rem; }
.text-4xl { font-size:2.25rem; }
.text-5xl { font-size:3rem; }
.leading-tight { line-height:1.1; }
.font-bold { font-weight:700; }
.font-semibold { font-weight:600; }
.inline-block { display:inline-block; }
.block { display:block; }
.hidden { display:none !important; }
.flex { display:flex; }
.grid { display:grid; }
.columns-2 { column-count:2; column-gap:1rem; }
.gap-4 { gap:1rem; }
.gap-8 { gap:2rem; }
.gap-12 { gap:3rem; }
.space-x-2 > * + * { margin-left:0.5rem; }
.space-x-4 > * + * { margin-left:1rem; }
.space-x-8 > * + * { margin-left:2rem; }
.space-y-4 > * + * { margin-top:1rem; }
.items-center { align-items:center; }
.justify-between { justify-content:space-between; }
.justify-center { justify-content:center; }
.justify-start { justify-content:flex-start; }
.text-center { text-align:center; }
.text-left { text-align:left; }
.mx-auto { margin-left:auto; margin-right:auto; }
.max-w-xl { max-width:36rem; }
.max-w-2xl { max-width:42rem; }
.min-h-screen { min-height:100vh; }
.relative { position:relative; }
.absolute { position:absolute; }
.fixed { position:fixed; }
.top-0 { top:0; }
.left-0 { left:0; }
.right-0 { right:0; }
.z-10 { z-index:10; }
.z-50 { z-index:50; }
.overflow-hidden { overflow:hidden; }
.h-full { height:100%; }
.w-full { width:100%; }
.w-25 { width:6.25rem; }
.h-12 { height:3rem; }
.h-16 { height:4rem; }
.w-16 { width:4rem; }
.h-6 { height:1.5rem; }
.w-6 { width:1.5rem; }
.h-8 { height:2rem; }
.w-8 { width:2rem; }
.h-96 { height:24rem; }
.pt-20 { padding-top:5rem; }
.py-1 { padding-top:0.25rem; padding-bottom:0.25rem; }
.py-3 { padding-top:0.75rem; padding-bottom:0.75rem; }
.py-4 { padding-top:1rem; padding-bottom:1rem; }
.py-12 { padding-top:3rem; padding-bottom:3rem; }
.py-20 { padding-top:5rem; padding-bottom:5rem; }
.pt-12 { padding-top:3rem; }
.p-8 { padding:2rem; }
.px-4 { padding-left:1rem; padding-right:1rem; }
.px-6 { padding-left:1.5rem; padding-right:1.5rem; }
.px-8 { padding-left:2rem; padding-right:2rem; }
.mb-2 { margin-bottom:0.5rem; }
.mb-4 { margin-bottom:1rem; }
.mb-6 { margin-bottom:1.5rem; }
.mb-8 { margin-bottom:2rem; }
.mb-12 { margin-bottom:3rem; }
.mt-1 { margin-top:0.25rem; }
.opacity-90 { opacity:0.9; }
.rounded-full { border-radius:9999px; }
.rounded-2xl { border-radius:1rem; }
.rounded-lg { border-radius:0.75rem; }
.shadow-md { box-shadow:0 10px 15px -10px rgba(15,23,42,0.35); }
.shadow-lg { box-shadow:0 20px 30px -12px rgba(15,23,42,0.35); }
.shadow-xl { box-shadow:0 25px 40px -14px rgba(15,23,42,0.35); }
.shadow-2xl { box-shadow:0 30px 55px -15px rgba(15,23,42,0.45); }
.transition-all { transition:all 200ms ease; }
.transition-shadow { transition:box-shadow 200ms ease; }
.duration-300 { transition-duration:300ms !important; }
.hover\:bg-soft:hover { background:var(--brand-soft); }
.hover\:underline:hover { text-decoration:underline; }
.hover\:shadow-2xl:hover { box-shadow:0 30px 55px -15px rgba(15,23,42,0.45); }
.object-cover { object-fit:cover; }
.grid-cols-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.grid-rows-2 { grid-template-rows:repeat(2, minmax(0, 1fr)); }
.row-span-2 { grid-row:span 2 / span 2; }
.aspect-\[16\/9\] { aspect-ratio:16 / 9; }
.border { border:1px solid rgba(209,213,219,1); }
.border-gray-300 { border-color:#d1d5db !important; }
.border-\[color\:var\(--brand-green\)\] { border-color:var(--brand-green) !important; }

@media (min-width: 768px){
  .md\:flex { display:flex !important; }
  .md\:inline-block { display:inline-block !important; }
  .md\:hidden { display:none !important; }
  .md\:text-left { text-align:left !important; }
  .md\:justify-start { justify-content:flex-start !important; }
  .md\:mx-0 { margin-left:0 !important; margin-right:0 !important; }
  .md\:h-auto { height:auto !important; }
  .md\:grid-cols-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .md\:columns-3 { column-count:3; column-gap:1rem; }
}

@media (min-width: 1024px){
  .lg\:grid-cols-3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .lg\:columns-4 { column-count:4; column-gap:1rem; }
}
