body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background:#e3cb84; color:#0a1626; }
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:#f4f0e7; }
::-webkit-scrollbar-thumb { background:#d4b157; border-radius:10px; }
#navbar { background: rgba(255,255,255,.85); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(19,34,56,.06); transition: all .45s ease; }
#navbar.is-scrolled { background: rgba(255,255,255,.97); box-shadow: 0 14px 40px -26px rgba(19,34,56,.45); border-bottom-color: rgba(193,154,52,.3); }
.nav-shell { height:5.25rem; transition: height .45s ease; }
#navbar.is-scrolled .nav-shell { height:4.5rem; }
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-7px; height:2px; width:0; background:linear-gradient(90deg,#c19a34,#e3cb84); border-radius:2px; transition: width .35s cubic-bezier(.22,1,.36,1); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.nav-link.active { color:#a37e26; }
#mobileMenu { max-height:0; overflow:hidden; transition: max-height .55s cubic-bezier(.22,1,.36,1); }
#mobileMenu.open { max-height: 34rem; }
.grid-pattern { background-image: linear-gradient(rgba(19,34,56,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(19,34,56,.045) 1px, transparent 1px); background-size: 56px 56px; }
.gold-rule { width:68px; height:3px; border-radius:3px; background:linear-gradient(90deg,#c19a34,#e3cb84); }
.text-gold-grad { background:linear-gradient(92deg,#a37e26 0%,#c19a34 45%,#82621d 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.btn-gold { background: linear-gradient(135deg,#e3cb84 0%,#c19a34 100%); transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; position:relative; overflow:hidden; }
.btn-gold::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:translateX(-100%); transition: transform .8s ease; }
.btn-gold:hover::before { transform:translateX(100%); }
.btn-gold:hover { transform:translateY(-3px); box-shadow:0 16px 34px -14px rgba(193,154,52,.85); }
.btn-outline-navy { border:1px solid rgba(19,34,56,.28); color:#132238; transition: all .35s cubic-bezier(.22,1,.36,1); }
.btn-outline-navy:hover { background:#132238; color:#fff; border-color:#132238; transform:translateY(-3px); }
.float-card { transform-style: preserve-3d; animation: floatCard 6s ease-in-out infinite; }
@keyframes floatCard { 0%,100% { transform: translateY(0) rotateY(-8deg) rotateX(4deg); } 50% { transform: translateY(-18px) rotateY(-4deg) rotateX(2deg); } }
.float-slow { animation: floatSlow 8s ease-in-out infinite; }
@keyframes floatSlow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
.tilt-card { transform-style: preserve-3d; transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease; will-change: transform; }
.tilt-card:hover { box-shadow: 0 34px 60px -32px rgba(19,34,56,.35); }
.tilt-shine { position:absolute; inset:0; background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.45) 0%, transparent 40%); opacity:0; transition: opacity .4s ease; pointer-events:none; border-radius: inherit; }
.tilt-card:hover .tilt-shine { opacity: 1; }
.reveal { opacity:1; transform:none; }
html.js-ready .reveal:not(.in-view) { opacity:0; transform: translateY(28px); }
html.js-ready .reveal.in-view { opacity:1; transform:none; transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.zoom-wrap { overflow: hidden; }
.zoom-wrap img { transition: transform .9s cubic-bezier(.22,1,.36,1); }
.zoom-wrap:hover img { transform: scale(1.07); }
.marquee-track { display:flex; gap: 3rem; width: max-content; animation: marquee 40s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
#toTop { transition: opacity .4s ease, transform .4s ease; }
#toTop.show { opacity:1; transform: translateY(0); pointer-events: auto; }
.glass-dark { background: rgba(255,255,255,.05); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.12); transition: border-color .4s ease; }
.glass-dark:hover { border-color: rgba(212,177,87,.5); }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
