
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
    
    * { font-family: 'Inter', sans-serif; }

    :root {
        --primary: #B88A5A;
        --primary-hover: #D1A373;
        --bg-global: #FFFFFF;
        --bg-section: #F8F9FA;
        --text-primary: #0B0B0B;
    }

    @keyframes gradientShift {
        0% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
        100% { background-position: 0% 50%; }
    }
    @keyframes float {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-20px); }
    }
    @keyframes marquee {
        0% { transform: translateX(0%); }
        100% { transform: translateX(-100%); }
    }
    @keyframes marquee2 {
        0% { transform: translateX(100%); }
        100% { transform: translateX(0%); }
    }

    .hero-gradient {
        background: radial-gradient(circle at top right, rgba(184,138,90,.05), transparent 40%),
                    radial-gradient(circle at bottom left, rgba(184,138,90,.05), transparent 40%);
        background-color: #FFF;
    }
    .glass-card {
        background: #FFF;
        border: 1px solid rgba(184,138,90,.1);
        box-shadow: 0 8px 32px rgba(184,138,90,.1);
    }
    .product-card {
        transition: all .4s cubic-bezier(.165,.84,.44,1);
        background: #FFF;
        border: 1px solid rgba(184,138,90,.1);
        position: relative;
        overflow: hidden;
    }
    .product-card:hover {
        transform: translateY(-10px);
        border-color: var(--primary);
        box-shadow: 0 20px 40px rgba(184,138,90,.15);
    }
    .gradient-text { color: var(--primary); }
    .grid-background {
        background-image:
            linear-gradient(rgba(184,138,90,.05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(184,138,90,.05) 1px, transparent 1px);
        background-size: 50px 50px;
    }
    .btn-modern {
        background: var(--primary);
        color: #0B0B0B !important;
        transition: all .3s ease;
        display: inline-block;
    }
    .btn-modern:hover {
        background: var(--primary-hover);
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(184,138,90,.2);
    }
    .floating { animation: float 5s ease-in-out infinite; }

    /* Scroll Reveal */
    .reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: all .8s cubic-bezier(.4,0,.2,1);
    }
    .reveal.active {
        opacity: 1;
        transform: none;
    }

    /* No scrollbar utility */
    .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
    .no-scrollbar::-webkit-scrollbar { display: none; }

    /* Marquee */
    .animate-marquee  { animation: marquee  30s linear infinite; }
    .animate-marquee2 { animation: marquee2 30s linear infinite; }

    /* ============================================================
       RESPONSIVE FIXES
    ============================================================ */

    /* --- Hero --- */
    .hero-section {
        height: 480px; /* Fixed height for more control */
        width: 100%;
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #hero-video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
    .hero-h1 { font-size: clamp(2rem, 5vw, 4rem) !important; letter-spacing: -0.04em !important; }
    .hero-p  { font-size: 0.95rem !important; max-width: 500px !important; }

    @media (max-width: 639px) {
        .hero-section { min-height: 65vh; padding: 60px 0 40px; }
        .hero-h1 { font-size: clamp(2rem, 9vw, 2.8rem) !important; }
        .hero-p  { font-size: 0.85rem !important; }
        .hero-btns { flex-direction: column; gap: 10px; }
        .hero-btns a { padding: 12px 20px !important; }
    }
    @media (min-width: 640px) and (max-width: 1023px) {
        .hero-h1 { font-size: clamp(2.8rem, 6.5vw, 4rem) !important; }
    }

    /* --- Product cards horizontal scroll --- */
    #product-scroll {
        display: flex;
        gap: 1.5rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding: 4px 4px 24px;
    }
    #product-scroll > div {
        flex: 0 0 85vw;
        scroll-snap-align: start;
    }
    @media (min-width: 640px)  { #product-scroll > div { flex: 0 0 48%; } }
    @media (min-width: 1024px) { #product-scroll > div { flex: 0 0 31%; } }

    /* --- Gallery horizontal scroll --- */
    #event-scroll {
        display: flex;
        gap: 1.25rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding: 4px 4px 24px;
    }
    #event-scroll > div {
        flex: 0 0 85vw; /* Landscape needs more width for presence */
        scroll-snap-align: center;
    }
    @media (min-width: 640px)  { #event-scroll > div { flex: 0 0 60%; } }
    @media (min-width: 1024px) { #event-scroll > div { flex: 0 0 45%; } }

    /* Gallery card - Landscape 16:9 (1920x1080) style */
    .gallery-card { 
        width: 100%;
        aspect-ratio: 16 / 9; /* Perfect 1920x1080 proportion */
        max-height: 80vh;
    }
    /* Note: Manual height overrides removed to favor aspect-ratio */

    /* --- Competences grid --- */
    .competences-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    @media (min-width: 640px) {
        .competences-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (min-width: 1024px) {
        .competences-grid { grid-template-columns: 1fr 1fr 1fr; }
        .card-featured { grid-row: span 2; }
    }

    /* --- Stats section --- */
    .stats-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 1.5rem;
    }
    @media (min-width: 1024px) {
        .stats-grid { grid-template-columns: repeat(4, 1fr); }
    }
    .stat-number { font-size: clamp(2.5rem, 8vw, 5rem); }

    /* --- Why us grid --- */
    .why-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    @media (min-width: 640px)  { .why-grid { grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1024px) { .why-grid { grid-template-columns: repeat(4, 1fr); } }

    /* --- Seafood banner --- */
    @media (max-width: 1023px) {
        .seafood-banner { flex-direction: column; }
        .seafood-image  { height: 220px; width: 100%; }
        .seafood-features { border-top: 1px solid rgba(255,255,255,.1); border-left: none !important; width: 100% !important; }
    }

    /* --- Navigation buttons for sliders --- */
    .slider-nav-btn {
        width: 48px; height: 48px;
        border-radius: 12px;
        background: white;
        border: 1px solid rgba(184,138,90,.2);
        display: flex; align-items: center; justify-content: center;
        color: var(--primary);
        transition: all .3s ease;
        cursor: pointer;
    }
    .slider-nav-btn:hover {
        background: var(--primary); color: #0B0B0B;
        border-color: var(--primary);
        transform: translateY(-2px);
    }
    @media (max-width: 639px) {
        /* Show mobile nav dots below sliders */
        .mobile-slider-nav { display: flex !important; }
    }
    .mobile-slider-nav { display: none; justify-content: center; gap: 12px; margin-top: 16px; }

    /* --- CTA section buttons --- */
    @media (max-width: 639px) {
        .cta-btns { flex-direction: column; align-items: center; }
        .cta-btns a { width: 100%; max-width: 320px; text-align: center; }
    }

    /* --- WhatsApp bubble --- */
    @media (max-width: 639px) {
        .wa-bubble-wrap { bottom: 16px; right: 16px; }
        .wa-btn { width: 52px !important; height: 52px !important; font-size: 1.4rem !important; }
        #cta-bubble { display: none; } /* hide text bubble on mobile to save space */
    }

    /* --- Section padding helper minimized --- */
    .section-py { padding-top: 3rem; padding-bottom: 3rem; }
    @media (min-width: 640px)  { .section-py { padding-top: 4.5rem;  padding-bottom: 4.5rem;  } }
    @media (min-width: 1024px) { .section-py { padding-top: 6rem;    padding-bottom: 6rem;    } }

    /* Lightbox */
    #image-modal {
        display: none; position: fixed; inset: 0; z-index: 999;
        background: rgba(0,0,0,.95); backdrop-filter: blur(10px);
        padding: 1rem; cursor: pointer;
    }
    #image-modal img {
        max-width: 94%; max-height: 90vh;
        margin: auto; border-radius: 8px;
        box-shadow: 0 0 50px rgba(184,138,90,.2); cursor: default;
    }
