html { scroll-behavior: smooth; }
body { font-family: 'Public Sans', sans-serif; background:#F6F2E7; }
.font-display { font-family: 'Fraunces', serif; }

/* Seal badge - the site's signature scalloped emblem, echoing a certification seal */
.seal {
  background:
    radial-gradient(circle at center, transparent 62%, currentColor 62.5%, currentColor 66%, transparent 66.5%),
    repeating-conic-gradient(currentColor 0deg 9deg, transparent 9deg 18deg);
  -webkit-mask: radial-gradient(circle, #000 71%, transparent 72%);
          mask: radial-gradient(circle, #000 71%, transparent 72%);
  border-radius: 9999px;
}

/* Hero / hero-style slider */
.hero-slide { opacity: 0; transition: opacity 1.2s ease; }
.hero-slide.active { opacity: 1; }

/* Photo crossfade */
.fade-img { opacity: 0; transition: opacity 1.4s ease; }
.fade-img.active { opacity: 1; }

/* Marquee for photo strips */
.marquee-track { animation: marquee 32s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Dropdown nav */
.nav-drop { opacity:0; transform: translateY(6px); pointer-events:none; transition: all .18s ease; }
.nav-item:hover .nav-drop, .nav-item:focus-within .nav-drop { opacity:1; transform:translateY(0); pointer-events:auto; }

.eyebrow { letter-spacing:.18em; }

::-webkit-scrollbar { height:8px; width:8px; }
::-webkit-scrollbar-thumb { background:#124A3F; border-radius:8px; }

/* Inner-page banner */
.page-banner { background: radial-gradient(1200px 400px at 15% -10%, rgba(199,154,76,0.18), transparent), #0A2622; }

/* Lightbox */
#lightbox { backdrop-filter: blur(4px); }
