  <style>
        body {
            font-family: 'Inter', sans-serif;
        }

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

        /* ── hero ── */
        .hero-gradient {
            background: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.55));
        }

        /* ── global scroll reveal ── */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity .8s ease, transform .8s ease;
        }

        .reveal.from-left {
            transform: translateX(-40px);
        }

        .reveal.from-right {
            transform: translateX(40px);
        }

        .reveal.visible {
            opacity: 1 !important;
            transform: translate(0) !important;
        }

        /* ── product cards ── */
        .prod-card {
            transition: transform .35s ease, box-shadow .35s ease;
        }

        .prod-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 24px 48px rgba(0, 0, 0, .12);
        }

        .prod-img {
            transition: transform .5s ease;
        }

        .prod-card:hover .prod-img {
            transform: scale(1.1);
        }

        /* ── nav active link ── */
        .nav-link {
            position: relative;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            right: 0;
            height: 1.5px;
            background: #0c487a;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .3s ease;
        }

        .nav-link:hover::after,
        .nav-link.active::after {
            transform: scaleX(1);
        }

        /* ── cursor trail ── */
        .cursor-dot {
            width: 8px;
            height: 8px;
            background: #e3c471;
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9999;
            transition: transform .15s ease;
            mix-blend-mode: multiply;
        }

        .cursor-ring {
            width: 36px;
            height: 36px;
            border: 1.5px solid rgba(227, 196, 113, .5);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9998;
            transition: transform .35s ease, width .3s ease, height .3s ease;
        }

        /* ── page loader ── */
        #pageLoader {
            position: fixed;
            inset: 0;
            z-index: 99999;
            /* background: #0c487a; */
            background: #fcfeff;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: opacity .6s ease, visibility .6s ease;
        }

        #pageLoader.hide {
            opacity: 0;
            visibility: hidden;
        }

        .loader-logo {
            font-family: 'Playfair Display', serif;
            color: #e3c471;
            font-size: 2.5rem;
            animation: loaderPulse 1s ease infinite alternate;
        }

        @keyframes loaderPulse {
            from {
                opacity: .4;
                transform: scale(.97);
            }

            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        /* ── back to top ── */
        #backTop {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            z-index: 999;
            width: 44px;
            height: 44px;
            background: #0c487a;
            color: #e3c471;
            border-radius: 50%;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            opacity: 0;
            transform: translateY(12px);
            transition: all .4s ease;
            box-shadow: 0 8px 24px rgba(12, 72, 122, .3);
        }

        #backTop.show {
            opacity: 1;
            transform: translateY(0);
        }

        #backTop:hover {
            background: #e3c471;
            color: #0c487a;
            transform: translateY(-3px);
        }

        /* ── section divider ── */
        .gold-divider {
            height: 1px;
            background: linear-gradient(90deg, transparent, #e3c471, transparent);
        }

        /* ── number counter ── */
        .count-num {
            transition: all .1s;
        }

        /* ── hero text animation ── */
        @keyframes heroFadeUp {
            from {
                opacity: 0;
                transform: translateY(28px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero-anim {
            animation: heroFadeUp .9s ease both;
        }

        .hero-anim-1 {
            animation-delay: .2s;
        }

        .hero-anim-2 {
            animation-delay: .45s;
        }

        .hero-anim-3 {
            animation-delay: .65s;
        }

        .hero-anim-4 {
            animation-delay: .85s;
        }

        /* ── particles canvas ── */
        #heroCanvas {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 1;
            opacity: .35;
        }
    </style>