/* Top Announcement / Marquee */
.topbar {
    background-color: #F9AA33; /* matches --secondary */
    color: #344955; /* matches --dark */
    font-weight: 600;
    height: 40px;
    display: flex;
    align-items: center;
    width: 100%;
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
    position: relative;
    z-index: 1100;
}

.topbar .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.marquee {
    overflow: hidden;
    width: 100%;
}

.marquee__inner {
    display: inline-flex;
    align-items: center;
    gap: 3rem;
    min-width: 200%; /* duplicated content should fill across */
    white-space: nowrap;
    will-change: transform;
    animation: marquee var(--marquee-duration, 18s) linear infinite;
}

.marquee__item {
    display: inline-block;
    padding: 0 0.25rem;
    font-size: 0.95rem;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.marquee__inner.paused {
    animation-play-state: paused !important;
}

/* Reduce height on small screens */
@media (max-width: 480px) {
    .topbar { height: 36px; }
    .marquee__item { font-size: 0.85rem; }
}

/* Respect reduced motion via CSS fallback */
@media (prefers-reduced-motion: reduce) {
    .marquee__inner { animation: none !important; }
}

/* dismiss / close button */
.marquee-close {
    position: absolute;
    right: 12px;
    top: 6px;
    height: 28px;
    width: 28px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.06);
    color: #344955;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.marquee-close:focus { outline: 2px solid rgba(0,0,0,0.12); }

.topbar.hidden { display: none !important; }


        /* CSS Variables */
        :root {
            --primary: #4A6572;
            --secondary: #F9AA33;
            --accent: #FF7043;
            --light: #F5F5F5;
            --dark: #344955;
            --text: #333333;
            --white: #FFFFFF;
            --shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            --transition: all 0.3s ease;
        }

        /* Reset and Base Styles */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            line-height: 1.6;
            color: var(--text);
            background-color: var(--white);
        }

        h1, h2, h3, h4 {
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 1rem;
        }

        p {
            margin-bottom: 1rem;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        ul {
            list-style: none;
        }

        img {
            max-width: 100%;
            height: auto;
        }

        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }

        .btn {
            display: inline-block;
            padding: 12px 24px;
            border: none;
            border-radius: 4px;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
        }

        .btn-primary {
            background-color: var(--secondary);
            color: var(--dark);
        }

        .btn-primary:hover {
            background-color: var(--accent);
            color: var(--white);
        }

        .btn-secondary {
            background-color: var(--primary);
            color: var(--white);
        }

        .btn-secondary:hover {
            background-color: var(--dark);
        }

        .section {
            padding: 80px 0;
        }

        .section-title {
            text-align: center;
            margin-bottom: 50px;
            position: relative;
        }

        .section-title::after {
            content: '';
            position: absolute;
            width: 80px;
            height: 3px;
            background-color: var(--secondary);
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
        }

        /* Top Announcement / Marquee */
        .topbar {
            --topbar-height: 40px;
            background-color: var(--secondary);
            color: var(--dark);
            font-weight: 600;
            height: var(--topbar-height);
            display: flex;
            align-items: center;
            width: 100%;
            box-shadow: 0 1px 0 rgba(0,0,0,0.06);
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1100;
        }


        /* Promotional animated bar (flows with the page, not fixed) */
        .m-promotion {
            position: relative;
            display: block;
            width: 100%;
            padding: 12px 0;
            background: linear-gradient(90deg, var(--secondary), var(--accent));
            color: #fff;
            box-shadow: 0 2px 10px rgba(0,0,0,0.06);
            z-index: 10;
            overflow: hidden;
            transition: opacity 260ms ease, padding 200ms ease, transform 260ms ease;
        }

        .m-promotion.hidden { opacity: 0; padding: 0; height: 0; overflow: hidden; pointer-events: none; }

        /* spacing between blog grid and promo */
        .blogs-grid { margin-bottom: 18px; }

        .m-promotion .promo-track { width: 100%; overflow: hidden; }
        .m-promotion .promo-inner { display: block; }
        .m-promotion .promo-inner.single { text-align: center; font-weight:700; font-size:1rem; }
        .m-promotion .promo-item { display:inline-block; padding: 0 .25rem; }

        .m-promotion .promo-actions { display:flex; gap:10px; align-items:center; position:absolute; right:12px; top:50%; transform:translateY(-50%); }
        .promo-cta { padding:8px 14px; border-radius:6px; font-weight:700; }
        .promo-close { background: rgba(255,255,255,0.12); color:#fff; border-radius:50%; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:none; }

        /* entry animation for promo (fade + slide up) */
        .m-promotion.reveal { opacity: 0; transform: translateY(8px); }
        .m-promotion.in-view { opacity: 1; transform: none; transition: opacity 420ms cubic-bezier(.2,.9,.2,1), transform 420ms cubic-bezier(.2,.9,.2,1); }

        .topbar .marquee {
            overflow: hidden;
            width: 100%;
        }

        .marquee__inner {
            display: inline-flex;
            align-items: center;
            gap: 3rem;
            padding-left: 100%; /* start off-screen to the right */
            will-change: transform;
            animation: marquee var(--marquee-duration, 18s) linear infinite;
            white-space: nowrap;
        }

        .marquee__item {
            display: inline-block;
            padding: 0 0.25rem;
            font-size: 0.95rem;
        }

        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }

        /* pause animation when user hovers (also handled by JS) */
        .marquee__inner.paused {
            animation-play-state: paused !important;
        }

        /* Header Styles */
        header {
            background-color: var(--white);
            box-shadow: var(--shadow);
            position: sticky;
            /* header sits below the topbar */
            top: var(--topbar-height);
            z-index: 1000;
            transition: top 220ms ease;
        }

        .header-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 0;
        }

        .logo {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--primary);
            display: flex;
            align-items: center;
        }

        .logo i {
            margin-right: 8px;
            color: var(--secondary);
        }

        .nav-menu {
            display: flex;
        }

        .nav-menu li {
            margin-left: 30px;
        }

        .nav-menu a {
            font-weight: 500;
            transition: var(--transition);
        }

        .nav-menu a:hover {
            color: var(--secondary);
        }

        .header-actions {
            display: flex;
            align-items: center;
        }

        .header-actions i {
            font-size: 1.2rem;
            margin-left: 20px;
            cursor: pointer;
            transition: var(--transition);
        }

        .header-actions i:hover {
            color: var(--secondary);
        }

        .mobile-menu-btn {
            display: none;
            font-size: 1.5rem;
            cursor: pointer;
        }

        /* Hero Section */
        .hero {
            background: linear-gradient(rgba(74, 101, 114, 0.8), rgba(74, 101, 114, 0.8)), url('https://images.unsplash.com/photo-1543852786-1cf6624b9987?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=80');
            background-size: cover;
            background-position: center;
            color: var(--white);
            padding: 150px 0;
            text-align: center;
        }

        .hero h1 {
            font-size: 3rem;
            margin-bottom: 20px;
        }

        .hero p {
            font-size: 1.2rem;
            max-width: 700px;
            margin: 0 auto 30px;
        }

        /* Categories Section */
        .categories-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
        }

        .category-card {
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
            position: relative;
            height: 300px;
        }

        .category-card:hover {
            transform: translateY(-10px);
        }

        .category-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .category-card-content {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 20px;
            background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
            color: var(--white);
        }

        /* Featured Products */
        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 30px;
        }

        .product-card {
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
        }

        .product-card:hover {
            transform: translateY(-5px);
        }

        .product-image {
            height: 200px;
            overflow: hidden;
        }

        .product-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
        }

        .product-card:hover .product-image img {
            transform: scale(1.1);
        }

        .product-info {
            padding: 20px;
        }

        .product-price {
            font-weight: 700;
            color: var(--accent);
            margin: 10px 0;
        }

        .product-rating {
            color: var(--secondary);
            margin-bottom: 10px;
        }

        /* About Section */
        .about {
            background-color: var(--light);
        }

        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: center;
        }

        .about-image {
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
        }

        .about-text h2 {
            margin-bottom: 20px;
        }

        /* Testimonials */
        .testimonials-slider {
            position: relative;
            max-width: 800px;
            margin: 0 auto;
            overflow: hidden;
        }

        .testimonials-container {
            display: flex;
            transition: transform 0.5s ease;
        }

        .testimonial {
            min-width: 100%;
            padding: 30px;
            text-align: center;
            background-color: var(--light);
            border-radius: 8px;
            box-shadow: var(--shadow);
        }

        .testimonial-avatar {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            margin: 0 auto 20px;
            overflow: hidden;
        }

        .testimonial-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .testimonial-text {
            font-style: italic;
            margin-bottom: 20px;
        }

        .testimonial-author {
            font-weight: 600;
        }

        .slider-controls {
            display: flex;
            justify-content: center;
            margin-top: 30px;
        }

        .slider-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #ccc;
            margin: 0 5px;
            cursor: pointer;
            transition: var(--transition);
        }

        .slider-dot.active {
            background-color: var(--primary);
        }

        /* Blog Section */
        .blog-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }

        .blog-card {
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
        }

        .blog-card:hover {
            transform: translateY(-5px);
        }

        .blog-image {
            height: 200px;
            overflow: hidden;
        }

        .blog-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
        }

        .blog-card:hover .blog-image img {
            transform: scale(1.1);
        }

        .blog-content {
            padding: 20px;
        }

        .blog-date {
            font-size: 0.9rem;
            color: #777;
            margin-bottom: 10px;
        }

        /* Newsletter */
        .newsletter {
            background-color: var(--primary);
            color: var(--white);
            text-align: center;
            padding: 60px 0;
        }

        .newsletter h2 {
            margin-bottom: 20px;
        }

        .newsletter p {
            max-width: 600px;
            margin: 0 auto 30px;
        }

        .newsletter-form {
            display: flex;
            max-width: 500px;
            margin: 0 auto;
        }

        .newsletter-form input {
            flex: 1;
            padding: 12px 15px;
            border: none;
            border-radius: 4px 0 0 4px;
            font-family: inherit;
        }

        .newsletter-form button {
            background-color: var(--secondary);
            color: var(--dark);
            border: none;
            padding: 0 20px;
            border-radius: 0 4px 4px 0;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
        }

        .newsletter-form button:hover {
            background-color: var(--accent);
            color: var(--white);
        }

        /* Footer */
        footer {
            background-color: var(--dark);
            color: var(--white);
            padding: 60px 0 20px;
        }

        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 40px;
            margin-bottom: 40px;
        }

        .footer-column h3 {
            margin-bottom: 20px;
            font-size: 1.2rem;
        }

        .footer-column ul li {
            margin-bottom: 10px;
        }

        .footer-column ul li a:hover {
            color: var(--secondary);
        }

        .social-icons {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }

        .social-icons a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.1);
            transition: var(--transition);
        }

        .social-icons a:hover {
            background-color: var(--secondary);
            color: var(--dark);
        }

        .footer-bottom {
            text-align: center;
            padding-top: 20px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* Responsive Styles */
        @media (max-width: 992px) {
            .about-content {
                grid-template-columns: 1fr;
            }
            
            .about-image {
                order: -1;
            }
        }

        @media (max-width: 768px) {
            .mobile-menu-btn {
                display: block;
            }
            
            .nav-menu {
                position: fixed;
                top: 70px;
                left: -100%;
                width: 100%;
                flex-direction: column;
                background-color: var(--white);
                box-shadow: var(--shadow);
                transition: var(--transition);
                padding: 20px 0;
            }
            
            .nav-menu.active {
                left: 0;
            }
            
            .nav-menu li {
                margin: 10px 0;
                text-align: center;
            }
            
            .hero h1 {
                font-size: 2.5rem;
            }
            
            .newsletter-form {
                flex-direction: column;
            }
            
            .newsletter-form input {
                border-radius: 4px;
                margin-bottom: 10px;
            }
            
            .newsletter-form button {
                border-radius: 4px;
                padding: 12px;
            }
        }

        @media (max-width: 576px) {
            .hero h1 {
                font-size: 2rem;
            }
            
            .section {
                padding: 60px 0;
            }
        }

        /* Bestseller section styles */
        .bestseller {
            padding: 60px 0;
            background: #fff;
        }

        .bestseller .section-title {
            margin-bottom: 30px;
            color: var(--dark);
        }

        .bestseller-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 30px;
            align-items: start;
        }

        .bestseller-card {
            background: transparent;
            padding: 10px 0 0 0;
        }

        .bestseller-product {
            color: var(--secondary);
            font-size: 1.25rem;
            margin-bottom: 10px;
        }
        .bestseller-sub { color: var(--primary); font-weight:700; font-size:1.8rem; }

        .bestseller-desc {
            color: #666;
            margin-bottom: 18px;
        }

        .bestseller-image-wrap {
            position: relative;
            display: block;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: var(--shadow);
            margin-bottom: 18px;
        }

        .bestseller-image { width: 100%; height: auto; display:block; }

        .badge {
            position: absolute;
            right: 12px;
            bottom: 12px;
            background: var(--secondary);
            color: var(--dark);
            padding: 6px 10px;
            border-radius: 20px;
            font-weight:700;
            font-size:0.85rem;
        }

        .bestseller-features { margin-top: 8px; }

        .feature-row { display:flex; gap:20px; align-items:flex-start; }
        .feature-image { width: 180px; height: 180px; object-fit: cover; border-radius:8px; box-shadow: var(--shadow); }

        .feature-list { list-style:none; padding:0; margin:0; }
        .feature-list li { margin-bottom: 14px; color: #444; }
        .feature-list li p { margin:6px 0 0 0; color:#777; font-size:0.95rem; }

        @media (max-width: 900px) {
            .bestseller-grid { grid-template-columns: 1fr; }
            .feature-row { flex-direction: column; }
            .feature-image { width:100%; height:200px; }
        }

        /* Reviews (social device mockups) */
        .reviews .section-sub {
            text-align: center;
            margin-top: 6px;
            color: #666;
            margin-bottom: 30px;
        }

        .device-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 28px;
            align-items: start;
        }

        .device-card { text-align: center; }

        .phone-frame {
            width: 280px;
            height: 540px;
            margin: 0 auto 12px;
            border-radius: 34px;
            background: #000;
            padding: 14px 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .phone-frame::before {
            content: '';
            position: absolute;
            top: 8px;
            left: 50%;
            transform: translateX(-50%);
            width: 120px;
            height: 24px;
            border-radius: 12px;
            background: rgba(255,255,255,0.06);
        }

        .device-screen {
            width: 100%;
            height: 100%;
            overflow: hidden;
            border-radius: 20px;
            background: #000;
        }

        .device-screen iframe {
            width: 100%;
            height: 100%;
            border: 0;
            display: block;
        }

        /* Overlay mask to hide YouTube title/branding on hover */
        .device-screen { position: relative; }
        .yt-mask {
            position: absolute;
            right: 8px;
            top: 8px;
            width: 40%;
            height: 18%;
            background: linear-gradient(rgba(0,0,0,0.85), rgba(0,0,0,0.6));
            pointer-events: none;
            opacity: 0; /* hidden by default */
            transition: opacity 180ms ease-in-out;
            border-radius: 8px;
        }

        /* When hovering the phone frame, show the mask to cover YouTube overlay text */
        .phone-frame:hover .yt-mask,
        .phone-frame:focus-within .yt-mask {
            opacity: 1;
        }

        /* Facebook UI (visual only) */
        .fb-ui {
            position: absolute;
            top: 8px;
            left: 10px;
            right: 10px;
            display:flex;
            justify-content:space-between;
            align-items:center;
            z-index: 4;
            color: #fff;
            pointer-events: none;
        }
        .fb-left { display:flex; align-items:center; gap:8px; }
        .fb-avatar { width:36px; height:36px; border-radius:50%; object-fit:cover; }
        .fb-meta .fb-name { font-weight:700; font-size:0.95rem; }
        .fb-meta .fb-time { font-size:0.8rem; color: rgba(255,255,255,0.8); }
        .fb-actions i { color: rgba(255,255,255,0.95); }
        .fb-bottom {
            position:absolute;
            left:10px;
            bottom:12px;
            display:flex;
            gap:12px;
            z-index:4;
            color: #fff;
            font-weight:600;
        }
        .fb-engage { display:flex; align-items:center; gap:6px; font-size:0.9rem; background: rgba(0,0,0,0.28); padding:6px 8px; border-radius:20px; }

        /* TikTok UI (visual only) */
        .tiktok-ui {
            position: absolute;
            right: 12px;
            bottom: 90px;
            display:flex;
            flex-direction:column;
            align-items:center;
            gap:14px;
            z-index:4;
        }
        .tiktok-profile img { width:48px; height:48px; border-radius:50%; border:2px solid #fff; object-fit:cover; }
        .tiktok-control { color:#fff; display:flex; flex-direction:column; align-items:center; font-size:20px; }
        .tiktok-control .count { font-size:12px; margin-top:6px; }

        /* Instagram UI (visual only) */
        .ig-ui { position:absolute; inset:0; z-index:4; pointer-events:none; display:flex; flex-direction:column; justify-content:space-between; }
        .ig-top { display:flex; align-items:center; gap:10px; padding:10px; color:#fff; }
        .ig-avatar { width:36px; height:36px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,0.12); }
        .ig-meta .ig-user { font-weight:700; }
        .ig-more { margin-left:auto; }
        .ig-bottom { padding:10px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
        .ig-actions i { color:#fff; margin-right:12px; font-size:18px; }
        .ig-likes { color:#fff; font-weight:700; }


        .device-label {
            font-weight: 700;
            color: var(--secondary);
            margin-top: 8px;
        }

        @media (max-width: 1100px) {
            .device-grid { grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 700px) {
            .device-grid { grid-template-columns: 1fr; }
            .phone-frame { width: 220px; height: 430px; }
        }

        /* Blogs section styles */
        .blogs .section-sub { text-align:center; color:#666; margin-bottom:20px; }
        .blogs-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }
        .blog-card-large { background:#fff; border-radius:8px; overflow:hidden; box-shadow: var(--shadow); display:flex; flex-direction:column; }
        .blog-card-large img { width:100%; height:220px; object-fit:cover; }
        .blog-card-body { padding:18px; }
        .blog-card-body h3 { margin-bottom:10px; }
        .blog-card-body p { color:#666; margin-bottom:14px; }
        
        /* Featured blog cards with background image */
        .blog-card-featured { background-size:cover; background-position:center; background-repeat:no-repeat; min-height:320px; }
        .blog-card-overlay { background:linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 100%); color:#fff; padding:40px 20px; display:flex; flex-direction:column; justify-content:center; min-height:320px; }
        .blog-card-overlay h3 { margin-bottom:12px; color:#fff; font-size:1.3rem; }
        .blog-card-overlay p { color:#e0e0e0; margin-bottom:20px; }
        .blog-card-overlay .btn { align-self:flex-start; }

        @media (max-width: 980px) {
            .blogs-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 640px) {
            .blogs-grid { grid-template-columns: 1fr; }
        }

        /* FAQ styles */
        .faq .section-sub { text-align:center; color:#666; margin-bottom:20px; }
        .faq-list { max-width:900px; margin:0 auto; }
        .faq-item { border-bottom:1px solid #eee; }
        .faq-question { width:100%; text-align:left; background:none; border:none; padding:18px 0; font-size:1.05rem; font-weight:700; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
        .faq-question::after { content: '\25be'; transition: transform 0.2s ease; }
        .faq-question[aria-expanded="true"]::after { transform: rotate(180deg); }
        .faq-answer { padding: 0 0 18px 0; color:#555; overflow: hidden; max-height: 0; transition: max-height 300ms ease; }
        .faq-item.open .faq-answer { /* fallback max height if JS not available */
            max-height: 400px;
        }

        /* Scroll to Top Button */
        .scroll-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, #F4A460 0%, #FF8C42 100%);
            color: white;
            border: none;
            border-radius: 50%;
            font-size: 1.3rem;
            cursor: pointer;
            display: none;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(244, 164, 96, 0.4);
            transition: all 0.3s ease;
            z-index: 999;
        }

        .scroll-to-top:hover {
            background: linear-gradient(135deg, #FF8C42 0%, #F4A460 100%);
            box-shadow: 0 6px 16px rgba(244, 164, 96, 0.6);
            transform: translateY(-3px);
        }

        .scroll-to-top:active {
            transform: translateY(0);
        }

        .scroll-to-top.show {
            display: flex;
        }

        @media (max-width: 768px) {
            .scroll-to-top {
                width: 45px;
                height: 45px;
                bottom: 20px;
                right: 20px;
                font-size: 1.1rem;
            }
        }

        /* Smooth scrolling & reveal-on-scroll */
        html {
            scroll-behavior: smooth;
            scroll-padding-top: 80px; /* compensate for fixed header */
        }

        /* Reveal base state */
        .reveal {
            opacity: 0;
            transform: translateY(12px) scale(0.995);
            will-change: opacity, transform;
            transition: opacity 480ms cubic-bezier(.2,.9,.2,1), transform 480ms cubic-bezier(.2,.9,.2,1);
        }

        /* When in view */
        .reveal.in-view {
            opacity: 1;
            transform: none;
        }

        /* Small tweak for long lists to avoid all animating at once */
        .reveal.stagger-1 { transition-delay: 60ms; }
        .reveal.stagger-2 { transition-delay: 120ms; }
        .reveal.stagger-3 { transition-delay: 180ms; }

        /* Custom scrollbar styling (Chromium browsers) */
        /* Width/height */
        ::-webkit-scrollbar { width: 12px; height: 12px; }
        ::-webkit-scrollbar-track {
            background: #f4f4f6; /* light track */
            border-radius: 12px;
        }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, #F4A460 0%, #FF8C42 100%);
            border-radius: 12px;
            border: 3px solid rgba(244,244,246,0.7); /* gives small inset feel */
            background-clip: padding-box;
            box-shadow: 0 2px 6px rgba(0,0,0,0.12) inset;
        }
        ::-webkit-scrollbar-thumb:hover {
            transform: scale(1.02);
            box-shadow: 0 4px 12px rgba(0,0,0,0.18) inset;
        }
        ::-webkit-scrollbar-corner { background: transparent; }

        /* Firefox: thin + color fallback */
        html { scrollbar-width: thin; scrollbar-color: #FF8C42 #f4f4f6; }

        /* Accessible focus state for scrollbar (where supported) */
        ::-webkit-scrollbar-thumb:active,
        ::-webkit-scrollbar-thumb:focus {
            outline: 2px solid rgba(255,255,255,0.18);
            outline-offset: 1px;
        }


