 :root {
            --bg-white: #ffffff;
            --text-black: #1d1d1f;
            --accent-green: #2fb35a;
            --light-gray: #f5f5f7;
            --border: #d2d2d7;
            --text-secondary: #6e6e73;
            --footer-text: #424245;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        
        html { scroll-behavior: smooth; }
        
        /* Typography: Helvetica Neue Stack */
        body { 
            background-color: var(--bg-white); 
            color: var(--text-black); 
            line-height: 1.6; 
            overflow-x: hidden;
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            -webkit-font-smoothing: antialiased;
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0; width: 100%; height: 48px;
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(20px);
            z-index: 9999;
            border-bottom: 1px solid var(--border);
            display: flex; justify-content: center; align-items: center;
        }

        nav a {
            color: var(--text-black);
            text-decoration: none;
            font-size: 14px;
            margin: 0 18px;
            font-weight: 400;
            transition: 0.3s;
            letter-spacing: -0.01em;
        }

        nav a:hover { color: var(--accent-green); }

        /* Hero */
        .hero {
            height: 100vh;
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('/img/hero.jpg');
            display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
            padding: 0 20px;
        }

        .hero h1 { font-size: clamp(48px, 8vw, 96px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 10px; color:var(--accent-green); text-shadow: 4px 1px 5px black; }
        .hero p { font-size: clamp(18px, 2vw, 24px); color: var(--accent-green); font-weight: 300; text-shadow: 4px 1px 5px black;}

        /* Section Layouts */
        section { width: 100%; min-height: 80vh; display: flex; align-items: center; border-bottom: 1px solid var(--border); }
        .section-container { width: 100%; max-width: 1400px; margin: 0 auto; display: flex; align-items: center; padding: 100px 8%; gap: 60px; }

        /* Our Story Section */
        .about-section { display: block; padding: 120px 8%; text-align: center; background: #fff; }
        .about-content { max-width: 800px; margin: 0 auto; }
        .about-content h2 { font-size: 48px; font-weight: 600; margin-bottom: 30px; letter-spacing: -0.015em; }
        .about-content p { font-size: 20px; color: var(--text-secondary); margin-bottom: 25px; line-height: 1.8; text-align: justify; font-weight: 300; }
.product-selector {
            padding: 100px 8%;
            background: #fff;
            text-align: center;
        }

        .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .grid-card {
            background: var(--light-gray);
            padding: 50px 30px;
            border-radius: 28px;
            text-decoration: none;
            color: var(--text-black);
            transition: transform 0.3s ease, background 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .grid-card:hover {
            transform: scale(1.02);
            background: #f0f0f2;
        }

        .grid-card h3 { font-size: 28px; font-weight: 600; margin-bottom: 15px; letter-spacing: -0.02em; }
        .grid-card p { font-size: 17px; color: var(--text-secondary); font-weight: 300; line-height: 1.4; }
        /* Product Alternating Layout */
        .product-section:nth-child(even) .section-container { flex-direction: row-reverse; }
        .product-section:nth-child(even) { background-color: var(--light-gray); }

        .content-box { flex: 1.2; }
        .image-box { flex: 1; display: flex; justify-content: center; }

        .img-placeholder {
            width: 100%;
            height: 480px;
            background: #e8e8ed;
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.05);
        }

        .label { color: var(--accent-green); font-weight: 600; text-transform: uppercase; font-size: 14px; margin-bottom: 15px; display: block; letter-spacing: 0.05em; }
        .title { font-size: clamp(32px, 4vw, 48px); font-weight: 600; margin-bottom: 25px; letter-spacing: -0.01em; }
        .long-desc { font-size: 18px; color: var(--text-secondary); margin-bottom: 30px; font-weight: 400; }

        /* Bullets */
        .feature-list { list-style: none; margin-bottom: 40px; }
        .feature-list li {
            position: relative;
            padding-left: 35px;
            margin-bottom: 15px;
            font-size: 17px;
            color: var(--text-black);
        }
        .feature-list li::before {
            content: '●';
            position: absolute;
            left: 0;
            color: var(--accent-green);
            font-size: 14px;
            top: 2px;
        }

        /* Download Section */
        .download-section { display: block; padding: 120px 8%; text-align: center; background: var(--bg-white); }
        .download-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; margin-top: 60px; }
        .download-card { padding: 40px; border-radius: 20px; background: var(--light-gray); text-align: left; }
        .download-card h3 { font-size: 22px; font-weight: 600; margin-bottom: 12px; }
        .download-card p { color: var(--text-secondary); margin-bottom: 25px; font-size: 15px; }

        .btn {
            display: inline-block;
            padding: 12px 28px;
            border-radius: 20px;
            text-decoration: none;
            font-weight: 400;
            font-size: 16px;
            transition: 0.2s ease;
        }
        .btn-green { background: var(--accent-green); color: white; }
        .btn-black { background: #000; color: white; }
        .btn-outline { border: 1px solid var(--text-black); color: var(--text-black); margin: 5px; }
        .btn:hover { opacity: 0.8; }

        /* Legal Section */
        .legal-wrapper { max-width: 980px; margin: 100px auto 60px auto; padding: 0 20px; }
        .legal-main-title { font-size: 40px; font-weight: 600; margin-bottom: 40px; text-align: center; }
        .legal-tabs { display: flex; border-bottom: 1px solid var(--border); margin-bottom: 30px; justify-content: center; }
        .tab-trigger {
            padding: 15px 25px;
            cursor: pointer;
            border: none;
            background: none;
            font-size: 0.8rem;
            font-weight: 500;
            color: var(--text-secondary);
            font-family: inherit;
            text-transform: uppercase;
        }
        .tab-trigger.active { color: var(--accent-green); border-bottom: 2px solid var(--accent-green); }
        .tab-content { display: none; padding: 20px 0; font-size: 15px; color: var(--text-secondary); line-height: 1.8; }
        .tab-content.active { display: block; animation: fadeIn 0.4s ease; }

        /* Apple Style Footer */
        .apple-footer {
            background-color: var(--light-gray);
            padding: 50px 8% 30px 8%;
            font-size: 12px;
            color: var(--footer-text);
        }
        .footer-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 30px;
            max-width: 1200px;
            margin: 0 auto;
            border-bottom: 1px solid var(--border);
            padding-bottom: 20px;
        }
        .footer-col h4 { font-weight: 600; color: #1d1d1f; margin-bottom: 10px; }
        .footer-col ul { list-style: none; }
        .footer-col li { margin-bottom: 8px; }
        .footer-col a { color: var(--footer-text); text-decoration: none; transition: 0.2s; }
        .footer-col a:hover { text-decoration: underline; color: var(--text-black); }
        .footer-bottom {
            max-width: 1200px;
            margin: 20px auto 0 auto;
            display: flex;
            justify-content: space-between;
            color: #86868b;
        }

        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        @media (max-width: 992px) {
            .section-container { flex-direction: column !important; text-align: center; }
            .feature-list li { text-align: left; }
            .footer-bottom { flex-direction: column; gap: 10px; }
        }
        /* Ensure the selector section acts as a block container */
        .product-selector {
            display: block; /* Force block layout so title stays on top */
            padding: 100px 8%;
            background: #fff;
            text-align: center;
            border-bottom: 1px solid var(--border);
        }

        .section-title {
            font-size: 48px;
            font-weight: 600;
            margin-bottom: 50px;
            letter-spacing: -0.02em;
            display: block;
        }

        .grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            width: 100%;
        }

        .grid-card {
            background: var(--light-gray);
            padding: 40px 30px;
            border-radius: 28px;
            text-decoration: none;
            color: var(--text-black);
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            align-items: center; /* Center content horizontally */
        }

        .grid-card:hover {
            transform: translateY(-5px);
            background: #f0f0f2;
        }

        /* The small image/icon placeholder at the top of the card */
        .product-placeholder {
            margin-bottom: 20px;
            color: var(--accent-green);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .product-placeholder img {
            width: 50%;
            height: auto;
        }

        .grid-card h3 { font-size: 24px; font-weight: 600; margin-bottom: 12px; }
        .grid-card p { font-size: 16px; color: var(--text-secondary); font-weight: 300; line-height: 1.4; }
        /* Responsive Fixes */
@media (max-width: 992px) {
    .grid-container { grid-template-columns: 1fr; } /* Stack product cards */
    .section-container { flex-direction: column !important; text-align: center; }
    .img-placeholder { height: 300px; }
    .feature-list { display: inline-block; text-align: left; }
    .hero { background-attachment: scroll; } /* Better for mobile performance */
    nav{
        max-width: 100vw;
    }
}

@media (max-width: 480px) {
    nav a { margin: 0 10px; font-size: 11px; }
    .hero h1 { font-size: 36px; }
}
/* Legal Section Fixes */
.legal-wrapper {
    max-width: 980px;
    margin: 80px auto;
    padding: 0 20px;
    width: 100%;
}

.legal-tabs {
    display: flex;
    flex-wrap: wrap; /* Allows tabs to wrap on small mobile screens */
    justify-content: center;
    border-bottom: 1px solid var(--border);
    gap: 10px;
}

.tab-trigger {
    padding: 12px 20px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--text-secondary);
    transition: color 0.3s;
    white-space: nowrap; /* Keeps tab names on one line */
}

.tab-trigger.active {
    color: var(--accent-green);
    border-bottom: 2px solid var(--accent-green);
}

#legal-content-container {
    min-height: 400px; /* Prevents layout collapse while loading or switching */
    margin-top: 30px;
    text-align: left;
}

.tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
    line-height: 1.8;
    color: var(--text-secondary);
    word-wrap: break-word; /* Fixes UI breaking from long strings/links */
}

.tab-content.active {
    display: block;
}

/* Fix for nested lists or tables that might come from the API */
.tab-content div, .tab-content p {
    margin-bottom: 20px;
}

@media (max-width: 600px) {
    .legal-main-title { font-size: 32px; }
    .tab-trigger { padding: 10px 10px; font-size: 12px; flex-grow: 1; }
}
/* Sticky Legal Tabs Fix */
.legal-tabs {
    display: flex;
    flex-wrap: nowrap; /* Keep them in a row for sticky behavior */
    justify-content: center;
    border-bottom: 1px solid var(--border);
    gap: 10px;
    
    /* The Magic Sauce */
    position: -webkit-sticky; /* Support for older Safari */
    position: sticky;
    top: 48px; /* Must match nav height */
    
    background: rgba(255, 255, 255, 0.95); /* Slight transparency like the nav */
    backdrop-filter: blur(10px);
    z-index: 999; /* Just below the main nav (9999) */
    padding: 10px 0;
    overflow-x: auto; /* Allow horizontal swipe if tabs are too wide on mobile */
    scrollbar-width: none; /* Hide scrollbar for Firefox */
}

/* Hide scrollbar for Chrome/Safari */
.legal-tabs::-webkit-scrollbar {
    display: none;
}

/* Ensure the wrapper doesn't have overflow: hidden or it breaks sticky */
.legal-wrapper {
    overflow: visible !important;
}

/* Add a bit of scroll-margin to the content so it doesn't hide behind sticky tabs when clicking */
.tab-content {
    scroll-margin-top: 120px; 
}
@media (max-width: 600px) {
    .legal-tabs {
        justify-content: flex-start;
        padding: 10px 20px;
    }
    .tab-trigger {
        font-size: 11px;
        padding: 8px 15px;
        background: var(--light-gray);
        border-radius: 15px;
    }
    .tab-trigger.active {
        background: var(--accent-green);
        color: white;
        border-bottom: none;
    }
    .image-box{
        width: 100%;
    }
}