/* freeres skin — CSS VERBATIM from sat-registration-guide.html comp, scoped under body.galv-freeres. */

        body.galv-freeres *{ margin: 0; padding: 0; box-sizing: border-box; }

        body.galv-freeres {
            --bg-navy: #13217c;
            --primary-blue: #3b5bff;
            --cta-magenta: #cc00cc;
            --accent-blue: #e6ebff;
            --text-white: #fff;
            --text-dark: #333;
            --text-gray: #808080;
            --success-green: #2d8a4e;
            --warning: #f59e0b;
            --error: #dc2626;
            --font-heading: 'Poppins', sans-serif;
            --font-body: 'Inter', sans-serif;
        }

        html { scroll-behavior: smooth; }

        body.galv-freeres {
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.5;
            color: var(--text-dark);
            background-color: var(--accent-blue);
        }

        body.galv-freeres h1, body.galv-freeres h2, body.galv-freeres h3, body.galv-freeres h4, body.galv-freeres h5, body.galv-freeres h6{ font-family: var(--font-heading); font-weight: 600; color: var(--bg-navy); }

        body.galv-freeres h1{ font-size: 38px; margin-bottom: 20px; line-height: 1.3; }
        body.galv-freeres h2{ font-size: 36px; margin-bottom: 18px; margin-top: 48px; line-height: 48px; color: var(--primary-blue); }
        body.galv-freeres h3{ font-size: 26px; margin-bottom: 16px; margin-top: 36px; line-height: 36px; color: #333333; }
        body.galv-freeres h4{ font-size: 22px; margin-bottom: 14px; margin-top: 28px; line-height: 30px; }

        body.galv-freeres p{ font-size: 18px; line-height: 28px; margin-bottom: 20px; color: var(--text-dark); }
        body.galv-freeres ul li{ font-size: 16px; line-height: 26px; }

        body.galv-freeres .container{ width: 100%; max-width: 1920px; padding: 0 80px; margin: 0 auto; }
        body.galv-freeres .content-wrapper{ max-width: 1100px; margin: 0 auto; }
        body.galv-freeres section{ padding: 60px 0; }

        /* ===== HERO ===== */
        body.galv-freeres .hero{ background: var(--bg-navy); color: var(--text-white); padding: 70px 0 60px; position: relative; overflow: hidden; }
        body.galv-freeres .hero-content{ position: relative; z-index: 1; text-align: center; }
        body.galv-freeres .hero h1{ color: var(--text-white); font-size: 42px; margin-bottom: 16px; line-height: 56px; }
        body.galv-freeres .hero-subtitle{ color: rgba(255,255,255,0.95); font-size: 20px; line-height: 32px; margin-bottom: 36px; width: 100%; margin-left: auto; margin-right: auto; }

        body.galv-freeres .hero-cta-group{ display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px; }

        body.galv-freeres .cta-btn{ display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 32px; border-radius: 12px; text-decoration: none; font-weight: 600; font-size: 18px; transition: all 0.3s ease; cursor: pointer; border: none; font-family: var(--font-body); }
        body.galv-freeres .cta-primary{ background: var(--cta-magenta); color: var(--text-white); }
        body.galv-freeres .cta-primary:hover{ background: #a600a6; transform: translateY(-2px); }
        body.galv-freeres .cta-secondary{ background: transparent; color: var(--text-white); border: 2px solid var(--text-white); }
        body.galv-freeres .cta-secondary:hover{ background: var(--text-white); color: var(--bg-navy); transform: translateY(-2px); }

        body.galv-freeres .social-proof{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto; }
        body.galv-freeres .proof-metric{ text-align: center; background: rgba(255,255,255,0.1); border: 2px solid var(--accent-blue); border-radius: 20px; padding: 20px 16px; }
        body.galv-freeres .proof-number{ font-size: 36px; font-weight: 700; color: white; display: block; margin-bottom: 8px; font-family: var(--font-heading); }
        body.galv-freeres .proof-text{ font-size: 14px; color: rgba(255,255,255,0.9); font-weight: 500; }

        /* ===== MAIN CONTENT ===== */
        body.galv-freeres .main-content{ background: var(--text-white); }

        body.galv-freeres .at-a-glance{ background: #e6ebff; border-radius: 20px; padding: 30px; margin: 48px auto 0; border: 2px solid transparent; transition: all 0.3s ease; }
        body.galv-freeres .at-a-glance:hover{ border-color: #a0aeff; }
        body.galv-freeres .at-a-glance h2{ color: var(--primary-blue); font-size: 26px; margin: 0 0 20px 0; line-height: 34px; }
        body.galv-freeres .at-a-glance ul{ list-style: none; padding: 0; margin: 0; }
        body.galv-freeres .at-a-glance li{ padding: 10px 0 10px 32px; position: relative; font-size: 16px; line-height: 26px; border-bottom: 1px solid rgba(0,0,0,0.05); }
        body.galv-freeres .at-a-glance li:last-child{ border-bottom: none; }
        body.galv-freeres .at-a-glance li:before{ content: "✓"; position: absolute; left: 0; color: var(--success-green); font-weight: 700; font-size: 18px; }
        body.galv-freeres .at-a-glance strong{ color: var(--primary-blue); font-weight: 700; }

        /* TABLES */
        body.galv-freeres .fee-table, body.galv-freeres .deadline-table{ width: 100%; border-collapse: collapse; margin: 24px 0; background: #e6ebff; border-radius: 12px; overflow: hidden; }
        body.galv-freeres .fee-table thead, body.galv-freeres .deadline-table thead{ background: var(--primary-blue); }
        body.galv-freeres .fee-table th, body.galv-freeres .deadline-table th{ color: #e6ebff; padding: 16px; text-align: left; font-weight: 600; font-size: 16px; font-family: var(--font-heading); }
        body.galv-freeres .fee-table td, body.galv-freeres .deadline-table td{ padding: 14px 16px; border-bottom: 1px solid #e6e6e6; font-size: 16px; line-height: 24px; }
        body.galv-freeres .fee-table tr:last-child td, body.galv-freeres .deadline-table tr:last-child td{ border-bottom: none; }
        body.galv-freeres .fee-table tbody tr:hover, body.galv-freeres .deadline-table tbody tr:hover{ background: var(--accent-blue); }

        /* STEP BOXES */
        body.galv-freeres .step-box{ background: var(--accent-blue); border-left: 5px solid var(--primary-blue); border-radius: 20px; padding: 30px; margin: 24px 0; border: 2px solid transparent; border-left: 5px solid var(--primary-blue); transition: all 0.3s ease; }
        body.galv-freeres .step-box h4{ color: var(--primary-blue); margin-top: 0; font-size: 22px; margin-bottom: 12px; line-height: 30px; }
        body.galv-freeres .step-box p{ font-size: 16px; line-height: 26px; }
        body.galv-freeres .step-box ul{ margin: 12px 0 0 0; padding-left: 20px; }
        body.galv-freeres .step-box li{ margin-bottom: 8px; line-height: 26px; font-size: 16px; }

        /* TIP & WARNING BOXES */
        body.galv-freeres .tip-box{ background: #e6ebff; border-left: 5px solid #cc00cc; border-radius: 20px; padding: 20px 24px; margin: 24px 0; }
        body.galv-freeres .tip-box strong{ color: #cc00cc; display: block; margin-bottom: 8px; font-size: 16px; }
        body.galv-freeres .warning-box{ background: #e6ebff; border-left: 5px solid #cc00cc; border-radius: 20px; padding: 20px 24px; margin: 24px 0; }
        body.galv-freeres .warning-box strong{ color: #cc00cc; display: block; margin-bottom: 8px; font-size: 16px; }

        /* INLINE CTA BOX */
        body.galv-freeres .inline-cta-box{ background: #13217c; border-radius: 20px; padding: 32px; margin: 40px 0; text-align: center; }
        body.galv-freeres .inline-cta-box h3{ color: #fffdfe; font-size: 24px; margin: 0 0 12px 0; line-height: 32px; }
        body.galv-freeres .inline-cta-box p{ color: #fffdfe; font-size: 16px; margin-bottom: 20px; line-height: 26px; }
        body.galv-freeres .inline-cta-box .cta-btn{ background: var(--cta-magenta); color: white; }
        body.galv-freeres .inline-cta-box .cta-btn:hover{ background: #a600a6; }

        /* MISTAKE GRID */
        body.galv-freeres .mistake-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 32px 0; }
        body.galv-freeres .mistake-card{ background: #fef2f2; border: 2px solid #fecaca; border-left: 5px solid var(--error); border-radius: 20px; padding: 24px; transition: all 0.3s ease; }
        body.galv-freeres .mistake-card h4{ color: var(--error); font-size: 18px; margin: 0 0 12px 0; }
        body.galv-freeres .mistake-card p{ font-size: 15px; margin-bottom: 12px; line-height: 24px; }
        body.galv-freeres .mistake-card p:last-child{ margin-bottom: 0; }

        /* EXPERT NOTE */
        body.galv-freeres .expert-note{ background: #e6ebff; border-left: 5px solid #cc00cc; border-radius: 20px; padding: 24px; margin: 40px 0; font-size: 18px; line-height: 28px; }
        body.galv-freeres .expert-note strong{ color: #cc00cc; font-style: normal; }

        /* ===== LEAD CAPTURE ===== */
        body.galv-freeres .lead-capture-section{ background: var(--bg-navy); padding: 60px 0; }

        body.galv-freeres .lead-capture-box{ max-width: 800px; margin: 0 auto; background: white; border-radius: 30px; padding: 40px; box-shadow: 0 12px 40px rgba(0,0,0,0.2); }

        body.galv-freeres .lead-capture-box h2{ color: var(--primary-blue); text-align: center; font-size: 32px; line-height: 42px; margin: 0 0 16px 0; }

        body.galv-freeres .lead-capture-subtitle{ text-align: center; color: var(--text-gray); font-size: 18px; line-height: 28px; margin-bottom: 32px; }

        body.galv-freeres .toolkit-benefits{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 32px; }
        body.galv-freeres .benefit-item{ display: flex; align-items: start; gap: 12px; padding: 12px; background: var(--accent-blue); border-radius: 12px; }
        body.galv-freeres .benefit-icon{ color: var(--success-green); font-size: 20px; flex-shrink: 0; }
        body.galv-freeres .benefit-text{ font-size: 15px; font-weight: 600; color: var(--text-dark); }

        body.galv-freeres .lead-form{ display: grid; gap: 16px; }
        body.galv-freeres .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

        body.galv-freeres .form-group input, body.galv-freeres .form-group select{
            width: 100%;
            padding: 13px 15px;
            border: 2px solid #e6e6e6;
            border-radius: 8px;
            font-size: 16px;
            font-family: var(--font-heading);
            transition: all 0.3s ease;
            color: var(--text-dark);
        }

        body.galv-freeres .form-group input:focus, body.galv-freeres .form-group select:focus{ outline: none; border-color: var(--primary-blue); }

        body.galv-freeres .submit-btn{ width: 100%; padding: 16px; background: #3b5bff; color: white; border: none; border-radius: 10px; font-size: 18px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; font-family: var(--font-body); margin-top: 4px; }
        body.galv-freeres .submit-btn:hover{ background: #13217c; }

        body.galv-freeres .privacy-note{ font-size: 13px; color: var(--text-gray); text-align: center; margin-top: 16px; }

        /* GUIDE CONTENT — inside lead-capture-box */
        body.galv-freeres .guide-content{ display: none; margin-top: 40px; background: var(--accent-blue); border-radius: 20px; padding: 40px; border: 3px solid var(--success-green); }
        body.galv-freeres .guide-content.active{ display: block; animation: slideDown 0.5s ease; }

        @keyframes slideDown {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        body.galv-freeres .guide-content h3{ color: var(--success-green); text-align: center; margin-top: 0; margin-bottom: 24px; }

        body.galv-freeres .checklist-section{ background: white; border-radius: 20px; padding: 24px; margin-bottom: 24px; }
        body.galv-freeres .checklist-section h4{ color: var(--primary-blue); margin-top: 0; margin-bottom: 16px; font-size: 20px; }

        body.galv-freeres .checklist-item{ display: flex; align-items: start; gap: 12px; padding: 12px; margin-bottom: 8px; background: var(--accent-blue); border-radius: 8px; }
        body.galv-freeres .checklist-item:last-child{ margin-bottom: 0; }
        body.galv-freeres .check-icon{ color: var(--success-green); font-size: 20px; flex-shrink: 0; }
        body.galv-freeres .checklist-text{ font-size: 15px; line-height: 24px; }

        /* SECONDARY CTA (inside guide-content) */
        body.galv-freeres .secondary-cta-section{ background: #13217c; border-radius: 20px; padding: 32px; margin: 0 0 24px 0; text-align: center; border: 2px solid var(--primary-blue); }
        body.galv-freeres .secondary-cta-section h3{ color: #fffdfe; font-size: 26px; margin: 0 0 12px 0; line-height: 36px; }
        body.galv-freeres .secondary-cta-section p{ color: #fffdfe; font-size: 17px; margin-bottom: 24px; line-height: 28px; }
        body.galv-freeres .secondary-cta-buttons{ display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
        body.galv-freeres .secondary-cta-buttons .cta-btn{ background: var(--cta-magenta); color: white; }
        body.galv-freeres .secondary-cta-buttons .cta-btn:hover{ background: #a600a6; }

        /* EXPLORE MORE (inside guide-content) */
        body.galv-freeres .explore-more-section{ background: white; border-radius: 20px; padding: 32px; margin-top: 0; border: 2px solid transparent; transition: all 0.3s ease; }
        body.galv-freeres .explore-more-section:hover{ border-color: #a0aeff; }
        body.galv-freeres .explore-more-section h4{ color: var(--primary-blue); text-align: center; margin: 0 0 24px 0; font-size: 24px; }
        body.galv-freeres .explore-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
        body.galv-freeres .explore-card{ background: var(--accent-blue); border: 2px solid transparent; border-radius: 20px; padding: 16px; text-align: center; text-decoration: none; transition: all 0.3s ease; }
        body.galv-freeres .explore-card:hover{ border-color: #a0aeff; transform: translateY(-2px); }
        body.galv-freeres .explore-icon{ font-size: 28px; margin-bottom: 8px; }
        body.galv-freeres .explore-title{ color: var(--text-dark); font-weight: 600; font-size: 14px; }

        /* ===== FAQ SECTION ===== */
        body.galv-freeres .faq-section{ background: var(--text-white); padding: 60px 0; }

        body.galv-freeres .faq-title{ font-family: var(--font-heading); font-size: 36px; line-height: 48px; font-weight: 600; color: var(--primary-blue); margin-bottom: 40px; text-align: center; margin-top: 0; }

        body.galv-freeres .faq-layout{ display: grid; grid-template-columns: 2fr 3fr; gap: 40px; align-items: start; }

        body.galv-freeres .faq-image-col img{ width: 100%; max-width: 420px; height: auto; border-radius: 20px; display: block; position: sticky; top: 20px; }

        body.galv-freeres .faq-items-col{ width: 100%; }

        body.galv-freeres .faq-item{ background: var(--primary-blue); margin-bottom: 18px; overflow: hidden; border-radius: 12px; }

        body.galv-freeres .faq-question{
            padding: 20px 50px 20px 20px;
            cursor: pointer;
            font-size: 20px;
            line-height: 30px;
            font-weight: 400;
            color: var(--text-white);
            position: relative;
            transition: all 0.3s ease;
            user-select: none;
        }

        body.galv-freeres .faq-question::after{ content: "›"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(0deg); font-size: 28px; color: #fff; font-weight: 400; transition: transform 0.3s ease; line-height: 1; }
        body.galv-freeres .faq-question.active::after{ transform: translateY(-50%) rotate(90deg); }

        body.galv-freeres .faq-answer{ background-color: var(--accent-blue); max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding: 0 20px; }
        body.galv-freeres .faq-answer.active{ max-height: 1600px; padding: 20px; }
        body.galv-freeres .faq-answer p{ font-size: 18px; line-height: 28px; color: var(--primary-blue); margin-bottom: 12px; }
        body.galv-freeres .faq-answer ul{ margin: 12px 0; padding-left: 20px; }
        body.galv-freeres .faq-answer li{ margin-bottom: 8px; color: var(--primary-blue); line-height: 26px; font-size: 16px; }

        /* REFERENCE NOTE */
        body.galv-freeres .reference-note{ background: var(--accent-blue); border-radius: 20px; padding: 16px 20px; margin: 32px 0; font-size: 14px; color: #333333; }
        body.galv-freeres .reference-note strong{ color: #333333; }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 1200px) { body.galv-freeres .container{ padding: 0 40px; } }

        @media (max-width: 1024px) {
            body.galv-freeres .faq-layout{ grid-template-columns: 1fr; }
            body.galv-freeres .faq-image-col{ display: none; }
            body.galv-freeres .explore-grid{ grid-template-columns: repeat(4, 1fr); }
        }

        @media (max-width: 768px) {
            body.galv-freeres h1{ font-size: 28px; line-height: 38px; }
            body.galv-freeres h2{ font-size: 26px; line-height: 36px; }
            body.galv-freeres h3{ font-size: 22px; }
            body.galv-freeres h4{ font-size: 18px; }
            body.galv-freeres .container{ padding: 0 20px; }
            body.galv-freeres section{ padding: 40px 0; }
            body.galv-freeres .hero{ padding: 48px 0 40px; }
            body.galv-freeres .hero h1{ font-size: 28px; line-height: 38px; }
            body.galv-freeres .hero-subtitle{ font-size: 16px; line-height: 26px; }
            body.galv-freeres .social-proof, body.galv-freeres .toolkit-benefits, body.galv-freeres .secondary-cta-buttons{ grid-template-columns: 1fr; }
            body.galv-freeres .form-row{ grid-template-columns: 1fr; }
            body.galv-freeres .mistake-grid{ grid-template-columns: 1fr; }
            body.galv-freeres .explore-grid{ grid-template-columns: repeat(2, 1fr); }
            body.galv-freeres .lead-capture-box{ padding: 24px 20px; }
            body.galv-freeres .guide-content{ padding: 24px; }
            body.galv-freeres .faq-layout{ grid-template-columns: 1fr; }
            body.galv-freeres .faq-image-col{ display: none; }
            body.galv-freeres .faq-question{ font-size: 16px; line-height: 24px; padding: 16px 44px 16px 16px; }
            body.galv-freeres .faq-answer p{ font-size: 16px; }
            body.galv-freeres .faq-title{ font-family: var(--font-heading); font-size: 26px; line-height: 36px; font-weight: 600; color: var(--primary-blue); margin-bottom: 20px; text-align: center; margin-top: 0; }
            body.galv-freeres .lead-capture-box h2{ color: var(--primary-blue); text-align: center; font-size: 22px; line-height: 32px; margin: 0 0 16px 0; }
        }
        
        /* DESKTOP / MOBILE TABLE SWITCH */
body.galv-freeres .table-desktop{
    display: block;
}

body.galv-freeres .table-slider{
    display: none;
}

/* MOBILE TABLE SLIDER */
@media (max-width: 768px) {
    body.galv-freeres .table-desktop{
        display: none;
    }

    body.galv-freeres .table-slider{
        display: block;
        margin: 24px 0;
    }

    body.galv-freeres .table-slider-track{
        display: flex;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 8px;
    }

    body.galv-freeres .table-slider-track::-webkit-scrollbar{
        display: none;
    }

    body.galv-freeres .table-slide{
        flex: 0 0 88%;
        scroll-snap-align: start;
    }

    body.galv-freeres .slide-card{
        background: #e6ebff;
        border-radius: 20px;
        padding: 20px;
        border: 2px solid transparent;
        min-height: 100%;
        box-shadow: 0 4px 16px rgba(19, 33, 124, 0.08);
    }

    body.galv-freeres .slide-card h4{
        margin: 0 0 16px 0;
        color: var(--primary-blue);
        font-size: 20px;
        line-height: 28px;
    }

    body.galv-freeres .slide-row{
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 12px 0;
        border-bottom: 1px solid rgba(0,0,0,0.08);
    }

    body.galv-freeres .slide-row:last-child{
        border-bottom: none;
    }

    body.galv-freeres .slide-row span{
        font-size: 13px;
        line-height: 18px;
        color: var(--text-gray);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.4px;
    }

    body.galv-freeres .slide-row strong{
        font-size: 16px;
        line-height: 24px;
        color: var(--text-dark);
        font-weight: 600;
    }

    body.galv-freeres .highlight-slide{
        border-color: var(--primary-blue);
        background: linear-gradient(180deg, #eef2ff 0%, #e6ebff 100%);
    }

    body.galv-freeres .slider-dots{
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 14px;
    }

    body.galv-freeres .slider-dot{
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #c7d2fe;
        transition: all 0.3s ease;
    }

    body.galv-freeres .slider-dot.active{
        width: 22px;
        border-radius: 999px;
        background: var(--primary-blue);
    }
}
