.elementor-25373 .elementor-element.elementor-element-79a71fdc > .elementor-container{max-width:1300px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-25373 .elementor-element.elementor-element-42c2cc6c > .elementor-widget-container{margin:50px 0px 0px 0px;}.ee-tooltip.ee-tooltip-42c2cc6c.to--top,
							 .ee-tooltip.ee-tooltip-42c2cc6c.to--bottom{margin-left:0px;}.ee-tooltip.ee-tooltip-42c2cc6c.to--left,
							 .ee-tooltip.ee-tooltip-42c2cc6c.to--right{margin-top:0px;}.elementor-25373 .elementor-element.elementor-element-42c2cc6c img{max-width:100%;}.elementor-25373 .elementor-element.elementor-element-524b401 > .elementor-widget-container{margin:50px 0px 0px 0px;}.ee-tooltip.ee-tooltip-524b401.to--top,
							 .ee-tooltip.ee-tooltip-524b401.to--bottom{margin-left:0px;}.ee-tooltip.ee-tooltip-524b401.to--left,
							 .ee-tooltip.ee-tooltip-524b401.to--right{margin-top:0px;}.elementor-25373 .elementor-element.elementor-element-524b401 img{max-width:100%;}.elementor-25373 .elementor-element.elementor-element-f7705f0 > .elementor-widget-container{margin:-20px 0px 0px 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25373 .elementor-element.elementor-element-b94732 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-25373 .elementor-element.elementor-element-b94732{text-align:center;}.elementor-25373 .elementor-element.elementor-element-b94732 .elementor-heading-title{font-family:"FSElliot", Sans-serif;font-size:38px;font-weight:600;line-height:1.2em;letter-spacing:0.2px;color:#1D1D1F;}.elementor-widget-text-editor{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-25373 .elementor-element.elementor-element-64305779 > .elementor-widget-container{margin:0px 80px 0px 80px;}.elementor-25373 .elementor-element.elementor-element-64305779{text-align:center;color:var( --e-global-color-primary );font-family:"FSElliot", Sans-serif;font-size:20px;font-weight:400;line-height:1.2em;letter-spacing:0.2px;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25373 .elementor-element.elementor-element-64305779{line-height:1.5em;}}@media(max-width:932px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-25373 .elementor-element.elementor-element-524b401 > .elementor-widget-container{margin:5.2em 0em 0em 0em;}.elementor-25373 .elementor-element.elementor-element-f7705f0 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-25373 .elementor-element.elementor-element-b94732 .elementor-heading-title{font-size:1.6rem;line-height:2.5rem;letter-spacing:0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-25373 .elementor-element.elementor-element-64305779 > .elementor-widget-container{margin:0px 20px 0px 20px;}.elementor-25373 .elementor-element.elementor-element-64305779{font-size:clamp(0.95rem, 1.5vw, 1.05rem);line-height:2rem;letter-spacing:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-f7705f0 *//* --- Color & Style Variables --- */
#jazzhipster-custom-content-wrapper {
    --color-text-primary: #1d1d1f;
    --color-text-secondary: #515154;
    --color-accent: #AA0000;
    --color-background-offwhite: #f5f5f7;
    --timing-default: 0.3s;
    --border-radius-large: 24px; 
}

/* --- Base Typography --- */
#jazzhipster-custom-content-wrapper h1, 
#jazzhipster-custom-content-wrapper h2, 
#jazzhipster-custom-content-wrapper h3, 
#jazzhipster-custom-content-wrapper h4,
#jazzhipster-custom-content-wrapper p {
    margin: 0;
}
#jazzhipster-custom-content-wrapper h1, 
#jazzhipster-custom-content-wrapper h2, 
#jazzhipster-custom-content-wrapper h3, 
#jazzhipster-custom-content-wrapper h4 {
    color: var(--color-text-primary);
}
#jazzhipster-custom-content-wrapper p {
    color: var(--color-text-secondary);
}
#jazzhipster-custom-content-wrapper h1 { font-size: clamp(2.1rem, 4.5vw, 3rem); font-weight: 600; line-height: 1.2; text-align: center; }
#jazzhipster-custom-content-wrapper h2 { font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 600; line-height: 1.25; }
#jazzhipster-custom-content-wrapper h3 { font-size: clamp(1.2rem, 2vw, 1.4rem); font-weight: 600; margin-bottom: 0.6rem; }
#jazzhipster-custom-content-wrapper h4 { font-size: clamp(1.05rem, 1.5vw, 1.2rem); font-weight: 600; margin-bottom: 0.8rem; }
#jazzhipster-custom-content-wrapper p { font-size: clamp(0.95rem, 1.5vw, 1.05rem); line-height: 1.55; }

/* --- Base Layout & Components --- */
#jazzhipster-custom-content-wrapper {
    width: 100%;
    padding-bottom: 4rem;
}
#jazzhipster-custom-content-wrapper > section {
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
#jazzhipster-custom-content-wrapper .section-container {
    padding: 4rem 2rem;
    border-radius: var(--border-radius-large);
}
#jazzhipster-custom-content-wrapper .section-title {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem auto;
}
#jazzhipster-custom-content-wrapper .section-subtitle { margin-top: 1rem; }
#jazzhipster-custom-content-wrapper .cta-button {
    display: inline-block;
    padding: 0.8rem 2.5rem;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 50px;
    transition: all var(--timing-default) ease;
    cursor: pointer;
    border: 1px solid var(--color-accent);
    background-color: var(--color-accent);
    color: white !important;
}
#jazzhipster-custom-content-wrapper .cta-button:hover {
    background-color: #900000; 
    border-color: #900000;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(170, 0, 0, 0.25);
}

/* --- Section Specific Styles --- */
#jazzhipster-custom-content-wrapper .intro-section { 
    padding: 4rem 2rem; 
    text-align: center; 
}
#jazzhipster-custom-content-wrapper .intro-section h1 { max-width: 900px; margin-left: auto; margin-right: auto; }
#jazzhipster-custom-content-wrapper .intro-section .subtitle { font-size: 1.15rem; max-width: 750px; margin: 1.5rem auto 2.5rem auto; }

#jazzhipster-custom-content-wrapper .platforms-section .section-container {
    background-color: var(--color-background-offwhite);
}
#jazzhipster-custom-content-wrapper .platforms-container { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 3rem;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
}
#jazzhipster-custom-content-wrapper .platform-card { text-align: left; }
#jazzhipster-custom-content-wrapper .platform-image {
    aspect-ratio: 16 / 9;
    width: 100%;
    margin-bottom: 1.5rem;
    border-radius: 16px; 
    overflow: hidden; 
}
#jazzhipster-custom-content-wrapper .platform-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
}

#jazzhipster-custom-content-wrapper .pillars-section { 
    margin-top: 4rem; 
}
#jazzhipster-custom-content-wrapper .pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
#jazzhipster-custom-content-wrapper .pillar-item {
    background-color: var(--color-background-offwhite);
    padding: 2.5rem;
    border-radius: var(--border-radius-large);
    position: relative;
    overflow: hidden; 
}
#jazzhipster-custom-content-wrapper .pillar-number {
    position: absolute;
    top: -1.5rem;
    left: 0rem;
    font-size: 8rem;
    font-weight: 600;
    line-height: 1;
    color: #E0E1E3; /* Color Adjusted */
    z-index: 1; 
    user-select: none; 
}
#jazzhipster-custom-content-wrapper .pillar-item h4, 
#jazzhipster-custom-content-wrapper .pillar-item p { 
    position: relative; 
    z-index: 2; 
}
#jazzhipster-custom-content-wrapper .pillar-item p { 
    font-size: 1rem; 
}

#jazzhipster-custom-content-wrapper .tech-trends-image-container {
    margin-top: 3rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
#jazzhipster-custom-content-wrapper .tech-trends-image-container img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-large);
    display: block;
}

/* --- Responsive Styles --- */
@media (max-width: 992px) {
    #jazzhipster-custom-content-wrapper .platforms-container,
    #jazzhipster-custom-content-wrapper .pillars-grid { 
        grid-template-columns: 1fr; 
    }
}

@media (max-width: 768px) {
    #jazzhipster-custom-content-wrapper .section-container, 
    #jazzhipster-custom-content-wrapper .intro-section { 
        padding: 3rem 1.5rem; 
    }
    #jazzhipster-custom-content-wrapper > section {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    #jazzhipster-custom-content-wrapper .pillars-section { 
        margin-top: 3rem; 
    }
    #jazzhipster-custom-content-wrapper .platforms-container {
        gap: 2.5rem;
    }
    #jazzhipster-custom-content-wrapper h1 { font-size: 1.8rem; }
    #jazzhipster-custom-content-wrapper h2 { font-size: 1.6rem; }
    #jazzhipster-custom-content-wrapper .intro-section .subtitle { font-size: 1rem; }
    
    #jazzhipster-custom-content-wrapper .pillar-item { 
        padding: 2rem 1.5rem; 
    }
    #jazzhipster-custom-content-wrapper .pillar-number {
        font-size: 6.5rem;
        top: -0.8rem;
        left: 0.2rem;
    } 
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6936a047 */.ff-btn-submit {
    background-color: #AA0000 !important;
    color: #FFFFFF !important; 
    border: 3px solid #AA0000 !important;
    border-radius: 40px; 
    transition: background-color 0.3s, border-color 0.3s; 
    font-size: 16px;
    letter-spacing: 2px;
}

.ff-btn-submit:hover {
    background-color: #BB3333;
    border-color: #BB3333; 
}/* End custom CSS */