:root {
    --reilink-primary-darker: #111827;  /* gray-900 */
    --reilink-primary-darkest: #1e293b; /* slate-800 */
    --reilink-primary-dark: #0ea5e9;   /* sky-500 */
    --reilink-primary-base: #38bdf8;   /* sky-400 */
    --reilink-primary-light: #7dd3fc;  /* sky-300 */
    --reilink-bg-subtle: #f0f9ff;     /* sky-50 */
    --reilink-accent-gold: #f59e0b;  /* amber-500 */
    --reilink-footer-bg: #1e293b; /* slate-800 for a dark footer */
    --reilink-border-soft-darkbg: #334155; /* slate-700 for dividers on dark bg */
    --reilink-premium-dark: #4c1d95; /* A deep purple for premium */
    --reilink-premium-light: #a78bfa; /* A lighter purple for accents */
    --reilink-footer-text: #94a3b8; /* slate-400 */
    --reilink-footer-heading: #e2e8f0; /* slate-200 */
    --reilink-verified-green: #10b981; /* emerald-500 */
    --reilink-highlight: #f59e0b;      /* amber-500 */
    --reilink-highlight-dark: #d97706; /* amber-600 */
    --reilink-success: #22c55e;     /* green-500 */
    --reilink-partner-dark: #5b21b6;   /* violet-800 */
    --reilink-partner-light: #c4b5fd;  /* violet-300 */
    
    --reilink-hero-original-bg: #1E293B; 

    --text-medium-sage: #94a3b8; 
    --text-dark: #1f2937;     /* gray-800 */
    --text-medium: #4b5563;   /* gray-600 */
    --text-medium-dark: #4b5563;   /* gray-600 */
    --text-light: #9ca3af;    /* gray-400 */
    --text-lightest: #f8fafc;       /* slate-50 */
    --bg-page: #f8fafc;       /* slate-50 */
    --bg-container: #ffffff;
    --border-soft: #e5e7eb;   /* gray-200 */
    --border-medium: #d1d5db;  /* gray-300 */
     --text-success: #16a34a;        /* green-600 */
    
    
    /* Insight Message Styles */
    --insight-warning-bg: #fffbeb;
    --insight-warning-text: #b45309;
    --insight-warning-border: #fde68a;
    --insight-warning-icon: #f59e0b;


    --insight-critical-bg: #fee2e2;
    --insight-critical-text: #b91c1c;
    --insight-critical-border: #fecaca;
    --insight-critical-icon: #ef4444;


    --insight-advice-bg: #e0f2fe;  
    --insight-advice-text: #075985;
    --insight-advice-border: #bae6fd;
    --insight-advice-icon: #38bdf8;
   
    --insight-positive-bg: #ecfdf5;
    --insight-positive-text: #047857;
    --insight-positive-border: #a7f3d0;
    --insight-positive-icon: #10b981;


    --insight-data-bg: #f0fdf4;    
    --insight-data-text: #15803d;  
    --insight-data-border: #bbf7d0;
    --insight-data-icon: #22c55e;  


    --insight-tip-bg: #f8fafc;      
    --insight-tip-text: #475569;    
    --insight-tip-border: #e2e8f0;  
    --insight-tip-icon: #64748b;  
}

/** CONTACT US **/
    /* A subtle background pattern for the info panel */
        .pattern-bg {
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.07'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        /* Custom focus style to remove the default browser ring */
        .custom-input:focus {
            --tw-ring-opacity: 0;
        }

/** ABOUT US **/
    ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
        ::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; }
        ::-webkit-scrollbar-thumb:hover { background: #555; }


        /* User-specified Hero Style */
        .hero-bg-about {
            background: linear-gradient(135deg, var(--reilink-primary-dark) 0%, var(--reilink-primary-darkest) 100%);
            color: white;
            padding-top: 8rem;
            padding-bottom: 6rem;
        }
        .hero-bg-about h1 { color: white; }
        .hero-bg-about .sub-headline { color: var(--reilink-primary-light); }
        /* Ensuring the icon in this specific hero is also light */
        .hero-bg-about .hero-icon { color: var(--reilink-primary-light); }
        /* CTA button style for this specific hero, as per user's snippet */
        .hero-bg-about .cta-button-hero-specific {
             background-color: white;
             color: var(--reilink-primary-dark); /* Matching text-sky-700 */
             font-weight: 600; padding: 0.875rem 2rem;
             border-radius: 0.5rem; transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
             box-shadow: 0 4px 14px 0 rgba(255, 255, 255, 0.1);
             display: inline-block;
        }
        .hero-bg-about .cta-button-hero-specific:hover {
            background-color: var(--reilink-bg-subtle); /* slate-100 equivalent for light hover */
            color: var(--reilink-primary-darkest);
        }




        .section-title-underline::after {
            content: ''; display: block; width: 80px; height: 5px;
            background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
        }
        .left-align-section-title-underline::after {
            content: ''; display: block; width: 80px; height: 5px;
            background-color: var(--reilink-primary-dark); margin: 12px 0 0;
            border-radius: 3px;
        }
       
        .leadership-card-about {
            background-color: var(--bg-container);
            border-radius: 0.75rem;
            padding: 2.5rem;
            box-shadow: 0 10px 25px rgba(0,0,0,0.07);
            border: 1px solid var(--border-soft);
            margin-bottom: 2.5rem;
        }
        .leadership-card-about img.profile-pic {
            width: 180px;
            height: 180px;
            border-radius: 50%;
            object-fit: cover;
            border: 5px solid var(--reilink-primary-base);
            margin-bottom: 1.5rem;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }
        @media (min-width: 768px) {
            .leadership-card-about img.profile-pic {
                float: left;
                margin-right: 2.5rem;
                margin-bottom: 0.5rem;
            }
        }
        .leadership-card-about h3 { font-size: 1.875rem; font-weight: 800; color: var(--text-dark); margin-bottom: 0.375rem; }
        .leadership-card-about .title { font-size: 1.125rem; color: var(--reilink-primary-dark); font-weight: 600; margin-bottom: 1.5rem; }
        .leadership-card-about .bio { font-size: 1rem; color: var(--text-medium); line-height: 1.8; clear: both; }




        .team-section-header {
            margin-bottom: 2.5rem;
        }
        .team-section-header h3 {
            font-size: 1.75rem;
            font-weight: 700;
            color: var(--reilink-primary-darkest);
            display: flex;
            align-items: center;
        }
        .team-section-header h3 i {
            color: var(--reilink-primary-dark);
            margin-right: 0.75rem;
            font-size: 1.5em;
        }


        .team-card-about {
            background-color: var(--bg-container);
            border-radius: 0.75rem; padding: 1.5rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
            border: 1px solid var(--border-soft);
            text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease;
            height: 100%; display: flex; flex-direction: column;
        }
        .team-card-about:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.07); }
        .team-card-about img.profile-pic {
            width: 100px; height: 100px; border-radius: 50%;
            margin-left: auto; margin-right: auto; margin-bottom: 1rem;
            object-fit: cover; border: 3px solid var(--reilink-primary-base);
        }
        .team-card-about h4 { font-size: 1.125rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.25rem; }
        .team-card-about .title { font-size: 0.8rem; color: var(--reilink-primary-dark); font-weight: 500; margin-bottom: 0.75rem; }
        .team-card-about .bio-snippet { font-size: 0.875rem; color: var(--text-medium); line-height: 1.6; flex-grow: 1; }


        .value-card-about {
            background-color: var(--reilink-bg-subtle);
            border-left: 4px solid var(--reilink-primary-dark);
            padding: 1.5rem; border-radius: 0.375rem; height: 100%;
        }
        .value-card-about .icon { font-size: 1.75rem; color: var(--reilink-primary-dark); margin-bottom: 0.75rem; }
        .value-card-about h4 { font-size: 1.25rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.5rem; }


        .text-sky-600 { color: #0284c7; }
        .left-align-paragraph { text-align: left; line-height: 1.75; }
        .left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; line-height: 1.75; }

/** OFFERIAD **/

.hero-bg-offeraid {
    background-color: var(--reilink-primary-darkest); /* Dark, focused hero */
    color: white;
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-offeraid h1 { color: white; }
.hero-bg-offeraid .sub-headline { color: var(--reilink-primary-light); }


.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after { /* For left-aligned titles */
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-gold {
     background-color: var(--reilink-accent-gold);
     color: var(--text-dark); font-weight: 700; padding: 0.875rem 2.5rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.4);
     display: inline-block;
}
.cta-button-gold:hover { background-color: #d97706; /* amber-600 */ }


.problem-card-oa {
    background-color: #fff1f2; /* rose-50 */
    border-left: 4px solid #f43f5e; /* rose-500 */
    padding: 1.5rem; border-radius: 0.5rem;
}
.problem-card-oa h4 { color: #be123c; /* rose-700 */ font-weight: 600; margin-bottom: 0.5rem;}


.feature-spotlight-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
}
.feature-spotlight-card .icon {
    font-size: 2rem; color: var(--reilink-primary-dark); margin-bottom: 0.75rem;
}
.graph-showcase-card {
    background-color: var(--reilink-bg-subtle);
    border: 1px solid var(--reilink-primary-light);
    border-radius: 0.5rem; padding: 1rem; text-align: center;
}
.graph-showcase-card img { max-height: 200px; margin: 0 auto 0.75rem auto; border-radius: 0.375rem; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }


.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; }

/** Header **/
.reilink-nav {
    background-image: linear-gradient(to right, #2D3E50, #366684);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* Softer shadow */
    position: fixed;
    width: 100%;
    z-index: 1000;
    height: 4.5rem; /* Increased height for a more substantial feel */
}
.reilink-nav .nav-container {
    height: 100%;
}
.reilink-nav .nav-item {
    display: flex;
    align-items: center;
    height: 100%;
    position: relative; /* For dropdown positioning */
}
.reilink-nav .nav-link {
    color: white;
    padding: 0 1rem; /* Adjusted padding */
    height: 100%;
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 0.875rem; /* text-sm */
    text-transform: uppercase;
    letter-spacing: 0.025em;
    border-bottom: 4px solid transparent; /* Thicker border for active/hover */
    transition: color 0.2s ease, border-color 0.2s ease;
}
.reilink-nav .nav-link:hover,
.reilink-nav .nav-item:hover > .nav-link { /* Target link on item hover */
    color: var(--reilink-primary-dark);
    border-bottom-color: var(--reilink-primary-dark);
}
.reilink-nav .nav-link i.fa-angle-down {
    font-size: 0.75em;
    margin-left: 0.35rem;
    transition: transform 0.2s ease-in-out;
}
.reilink-nav .nav-item:hover .nav-link i.fa-angle-down {
    transform: rotate(180deg);
}


        /* Mega Menu Styles */
.mega-menu {
    display: none;
    position: absolute;
    top: 100%; /* Position below the nav item */
    left: 50%; /* Start from center of nav item */
    transform: translateX(-50%); /* Center the mega menu */
    min-width: 700px; /* Minimum width for mega menu */
    max-width: 1100px; /* Max width */
    width: auto; /* Allow it to shrink if content is less */
    background-color: white;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12); /* Softer, more modern shadow */
    border: 1px solid var(--border-soft);
    border-top: none; /* Remove top border as it connects to nav */
    border-radius: 0 0 0.5rem 0.5rem; /* Rounded bottom corners */
    padding: 2rem; /* p-8 */
    z-index: 999;
}
.nav-item:hover .mega-menu { display: flex; } /* Show on hover of nav-item */

.mega-menu-grid {
    display: grid;
    gap: 2rem; /* gap-8 */
    width: 100%;
}
.mega-menu-column h4 {
    font-size: 0.8rem; /* Slightly smaller */
    font-weight: 700; /* bold */
    color: var(--text-dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem; /* mb-4 */
    padding-bottom: 0.5rem; /* pb-2 */
    border-bottom: 1px solid var(--reilink-primary-light);
    display: flex;
    align-items: center;
}
.mega-menu-column h4 i {
    color: var(--reilink-primary-dark);
    margin-right: 0.5rem;
    font-size: 0.9em;
}
.mega-menu-column .menu-link-item {
    display: block;
    padding: 0.5rem 0; /* py-2 */
    transition: color 0.2s ease;
    text-decoration: none;
}
.mega-menu-column .menu-link-item:hover .link-title {
    color: var(--reilink-primary-dark);
}
.mega-menu-column .link-title {
    font-size: 0.9rem; /* Slightly larger */
    font-weight: 500;
    color: var(--text-medium);
    display: flex;
    align-items: center;
}
.mega-menu-column .link-title i {
    width: 20px;
    margin-right: 0.625rem; /* mr-2.5 */
    color: var(--reilink-primary-base);
    font-size: 0.9em;
}
.mega-menu-column .link-description {
    font-size: 0.75rem; /* text-xs */
    color: var(--text-light);
    padding-left: calc(20px + 0.625rem); /* Align with title text */
    line-height: 1.4;
}

.mega-menu-promo-card {
    background-color: var(--reilink-bg-subtle);
    border-radius: 0.5rem; padding: 1.25rem; /* p-5 */
    margin-top: 1.5rem; border: 1px solid var(--reilink-primary-light);
}
.mega-menu-promo-card h5 { font-weight: 700; color: var(--reilink-primary-dark); font-size: 1rem; margin-bottom: 0.25rem;}
.mega-menu-promo-card p { font-size: 0.8rem; color: var(--text-medium); margin-bottom: 0.75rem; }
.mega-menu-promo-card .cta-link-xs {
    font-size: 0.75rem; font-weight: 600; color: var(--reilink-primary-dark);
    padding: 0.375rem 0.75rem; border: 1px solid var(--reilink-primary-dark);
    border-radius: 0.25rem; display: inline-block;
}
 .mega-menu-promo-card .cta-link-xs:hover { background-color: var(--reilink-primary-dark); color:white; }




/* Simple Dropdown for less content-heavy items */
.simple-dropdown {
    display: none; position: absolute; top: 100%; left: 0; /* Align to left of nav item */
    background-color: white;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    border: 1px solid var(--border-soft);
    border-top: none;
    border-radius: 0 0 0.5rem 0.5rem;
    min-width: 240px; /* Increased min-width */
    z-index: 999;
}
.nav-item:hover .simple-dropdown { display: block; }
.simple-dropdown a {
    display: flex; align-items: center;
    padding: 0.75rem 1.25rem; /* Increased padding */
    font-size: 0.875rem; color: var(--text-medium);
    transition: background-color 0.2s ease, color 0.2s ease;
}
.simple-dropdown a i {
    width: 20px; margin-right: 0.75rem; color: var(--reilink-primary-base);
}
.simple-dropdown a:hover { background-color: var(--reilink-bg-subtle); color: var(--reilink-primary-dark); }


.cta-button-nav {
    font-size: 0.8rem; font-weight: 600; padding: 0.6rem 1.2rem;
    border-radius: 0.375rem; transition: background-color 0.3s ease;
}
.cta-button-nav.primary { background-color: var(--reilink-primary-dark); color: white; }
.cta-button-nav.primary:hover { background-color: #0284c7; }
.cta-button-nav.outline {  color: white; padding: calc(0.6rem - 2px) calc(1.2rem - 2px);}
.cta-button-nav.outline:hover { background-color: var(--reilink-bg-subtle); color:var(--reilink-primary-dark); }


/** Footer **/
.reilink-footer {
    background-color: var(--reilink-footer-bg);
    color: var(--reilink-footer-text);
    padding-top: 3rem; /* pt-12 */
    padding-bottom: 3rem; /* pb-12 */
}
@media (min-width: 1024px) { /* lg breakpoint */
    .reilink-footer {
        padding-top: 4rem; /* lg:pt-16 */
        padding-bottom: 4rem; /* lg:pb-16 */
    }
}
.reilink-footer h5 {
    font-size: 0.875rem; /* text-sm */
    font-weight: 600; /* semibold */
    color: var(--reilink-footer-heading);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem; /* mb-4 */
}
.reilink-footer ul li {
    margin-bottom: 0.5rem; /* space-y-2 equivalent */
}
.reilink-footer ul a {
    font-size: 0.875rem; /* text-sm */
    color: var(--reilink-footer-text);
    transition: color 0.2s ease;
    text-decoration: none;
}
.reilink-footer ul a:hover {
    color: var(--reilink-footer-link-hover);
    text-decoration: underline;
}
.reilink-footer .newsletter-form input[type="email"] {
    background-color: #334155; /* slate-700 */
    border-color: #475569; /* slate-600 */
    color: #e2e8f0; /* slate-200 */
    padding: 0.625rem 0.75rem; /* py-2.5 px-3 */
    border-radius: 0.375rem 0 0 0.375rem;
    font-size: 0.875rem;
}
.reilink-footer .newsletter-form input[type="email"]::placeholder {
    color: #64748b; /* slate-500 */
}
.reilink-footer .newsletter-form button {
    background-color: var(--reilink-primary-dark);
    color: white;
    padding: 0.625rem 1rem;
    border-radius: 0 0.375rem 0.375rem 0;
    font-size: 0.875rem;
    font-weight: 500;
}
.reilink-footer .newsletter-form button:hover {
    background-color: #0284c7; /* sky-600 */
}
.reilink-footer .social-icons a {
    color: var(--reilink-footer-text);
    transition: color 0.2s ease;
    font-size: 1.25rem; /* text-xl */
}
.reilink-footer .social-icons a:hover {
    color: var(--reilink-footer-link-hover);
}
.footer-bottom {
    border-top: 1px solid var(--reilink-border-soft-darkbg);
    padding-top: 2rem; /* pt-8 */
    margin-top: 2rem; /* mt-8 */
}


body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-page);
    color: var(--text-medium);
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}



::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

nav a.active:not(.noactive){color: var(--reilink-primary-dark)!important;}

/**HOME**/
 
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #555; }




.hero-section-gradient {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); /* sky-50 to sky-100 */
    padding-top: 9rem;
    padding-bottom: 7rem;
}
.section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block; text-align:center;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-secondary {
    background-color: var(--bg-container);
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-light);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px);
    border-radius: 0.5rem; transition: all 0.3s ease; display: inline-block;
}
.cta-button-secondary:hover {
    background-color: #f0f9ff; /* sky-50 on hover */
    border-color: var(--reilink-primary-dark);
}




.pillar-card {
    background-color: var(--bg-container); border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.03);
    border: 1px solid var(--border-soft); transition: all 0.3s ease-in-out; text-align: center;
    display: flex; flex-direction: column;
    justify-content: space-between;
}
.pillar-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0,0,0,.07),0 10px 10px -5px rgba(0,0,0,.04);
    border-color: var(--reilink-primary-base);
}
.pillar-card .icon { font-size: 2.5rem; margin-bottom: 1rem; color: var(--reilink-primary-dark); }
.pillar-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.5rem; }
.pillar-card p { font-size: 0.875rem; color: var(--text-medium); margin-bottom: 1.25rem; flex-grow: 1;}
.pillar-card .cta-link {
    font-size: 0.875rem; font-weight: 600; color: var(--reilink-primary-dark);
    padding: 0.5rem 0; border-bottom: 2px solid transparent;
    transition: border-color 0.3s ease;
}
.pillar-card .cta-link:hover { border-color: var(--reilink-primary-dark); }




.repository-spotlight-section {
    background-color: #111827; /* gray-900 - very dark */
    color: #d1d5db; /* gray-300 for base text */
    padding: 4rem 1.5rem;
}
.repository-spotlight-section .main-headline {
    color: white;
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: 0.5rem;
}
@media (min-width: 640px) { .repository-spotlight-section .main-headline { font-size: 3rem; line-height: 1; } }
@media (min-width: 1024px) { .repository-spotlight-section .main-headline { font-size: 3.75rem; line-height: 1; } }
.repository-spotlight-section .sub-headline-blue {
    color: var(--reilink-primary-base);
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.5rem;
}
 @media (min-width: 1024px) { .repository-spotlight-section .sub-headline-blue { font-size: 2.25rem; line-height: 2.5rem; } }
.repository-spotlight-section .description-paragraph {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-bottom: 1.5rem;
    line-height: 1.75;
}
.repository-spotlight-section .benefits-list {
    max-width: 48rem; margin-left: auto; margin-right: auto;
    text-align: left; list-style: none; padding-left: 0;
}
 .repository-spotlight-section .benefits-list li { display: flex; align-items: flex-start; }
.repository-spotlight-section .benefits-list .fa-check-circle { color: var(--reilink-primary-base); margin-right: 0.5rem; margin-top: 0.2rem; }




.repository-spotlight-section .cta-link-repo {
    display: inline-block; margin-top: 2rem;
    color: var(--reilink-primary-base); font-weight: 600;
    padding: 0.75rem 1.5rem; border: 2px solid var(--reilink-primary-base);
    border-radius: 0.375rem; transition: all 0.3s ease;
}
.repository-spotlight-section .cta-link-repo:hover { background-color: var(--reilink-primary-base); color: var(--reilink-primary-darkest); }








.philosophy-plane-card {
    background-color: white; border-radius: 0.75rem; padding: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);
    text-align: center; display: flex; flex-direction: column; height: 100%;
}
.philosophy-plane-title {
    font-size: 1.5rem; font-weight: 600; color: #1e293b; margin-bottom: 1.5rem;
}
.philosophy-component-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: auto;
}
.philosophy-component-card {
    background-color: #f0f9ff; /* Changed to subtle sky blue for contrast */
    border-radius: 0.5rem; padding: 1rem; text-align: center;
    border: 1px solid var(--reilink-primary-light); /* Lighter border */
    display: flex;
    flex-direction: column; justify-content: center; align-items: center; height: 100%;
}
.philosophy-component-card .icon { font-size: 1.75rem; color: #0ea5e9; margin-bottom: 0.5rem; }
.philosophy-component-card h4 { font-size: 1rem; font-weight: 500; color: #334155; margin-bottom: 0.25rem;}
.philosophy-component-card p { font-size: 0.875rem; color: #64748b; }




.intersection-graphic { display: flex; justify-content: center; align-items: center; margin: 2rem 0; }
.intersection-graphic .circle { width: 50px; height: 50px; border-radius: 50%; background-color: #0ea5e9; color: white; display: flex; justify-content: center; align-items: center; font-weight: bold; box-shadow: 0 0 15px rgba(14, 165, 233, 0.5); }
.intersection-graphic .line { height: 2px; width: 50px; background-color: #94a3b8; }

.role-card {
    background-color: white; border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);
    text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.role-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); }
.role-card .icon { font-size: 2rem; color: #0ea5e9; margin-bottom: 0.75rem; }
.role-card h4 { font-size: 1.25rem; font-weight: 600; color: #1e293b; margin-bottom: 0.5rem; }
.role-card p { font-size: 0.9rem; color: #64748b; }




.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; }


/**DEAL LABORATORY**/
.hero-bg-deal-lab-pillar { /* New class for this elaborate hero */
    background-color: var(--bg-container);
    padding-top: 9rem;
    padding-bottom: 7rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px; /* Slightly wider/thicker */
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after { /* For left-aligned titles */
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; }
.cta-button-outline {
    background-color: transparent; color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px);
    border-radius: 0.5rem; transition: all 0.3s ease; display: inline-block;
}
.cta-button-outline:hover { background-color: var(--reilink-primary-dark); color: white; }


.problem-card {
    background-color: #fff1f2; /* rose-50 */
    border-left: 4px solid #f43f5e; /* rose-500 */
    padding: 1.5rem; border-radius: 0.5rem; margin-bottom: 1rem;
}
.problem-card h4 { color: #be123c; /* rose-700 */ }


.tool-chapter { /* For sections IV.A through IV.G */
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--border-soft);
}
.tool-chapter:last-of-type { border-bottom: none; }
.tool-chapter h3 { color: var(--reilink-primary-darkest); margin-bottom: 0.75rem; }
.tool-chapter .benefits-list li { margin-bottom: 0.5rem; display:flex; align-items:flex-start; }
.tool-chapter .benefits-list .fa-check-circle { color: #10b981; /* emerald-500 */ margin-right: 0.5rem; margin-top: 0.125rem; flex-shrink: 0;}
.tool-chapter .cta-link-cluster {
    display: inline-block; margin-top: 1.5rem;
    color: var(--reilink-primary-dark); font-weight: 600;
    padding: 0.5rem 1rem; border: 2px solid var(--reilink-primary-dark);
    border-radius: 0.375rem; transition: all 0.3s ease;
}
.tool-chapter .cta-link-cluster:hover { background-color: var(--reilink-primary-dark); color: white; }


.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; }

/**CALCULIZERS**/
.hero-bg-calculizers-pillar {
    background-color: var(--bg-container);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-pillar {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-pillar:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-outline-pillar {
    background-color: transparent;
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px); /* Adjust padding for border */
    border-radius: 0.5rem; transition: all 0.3s ease;
}
.cta-button-outline-pillar:hover {
    background-color: var(--reilink-primary-dark);
    color: white;
}


.strategy-chapter {
    padding: 3rem 0; /* py-12 */
    border-bottom: 1px solid var(--border-soft);
}
.strategy-chapter:last-child {
    border-bottom: none;
}
.strategy-icon {
    font-size: 3rem; /* text-5xl */
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
}
.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }
.hover\:bg-sky-700:hover { background-color: #0369a1; }
.bg-sky-50 { background-color: #f0f9ff; }

/** RESOURCES **/
.hero-bg-resources {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.75rem 1.5rem; /* Slightly smaller for cards */
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.2);
     display: inline-block; /* Ensure it's an inline block */
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.resource-category-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem; /* 12px */
    border: 1px solid var(--border-soft);
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    text-align: center;
    height: 100%; /* For equal height cards */
}
.resource-category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-color: var(--reilink-primary-base);
}
.resource-category-card .icon {
    font-size: 2.75rem; /* Larger icon */
    margin-bottom: 1rem;
    color: var(--reilink-primary-dark);
    line-height: 1; /* Ensure icon is centered */
}
.resource-category-card h3 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700; /* bold */
    color: var(--text-dark);
    margin-bottom: 0.75rem;
}
.resource-category-card p {
    font-size: 0.875rem; /* text-sm */
    color: var(--text-medium);
    margin-bottom: 1.5rem;
    flex-grow: 1; /* Allows description to take space before button */
}
.text-sky-600 { color: #0284c7; }
.search-bar-resources {
    display: flex;
    max-width: 600px;
    margin: 2rem auto 0 auto; /* Increased top margin */
}
.search-bar-resources input {
    flex-grow: 1;
    border: 1px solid var(--border-medium);
    border-right: none;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem 0 0 0.5rem;
    font-size: 1rem;
}
.search-bar-resources input:focus {
    outline: none;
    border-color: var(--reilink-primary-dark);
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.2);
}
.search-bar-resources button {
    background-color: var(--reilink-primary-dark);
    color: white;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: 0 0.5rem 0.5rem 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.search-bar-resources button:hover {
    background-color: #0284c7; /* sky-600 */
}

/**PROFILES**/
.hero-bg-profiles {
    background-color: var(--bg-container);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.benefit-icon-lg {
    font-size: 2.5rem; /* text-4xl */
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
    width: 64px; height: 64px; /* w-16 h-16 */
    background-color: var(--reilink-bg-subtle);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--reilink-primary-light);
}
.profile-feature-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
}
.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }
.left-align-paragraph {
    text-align: left;
    max-width: 48rem; /* max-w-2xl or similar */
    margin-left: auto;
    margin-right: auto;
}
/** REIU NEW **/
  /* Homepage Styles Integration */
      .REIU-hero-section-gradient {
        background: linear-gradient(
          135deg,
          #f0f9ff 0%,
          #e0f2fe 100%
        ); /* sky-50 to sky-100 */
        padding-top: 9rem;
        padding-bottom: 7rem;
      }
      .REIU-section-title-underline::after {
        content: "";
        display: block;
        width: 80px;
        height: 5px;
        background-color: var(--reilink-primary-dark);
        margin: 12px auto 0;
        border-radius: 3px;
      }
      .REIU-left-align-section-title-underline::after {
        /* Not explicitly used but kept for consistency */
        content: "";
        display: block;
        width: 80px;
        height: 5px;
        background-color: var(--reilink-primary-dark);
        margin: 12px 0 0;
        border-radius: 3px;
      }
      .REIU-cta-button-primary {
        background-color: var(--reilink-primary-dark);
        color: white;
        font-weight: 600;
        padding: 0.875rem 2rem;
        border-radius: 0.5rem;
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
        box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
        display: inline-block;
        text-align: center;
      }
      .REIU-cta-button-primary:hover {
        background-color: #0284c7; /* sky-600 */
      }
      .REIU-cta-button-secondary {
        /* Not explicitly used but kept for consistency */
        background-color: var(--bg-container);
        color: var(--reilink-primary-dark);
        border: 2px solid var(--reilink-primary-light);
        font-weight: 600;
        padding: calc(0.875rem - 2px) calc(2rem - 2px);
        border-radius: 0.5rem;
        transition: all 0.3s ease;
        display: inline-block;
      }
      .REIU-cta-button-secondary:hover {
        background-color: #f0f9ff; /* sky-50 on hover */
        border-color: var(--reilink-primary-dark);
      }

      /* REIU Specific Overrides/Adjustments to match homepage feel */
      .REIU-hero-bg-reiu-uplifting {
        /* Renamed for clarity and aligned with homepage gradient */
        background: linear-gradient(
          135deg,
          #f0f9ff 30%,
          #e0f2fe 100%
        ); /* Lighter, uplifting sky blue gradient */
      }
      .REIU-page-title-reiu {
        /* H1 - Adjusting to fit homepage heading hierarchy better */
        font-size: 2.75rem; /* ~44px */
        font-weight: 900; /* black */
        color: var(--reilink-primary-darkest); /* slate-800 */
        line-height: 1.2;
        margin-bottom: 1.5rem;
      }
      @media (min-width: 768px) {
        .REIU-page-title-reiu {
          font-size: 3.5rem; /* ~56px, slightly adjusted for balance */
        }
      }
      .REIU-page-subtitle-reiu {
        /* Hero Subtitle */
        font-size: 1.25rem; /* text-xl */
        color: var(--text-medium); /* slate-700 from homepage equivalent */
        max-width: 48rem;
        margin: 0 auto 2rem auto;
        line-height: 1.75;
      }
      .REIU-section-main-title {
        /* H2 for major sections, applying underline from homepage */
        font-size: 2.25rem;
        font-weight: 800;
        color: var(--reilink-primary-darkest);
        text-align: center;
        margin-bottom: 1rem;
      }
      @media (min-width: 768px) {
        .REIU-section-main-title {
          font-size: 2.75rem;
        }
      }
      .REIU-section-main-subtitle {
        /* Subtitle for major sections */
        font-size: 1.125rem;
        color: var(--text-medium); /* slate-600 equivalent */
        text-align: center;
        max-width: 44rem;
        margin: 0 auto 3rem auto;
        line-height: 1.75;
      }

      /* Pillar Section Full Width Background, Content Centered */
      .REIU-pillar-section {
        padding: 4rem 0;
        /* Remove background-color from here and apply directly to the section tag in HTML */
      }
      /* Specific background colors applied directly to the section tag in HTML */
      /* .pillar-section.bg-white { background-color: var(--bg-container); } */
      /* .pillar-section.bg-slate-50 { background-color: var(--bg-page); } */

      .REIU-pillar-title-container {
        text-align: center; /* Keep parent centered for icon/h3 */
        margin-bottom: 3rem;
        width: 1200px;
        margin: 0 auto;
      }
      .REIU-pillar-title-container .REIU-icon-accent-pillar {
        /* Specific class for pillar icons */
        font-size: 3rem; /* Larger icon */
        margin-bottom: 1rem;
        display: inline-block;
      }
      .REIU-pillar-title-container h3 {
        /* H3 for Pillar Title */
        font-size: 2.25rem; /* Increased size */
        font-weight: 700;
        color: var(--text-dark); /* gray-900 */
        margin-bottom: 0.75rem;
      }
      /* Specific style for the pillar intro paragraph */
      .REIU-pillar-title-container p.REIU-pillar-intro {
        font-size: 1.125rem;
        color: var(--text-medium);
        line-height: 1.7;
        text-align: center; /* Default for mobile/tablet */
      }
      @media (min-width: 1024px) { /* Adjust breakpoint as needed for desktop */
        .REIU-pillar-title-container p.REIU-pillar-intro {
          max-width: 1200px; /* Desired width on desktop */
          margin: 0 auto; /* Center the block on larger screens */
          text-align: left; /* Left align text on desktop */
        }
      }

      .REIU-icl-feature-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3rem;
        padding: 3rem 0;
        border-bottom: 1px solid var(--border-soft); /* gray-200 for subtle separator */
      }
      .REIU-icl-feature-block:last-of-type {
        border-bottom: none;
        padding-bottom: 1rem;
      }
      @media (min-width: 1024px) {
        .REIU-icl-feature-block {
          flex-direction: row;
        }
        .REIU-icl-feature-block.lg\:flex-row-reverse {
          flex-direction: row-reverse;
        }
      }
      .REIU-icl-feature-text {
        flex: 1;
        max-width: 600px;
      }
      .REIU-icl-feature-text h4 {
        /* H4 for ICL Feature Title */
        font-size: 1.75rem;
        font-weight: 700;
        color: var(--reilink-primary-dark); /* sky-500 */
        margin-bottom: 1rem;
      }
      .REIU-icl-feature-text p {
        font-size: 1.05rem;
        color: var(--text-medium); /* slate-700 equivalent */
        line-height: 1.8;
        margin-bottom: 1rem;
      }
      .REIU-icl-feature-text .REIU-pro-tip {
        font-size: 0.9rem;
        color: #0369a1; /* sky-700 */
        background-color: var(--reilink-bg-subtle); /* sky-50 */
        padding: 0.75rem 1rem;
        border-radius: 0.375rem;
        margin-top: 1rem;
        display: inline-block;
        border-left: 3px solid var(--reilink-primary-dark); /* sky-500 */
      }
      .REIU-icl-feature-image-container {
        flex: 1;
        max-width: 550px;
        width: 100%;
      }
      .REIU-icl-feature-image {
        border-radius: 0.75rem;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        width: 100%;
        aspect-ratio: 16/10;
        background-color: var(--border-soft); /* gray-200 */
        display: flex;
        align-items: center;
        justify-content: center;
        font-style: italic;
        color: var(--text-medium);
      }

      .REIU-cluster-link-section {
        padding: 4rem 0 0 0;
        background-color: var(--reilink-bg-subtle);
      }
      .REIU-cluster-link-card-v2 {
        background-color: var(--bg-container);
        border-radius: 0.75rem;
        padding: 2rem;
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
        text-align: center;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        border: 1px solid var(--border-soft); /* Added for consistency with pillar-card */
      }
      .REIU-cluster-link-card-v2:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
        border-color: var(--reilink-primary-base); /* Hover border color */
      }
      .REIU-cluster-link-card-v2 .icon {
        font-size: 2.5rem;
        color: var(--reilink-primary-dark); /* Consistent primary color */
        margin-bottom: 1rem;
      }
      .REIU-cluster-link-card-v2 h3 {
        font-size: 1.375rem;
        font-weight: 700;
        color: var(--text-dark);
        margin-bottom: 0.75rem;
      }
      .REIU-cluster-link-card-v2 p {
        font-size: 0.95rem;
        color: var(--text-medium);
        margin-bottom: 1.5rem;
        flex-grow: 1;
      }
      .REIU-final-cta-section {
        background: linear-gradient(
          135deg,
          #0ea5e9 0%,
          #0284c7 100%
        ); /* Sky-500 to Sky-600 */
        color: white; /* Ensure text is white for contrast */
      }

      /* Specific colors for pillar icons and buttons based on REIU page design */
      .text-sky-600 {
        color: #0284c7;
      } /* Already defined in homepage */
      .text-emerald-500 {
        color: #10b981;
      }
      .text-emerald-600 {
        color: #059669;
      }
      .text-amber-500 {
        color: #f59e0b;
      }
      .text-amber-600 {
        color: #d97706;
      }
      .bg-emerald-500 {
        background-color: #10b981;
      }
      .hover\:bg-emerald-600:hover {
        background-color: #059669;
      }
      .bg-amber-500 {
        background-color: #f59e0b;
      }
      .hover\:bg-amber-600:hover {
        background-color: #d97706;
      }



/**REIU**/
.hero-bg-reiu-v2 {
    background: linear-gradient(135deg, #f0f9ff 30%, #e0f2fe 100%); /* Lighter, uplifting sky blue gradient */
}
.page-title-reiu { /* H1 */
    font-size: 2.75rem; /* ~44px */
    font-weight: 900; /* black */
    color: #1e293b; /* slate-800 */
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
    .page-title-reiu {
        font-size: 3.5rem; /* ~56px, slightly adjusted for balance */
    }
}
.page-subtitle-reiu { /* Hero Subtitle */
    font-size: 1.25rem; /* text-xl */
    color: #334155; /* slate-700 */
    max-width: 48rem;
    margin: 0 auto 2rem auto;
    line-height: 1.75;
}
.section-main-title { /* H2 for major sections */
    font-size: 2.25rem;
    font-weight: 800;
    color: #1e293b;
    text-align: center;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .section-main-title {
        font-size: 2.75rem;
    }
}
.section-main-subtitle { /* Subtitle for major sections */
    font-size: 1.125rem;
    color: #475569;
    text-align: center;
    max-width: 44rem;
    margin: 0 auto 3rem auto;
    line-height: 1.75;
}


.pillar-section {
    padding: 4rem 0;
}
.pillar-section.bg-white {
    background-color: white;
}
 .pillar-section.bg-slate-50 {
    background-color: #f8fafc;
}


.pillar-title-container {
    text-align: center;
    margin-bottom: 3rem;
}
.pillar-title-container .icon-accent-pillar { /* Specific class for pillar icons */
    font-size: 3rem; /* Larger icon */
    margin-bottom: 1rem;
    display: inline-block; /* To allow margin auto */
}
.pillar-title-container h3 { /* H3 for Pillar Title */
    font-size: 2.25rem; /* Increased size */
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.75rem;
}
.pillar-title-container p.pillar-intro {
    font-size: 1.125rem;
    color: #4b5563;
    max-width: 44rem; /* Wider for more text */
    margin: 0 auto;
    line-height: 1.7;
}


.icl-feature-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem; /* Increased gap */
    padding: 3rem 0; /* Increased padding */
    border-bottom: 1px solid #f1f5f9; /* slate-100 for subtle separator */
}
 .icl-feature-block:last-of-type { /* Remove border from last item in a pillar */
    border-bottom: none;
    padding-bottom: 1rem; /* Adjust if needed */
}
@media (min-width: 1024px) {
    .icl-feature-block {
        flex-direction: row;
    }
    .icl-feature-block.lg\:flex-row-reverse {
        flex-direction: row-reverse;
    }
}
.icl-feature-text {
    flex: 1;
    max-width: 600px; /* Control text width */
}
.icl-feature-text h4 { /* H4 for ICL Feature Title */
    font-size: 1.75rem; /* Increased size */
    font-weight: 700;
    color: #0ea5e9;
    margin-bottom: 1rem; /* More space */
}
.icl-feature-text p {
     font-size: 1.05rem; /* Slightly larger */
     color: #334155;
     line-height: 1.8; /* Increased line height */
     margin-bottom: 1rem;
}
.icl-feature-text .pro-tip {
    font-size: 0.9rem;
    color: #0369a1; /* sky-700 */
    background-color: #f0f9ff; /* sky-50 */
    padding: 0.75rem 1rem;
    border-radius: 0.375rem; /* rounded-md */
    margin-top: 1rem;
    display: inline-block;
    border-left: 3px solid #0ea5e9;
}
.icl-feature-image-container {
    flex: 1;
    max-width: 550px;
    width: 100%;
}
.icl-feature-image {
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    width: 100%;
    aspect-ratio: 16/10;
    background-color: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: italic;
    color: #64748b;
}


.cluster-link-section {
    padding: 4rem 0;
    background-color: #f0f9ff;
}
.cluster-link-card-v2 {
    background-color: white;
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 6px 12px rgba(0,0,0,0.06);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    /* Removed top border for cleaner look */
}
.cluster-link-card-v2:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}
.cluster-link-card-v2 .icon {
    font-size: 2.5rem;
    color: #0ea5e9;
    margin-bottom: 1rem;
}
.cluster-link-card-v2 h3 {
    font-size: 1.375rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.75rem;
}
.cluster-link-card-v2 p {
    font-size: 0.95rem;
    color: #475569;
    margin-bottom: 1.5rem;
    flex-grow: 1;
}
.cta-button-pillar-v2 { /* Updated CTA for pillar sections */
    padding: 0.875rem 2.25rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 1.5rem; /* Added margin top */
}
.cta-button-pillar-v2:hover {
    transform: translateY(-2px);
}
.final-cta-section {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); /* Sky-500 to Sky-600 */
}

/** COMMUNITY **/
.hero-bg-communities-feature {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); /* Light blue gradient */
}
.feature-icon-community {
    background-color: #38bdf8; /* sky-400 */
    color: white;
    padding: 0.75rem; /* p-3 */
    border-radius: 0.5rem; /* rounded-lg */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem; /* mb-4 */
}
.feature-card-community-hover {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.feature-card-community-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.community-type-card {
    background: white;
    border: 1px solid #e5e7eb; /* slate-200 */
    border-radius: 0.5rem; /* rounded-lg */
    padding: 1rem; /* p-4 */
    text-align: center;
    transition: all 0.3s ease;
}
.community-type-card:hover {
    border-color: #0ea5e9; /* sky-500 */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/** REVIEWS **/

.hero-bg-reviews {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); /* Light sky blue gradient */
}
.review-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}
.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); /* shadow-2xl */
}
.star-rating .fas {
    color: #facc15; /* Tailwind yellow-400 */
}
.star-rating .far {
    color: #e5e7eb; /* Tailwind gray-300 */
}

/**OFFER AID**/
.feature-icon {
    background-color: #0ea5e9; /* sky-500 */
    color: white;
    padding: 0.75rem; /* p-3 */
    border-radius: 0.5rem; /* rounded-lg */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem; /* mb-4 */
}
 .feature-card-hover {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.feature-card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}


/**Property Walkthrough**/

.hero-bg-walkthrough {
    background-color: var(--bg-container);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-outline {
    background-color: transparent;
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px);
    border-radius: 0.5rem; transition: all 0.3s ease;
}
.cta-button-outline:hover {
    background-color: var(--reilink-primary-dark);
    color: white;
}
.pain-point-card {
    background-color: #fff5f5; /* red-50 with a hint more red */
    border-left: 4px solid #ef4444; /* red-500 */
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
}
.feature-item-vertical {
    display: flex;
    align-items: flex-start; /* Align icon with start of text */
    gap: 1rem; /* Space between icon and text */
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--border-soft);
}
.feature-item-vertical:last-child {
    border-bottom: none;
}
.feature-item-vertical .icon {
    font-size: 1.75rem; /* text-3xl */
    color: var(--reilink-primary-dark);
    width: 40px; /* Fixed width for alignment */
    flex-shrink: 0;
    margin-top: 0.125rem; /* Adjust to align with text better */
}
.feature-item-vertical h4 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.25rem;
}
.feature-item-vertical p {
    font-size: 0.9rem; /* Slightly smaller than text-sm */
    color: var(--text-medium);
}
.how-it-works-step {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
}
.how-it-works-step .step-number {
    width: 48px; height: 48px;
    background-color: var(--reilink-primary-dark);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem; font-weight: 700;
    flex-shrink: 0;
}
.text-sky-600 { color: #0284c7; }

/** COURSES **/
.hero-bg-courses {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%); /* Dark Blue to Indigo */
}
.section-title-courses {
    font-size: 2.5rem; /* text-4xl */
    font-weight: 800; /* extrabold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 1rem;
    line-height: 1.2;
}
.section-subtitle-courses {
    font-size: 1.125rem; /* text-lg */
    color: #475569; /* slate-600 */
    max-width: 42rem; /* max-w-xl */
    margin: 0 auto 3rem auto; /* mb-12 */
    line-height: 1.75;
}
.course-category-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-top: 4px solid #0ea5e9; /* Sky-500 accent */
}
.course-category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.course-category-card .icon-container-courses {
    width: 60px;
    height: 60px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    background-color: #e0f2fe; /* sky-100 */
}
.course-category-card .icon-container-courses i {
    font-size: 1.75rem; /* text-3xl */
    color: #0284c7; /* sky-600 */
}
.course-category-card h3 {
    font-size: 1.375rem;
    font-weight: 700;
    color: #111827; /* gray-900 */
    margin-bottom: 0.75rem;
}
.course-category-card p.description {
    font-size: 0.95rem;
    color: #4b5563; /* gray-600 */
    line-height: 1.625;
    flex-grow: 1; /* Makes description take available space */
    margin-bottom: 1.5rem;
}
.course-category-card .cta-link {
    font-weight: 600;
    color: #0ea5e9; /* sky-500 */
    transition: color 0.3s ease;
    display: inline-block;
    margin-top: auto; /* Pushes link to bottom */
}
.course-category-card .cta-link:hover {
    color: #0284c7; /* sky-600 */
}
.highlight-section-courses {
    background-color: #f0f9ff; /* sky-50 */
    border-radius: 0.75rem;
    padding: 2.5rem;
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.cta-button-courses {
    padding: 0.875rem 2.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    display: inline-block;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.cta-button-courses:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px rgba(0,0,0,0.1);
}

/** Intelligent Property Walkthrough Checklist**/
.hero-bg-walkthrough {
    background-color: var(--bg-container);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-outline {
    background-color: transparent;
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px);
    border-radius: 0.5rem; transition: all 0.3s ease;
}
.cta-button-outline:hover {
    background-color: var(--reilink-primary-dark);
    color: white;
}
.pain-point-card {
    background-color: #fff5f5; /* red-50 with a hint more red */
    border-left: 4px solid #ef4444; /* red-500 */
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
}
.feature-item-vertical {
    display: flex;
    align-items: flex-start; /* Align icon with start of text */
    gap: 1rem; /* Space between icon and text */
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--border-soft);
}
.feature-item-vertical:last-child {
    border-bottom: none;
}
.feature-item-vertical .icon {
    font-size: 1.75rem; /* text-3xl */
    color: var(--reilink-primary-dark);
    width: 40px; /* Fixed width for alignment */
    flex-shrink: 0;
    margin-top: 0.125rem; /* Adjust to align with text better */
}
.feature-item-vertical h4 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.25rem;
}
.feature-item-vertical p {
    font-size: 0.9rem; /* Slightly smaller than text-sm */
    color: var(--text-medium);
}
.how-it-works-step {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
}
.how-it-works-step .step-number {
    width: 48px; height: 48px;
    background-color: var(--reilink-primary-dark);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem; font-weight: 700;
    flex-shrink: 0;
}
.text-sky-600 { color: #0284c7; }


/** BRRRR Calculizer **/

.hero-bg-brrrr-calculizer {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }


.benefit-card {
    background-color: var(--bg-container);
    border: 1px solid var(--border-soft);
    border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.03),0 2px 4px -2px rgba(0,0,0,.03);
    transition: all 0.3s ease; text-align: left;
    display: flex;
    flex-direction: column;
}
.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -4px rgba(0,0,0,.07);
    border-color: var(--reilink-primary-dark);
}
.benefit-card .icon-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}
.benefit-card .icon {
    color: var(--reilink-primary-dark);
    margin-right: 0.75rem;
    font-size: 1.75rem;
    width: 32px;
    text-align: center;
}
.benefit-card h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-dark);
}
.benefit-card p {
    font-size: 0.875rem;
    color: var(--text-medium);
    flex-grow: 1;
}
.text-sky-600 { color: #0284c7; }
.bg-sky-50 { background-color: #f0f9ff; }
.border-sky-200 { border-color: #bae6fd; }
.text-sky-700 { color: #0369a1; }
.bg-red-50 { background-color: #fef2f2; } /* For comparison sections */
.border-red-200 { border-color: #fecaca; }
.text-red-700 { color: #b91c1c; }
.text-red-500 { color: #ef4444; }
.step-graphic {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1rem 0;
}
.step-graphic .step-circle {
    width: 60px; height: 60px; border-radius: 50%;
    background-color: var(--reilink-primary-dark); color: white;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: bold;
    margin-bottom: 0.5rem;
}
.step-graphic .step-arrow {
    font-size: 1.5rem; color: var(--text-light);
    margin: 0.25rem 0;
}


/** Comparative Analysis **/

.hero-bg-comparative {
    background-color: var(--bg-container); /* White background for hero */
     padding-top: 8rem; /* Adjusted for fixed nav */
    padding-bottom: 6rem;
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }

.feature-highlight-card {
    background-color: var(--reilink-bg-subtle);
    border: 1px solid var(--reilink-primary-light);
    border-radius: 0.75rem;
    padding: 2rem;
    transition: all 0.3s ease;
}
.feature-highlight-card:hover {
    box-shadow: 0 10px 20px rgba(14, 165, 233, 0.15);
    transform: translateY(-4px);
}
.feature-highlight-card .icon {
    font-size: 2.5rem;
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
}
.problem-solution-grid .problem-card {
    background-color: #fff1f2; /* rose-50 */
    border-left: 4px solid #f43f5e; /* rose-500 */
    padding: 1.5rem;
    border-radius: 0.5rem;
}
.problem-solution-grid .solution-card {
    background-color: #ecfdf5; /* emerald-50 */
    border-left: 4px solid #10b981; /* emerald-500 */
    padding: 1.5rem;
    border-radius: 0.5rem;
}
.text-sky-600 { color: #0284c7; }
.text-sky-700 { color: #0369a1; }


/** House Hack **/


.hero-bg-househack {
    background-color: #ffffff; /* Cleaner white background for this hero */
    padding-top: 8rem; /* Adjusted for fixed nav */
    padding-bottom: 6rem;
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }
.cta-button-outline {
    background-color: transparent;
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
    font-weight: 600; padding: calc(0.875rem - 2px) calc(2rem - 2px); /* Adjust padding for border */
    border-radius: 0.5rem; transition: all 0.3s ease;
}
.cta-button-outline:hover {
    background-color: var(--reilink-primary-dark);
    color: white;
}


.benefit-card-hh { /* New style for house hack benefit cards */
    background-color: var(--bg-container);
    border-radius: 0.75rem; padding: 2rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.03);
    text-align: center;
    border-top: 4px solid transparent; /* For hover effect */
    transition: all 0.3s ease;
}
.benefit-card-hh:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 25px -5px rgba(0,0,0,.07),0 10px 10px -5px rgba(0,0,0,.04);
    border-top-color: var(--reilink-primary-dark);
}
.benefit-card-hh .icon {
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
    font-size: 2.5rem; /* Larger icon */
}
.benefit-card-hh h4 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
}
.benefit-card-hh p {
    font-size: 0.875rem; /* text-sm */
    color: var(--text-medium);
}

.text-sky-600 { color: #0284c7; }
.bg-sky-50 { background-color: #f0f9ff; }
.border-sky-200 { border-color: #bae6fd; }
.text-sky-700 { color: #0369a1; }

/** Wholesale Calculizer **/

.hero-bg-wholesale-calculizer {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }


.benefit-card {
    background-color: var(--bg-container);
    border: 1px solid var(--border-soft);
    border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.03),0 2px 4px -2px rgba(0,0,0,.03);
    transition: all 0.3s ease; text-align: left;
    display: flex;
    flex-direction: column;
}
.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -4px rgba(0,0,0,.07);
    border-color: var(--reilink-primary-dark);
}
.benefit-card .icon-wrapper {
    display: flex;
    align-items: center; /* Vertically align icon and title */
    margin-bottom: 0.75rem;
}
.benefit-card .icon {
    color: var(--reilink-primary-dark);
    margin-right: 0.75rem;
    font-size: 1.75rem; /* text-2xl */
    width: 32px; /* Fixed width for icon for alignment */
    flex-shrink: 0; /* Prevent icon from shrinking */
    text-align: center;
}
.benefit-card h4 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* semibold */
    color: var(--text-dark);
    line-height: 1.4; /* Adjust for better alignment with multi-line titles if icon is large */
}
.benefit-card p {
    font-size: 0.875rem; /* text-sm */
    color: var(--text-medium);
    flex-grow: 1;
}
.text-sky-600 { color: #0284c7; }
.bg-sky-50 { background-color: #f0f9ff; }
.border-sky-200 { border-color: #bae6fd; }
.text-sky-700 { color: #0369a1; }

/** STUDY BUDDIES **/
.hero-bg-studybuddies-v2 {
    background-color: #0c4a6e; /* sky-900 for a deep, professional feel */
}
.section-title-sb-v2 {
    font-size: 2.25rem; /* text-3xl, adjusted from 2.5rem for better balance */
    font-weight: 800; /* extrabold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 1rem;
    line-height: 1.2;
}
.section-subtitle-sb-v2 {
    font-size: 1.125rem; /* text-lg */
    color: #475569; /* slate-600 */
    max-width: 42rem; /* max-w-xl */
    margin: 0 auto 3rem auto; /* mb-12 */
    line-height: 1.75;
}
.key-pillar-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem; /* p-8, adjusted from 2.5rem */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    text-align: center;
}
.key-pillar-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.key-pillar-card .icon-container-sb {
    width: 60px;
    height: 60px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5rem;
    background-color: #e0f2fe; /* sky-100 */
}
.key-pillar-card .icon-container-sb i {
    font-size: 1.75rem; /* text-3xl */
    color: #0ea5e9; /* sky-500 */
}
.key-pillar-card h3 {
    font-size: 1.25rem; /* text-xl, adjusted */
    font-weight: 700; /* bold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.75rem;
}
.key-pillar-card p.description {
    font-size: 0.95rem; /* text-base-sm */
    color: #4b5563; /* gray-600 */
    line-height: 1.625;
}

.benefit-feature-block {
    display: flex;
    flex-direction: column;
    gap: 2rem; /* gap-8 */
    margin-bottom: 3rem; /* mb-12 */
}
.benefit-feature-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem; /* gap-8 */
}
@media (min-width: 1024px) { /* lg breakpoint */
    .benefit-feature-item {
        flex-direction: row;
    }
    .benefit-feature-item.lg\:flex-row-reverse {
        flex-direction: row-reverse;
    }
}
.benefit-text-content {
    flex: 1;
}
.benefit-text-content h3 { /* Changed from h4 for SEO hierarchy */
    font-size: 1.75rem; /* text-2xl */
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.75rem; /* mb-3 */
}
.benefit-text-content p {
    font-size: 1rem; /* text-base */
    color: #475569; /* slate-600 */
    line-height: 1.75;
}
.benefit-screenshot-container {
    flex: 1;
    max-width: 500px; /* Control max width of screenshot */
    width: 100%;
}
.benefit-screenshot {
    width: 100%;
    border-radius: 0.75rem; /* rounded-xl */
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    object-fit: cover;
    aspect-ratio: 16/10; /* Common aspect ratio for UI */
    background-color: #e2e8f0; /* slate-200 for placeholder */
}

.zig-zag-image-sb-v2 {
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    object-fit: cover;
    width: 100%;
}
.cta-button-sb-v2 {
    padding: 0.875rem 2.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    display: inline-block;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.cta-button-sb-v2:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px rgba(0,0,0,0.1);
}
.notification-mockup-v2 {
    background-color: #f8fafc; /* slate-50 */
    border-radius: 0.5rem;
    padding: 1.25rem;
    box-shadow: inset 0 2px 4px 0 rgba(0,0,0,0.03);
    font-size: 0.9rem;
    border: 1px solid #e2e8f0; /* slate-200 */
    margin-top: 1.5rem;
}
.notification-mockup-v2 strong {
    color: #0ea5e9; /* sky-500 */
}

/** Rental Calculizer **/

.hero-bg-rental-calculizer {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }


.benefit-card {
    background-color: var(--bg-container);
    border: 1px solid var(--border-soft);
    border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.03),0 2px 4px -2px rgba(0,0,0,.03);
    transition: all 0.3s ease; text-align: left;
    display: flex;
    flex-direction: column;
}
.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -4px rgba(0,0,0,.07);
    border-color: var(--reilink-primary-dark);
}
.benefit-card .icon-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}
.benefit-card .icon {
    color: var(--reilink-primary-dark);
    margin-right: 0.75rem;
    font-size: 1.75rem;
    width: 32px;
    text-align: center;
}
.benefit-card h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-dark);
}
.benefit-card p {
    font-size: 0.875rem;
    color: var(--text-medium);
    flex-grow: 1;
}
.text-sky-600 { color: #0284c7; }
.bg-sky-50 { background-color: #f0f9ff; }
.border-sky-200 { border-color: #bae6fd; }
.text-sky-700 { color: #0369a1; }


/** REILink Flip Calculizer **/


.hero-bg-flip-calculizer {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button:hover { background-color: #0284c7; /* sky-600 */ }


.benefit-card {
    background-color: var(--bg-container);
    border: 1px solid var(--border-soft);
    border-radius: 0.75rem; padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.03),0 2px 4px -2px rgba(0,0,0,.03);
    transition: all 0.3s ease; text-align: left;
}
.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -4px rgba(0,0,0,.07);
    border-color: var(--reilink-primary-dark);
}
.benefit-card .icon { color: var(--reilink-primary-dark); margin-right: 0.75rem; font-size: 1.75rem; }
.text-sky-600 { color: #0284c7; } /* Ensure sky-600 is defined if used directly */
.bg-sky-50 { background-color: #f0f9ff; }
.border-sky-200 { border-color: #bae6fd; }
.text-sky-700 { color: #0369a1; }
.bg-red-50 { background-color: #fef2f2; }
.border-red-200 { border-color: #fecaca; }
.text-red-700 { color: #b91c1c; }
.text-red-500 { color: #ef4444; }

/** WORKSHOPS **/

.hero-bg-workshops {
    background: linear-gradient(135deg, #0369a1 0%, #0ea5e9 100%); /* Sky-700 to Sky-500 */
}
.section-title-workshops {
    font-size: 2.25rem; /* text-3xl */
    font-weight: 800; /* extrabold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 1rem;
    line-height: 1.25;
}
@media (min-width: 768px) {
    .section-title-workshops {
        font-size: 2.5rem; /* text-4xl for md and up */
    }
}
.section-subtitle-workshops {
    font-size: 1.125rem; /* text-lg */
    color: #475569; /* slate-600 */
    max-width: 42rem; /* max-w-xl */
    margin: 0 auto 3rem auto; /* mb-12 */
    line-height: 1.75;
}
.benefit-card-ws {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 1.5rem; /* p-6 */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    text-align: center;
    height: 100%;
}
.benefit-card-ws .icon-container-ws {
    width: 56px;
    height: 56px;
    border-radius: 9999px; /* rounded-full */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
    background-color: #e0f2fe; /* sky-100 */
}
.benefit-card-ws .icon-container-ws i {
    font-size: 1.5rem; /* text-2xl */
    color: #0284c7; /* sky-600 */
}
.benefit-card-ws h3 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* semibold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.5rem;
}
.workshop-type-card {
    background-color: white;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    border: 1px solid #e2e8f0; /* slate-200 */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.workshop-type-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.05);
}
.workshop-type-card .icon {
    font-size: 1.75rem; /* text-3xl */
    color: #0ea5e9; /* sky-500 */
    margin-bottom: 0.75rem;
}
.workshop-type-card h4 { /* Changed from h3 for SEO hierarchy */
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.5rem;
}
.workshop-listing-card {
    background-color: white;
    border-radius: 0.5rem;
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cta-button-ws {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    display: inline-block;
}
.cta-button-ws:hover {
    transform: translateY(-2px);
}

/** PRICING PAGE **/
   .hidden { display: none; }
        
        .hero-section-custom-bg { background-color: var(--reilink-primary-darkest); }

        .pre-launch-promo { background-color: var(--reilink-highlight); color: var(--text-dark); border-radius: 0.5rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
        .pre-launch-promo strong { color: #000; }
        .pre-launch-promo a { color: var(--reilink-primary-darkest); }
        .pre-launch-promo a:hover { color: #000; }

        .most-popular-pill { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); background-color: var(--reilink-highlight); color: var(--text-dark); padding: 0.5rem 1.25rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 700; white-space: nowrap; z-index: 20; border: 2px solid var(--bg-container); }

        .pricing-tier-card-pricing { position: relative; background-color: var(--bg-container); border-radius: 0.75rem; border: 1px solid var(--border-soft); box-shadow: 0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -2px rgba(0,0,0,.05); transition: all 0.3s ease-in-out; display: flex; flex-direction: column; height: 100%; }
        .pricing-tier-card-pricing:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); }
        .pricing-tier-card-pricing.highlighted { border: 2px solid var(--reilink-highlight); }
        .pricing-tier-card-pricing.highlighted .header { padding-top: 2.5rem; }

        .details-link { display: block; margin-top: 1rem; text-align: center; font-size: 0.875rem; font-weight: 600; color: var(--reilink-primary-dark); text-decoration: underline; transition: color 0.2s; }
        .details-link:hover { color: var(--reilink-highlight); }

        .pricing-tier-card-pricing .header { padding: 1.5rem; border-bottom: 1px solid var(--border-soft); text-align: center; }
        .pricing-tier-card-pricing .tier-name { font-size: 1.5rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.5rem; }
        .pricing-tier-card-pricing .tier-price { font-size: 2.5rem; font-weight: 800; color: var(--reilink-primary-dark); min-height: 52px; display: flex; align-items: baseline; justify-content: center; }
        .pricing-tier-card-pricing .tier-price .period { font-size: 0.875rem; font-weight: 500; color: var(--text-medium); }
        .pricing-tier-card-pricing .tier-description { font-size: 0.875rem; color: var(--text-medium); padding: 1.5rem; min-height: 90px; text-align: left;}
        .pricing-tier-card-pricing .features-list { padding: 0 1.5rem 1.5rem; flex-grow: 1; text-align: left; }
        .pricing-tier-card-pricing .features-list li { display: flex; align-items: flex-start; font-size: 0.9rem; margin-bottom: 1rem; line-height: 1.5; }
        .pricing-tier-card-pricing .features-list li i { margin-right: 0.75rem; margin-top: 0.2rem; width: 16px; flex-shrink: 0; }
        .fa-check { color: var(--reilink-primary-base); }
        .fa-star { color: var(--reilink-highlight); }
        .fa-arrow-up { color: var(--text-success); }
        
        .cta-button-wrapper { padding: 1.5rem; margin-top: auto; border-top: 1px solid var(--border-soft); background-color: #f9fafb; border-bottom-left-radius: 0.75rem; border-bottom-right-radius: 0.75rem;}
        .cta-button-pricing-page { display: block; width: 100%; color: white; font-weight: 600; padding: 0.75rem 1.5rem; border-radius: 0.375rem; transition: background-color 0.3s ease; text-align: center; }
        .cta-button-pricing-page.highlight { background-color: var(--reilink-highlight); color: #fff; }
        .cta-button-pricing-page.outline { background-color: transparent; color: var(--reilink-primary-dark); border: 2px solid var(--reilink-primary-dark); }
        .cta-button-pricing-page.outline:hover { background-color: var(--reilink-primary-dark); color: white; }

        .original-price { text-decoration: line-through; color: #9ca3af; font-size: 1.75rem; font-weight: 600; margin-right: 0.5rem; }
        .price-monthly, .price-yearly { display: inline-flex; }

        .tooltip-trigger-pricing { position: relative; cursor: help; border-bottom: 1px dotted var(--text-medium); }
        .tooltip-text { visibility: hidden; width: 280px; background-color: var(--reilink-primary-darkest); color: #fff; text-align: left; border-radius: 6px; padding: 12px; position: absolute; z-index: 50; bottom: 140%; left: 50%; margin-left: -140px; opacity: 0; transition: opacity 0.3s; font-size: 0.85rem; line-height: 1.5; font-weight: 400; white-space: normal; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
        .tooltip-text strong { color: var(--reilink-primary-base); }
        .tooltip-text::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: var(--reilink-primary-darkest) transparent transparent transparent; }
        .tooltip-trigger-pricing:hover .tooltip-text { visibility: visible; opacity: 1; }
        
        #billing-toggle-container { position: relative; display: inline-flex; align-items: center; background-color: var(--border-soft); border-radius: 9999px; padding: 4px; }
        #billing-toggle-slider { position: absolute; top: 4px; left: 4px; background-color: var(--reilink-primary-darkest); border-radius: 9999px; height: calc(100% - 8px); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1; }
        .billing-toggle-button { position: relative; z-index: 2; background-color: transparent; border: none; padding: 8px 24px; border-radius: 9999px; font-weight: 600; cursor: pointer; transition: color 0.3s ease; white-space: nowrap; color: var(--text-dark); }
        .billing-toggle-button.active { color: white; }
        .billing-toggle-button .badge { margin-left: 8px; background-color: var(--reilink-highlight); color: var(--text-dark); font-size: 0.75rem; font-weight: 700; padding: 2px 8px; border-radius: 9999px; }

        .full-comparison-table i.fa-check-circle { color: var(--text-success); }
        .full-comparison-table i.fa-lock { color: #ef4444; } /* red-500 */
        .full-comparison-table .feature-category { background-color: #f8fafc; /* slate-50 */ }
        .full-comparison-table .feature-category td { color: var(--reilink-primary-dark); font-weight: 700; font-size: 1rem; }

/** REFERRAL PARTNERS **/
.hero-bg-affiliate {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); /* Sky-500 to Sky-600 */
}
.page-title-affiliate { /* H1 */
    font-size: 2.75rem;
    font-weight: 900; /* black */
    color: white;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
    .page-title-affiliate {
        font-size: 3.75rem;
    }
}
.page-subtitle-affiliate { /* Hero Subtitle */
    font-size: 1.25rem; /* text-xl */
    color: #e0f2fe; /* sky-100 */
    max-width: 48rem;
    margin: 0 auto 2rem auto;
    line-height: 1.75;
}
.section-main-title-aff { /* H2 for major sections */
    font-size: 2.25rem;
    font-weight: 800;
    color: #1e293b; /* slate-800 */
    text-align: center;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .section-main-title-aff {
        font-size: 2.75rem;
    }
}
.section-main-subtitle-aff { /* Subtitle for major sections */
    font-size: 1.125rem;
    color: #475569; /* slate-600 */
    text-align: center;
    max-width: 44rem;
    margin: 0 auto 3rem auto;
    line-height: 1.75;
}
.benefit-card-aff {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    text-align: center;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.benefit-card-aff:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.benefit-card-aff .icon {
    font-size: 2.5rem; /* text-4xl */
    color: #0ea5e9; /* sky-500 */
    margin-bottom: 1rem;
}
.benefit-card-aff h3 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.5rem;
}
.benefit-card-aff p {
    font-size: 0.95rem;
    color: #475569; /* slate-600 */
    line-height: 1.6;
}
.how-it-works-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem;
}
.how-it-works-step .step-icon-container {
    width: 72px;
    height: 72px;
    border-radius: 9999px; /* rounded-full */
    background-color: #e0f2fe; /* sky-100 */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border: 2px solid #0ea5e9; /* sky-500 */
}
.how-it-works-step .step-icon-container i {
    font-size: 1.75rem; /* text-3xl */
    color: #0284c7; /* sky-600 */
}
.how-it-works-step h4 { /* Changed from h3 for SEO */
    font-size: 1.125rem; /* text-lg */
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.5rem;
}
.faq-item {
    border-bottom: 1px solid #e2e8f0; /* slate-200 */
}
.faq-item summary {
    padding: 1rem 0;
    font-weight: 600;
    color: #1e293b;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary .icon {
    transition: transform 0.3s ease;
}
.faq-item[open] summary .icon {
    transform: rotate(45deg);
}
.faq-item div {
    padding-bottom: 1rem;
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.6;
}
.cta-button-affiliate {
    padding: 0.875rem 2.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    display: inline-block;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.cta-button-affiliate:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px rgba(0,0,0,0.15);
}

/** Calculizers **/

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-page);
    color: var(--text-medium);
    scroll-behavior: smooth;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #555; }


.hero-bg-calculizers-pillar {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, var(--bg-container) 70%, var(--bg-page) 100%);
    padding-top: 9rem;
    padding-bottom: 7rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 80px; height: 4px;
    background-color: var(--reilink-primary-dark); margin: 16px auto 0; border-radius: 2px;
}
.cta-button-pillar {
    background-color: var(--reilink-primary-dark);
    color: white; font-weight: 600; padding: 0.875rem 2rem;
    border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
    box-shadow: 0 6px 18px rgba(14, 165, 233, 0.35);
}
.cta-button-pillar:hover { background-color: #0284c7; transform: translateY(-2px) scale(1.02); box-shadow: 0 8px 22px rgba(14, 165, 233, 0.45); }

.strategy-chapter {
    padding: 4.5rem 1.5rem;
    border-bottom: 1px solid var(--border-soft);
}
.strategy-chapter:last-child { border-bottom: none; }
.strategy-chapter.bg-alternate { background-color: var(--bg-container); }


.strategy-icon {
    font-size: 3.5rem;
    color: var(--reilink-primary-dark);
    margin-bottom: 1.25rem;
    display: inline-block;
    transition: transform 0.3s ease;
}
.strategy-chapter:hover .strategy-icon { transform: scale(1.1) rotate(-5deg); }
.text-sky-600 { color: #0284c7; }


.calculizer-visual-container {
    width: 100%;
    max-width: 420px;
    height: 280px;
    margin: 0 auto 1.5rem auto;
    padding: 1rem;
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px -10px rgba(0, 70, 150, 0.15), 0 4px 8px -4px rgba(0, 70, 150, 0.1);
    border: 1px solid var(--border-medium);
    display: flex;
    justify-content: center;
    align-items: center;
}
.calculizer-visual-container canvas {
    max-width: 100%;
    max-height: 100%;
}


.insight-message-showcase {
    padding: 0.75rem 1rem;
    margin-top: 1rem; /* Increased margin-top */
    border-radius: 0.375rem;
    font-size: 0.875rem; /* Slightly larger */
    border-left-width: 4px;
    display: flex;
    align-items: flex-start; /* Align icon with first line of text */
    line-height: 1.5;
}
.insight-message-showcase i.fas {
    margin-right: 0.75rem;
    font-size: 1.1em;
    margin-top: 0.15em; /* Align icon better with text */
    flex-shrink: 0;
}
.insight-message-showcase.critical { background-color: var(--insight-critical-bg); border-color: var(--insight-critical-icon); color: var(--insight-critical-text); }
.insight-message-showcase.critical i { color: var(--insight-critical-icon); }
.insight-message-showcase.warning { background-color: var(--insight-warning-bg); border-color: var(--insight-warning-icon); color: var(--insight-warning-text); }
.insight-message-showcase.warning i { color: var(--insight-warning-icon); }
.insight-message-showcase.advice { background-color: var(--insight-advice-bg); border-color: var(--insight-advice-icon); color: var(--insight-advice-text); }
.insight-message-showcase.advice i { color: var(--insight-advice-icon); }
.insight-message-showcase.positive { background-color: var(--insight-positive-bg); border-color: var(--insight-positive-icon); color: var(--insight-positive-text); }
.insight-message-showcase.positive i { color: var(--insight-positive-icon); }
.insight-message-showcase.data { background-color: var(--insight-data-bg); border-color: var(--insight-data-icon); color: var(--insight-data-text); }
.insight-message-showcase.data i { color: var(--insight-data-icon); }
.insight-message-showcase.tip { background-color: var(--insight-tip-bg); border-color: var(--insight-tip-icon); color: var(--insight-tip-text); }
.insight-message-showcase.tip i { color: var(--insight-tip-icon); }




.visualization-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2.5rem; }
.visualization-item {
    background-color: var(--bg-container); padding: 1rem; border-radius: 0.5rem;
    box-shadow: 0 6px 18px rgba(0, 70, 150, 0.1); height: 280px; border: 1px solid var(--border-soft);
    display: flex; flex-direction: column;
}
.visualization-item h4 { text-align: center; font-size: 0.9rem; font-weight: 600; color: var(--reilink-primary-darkest); margin-bottom: 0.75rem; flex-shrink: 0; }
.visualization-item .chart-canvas-container { flex-grow: 1; position: relative; }
.visualization-item canvas { position: absolute; top:0; left:0; width: 100% !important; height: 100% !important; }


/** Discover Your Place **/
.hero-bg-professionals {
    background: linear-gradient(135deg, #e0f2fe 0%, #c7d2fe 100%); /* Light blue to light indigo */
}
.section-heading {
    font-size: 2.25rem; /* text-3xl */
    line-height: 2.5rem;
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.75rem; /* mb-3 */
}
 .section-subheading {
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
    color: #475569; /* slate-600 */
    max-width: 48rem; /* max-w-2xl */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem; /* mb-8 */
}
.category-title {
    font-size: 1.875rem; /* text-3xl */
    font-weight: 600; /* semibold */
    color: #1e293b; /* slate-800 */
    margin-top: 3rem; /* mt-12 */
    margin-bottom: 1.5rem; /* mb-6 */
    padding-bottom: 0.5rem; /* pb-2 */
    border-bottom: 2px solid #0ea5e9; /* sky-500 */
    display: inline-block;
}
.professional-role-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 1.5rem; /* p-6 */
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);
    text-align: left;
    display: flex;
    flex-direction: column;
    height: 100%; /* For equal height cards in a grid row */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.professional-role-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
}
.professional-role-card .icon {
    font-size: 1.75rem; /* text-3xl */
    color: #0ea5e9; /* sky-500 */
    margin-bottom: 0.75rem; /* mb-3 */
    width: 40px; /* Fixed width for icon container */
}
.professional-role-card h4 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* semibold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.5rem; /* mb-2 */
}
.professional-role-card p {
    font-size: 0.875rem; /* text-sm */
    color: #4b5563; /* gray-600 */
    line-height: 1.5; /* leading-snug */
    flex-grow: 1; /* Make paragraph take available space */
}
.universal-benefit-card {
    background-color: #f0f9ff; /* sky-50 */
    border-left: 4px solid #0ea5e9; /* sky-500 */
    padding: 1rem;
    border-radius: 0.5rem;
}

/** Unlock More Visibilty **/

.hero-bg-providers {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.feature-block {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.03);
    border: 1px solid var(--border-soft);
}
.feature-block .icon {
    font-size: 2.5rem;
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
}
.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }



/** OFFERAID TUTORIAL**/
.hero-bg-tutorial {
    background: linear-gradient(135deg, var(--reilink-primary-dark) 0%, #0284c7 100%); /* Darker sky gradient */
    color: white;
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-tutorial h1 { color: white; }
.hero-bg-tutorial .sub-headline { color: var(--reilink-primary-light); }


.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-base);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(56, 189, 248, 0.4);
     display: inline-block;
}
.cta-button-primary:hover { background-color: var(--reilink-primary-dark); }

.module-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    border: 1px solid var(--border-soft);
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: all 0.3s ease-in-out;
    height: 100%;
}
.module-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.module-card .icon {
    font-size: 1.75rem;
    margin-bottom: 0.75rem;
    color: var(--reilink-primary-dark);
    width: 40px; height: 40px;
    background-color: var(--reilink-bg-subtle);
    border-radius: 0.375rem;
    display: flex; align-items: center; justify-content: center;
}
.module-card h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
}
.module-card p {
    font-size: 0.875rem;
    color: var(--text-medium);
}


.graph-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    border: 1px solid var(--border-soft);
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    height: 100%;
}
.graph-card .graph-placeholder {
    background-color: var(--reilink-bg-subtle);
    border: 1px dashed var(--reilink-primary-light);
    border-radius: 0.5rem;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: var(--reilink-primary-dark);
}
.graph-card h4 {
    font-size: 1.125rem; font-weight: 600; color: var(--text-dark); margin-bottom: 0.5rem;
}
.graph-card .graph-description { font-size: 0.8rem; color: var(--text-medium); margin-bottom: 0.25rem; }
.graph-card .graph-question { font-size: 0.8rem; color: var(--reilink-primary-dark); font-style: italic; }

.benefit-list-tutorial li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    font-size: 1rem;
}
.benefit-list-tutorial li .fa-check-circle {
    color: #10b981; /* emerald-500 */
    margin-right: 0.75rem;
    margin-top: 0.22rem;
    flex-shrink: 0;
}
.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; }

/** DEDICATED FEATURES **/
.hero-bg-features-showcase {
    background: linear-gradient(135deg, #e0f2fe 0%, #dbeafe 100%); /* Light blue to slightly deeper blue */
}
.section-heading {
    font-size: 2.25rem; /* text-3xl or text-4xl */
    line-height: 2.5rem;
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.75rem; /* mb-3 */
}
 .section-subheading {
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
    color: #475569; /* slate-600 */
    max-width: 48rem; /* max-w-2xl */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem; /* mb-12 */
}
.feature-showcase-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem; /* p-8 */
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07); /* shadow-md */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.feature-showcase-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); /* shadow-lg */
}
.feature-title {
    font-size: 1.5rem; /* text-2xl */
    font-weight: 600; /* semibold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.5rem; /* mb-2 */
}
.feature-description {
    font-size: 1rem; /* text-base */
    color: #4b5563; /* gray-600 */
    line-height: 1.625; /* leading-relaxed */
    margin-bottom: 1rem; /* mb-4 */
}
.real-engine-mention {
    font-size: 0.875rem; /* text-sm */
    color: #0ea5e9; /* sky-500 */
    font-weight: 500; /* medium */
    margin-top: 0.75rem; /* mt-3 */
}
.feature-screenshot {
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16/10; /* Adjust as needed */
}

/** REPAIR COST ESTIMATOR **/
.hero-bg-gradient {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); /* Light blue gradient */
}
.section-title-underline::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #3b82f6; /* Tailwind blue-500 */
    margin: 10px auto 0;
    border-radius: 2px;
}
.icon-placeholder-circle { /* For feature icons */
    width: 50px;
    height: 50px;
    background-color: #3b82f6; /* blue-500 */
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    font-weight: bold;
}

/** LEARN MORE **/
.hero-bg-subtle {
    background-color: #f0f9ff; /* A very light blue, less intense than the main hero */
}
.section-title-underline::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #3b82f6; /* Tailwind blue-500 */
    margin: 10px auto 0;
    border-radius: 2px;
}
.feature-icon {
    width: 48px;
    height: 48px;
    display: inline-flex; /* Changed from inline-flex to flex for better centering */
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #dbeafe; /* blue-200 */
    color: #3b82f6; /* blue-600 */
    margin-bottom: 1rem;
    font-size: 1.5rem; /* Adjust font size if icons are still too big/small */
    line-height: 1; /* Ensures text is vertically centered better */
}
 .step-number {
    width: 40px;
    height: 40px;
    background-color: #3b82f6; /* blue-500 */
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.25rem;
    margin-right: 1rem;
    flex-shrink: 0; /* Prevent step number from shrinking */
}
.visual-card {
    background-color: #ffffff;
    border-radius: 0.75rem; /* 12px */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

/** REILINK INFLUENCERS **/
.hero-bg-partner {
    background-color: var(--reilink-primary-darkest);
    color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-partner h1 { color: white; }
.hero-bg-partner .sub-headline { color: var(--reilink-primary-light); }


.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-gold {
     background-color: var(--reilink-accent-gold);
     color: white; font-weight: 700; padding: 0.875rem 2.5rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.4);
     display: inline-block;
}
.cta-button-gold:hover { background-color: #d97706; /* amber-600 */ }

.benefit-card-partner {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%; /* Ensure cards in a row are same height */
}
.benefit-card-partner .icon {
    font-size: 2.5rem;
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
    width: 64px; height: 64px;
    background-color: var(--reilink-bg-subtle);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--reilink-primary-light);
}
.benefit-card-partner h4 {
    font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.75rem;
}
.benefit-card-partner p {
    font-size: 0.875rem; color: var(--text-medium); flex-grow: 1; margin-bottom: 1.5rem;
}
.comparison-table th, .comparison-table td {
    border: 1px solid var(--border-soft); padding: 0.75rem 1rem; font-size: 0.875rem; text-align: left;
}
.comparison-table th { background-color: var(--reilink-bg-subtle); font-weight: 600; color: var(--text-dark); }
.comparison-table .fa-check-circle { color: #10b981; }
.comparison-table .fa-times-circle { color: #ef4444; }


.advantage-point {
    background-color: var(--bg-container);
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--reilink-primary-dark);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.advantage-point h4 {
    font-size: 1.25rem; font-weight: 600;
    color: var(--reilink-primary-darkest); margin-bottom: 0.5rem;
}
.advantage-point p { font-size: 0.9rem; line-height: 1.6; }
.advantage-point .icon { font-size: 1.5rem; margin-right: 0.75rem; color: var(--reilink-primary-dark); }


.pros-cons-list { list-style: none; padding-left: 0; }
.pros-cons-list li { display: flex; align-items: flex-start; margin-bottom: 0.75rem; }
.pros-cons-list .fa-plus-circle { color: #10b981; margin-right: 0.75rem; margin-top: 0.2rem; } /* emerald-500 */
.pros-cons-list .fa-minus-circle { color: #f43f5e; margin-right: 0.75rem; margin-top: 0.2rem; } /* rose-500 */

.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; }

/** PARTNERSHIP APPLICATION **/
.form-header-section {
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 4rem;
    border-bottom: 1px solid var(--border-soft);
}
.form-container {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);
    margin-top: -2rem; /* Pull up over the hero bottom */
    position: relative;
    z-index: 10;
}
.input-group { margin-bottom: 1.5rem; }
.input-group label {
    display: block; font-size: 0.875rem; /* text-sm */
    font-weight: 600; color: var(--text-dark); margin-bottom: 0.5rem; /* mb-2 */
}
.input-group input[type="text"],
.input-group input[type="email"],
.input-group input[type="tel"],
.input-group input[type="url"],
.input-group input[type="number"],
.input-group textarea,
.input-group select {
    width: 100%; padding: 0.75rem 1rem; /* py-3 px-4 */
    font-size: 0.875rem; border: 1px solid var(--border-medium);
    border-radius: 0.375rem; /* rounded-md */
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input-group input:focus,
.input-group textarea:focus,
.input-group select:focus {
    outline: none; border-color: var(--reilink-primary-base);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.3);
}
.input-group textarea { min-height: 100px; }
.input-group .help-text {
    font-size: 0.75rem; /* text-xs */
    color: var(--text-light);
    margin-top: 0.25rem;
}


.cta-button-submit {
     background-color: var(--reilink-accent-gold);
     color: white; font-weight: 700; padding: 0.875rem 2.5rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.4);
     display: inline-block; text-align: center; width: 100%;
}
.cta-button-submit:hover { background-color: #d97706; /* amber-600 */ }
.text-sky-600 { color: #0284c7; }

/** CONTRACT INSIGHTS **/

.hero-bg-insights {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); /* sky-50 to sky-100 gradient */
}
.section-title-underline::after {
    content: '';
    display: block;
    width: 70px;
    height: 5px;
    background-color: #0ea5e9; /* sky-500 */
    margin: 12px auto 0;
    border-radius: 3px;
}
.feature-card-insights {
    background-color: #ffffff;
    border-radius: 0.75rem; /* 12px */
    border: 1px solid #e2e8f0; /* slate-200 */
    padding: 1.75rem; /* p-7 */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: all 0.3s ease-in-out;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.feature-card-insights:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.feature-card-insights .icon { /* Using Font Awesome, styled by text color */
    font-size: 2.25rem; /* text-4xl */
    margin-bottom: 1rem;
    color: #0ea5e9; /* sky-500 */
}
.cta-button-primary {
     background-color: #0ea5e9; /* sky-500 */
     color: white;
     font-weight: 600;
     padding: 0.875rem 2rem; /* py-3.5 px-8 */
     border-radius: 0.5rem; /* 8px */
     transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
}
.cta-button-primary:hover {
    background-color: #0284c7; /* sky-600 */
}
.highlight-box {
    background-color: #f0f9ff; /* sky-50 */
    border-left: 4px solid #0ea5e9; /* sky-500 */
    padding: 1.5rem;
    border-radius: 0.5rem;
}
.layer-card {
    background-color: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.layer-card h3 { /* Changed from h4 to h3 for consistency */
    color: #0369a1; /* sky-700 */
}

/** CONTRACT REPOSITORY **/
.hero-bg-repository {
    background-color: var(--reilink-primary-darkest);
    color: white;
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-repository h1 { color: white; }
.hero-bg-repository .sub-headline { color: var(--reilink-primary-light); }


.section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; }
.cta-button-gold {
     background-color: var(--reilink-accent-gold);
     color: var(--text-dark); font-weight: 700; padding: 0.875rem 2.5rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.4);
     display: inline-block;
}
.cta-button-gold:hover { background-color: #d97706; }


.feature-highlight-card-repo {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.03);
    border: 1px solid var(--border-soft);
    margin-bottom: 1.5rem;
}
.feature-highlight-card-repo .icon {
    font-size: 2rem; color: var(--reilink-primary-dark); margin-right: 1rem; flex-shrink: 0;
}
.feature-highlight-card-repo h4 { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.5rem; }

.ecosystem-table th, .ecosystem-table td {
    border: 1px solid var(--border-medium); padding: 0.75rem 1rem; text-align: left; font-size: 0.875rem;
}
.ecosystem-table th { background-color: var(--reilink-bg-subtle); font-weight: 600; color: var(--text-dark); }


.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; line-height: 1.75; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; line-height: 1.75; }


/** Pricing **/

.manifesto-section {
    background-color: var(--reilink-primary-darkest);
    color: #d1d5db; /* gray-300 */
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.manifesto-section h1 { color: white; }
.manifesto-section strong { color: var(--reilink-primary-base); }
.manifesto-section .deal-emphasis { color: #facc15; /* yellow-400 */ font-weight: 600;}


.pricing-tier-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem; /* rounded-xl */
    border: 1px solid var(--border-soft);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.03);
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    height: 100%; /* For equal height cards */
}
.pricing-tier-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 25px -5px rgba(0,0,0,.07),0 10px 10px -5px rgba(0,0,0,.05);
}
.pricing-tier-card.highlighted {
    border-color: var(--reilink-primary-dark);
    box-shadow: 0 20px 25px -5px rgba(14, 165, 233, 0.15), 0 10px 10px -5px rgba(14, 165, 233, 0.1);
    position: relative;
}
.highlight-banner {
    background-color: var(--reilink-primary-dark);
    color: white;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 0.375rem 0.375rem 0 0;
    text-align: center;
    position: absolute;
    top: -1px; /* Adjust to sit nicely on top of border */
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    white-space: nowrap;
}
 .pricing-tier-card.highlighted .highlight-banner-absolute {
    background-color: var(--reilink-highlight); /* amber-500 */
    color: var(--text-dark);
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 0.375rem 0.375rem 0 0;
    text-align: center;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    white-space: nowrap;
    z-index: 10;
}

.pricing-tier-card .header { padding: 1.5rem; border-bottom: 1px solid var(--border-soft); text-align: center; }
.pricing-tier-card .tier-name { font-size: 1.25rem; font-weight: 700; color: var(--text-dark); margin-bottom: 0.25rem; }
.pricing-tier-card .tier-price { font-size: 2.5rem; font-weight: 800; color: var(--reilink-primary-dark); }
.pricing-tier-card .tier-price .period { font-size: 0.875rem; font-weight: 500; color: var(--text-light); }
.pricing-tier-card .tier-description { font-size: 0.875rem; color: var(--text-medium); padding: 1rem 1.5rem; min-height: 100px; /* Ensure some space */ }

.pricing-tier-card .features-list { padding: 0 1.5rem 1.5rem; flex-grow: 1; }
.pricing-tier-card .features-list li {
    display: flex; align-items: flex-start;
    font-size: 0.875rem; color: var(--text-medium);
    margin-bottom: 0.625rem; /* mb-2.5 */
    line-height: 1.4;
}


/* Conflict with new pricing card
.pricing-tier-card .features-list li i {
    color: var(--reilink-primary-base);
    margin-right: 0.625rem;
    margin-top: 0.125rem; 
    width: 16px;
    flex-shrink: 0;
}
*/

.pricing-tier-card .cta-button-wrapper { padding: 1.5rem; border-top: 1px solid var(--border-soft); background-color: #f9fafb; border-bottom-left-radius: 0.75rem; border-bottom-right-radius: 0.75rem;}
.cta-button-pricing {
     display: block; width: 100%;
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.75rem 1.5rem;
     border-radius: 0.375rem; transition: background-color 0.3s ease;
     text-align: center;
}
.cta-button-pricing:hover { background-color: #0284c7; }
.cta-button-pricing.outline {
    background-color: transparent;
    color: var(--reilink-primary-dark);
    border: 2px solid var(--reilink-primary-dark);
}
.cta-button-pricing.outline:hover {
    background-color: var(--reilink-bg-subtle);
}


.text-sky-600 { color: #0284c7; }



/** Helpnet **/

.hero-bg-helpnet-pillar {
    background-color: var(--reilink-primary-dark);
    color: white;
    padding-top: 9rem;
    padding-bottom: 7rem;
}
.hero-bg-helpnet-pillar h1 { color: white; }
.hero-bg-helpnet-pillar .sub-headline { color: #e0f2fe; /* sky-100 */ }


.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0; /* No auto margin for left align */
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.pillar-feature-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    border: 1px solid var(--border-soft);
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.pillar-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-color: var(--reilink-primary-base);
}
.pillar-feature-card .icon {
    font-size: 2rem;
    margin-bottom: 0.75rem; /* mb-3 */
    color: var(--reilink-primary-dark);
    width: 48px; height: 48px; /* w-12 h-12 */
    background-color: var(--reilink-bg-subtle);
    border-radius: 0.5rem; /* rounded-lg */
    display: flex; align-items: center; justify-content: center;
}
.pillar-feature-card h3 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
}
.pillar-feature-card p {
    font-size: 0.875rem;
    color: var(--text-medium);
    margin-bottom: 1.25rem;
    flex-grow: 1;
}
.comparison-table-pillar th, .comparison-table-pillar td {
    border: 1px solid var(--border-medium);
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    text-align: left;
}
.comparison-table-pillar th {
    background-color: var(--reilink-bg-subtle);
    color: var(--text-dark);
    font-weight: 600;
}
.text-sky-600 { color: #0284c7; }
.left-align-paragraph {
    max-width: 48rem;
    margin-left: 0; /* For true left alignment within parent */
    margin-right: 0;
    text-align: left;
}
 .left-align-paragraph-centered-block { /* For paragraphs that should be left-aligned but within a centered block */
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

/** FMS **/

.hero-bg-fms {
    background-color: var(--bg-container);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.factor-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
    text-align: center;
}
.factor-card .icon {
    font-size: 2.5rem;
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
    background-color: var(--reilink-bg-subtle);
    width: 64px; height: 64px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.benefit-list li {
    padding-left: 1.75rem;
    position: relative;
}
.benefit-list li::before {
    content: '\f00c'; /* Font Awesome check icon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--reilink-primary-dark);
    position: absolute;
    left: 0;
    top: 0.125em; /* Adjust for alignment */
}
.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }

/** Blast All **/
.hero-bg-blast {
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid var(--border-soft);
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.comparison-table-blast th, .comparison-table-blast td {
    border: 1px solid var(--border-medium);
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    text-align: left;
}
.comparison-table-blast th {
    background-color: #f1f5f9; /* slate-100 */
    color: var(--text-dark);
    font-weight: 600;
}
.benefit-list-blast li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}
.benefit-list-blast li .icon {
    color: var(--reilink-primary-dark);
    margin-right: 0.75rem;
    font-size: 1.25rem; /* text-xl */
    margin-top: 0.125rem; /* Align with text */
    flex-shrink: 0;
}


.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }


/** For Services Provider **/

.hero-bg-providers-signup {
    background: linear-gradient(135deg, var(--reilink-bg-subtle) 0%, #e0f2fe 100%);
    padding-top: 8rem; 
    padding-bottom: 4rem; /* Adjusted padding for form */
}
.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.75rem 1.5rem; 
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }

.feature-block-provider {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
    transition: all 0.3s ease;
}
.feature-block-provider:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.06);
}
.feature-block-provider .icon {
    font-size: 2.25rem; 
    color: var(--reilink-primary-dark);
    margin-bottom: 1rem;
}
.roadmap-step {
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 1rem; background-color: var(--reilink-bg-subtle);
    border-left: 4px solid var(--reilink-primary-dark); border-radius: 0.375rem;
}
.roadmap-step .step-icon { font-size: 1.5rem; color: var(--reilink-primary-dark); margin-top: 0.125rem; }
.left-align-paragraph { text-align: left; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; }
.text-sky-600 { color: #0284c7; }
.bg-sky-600 { background-color: #0284c7; }

/* Hero Form Styles */
.hero-form-container {
    background-color: var(--bg-container);
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border: 1px solid var(--border-soft);
}
.hero-form-container .input-group { margin-bottom: 1rem; }
.hero-form-container .input-group label {
    display: block; font-size: 0.75rem; /* text-xs */
    font-weight: 500; color: var(--text-medium); margin-bottom: 0.25rem;
}
.hero-form-container .input-group input,
.hero-form-container .input-group select {
    width: 100%; padding: 0.625rem 0.75rem; /* py-2.5 px-3 */
    font-size: 0.875rem; border: 1px solid var(--border-medium);
    border-radius: 0.375rem; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
}
 .hero-form-container .cta-button-signup {
     background-color: var(--reilink-accent-gold);
     color: var(--text-dark); font-weight: 700; padding: 0.75rem 1.5rem; 
     border-radius: 0.5rem; transition: background-color 0.3s ease;
     width: 100%; text-align: center; font-size: 1rem;
}
.hero-form-container .cta-button-signup:hover { background-color: #d97706; /* amber-600 */ }


/** Beacon System **/
.hero-bg-beacon {
    background: var(--reilink-primary-dark);
    color: white;
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-beacon h1 { color: white; }
.hero-bg-beacon .sub-headline { color: var(--reilink-primary-light); }


.section-title-underline::after {
    content: ''; display: block; width: 70px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.cta-button {
     background-color: var(--reilink-primary-base);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(56, 189, 248, 0.4);
     display: inline-block;
}
.cta-button:hover { background-color: var(--reilink-primary-dark); }

.step-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border-left: 4px solid var(--reilink-primary-dark);
}
.step-card .step-number {
    font-size: 1.5rem; font-weight: 800; color: var(--reilink-primary-dark);
    margin-bottom: 0.5rem;
}
.broadcast-center-table-container {
    background-color: #0c1f30;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    color: var(--text-light);
}
.broadcast-center-table-container table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}
.broadcast-center-table-container th, .broadcast-center-table-container td {
    padding: 0.65rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid #2a3f54;
}
.broadcast-center-table-container th {
    color: var(--reilink-primary-light);
    font-weight: 600;
    white-space: nowrap;
}
.broadcast-center-table-container td {
    color: #cbd5e1; /* slate-300 */
}
.broadcast-center-table-container .action-btn {
    background-color: var(--reilink-primary-dark);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.7rem;
    margin-right: 0.25rem;
    border: 1px solid var(--reilink-primary-base);
    cursor: pointer;
}
.broadcast-center-table-container .action-btn:hover {
     background-color: var(--reilink-primary-base);
}
.text-sky-600 { color: #0284c7; }
.left-align-intro-paragraph {
    max-width: 48rem; /* max-w-2xl or similar */
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

/** Checkout **/
.checkout-layout {
    display: grid;
    grid-template-columns: 1fr; /* Single column on mobile */
    gap: 2rem;
}
@media (min-width: 1024px) { /* lg breakpoint */
    .checkout-layout {
        grid-template-columns: 2fr 1fr; /* Two columns on larger screens */
    }
}


.form-section {
    background-color: var(--bg-container);
    padding: 1.5rem; /* p-6 */
    border-radius: 0.5rem; /* rounded-lg */
    border: 1px solid var(--border-soft);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.03), 0 1px 2px 0 rgba(0,0,0,0.02);
    margin-bottom: 1.5rem;
}
.form-section h2 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 1.5rem; /* mb-6 */
    padding-bottom: 0.75rem; /* pb-3 */
    border-bottom: 1px solid var(--border-soft);
}
.input-group { margin-bottom: 1rem; }
.input-group label {
    display: block; font-size: 0.875rem; /* text-sm */
    font-weight: 500; color: var(--text-medium); margin-bottom: 0.375rem; /* mb-1.5 */
}
.input-group input[type="text"],
.input-group input[type="email"],
.input-group input[type="tel"],
.input-group input[type="password"],
.input-group select {
    width: 100%; padding: 0.625rem 0.75rem; /* py-2.5 px-3 */
    font-size: 0.875rem; border: 1px solid var(--border-medium);
    border-radius: 0.375rem; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input-group input:focus, .input-group select:focus {
    outline: none; border-color: var(--reilink-primary-base);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.3);
}
.order-summary-card {
    background-color: var(--reilink-bg-subtle);
    border-radius: 0.5rem;
    border: 1px solid var(--reilink-primary-light);
    padding: 1.5rem;
}
.order-summary-card h3 {
    font-size: 1.125rem; font-weight: 600; color: var(--text-dark);
    margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--reilink-primary-light);
}
.summary-item { display: flex; justify-content: space-between; font-size: 0.875rem; margin-bottom: 0.5rem; }
.summary-item .label { color: var(--text-medium); }
.summary-item .value { color: var(--text-dark); font-weight: 500; }
.summary-total { display: flex; justify-content: space-between; font-size: 1.125rem; font-weight: 700; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--reilink-primary-light); }
.summary-total .label { color: var(--text-dark); }
.summary-total .value { color: var(--reilink-primary-dark); }


.cta-button-complete-purchase {
     background-color: var(--reilink-success);
     color: white; font-weight: 700; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(34, 197, 94, 0.4);
     display: block; width: 100%; text-align: center;
}
.cta-button-complete-purchase:hover { background-color: #16a34a; /* green-600 */ }
.text-sky-600 { color: #0284c7; }
        
        
/** Verified Badge **/

.hero-bg-badges {
    background-color: var(--reilink-verified-green);
    color: white;
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.hero-bg-badges h1 { color: white; }
.hero-bg-badges .sub-headline { color: #d1fae5; /* emerald-100 */ }


.section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px auto 0; border-radius: 3px;
}
.left-align-section-title-underline::after {
    content: ''; display: block; width: 80px; height: 5px;
    background-color: var(--reilink-primary-dark); margin: 12px 0 0;
    border-radius: 3px;
}
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block;
}
.cta-button-primary:hover { background-color: #0284c7; }

.badge-type-card {
    background-color: var(--bg-container);
    border-radius: 0.75rem;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-soft);
    text-align: center;
}
.badge-type-card .badge-icon-display {
    font-size: 3rem;
    color: var(--reilink-verified-green);
    margin-bottom: 1rem;
    /* Placeholder for actual badge image/style */
    width: 80px; height: 80px;
    border: 3px solid var(--reilink-verified-green);
    background-color: var(--reilink-bg-subtle);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.benefit-card-badge {
    background-color: var(--bg-container);
    border-radius: 0.5rem; padding: 1.5rem;
    border-left: 4px solid var(--reilink-verified-green);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.benefit-card-badge h4 { color: var(--reilink-primary-darkest); font-weight: 600; margin-bottom: 0.25rem; }


.text-sky-600 { color: #0284c7; }
.left-align-paragraph { text-align: left; line-height: 1.75; }
.left-align-paragraph-centered-block { max-width: 48rem; margin-left: auto; margin-right: auto; text-align: left; line-height: 1.75; }

/** Terms and Condition **/
.legal-header {
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container {
    background-color: var(--bg-container);
    max-width: 800px;
    margin: -2rem auto 3rem auto;
    padding: 2.5rem 3rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -2px rgba(0,0,0,.05);
    position: relative;
    z-index: 10;
}
.legal-content-container h1.main-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
    text-align: center;
}
 .legal-content-container .date-info {
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-light);
    margin-bottom: 2rem;
}
.legal-content-container h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container h2:first-of-type {
    margin-top: 0;
}
.legal-content-container h3 { /* For sub-sections within a main numbered section */
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.legal-content-container p, .legal-content-container li {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: var(--text-medium);
}
.legal-content-container ul {
    list-style: disc;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}
.legal-content-container strong {
    font-weight: 600;
    color: var(--text-dark);
}
.legal-content-container a {
    color: var(--reilink-primary-dark);
    text-decoration: underline;
}
.legal-content-container a:hover {
    color: #0284c7; /* sky-600 */
}
.all-caps-disclaimer {
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.community-list-section h3 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600;
    color: var(--reilink-primary-dark);
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.community-list-section ul {
    list-style: none;
    padding-left: 0;
}
 .community-list-section li {
    padding-left: 1.25rem;
    position: relative;
    font-size: 0.875rem;
}
.community-list-section li::before {
    content: '\f07c'; /* Font Awesome folder icon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--reilink-primary-base);
    position: absolute;
    left: 0;
    top: 0.1em;
}

/** Terms of Use **/
.legal-header {
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container {
    background-color: var(--bg-container);
    max-width: 800px;
    margin: -2rem auto 3rem auto;
    padding: 2.5rem 3rem; /* Increased padding */
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -2px rgba(0,0,0,.05);
    position: relative;
    z-index: 10;
}
.legal-content-container h1.main-title { /* Specific styling for the main title within the card */
    font-size: 2.25rem; /* text-3xl or 4xl */
    font-weight: 800; /* extrabold */
    color: var(--text-dark);
    margin-bottom: 0.5rem;
    text-align: center;
}
 .legal-content-container .date-info {
    text-align: center;
    font-size: 0.875rem; /* text-sm */
    color: var(--text-light);
    margin-bottom: 2rem;
}
.legal-content-container h2 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700; /* bold */
    color: var(--text-dark);
    margin-top: 2.5rem; /* Increased top margin */
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container h2:first-of-type {
    margin-top: 0;
}
.legal-content-container p, .legal-content-container li {
    margin-bottom: 1rem;
    font-size: 0.9rem; /* text-sm equivalent */
    color: var(--text-medium); /* Slightly darker for better contrast */
}
.legal-content-container ul {
    list-style: disc;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}
.legal-content-container strong {
    font-weight: 600; /* semibold */
    color: var(--text-dark);
}
.legal-content-container a {
    color: var(--reilink-primary-dark);
    text-decoration: underline;
}
.legal-content-container a:hover {
    color: #0284c7; /* sky-600 */
}
.text-sky-600 { color: #0284c7; }
.all-caps-disclaimer {
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

/** Privacy Polic **/

.legal-header {
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container {
    background-color: var(--bg-container);
    max-width: 800px;
    margin: -2rem auto 3rem auto;
    padding: 2.5rem 3rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -2px rgba(0,0,0,.05);
    position: relative;
    z-index: 10;
}
.legal-content-container h1.main-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
    text-align: center;
}
 .legal-content-container .date-info {
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-light);
    margin-bottom: 2rem;
}
.legal-content-container h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container h2:first-of-type {
    margin-top: 0;
}
.legal-content-container h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.legal-content-container p, .legal-content-container li {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: var(--text-medium);
}
.legal-content-container ul {
    list-style: disc;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}
.legal-content-container strong {
    font-weight: 600;
    color: var(--text-dark);
}
.legal-content-container a {
    color: var(--reilink-primary-dark);
    text-decoration: underline;
}
.legal-content-container a:hover {
    color: #0284c7; /* sky-600 */
}
.text-sky-600 { color: #0284c7; }
.all-caps-disclaimer {
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

/** Community Rules **/

.legal-header { /* Reusing style from terms pages */
    background-color: var(--reilink-bg-subtle);
    padding-top: 8rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--border-soft);
}
.legal-content-container {
    background-color: var(--bg-container);
    max-width: 800px;
    margin: -2rem auto 3rem auto;
    padding: 2.5rem 3rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.07),0 4px 6px -2px rgba(0,0,0,.05);
    position: relative;
    z-index: 10;
}
.legal-content-container h1.main-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 0.5rem;
    text-align: center;
}
 .legal-content-container .date-info {
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-light);
    margin-bottom: 2rem;
}
.legal-content-container h2 { /* Chapter Titles */
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--reilink-primary-dark); /* Using primary color for chapter titles */
    margin-top: 2.5rem;
    margin-bottom: 1.5rem; /* Increased bottom margin */
    padding-bottom: 0.75rem; /* Increased padding */
    border-bottom: 2px solid var(--reilink-primary-base); /* Thicker, colored border */
}
.legal-content-container h2:first-of-type {
    margin-top: 0;
}
.legal-content-container h3 { /* Sub-section Titles (e.g., 1.1 Respect & Conduct) */
    font-size: 1.125rem; /* text-lg */
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.legal-content-container p, .legal-content-container li {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: var(--text-medium);
}
.legal-content-container ul {
    list-style: none; /* Remove default bullets */
    padding-left: 0;
    margin-bottom: 1rem;
}
.legal-content-container ul li {
    padding-left: 1.75rem; /* Space for custom icon */
    position: relative;
    margin-bottom: 0.5rem;
}
.legal-content-container ul li::before {
    content: '\f105'; /* Font Awesome chevron-right */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--reilink-primary-base);
    position: absolute;
    left: 0;
    top: 0.15em; /* Adjust for vertical alignment */
}
.legal-content-container strong {
    font-weight: 600;
    color: var(--text-dark);
}
.legal-content-container a {
    color: var(--reilink-primary-dark);
    text-decoration: underline;
}
.legal-content-container a:hover {
    color: #0284c7; /* sky-600 */
}
.community-list-section h3 { /* For Community List Category Titles */
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--reilink-primary-darkest);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.community-list-section ul {
    list-style: none;
    padding-left: 0;
}
 .community-list-section li {
    padding-left: 1.5rem;
    position: relative;
    font-size: 0.9rem;
    margin-bottom: 0.375rem;
}
.community-list-section li::before {
    content: '\f07c'; /* Font Awesome folder icon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 400; /* Regular weight for folder */
    color: var(--reilink-primary-base);
    position: absolute;
    left: 0;
    top: 0.1em;
}
.text-sky-600 { color: #0284c7; }

/** Theoretical Plane **/

.hero-bg-theoretical-plane {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); /* Light sky blue gradient */
}
.section-heading {
    font-size: 2.25rem; /* text-3xl */
    line-height: 2.5rem;
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.75rem; /* mb-3 */
}
 .section-subheading {
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
    color: #475569; /* slate-600 */
    max-width: 48rem; /* max-w-2xl */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem; /* mb-8 */
}
.component-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem; /* p-8 */
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; /* Ensure cards in a row have same height */
}
.component-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
}
.component-card .icon {
    font-size: 2.5rem; /* text-5xl */
    color: #0ea5e9; /* sky-500 */
    margin-bottom: 1rem; /* mb-4 */
}
.component-card h3 {
    font-size: 1.5rem; /* text-2xl */
    font-weight: 600; /* semibold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.75rem; /* mb-3 */
}
.component-card p {
    font-size: 1rem; /* text-base */
    color: #4b5563; /* gray-600 */
    line-height: 1.625; /* leading-relaxed */
    margin-bottom: 1rem; /* mb-4 */
}
.key-benefit-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.5rem; /* mb-2 */
}
.key-benefit-item .fa-check-circle {
    color: #22c55e; /* green-500 */
    margin-right: 0.5rem; /* mr-2 */
    margin-top: 0.25rem; /* mt-1 for alignment */
}

/** Practical Plane **/

.hero-bg-practical-plane {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); /* Light emerald/green gradient */
}
.section-heading {
    font-size: 2.25rem; /* text-3xl */
    line-height: 2.5rem;
    font-weight: 700; /* bold */
    color: #1e293b; /* slate-800 */
    margin-bottom: 0.75rem; /* mb-3 */
}
 .section-subheading {
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem;
    color: #475569; /* slate-600 */
    max-width: 48rem; /* max-w-2xl */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem; /* mb-8 */
}
.component-card {
    background-color: white;
    border-radius: 0.75rem; /* rounded-xl */
    padding: 2rem; /* p-8 */
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; /* Ensure cards in a row have same height */
}
.component-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
}
.component-card .icon {
    font-size: 2.5rem; /* text-5xl */
    color: #10b981; /* emerald-500 */
    margin-bottom: 1rem; /* mb-4 */
}
.component-card h3 {
    font-size: 1.5rem; /* text-2xl */
    font-weight: 600; /* semibold */
    color: #111827; /* gray-900 */
    margin-bottom: 0.75rem; /* mb-3 */
}
.component-card p {
    font-size: 1rem; /* text-base */
    color: #4b5563; /* gray-600 */
    line-height: 1.625; /* leading-relaxed */
    margin-bottom: 1rem; /* mb-4 */
}
.key-benefit-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.5rem; /* mb-2 */
}
.key-benefit-item .fa-check-circle {
    color: #22c55e; /* green-500 */
    margin-right: 0.5rem; /* mr-2 */
    margin-top: 0.25rem; /* mt-1 for alignment */
}

/** Free Plan **/

    .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            height: 100%;
            overflow: hidden; /* To contain the new header background */
            border-radius: 0.5rem; /* Ensure rounding is consistent */
        }
        .feature-card .card-content {
            flex-grow: 1;
            padding: 1.5rem;
        }
        .feature-card .feature-header {
            background-color: var(--reilink-primary-darkest);
            padding: 1rem 1.5rem;
            border-bottom: 1px solid #000;
        }
        .feature-card .feature-header h3 {
            color: white;
        }
        .feature-card .feature-header i {
            color: var(--reilink-primary-base);
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        .persona-card {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-primary-base);
        }
        .next-tier-teaser {
            background: linear-gradient(135deg, var(--reilink-primary-darkest) 0%, #2c3e50 100%);
            color: #e0f2fe;
        }
        .next-tier-teaser strong {
            color: var(--reilink-primary-base);
        }
        .next-tier-teaser a.cta-button {
            background-color: var(--reilink-highlight);
            color: var(--text-dark);
        }
        .next-tier-teaser a.cta-button:hover {
            background-color: #d97706;
        }
        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%;
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.starter { background-color: #e0f2fe; color: #0369a1; } /* sky-100, sky-700 */
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}
/** Essential Plan **/
  .section-accent-bg {
            background-color: #e0f2fe; 
        }
        .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex; 
            flex-direction: column; 
            height: 100%; /* For items-stretch in grid */
        }
        .feature-card .card-content { 
            flex-grow: 1; 
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        .uniform-height-card .card-content { /* Applied to standard feature cards */
            min-height: 130px; /* Adjust as needed for content balance */
        }

        .persona-card {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-primary-dark);
        }
        .next-tier-teaser {
            background: linear-gradient(135deg, var(--reilink-primary-darkest) 0%, #2c3e50 100%);
            color: #e0f2fe; 
        }
        .next-tier-teaser strong {
            color: var(--reilink-primary-base);
        }
        .next-tier-teaser a.cta-button {
            background-color: var(--reilink-highlight);
            color: var(--text-dark);
        }
        .next-tier-teaser a.cta-button:hover {
            background-color: #d97706; 
        }

        .tooltip-trigger {
            position: relative; margin-left: 6px; color: var(--reilink-primary-base);
            cursor: help; border-bottom: 1px dotted var(--reilink-primary-base); font-weight: 600; font-size: 0.8em;
        }
        .tooltip-text {
            visibility: hidden; width: 280px; background-color: var(--reilink-primary-darkest);
            color: #fff; text-align: left; border-radius: 6px; padding: 10px;
            position: absolute; z-index: 50; bottom: 150%; left: 50%;
            margin-left: -140px; opacity: 0; transition: opacity 0.3s;
            font-size: 0.8rem; line-height: 1.4; font-weight: 400;
            box-shadow: 0 3px 10px rgba(0,0,0,0.2);
            white-space: normal;
        }
        .tooltip-text::after {
            content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px;
            border-width: 5px; border-style: solid; border-color: var(--reilink-primary-darkest) transparent transparent transparent;
        }
        .tooltip-trigger:hover .tooltip-text { visibility: visible; opacity: 1; }

        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%; /* For items-stretch */
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.growth { background-color: #fef3c7; color: #92400e; } /* For Growth testimonials */
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}

/** Starter Plan **/

   .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            height: 100%;
            overflow: hidden;
            border-radius: 0.5rem;
        }
        .feature-card .card-content {
            flex-grow: 1;
            padding: 1.5rem;
        }
        .feature-card .feature-header {
            background-color: var(--reilink-primary-dark); /* Changed to hero blue */
            padding: 1rem 1.5rem;
            border-bottom: 1px solid var(--reilink-primary-darkest);
        }
        .feature-card .feature-header h3 {
            color: white;
        }
        .feature-card .feature-header i {
            color: white; /* Changed for better contrast */
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        .persona-card {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-primary-dark);
        }
        .next-tier-teaser {
            background: linear-gradient(135deg, var(--reilink-primary-darkest) 0%, #2c3e50 100%);
            color: #e0f2fe;
        }
        .next-tier-teaser strong {
            color: var(--reilink-primary-base);
        }
        .next-tier-teaser a.cta-button {
            background-color: var(--reilink-highlight);
            color: var(--text-dark);
        }
        .next-tier-teaser a.cta-button:hover {
            background-color: #d97706;
        }
        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%;
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.essentials { background-color: #e0e7ff; color: #3730a3; }
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}

/** Essential Plan**/
.section-accent-bg {
    background-color: #e0f2fe; 
}
.feature-card {
    background-color: var(--bg-container);
    border: 1px solid var(--border-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex; 
    flex-direction: column; 
    height: 100%; /* For items-stretch in grid */
}
.feature-card .card-content { 
    flex-grow: 1; 
}
.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.07);
}
.uniform-height-card .card-content { /* Applied to standard feature cards */
    min-height: 0px; /* Adjust as needed for content balance */
}

.persona-card {
    background-color: var(--bg-container);
    border-left: 4px solid var(--reilink-primary-dark);
}
.next-tier-teaser {
    background: linear-gradient(135deg, var(--reilink-primary-darkest) 0%, #2c3e50 100%);
    color: #e0f2fe; 
}
.next-tier-teaser strong {
    color: var(--reilink-primary-base);
}
.next-tier-teaser a.cta-button {
    background-color: var(--reilink-highlight);
    color: var(--text-dark);
}
.next-tier-teaser a.cta-button:hover {
    background-color: #d97706; 
}

.tooltip-trigger {
    position: relative; margin-left: 6px; color: var(--reilink-primary-base);
    cursor: help; border-bottom: 1px dotted var(--reilink-primary-base); font-weight: 600; font-size: 0.8em;
}
.tooltip-text {
    visibility: hidden; width: 280px; background-color: var(--reilink-primary-darkest);
    color: #fff; text-align: left; border-radius: 6px; padding: 10px;
    position: absolute; z-index: 50; bottom: 150%; left: 50%;
    margin-left: -140px; opacity: 0; transition: opacity 0.3s;
    font-size: 0.8rem; line-height: 1.4; font-weight: 400;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
    white-space: normal;
}
.tooltip-text::after {
    content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px;
    border-width: 5px; border-style: solid; border-color: var(--reilink-primary-darkest) transparent transparent transparent;
}
.tooltip-trigger:hover .tooltip-text { visibility: visible; opacity: 1; }

.testimonial-card-breakout { 
    background-color: var(--bg-container); 
    border-radius: 0.75rem; 
    padding: 1.5rem; 
    display: flex; 
    flex-direction: column; 
    text-align: left; 
    border: 1px solid var(--border-soft); 
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    height: 100%; /* For items-stretch */
}
.testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
.testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
.testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
.testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
.testimonial-card-breakout .plan-badge.growth { background-color: #fef3c7; color: #92400e; } /* For Growth testimonials */
.testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
.testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}

/** Growth Plan **/
      .section-accent-bg {
            background-color: #e0f2fe; 
        }
        .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex; 
            flex-direction: column; 
            height: 100%; 
        }
        .feature-card .card-content { 
            flex-grow: 1; 
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        .uniform-height-card .card-content {
            min-height: 130px; 
        }

        .persona-card-highlight {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-highlight);
        }
        .next-tier-teaser-dark {
            background: linear-gradient(135deg, #1e3a8a 0%, #1e293b 100%); /* blue-900 to slate-800 */
            color: #dbeafe; /* blue-100 */
        }
        .next-tier-teaser-dark strong {
            color: #60a5fa; /* blue-400 */
        }
        .next-tier-teaser-dark .cta-button {
            background-color: var(--reilink-primary-base);
            color: var(--reilink-primary-darkest);
            padding: 0.75rem 2rem;
            border-radius: 0.5rem;
            font-weight: 700;
            transition: all 0.3s;
        }
        .next-tier-teaser-dark .cta-button:hover {
            background-color: var(--reilink-primary-light); 
            transform: scale(1.05);
        }

        .tooltip-trigger {
            position: relative; margin-left: 6px; color: var(--reilink-primary-base);
            cursor: help; border-bottom: 1px dotted var(--reilink-primary-base); font-weight: 600; font-size: 0.8em;
        }
        .tooltip-text {
            visibility: hidden; width: 280px; background-color: var(--reilink-primary-darkest);
            color: #fff; text-align: left; border-radius: 6px; padding: 10px;
            position: absolute; z-index: 50; bottom: 150%; left: 50%;
            margin-left: -140px; opacity: 0; transition: opacity 0.3s;
            font-size: 0.8rem; line-height: 1.4; font-weight: 400;
            box-shadow: 0 3px 10px rgba(0,0,0,0.2);
            white-space: normal;
        }
        .tooltip-text::after {
            content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px;
            border-width: 5px; border-style: solid; border-color: var(--reilink-primary-darkest) transparent transparent transparent;
        }
        .tooltip-trigger:hover .tooltip-text { visibility: visible; opacity: 1; }

        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%;
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.business { background-color: #dbeafe; color: #1e40af; } 
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}
        
        .highlight-feature-section {
            background-color: var(--reilink-primary-darkest);
            color: #e5e7eb; 
        }
        .highlight-feature-section h2, .highlight-feature-section h3 {
            color: white;
        }
        .highlight-feature-section .sub-feature-card {
            background-color: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 0.5rem;
            padding: 1rem;
            transition: background-color 0.3s ease;
            height: 100%;
            display: flex;
            flex-direction: column;
        }
        .highlight-feature-section .sub-feature-card:hover {
            background-color: rgba(255,255,255,0.1);
        }
        .highlight-feature-section .sub-feature-card i {
            color: var(--reilink-primary-base);
        }
        .highlight-feature-section .sub-feature-card p {
            flex-grow: 1;
        }
        
        /* New Style for Gradient Card Headers */
        .card-header-gradient {
            background: linear-gradient(135deg, var(--reilink-highlight), var(--reilink-highlight-dark));
        }
        .card-header-gradient h3, .card-header-gradient i {
            color: white;
        }

/** Business Plan **/
   .section-accent-bg {
            background-color: #e0f2fe; 
        }
        .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex; 
            flex-direction: column; 
            height: 100%; 
            border-radius: 0.5rem;
        }
        .feature-card .card-content { 
            flex-grow: 1; 
            padding: 1.5rem;
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        
        .persona-card {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-primary-dark);
        }
        .next-tier-teaser {
            background: linear-gradient(135deg, #4c1d95 0%, #3730a3 100%); /* violet-900 to indigo-800 */
            color: #ede9fe; /* violet-100 */
        }
        .next-tier-teaser strong {
            color: #a78bfa; /* violet-400 */
        }
        .next-tier-teaser .cta-button-business {
            background-color: var(--reilink-primary-base);
            color: var(--reilink-primary-darkest);
            padding: 0.75rem 2rem;
            border-radius: 0.5rem;
            font-weight: 700;
            transition: all 0.3s;
        }
        .next-tier-teaser .cta-button-business:hover {
            background-color: var(--reilink-primary-light); 
            transform: scale(1.05);
        }

        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%;
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.partner { background-color: #f3e8ff; color: #6b21a8; } 
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}
        
        .highlight-feature-section {
            background-color: var(--reilink-primary-darkest);
            color: #e5e7eb; 
        }
        .highlight-feature-section h2, .highlight-feature-section h3 {
            color: white;
        }
        .highlight-feature-section .sub-feature-card {
            background-color: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 0.5rem;
            padding: 1.5rem; 
            transition: background-color 0.3s ease;
            height: 100%; 
            display: flex;
            flex-direction: column;
        }
        .highlight-feature-section .sub-feature-card:hover {
            background-color: rgba(255,255,255,0.1);
        }
        .highlight-feature-section .sub-feature-card i.main-icon { 
            color: var(--reilink-primary-base);
            margin-bottom: 0.75rem; 
        }
        .highlight-feature-section .sub-feature-card p {
            flex-grow: 1;
            font-size: 0.875rem; 
            line-height: 1.6;
        }
        
        .card-header-gradient {
            background: linear-gradient(135deg, var(--reilink-highlight), var(--reilink-highlight-dark));
        }
        .card-header-gradient h3, .card-header-gradient i {
            color: white;
        }
        
        .comparison-table-business {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.95rem;
        }
        .comparison-table-business th, .comparison-table-business td {
            padding: 1rem 1.25rem;
            text-align: center;
            vertical-align: middle;
        }
        .comparison-table-business thead th {
            border-bottom: 1px solid var(--border-soft);
            background-color: #f9fafb; 
            font-weight: 600;
            color: var(--text-medium);
        }
        .comparison-table-business thead th:first-child {
            text-align: left;
        }
        .comparison-table-business tbody tr {
            border-bottom: 1px solid var(--border-soft);
        }
        .comparison-table-business tbody tr:last-child {
            border-bottom: none;
        }
        .comparison-table-business td {
            background-color: white;
        }
        .comparison-table-business td:first-child {
            text-align: left;
            font-weight: 500;
            color: var(--text-dark);
        }
        .comparison-table-business .plan-header {
             font-weight: 700;
             font-size: 1.1rem;
        }
        .comparison-table-business .plan-header.growth { color: var(--reilink-highlight); }
        .comparison-table-business .plan-header.business { color: #1d4ed8; }
        .comparison-table-business .check { font-size: 1.25rem; color: #22c55e; }
        .comparison-table-business .cross { font-size: 1.25rem; color: #ef4444; }
        .comparison-table-business .text-muted { color: var(--text-light); }
        .comparison-table-business .text-upgrade { color: #16a34a; font-weight: 600; }
        
/** Partner Plan **/

 .section-accent-bg {
            background-color: #f5f3ff; /* violet-50 */
        }
        .feature-card {
            background-color: var(--bg-container);
            border: 1px solid var(--border-soft);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex; 
            flex-direction: column; 
            height: 100%; 
            border-radius: 0.5rem;
        }
        .feature-card .card-content { 
            flex-grow: 1; 
            padding: 1.5rem;
        }
        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.07);
        }
        
        .persona-card-partner {
            background-color: var(--bg-container);
            border-left: 4px solid var(--reilink-partner-dark);
        }
        
        .testimonial-card-breakout { 
            background-color: var(--bg-container); 
            border-radius: 0.75rem; 
            padding: 1.5rem; 
            display: flex; 
            flex-direction: column; 
            text-align: left; 
            border: 1px solid var(--border-soft); 
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            height: 100%;
        }
        .testimonial-card-breakout .author-info { display: flex; align-items: center; margin-bottom: 1rem; } 
        .testimonial-card-breakout .author-avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1rem; border: 2px solid var(--border-soft); }
        .testimonial-card-breakout .author-details .name { font-weight: 700; color: var(--text-dark); } 
        .testimonial-card-breakout .plan-badge { display: inline-block; padding: 2px 8px; font-size: 0.75rem; font-weight: 600; border-radius: 9999px; margin-left: 0.5rem; }
        .testimonial-card-breakout .plan-badge.partner { background-color: #ede9fe; color: var(--reilink-partner-dark); border: 1px solid var(--reilink-partner-light); } 
        .testimonial-card-breakout .stars { color: var(--reilink-highlight); margin-bottom: 0.75rem; } 
        .testimonial-card-breakout .quote { font-style: italic; line-height: 1.6; color: var(--text-medium); flex-grow: 1;}
        
        .highlight-feature-section {
            background-color: var(--reilink-primary-darkest);
            color: #e5e7eb; 
        }
        .highlight-feature-section h2, .highlight-feature-section h3 {
            color: white;
        }
        .highlight-feature-section .sub-feature-card {
            background-color: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 0.5rem;
            padding: 1.5rem; 
            transition: background-color 0.3s ease;
            height: 100%; 
            display: flex;
            flex-direction: column;
        }
        .highlight-feature-section .sub-feature-card:hover {
            background-color: rgba(255,255,255,0.1);
        }
        .highlight-feature-section .sub-feature-card i.main-icon { 
            color: var(--reilink-partner-light);
            margin-bottom: 0.75rem; 
        }
        .highlight-feature-section .sub-feature-card p {
            flex-grow: 1;
            font-size: 0.875rem; 
            line-height: 1.6;
        }
        
.card-header-gradient {
    background: linear-gradient(135deg, #8b5cf6, #5b21b6); /* This creates a violet gradient */
}
        .card-header-gradient h3, .card-header-gradient i {
            color: white;
        }
        
        .comparison-table-partner {
            width: 100%;
            border-collapse: collapse;
            font-size: 0.95rem;
        }
        .comparison-table-partner th, .comparison-table-partner td {
            padding: 1rem 1.25rem;
            text-align: center;
            vertical-align: middle;
        }
        .comparison-table-partner thead th {
            border-bottom: 1px solid var(--border-soft);
            background-color: #f9fafb; 
            font-weight: 600;
            color: var(--text-medium);
        }
        .comparison-table-partner thead th:first-child {
            text-align: left;
        }
        .comparison-table-partner tbody tr {
            border-bottom: 1px solid var(--border-soft);
        }
        .comparison-table-partner tbody tr:last-child {
            border-bottom: none;
        }
        .comparison-table-partner td {
            background-color: white;
        }
        .comparison-table-partner td:first-child {
            text-align: left;
            font-weight: 500;
            color: var(--text-dark);
        }
        .comparison-table-partner .plan-header {
             font-weight: 700;
             font-size: 1.1rem;
        }
        .comparison-table-partner .plan-header.business { color: #1d4ed8; }
        .comparison-table-partner .plan-header.partner { color: var(--reilink-partner-dark); }
        .comparison-table-partner .check { font-size: 1.25rem; color: #22c55e; }
        .comparison-table-partner .cross { font-size: 1.25rem; color: #ef4444; }
        .comparison-table-partner .text-muted { color: var(--text-light); }
        .comparison-table-partner .text-upgrade { color: #16a34a; font-weight: 600; }

/** DISPOAID **/


.feature-logo {
    flex-shrink: 0;
    font-family: "Segoe UI", Roboto, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 0.5rem;
    margin-right: 0.75rem;
}

.highlight-feature-section {
    background-color: var(--reilink-primary-darkest);
    color: #e5e7eb;
}
.highlight-feature-section h2 { color: white; }
.highlight-feature-section .sub-feature-card {
    background-color: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 0.75rem; padding: 1.5rem; transition: all 0.3s ease; height: 100%; display: flex; flex-direction: column;
}
.highlight-feature-section .sub-feature-card:hover {
    background-color: rgba(255,255,255,0.1); transform: translateY(-3px);
}
.highlight-feature-section .sub-feature-card h4 {
    color: var(--reilink-primary-light); font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem;
    display: flex; align-items: center;
}
.highlight-feature-section .feature-logo {
     color: var(--reilink-primary-light);
     background-color: #334155; /* slate-700 */
}
.highlight-feature-section .sub-feature-card p {
    flex-grow: 1; font-size: 0.9rem; line-height: 1.6; color: var(--text-light);
}
.highlight-feature-section .sub-feature-card a {
    margin-top: 1rem; font-weight: 600; color: var(--reilink-highlight); text-decoration: none; transition: color 0.2s;
}
.highlight-feature-section .sub-feature-card a:hover { color: #fefce8; }
.highlight-feature-section .coming-soon-badge {
    background-color: var(--reilink-highlight); color: var(--text-dark); font-size: 0.7rem; font-weight: 700; padding: 2px 8px; border-radius: 9999px; display: inline-block; margin-left: 0.5rem;
}

.light-feature-section {
    background-color: var(--bg-container); border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft);
}
.light-feature-section h2 { color: var(--text-dark); }
.light-feature-section .light-feature-card {
    background-color: var(--reilink-bg-subtle); border: 1px solid var(--border-soft); border-radius: 0.75rem; padding: 1.5rem; transition: transform 0.2s ease, box-shadow 0.2s ease; height: 100%; display: flex; flex-direction: column;
}
.light-feature-section .light-feature-card:hover {
    transform: translateY(-3px); box-shadow: 0 8px 15px rgba(0,0,0,0.05);
}
.light-feature-section .light-feature-card h4 {
    color: var(--text-dark); font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem;
    display: flex; align-items: center;
}
.light-feature-section .feature-logo {
    color: var(--reilink-primary-dark);
    background-color: #dbeafe; /* blue-100 */
}
.light-feature-section .light-feature-card p {
    flex-grow: 1; font-size: 0.9rem; line-height: 1.6; color: var(--text-medium);
}
 .light-feature-section .light-feature-card a {
    margin-top: 1rem; font-weight: 600; color: var(--reilink-primary-dark); text-decoration: none; transition: color 0.2s;
}
.light-feature-section .light-feature-card a:hover { color: var(--reilink-highlight); }

.cta-section { background-color: var(--reilink-bg-subtle); }

/** SAGE **/
/* START: Styles for the "Old Top" you liked */
.sage-body{
    background-color: var(--reilink-primary-darker);
}

.sage-logo-display {
    display: inline-block;
    background: linear-gradient(145deg, var(--reilink-primary-darkest), #000);
    border: 1px solid var(--border-dark);
    border-radius: 1rem;
    padding: 1.5rem 2.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.sage-logo-display h2 {
    font-size: 3rem;
    font-weight: 800;
    color: var(--text-lightest);
    letter-spacing: 0.1em;
}
.sage-logo-display p {
    font-family: monospace;
    font-size: 1rem;
    color: var(--reilink-primary-base);
    text-align: center;
    margin-top: 0.5rem;
}
/* END: Styles for the "Old Top" */

.feature-showcase {
    background-color: var(--reilink-primary-darkest);
    padding: 3rem 2rem;
    border: 1px solid var(--border-dark);
    border-radius: 1rem;
    margin-bottom: 2.5rem;
}
.feature-box {
    background-color: var(--reilink-primary-darker);
    border-radius: 0.75rem;
    padding: 2rem;
    text-align: center;
}
.feature-box .icon {
    font-size: 3rem;
    color: var(--reilink-primary-base);
    margin-bottom: 1rem;
}
.feature-box h3 {
    color: var(--text-lightest);
    font-size: 1.75rem;
    font-weight: 700;
}
.feature-box .question {
    color: var(--text-medium-sage);
    font-style: italic;
    margin-top: 0.5rem;
    height: 3.5rem; /* Ensure consistent height */
}
.launch-button {
    display: inline-block;
    background-color: var(--reilink-primary-dark);
    color: white;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    margin-top: 1.5rem;
    text-decoration: none;
    transition: all 0.2s ease;
}
.launch-button:hover {
    background-color: var(--reilink-primary-base);
    transform: scale(1.05);
}
.teaser-content h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--reilink-highlight);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.teaser-content p {
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--text-light);
    margin-top: 0.75rem;
}
.teaser-content strong {
    color: var(--text-lightest);
    font-weight: 600;
}

/** EARN MORE RUNS **/
.cta-button-primary {
     background-color: var(--reilink-primary-dark);
     color: white; font-weight: 600; padding: 0.875rem 2rem;
     border-radius: 0.5rem; transition: background-color 0.3s ease, box-shadow 0.3s ease;
     box-shadow: 0 4px 14px 0 rgba(14, 165, 233, 0.3);
     display: inline-block; text-align:center;
}
.cta-button-primary:hover { background-color: #0284c7; /* sky-600 */ }
.form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 6px;
    font-size: 1rem;
    line-height: 1.5;
    transition: all 0.2s ease;
    background-color: white;
}
.form-textarea:focus {
    border-color: var(--reilink-primary-dark);
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}
.main-card {
    display: grid;
    grid-template-columns: 320px 1fr;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.step-label {
    background-color: var(--reilink-primary-dark);
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    display: inline-block;
}
@media (max-width: 768px) {
    .main-card {
        grid-template-columns: 1fr;
    }
}
