.elementor-2464 .elementor-element.elementor-element-b2f43d0{--display:flex;--margin-top:-10px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;}.elementor-2464 .elementor-element.elementor-element-c0a0372 > .elementor-widget-container{margin:0px 0px 0px -9px;}.elementor-2464 .elementor-element.elementor-element-dd20bf4{--display:flex;}.elementor-2464 .elementor-element.elementor-element-e8436cb.elementor-element{--align-self:center;}.elementor-2464 .elementor-element.elementor-element-4f280d9{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2464 .elementor-element.elementor-element-c995974{--display:flex;}.elementor-2464 .elementor-element.elementor-element-d4239d2 .elementor-icon-box-wrapper{gap:15px;}.elementor-2464 .elementor-element.elementor-element-d4239d2.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-2464 .elementor-element.elementor-element-d4239d2.elementor-view-framed .elementor-icon, .elementor-2464 .elementor-element.elementor-element-d4239d2.elementor-view-default .elementor-icon{fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-2464 .elementor-element.elementor-element-d4239d2 .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-2464 .elementor-element.elementor-element-d4239d2 .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-2464 .elementor-element.elementor-element-5fb2878 .elementor-icon-box-wrapper{gap:15px;}.elementor-2464 .elementor-element.elementor-element-5fb2878.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-astglobalcolor0 );}.elementor-2464 .elementor-element.elementor-element-5fb2878.elementor-view-framed .elementor-icon, .elementor-2464 .elementor-element.elementor-element-5fb2878.elementor-view-default .elementor-icon{fill:var( --e-global-color-astglobalcolor0 );color:var( --e-global-color-astglobalcolor0 );border-color:var( --e-global-color-astglobalcolor0 );}.elementor-2464 .elementor-element.elementor-element-5fb2878 .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-2464 .elementor-element.elementor-element-5fb2878 .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-2464 .elementor-element.elementor-element-38dece2 .elementor-icon-box-wrapper{gap:15px;}.elementor-2464 .elementor-element.elementor-element-38dece2.elementor-view-stacked .elementor-icon{background-color:#FF7500;}.elementor-2464 .elementor-element.elementor-element-38dece2.elementor-view-framed .elementor-icon, .elementor-2464 .elementor-element.elementor-element-38dece2.elementor-view-default .elementor-icon{fill:#FF7500;color:#FF7500;border-color:#FF7500;}.elementor-2464 .elementor-element.elementor-element-38dece2 .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-2464 .elementor-element.elementor-element-38dece2 .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-2464 .elementor-element.elementor-element-8615328{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2464 .elementor-element.elementor-element-8615328.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2464 .elementor-element.elementor-element-48669e34{--display:flex;--margin-top:100px;--margin-bottom:100px;--margin-left:100px;--margin-right:100px;}.elementor-2464 .elementor-element.elementor-element-48669e34.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2464 .elementor-element.elementor-element-5c8365{text-align:justify;}.elementor-2464 .elementor-element.elementor-element-370d32dd{--display:flex;}.elementor-2464 .elementor-element.elementor-element-7843ce08{text-align:justify;}.elementor-2464 .elementor-element.elementor-element-4f84e2c{--display:flex;}.elementor-2464 .elementor-element.elementor-element-214d8ed{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2464 .elementor-element.elementor-element-6191976 .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-2464 .elementor-element.elementor-element-6191976 .elementskit-funfact-icon{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-6191976 .funfact-icon svg{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-6191976 .elementskit-funfact-icon, .elementor-2464 .elementor-element.elementor-element-6191976 .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-2464 .elementor-element.elementor-element-6191976 .elementskit-funfact{justify-content:center;display:flex;}.elementor-2464 .elementor-element.elementor-element-90f3e6e .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-2464 .elementor-element.elementor-element-90f3e6e .elementskit-funfact-icon{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-90f3e6e .funfact-icon svg{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-90f3e6e .elementskit-funfact-icon, .elementor-2464 .elementor-element.elementor-element-90f3e6e .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-2464 .elementor-element.elementor-element-90f3e6e .elementskit-funfact{justify-content:center;display:flex;}.elementor-2464 .elementor-element.elementor-element-b341e6f .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-2464 .elementor-element.elementor-element-b341e6f .elementskit-funfact-icon{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-b341e6f .funfact-icon svg{font-size:40px;}.elementor-2464 .elementor-element.elementor-element-b341e6f .elementskit-funfact-icon, .elementor-2464 .elementor-element.elementor-element-b341e6f .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-2464 .elementor-element.elementor-element-b341e6f .elementskit-funfact{justify-content:center;display:flex;}.elementor-2464 .elementor-element.elementor-element-4081cbf0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2464 .elementor-element.elementor-element-4081cbf0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2464 .elementor-element.elementor-element-5d822ce3{--display:flex;}.elementor-2464 .elementor-element.elementor-element-5d822ce3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2464 .elementor-element.elementor-element-20e4784e{--display:flex;--min-height:820px;border-style:none;--border-style:none;--border-radius:12px 12px 12px 12px;box-shadow:0px 0px 20px 0px rgba(0,0,0,0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-2464 .elementor-element.elementor-element-20e4784e:not(.elementor-motion-effects-element-type-background), .elementor-2464 .elementor-element.elementor-element-20e4784e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(15px/2);}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(15px/2);}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(15px/2);}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-15px/2);}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-15px/2);}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-2464 .elementor-element.elementor-element-42502ba7{--e-icon-list-icon-size:24px;--icon-vertical-offset:0px;}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-icon{padding-inline-end:6px;}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-item > a{font-size:15px;font-weight:500;}.elementor-2464 .elementor-element.elementor-element-42502ba7 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2464 .elementor-element.elementor-element-3ab6d550{font-size:18px;font-weight:800;}.elementor-2464 .elementor-element.elementor-element-2c9425ca{width:100%;max-width:100%;}.elementor-2464 .elementor-element.elementor-element-6ffc328b{text-align:start;font-size:15px;font-weight:600;}.elementor-2464 .elementor-element.elementor-element-612cbe69 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-2464 .elementor-element.elementor-element-612cbe69 .elementor-icon{font-size:30px;}.elementor-2464 .elementor-element.elementor-element-612cbe69 .elementor-icon-box-title, .elementor-2464 .elementor-element.elementor-element-612cbe69 .elementor-icon-box-title a{font-size:14px;}.elementor-2464 .elementor-element.elementor-element-612cbe69 .elementor-icon-box-description{font-size:50px;}.elementor-2464 .elementor-element.elementor-element-64ac6da5{--display:flex;}.elementor-2464 .elementor-element.elementor-element-190065ab{--display:flex;}.elementor-2464 .elementor-element.elementor-element-3ac1d695{--display:flex;}.elementor-2464 .elementor-element.elementor-element-3ac1d695.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2464 .elementor-element.elementor-element-3c53a20c{--display:flex;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2464 .elementor-element.elementor-element-8615328{--width:100%;}.elementor-2464 .elementor-element.elementor-element-48669e34{--width:61.635%;}.elementor-2464 .elementor-element.elementor-element-4081cbf0{--width:19.605%;}.elementor-2464 .elementor-element.elementor-element-5d822ce3{--width:94.93%;}.elementor-2464 .elementor-element.elementor-element-3ac1d695{--width:90.545%;}}@media(max-width:1024px){.elementor-2464 .elementor-element.elementor-element-4f280d9{--grid-auto-flow:row;}.elementor-2464 .elementor-element.elementor-element-214d8ed{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2464 .elementor-element.elementor-element-4f280d9{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2464 .elementor-element.elementor-element-214d8ed{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for heading, class: .elementor-element-e8436cb */.elementor-2464 .elementor-element.elementor-element-e8436cb {
    color: #ffffff;
    text-shadow: 0px 4px 10px rgba(0,0,0,0.5);
    font-weight: 800;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c995974 */.elementor-2464 .elementor-element.elementor-element-c995974 {
  background-color: rgba(0, 0, 0, 0.5); /* black with 50% transparency */
  padding: 20px;
  border-radius: 8px;                  /* optional: rounded corners */
  color: #fff;                         /* ensure text is white for contrast */
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-5fb2878 */.elementor-2464 .elementor-element.elementor-element-5fb2878 {
  background-color: rgba(0, 0, 0, 0.5); /* black with 50% transparency */
  padding: 20px;
  border-radius: 8px;                  /* optional: rounded corners */
  color: #fff;                         /* ensure text is white for contrast */
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-38dece2 */.elementor-2464 .elementor-element.elementor-element-38dece2 {
  background-color: rgba(0, 0, 0, 0.5); /* black with 50% transparency */
  padding: 20px;
  border-radius: 8px;                  /* optional: rounded corners */
  color: #fff;                         /* ensure text is white for contrast */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dd20bf4 *//* 1. Section Container */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 {
    background-color: #0b0e11 !important; /* Deep charcoal */
    padding: 80px 0 !important;
}

/* 2. Main Title Styling */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0px 4px 10px rgba(0,0,0,0.5);
}

/* 3. The Info Boxes (Cards) */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-column-wrap,
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-widget-wrap {
    background: rgba(255, 255, 255, 0.03) !important; /* Glass effect */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    padding: 40px 25px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* 4. Interactive Hover Effect */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-column:hover .elementor-widget-wrap {
    background: rgba(243, 156, 18, 0.05) !important; /* Subtle orange glow tint */
    border-color: #f39c12 !important; /* Safety Orange */
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
}

/* 5. Icon Circle Styling */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-icon {
    transition: all 0.4s ease !important;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}

.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-column:hover .elementor-icon {
    transform: scale(1.15) rotate(5deg);
    filter: drop-shadow(0 0 15px rgba(243, 156, 18, 0.4));
}

/* 6. Typography within the Cards */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 h3.elementor-heading-title { /* Sub-headings like Accredited Certification */
    color: #ffffff !important;
    font-size: 1.4rem !important;
    margin-top: 20px !important;
}

.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-text-editor {
    color: #b0b3b8 !important; /* Muted silver for readability */
    line-height: 1.7 !important;
    font-size: 0.95rem !important;
}

/* 7. Column Spacing Fix */
.elementor-2464 .elementor-element.elementor-element-dd20bf4 .elementor-column {
    padding: 15px !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-5c8365 *//* 1. Force the Main Headings to be White and Bold */
.elementor-2464 .elementor-element.elementor-element-5c8365 h2, 
.elementor-2464 .elementor-element.elementor-element-5c8365 h1, 
.elementor-2464 .elementor-element.elementor-element-5c8365 .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.5); /* Adds depth to make letters pop */
}

/* 2. Force all Paragraph and List text to a Light Grey/White */
.elementor-2464 .elementor-element.elementor-element-5c8365 p, 
.elementor-2464 .elementor-element.elementor-element-5c8365 .elementor-text-editor, 
.elementor-2464 .elementor-element.elementor-element-5c8365 li {
    color: #e0e0e0 !important; /* High contrast light grey */
    line-height: 1.8 !important;
    font-weight: 400;
}

/* 3. Add a dark overlay to the background image to make text readable */
.elementor-2464 .elementor-element.elementor-element-5c8365 > .elementor-background-overlay {
    background-color: rgba(0, 0, 0, 0.5) !important; /* Dims the background image */
    opacity: 1 !important;
}

/* 4. Highlight the specific icons (Checkmark and Target) */
.elementor-2464 .elementor-element.elementor-element-5c8365 .elementor-icon i {
    filter: drop-shadow(0px 0px 5px rgba(255,255,255,0.3));
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7843ce08 *//* 1. Force the Main Headings to be White and Bold */
.elementor-2464 .elementor-element.elementor-element-7843ce08 h2, 
.elementor-2464 .elementor-element.elementor-element-7843ce08 h1, 
.elementor-2464 .elementor-element.elementor-element-7843ce08 .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.5); /* Adds depth to make letters pop */
}

/* 2. Force all Paragraph and List text to a Light Grey/White */
.elementor-2464 .elementor-element.elementor-element-7843ce08 p, 
.elementor-2464 .elementor-element.elementor-element-7843ce08 .elementor-text-editor, 
.elementor-2464 .elementor-element.elementor-element-7843ce08 li {
    color: #e0e0e0 !important; /* High contrast light grey */
    line-height: 1.8 !important;
    font-weight: 400;
}

/* 3. Add a dark overlay to the background image to make text readable */
.elementor-2464 .elementor-element.elementor-element-7843ce08 > .elementor-background-overlay {
    background-color: rgba(0, 0, 0, 0.5) !important; /* Dims the background image */
    opacity: 1 !important;
}

/* 4. Highlight the specific icons (Checkmark and Target) */
.elementor-2464 .elementor-element.elementor-element-7843ce08 .elementor-icon i {
    filter: drop-shadow(0px 0px 5px rgba(255,255,255,0.3));
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2c9425ca */.elementor-2464 .elementor-element.elementor-element-2c9425ca .elementor-button {
    background-color: #4A773C !important; /* KAP Green */
    border-radius: 8px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease;
    box-shadow: 0px 4px 0px #34562b; /* Subtle 3D effect */
    
    /* ADDED: Breathing Animation */
    animation: breathe 3s infinite ease-in-out;
}

.elementor-2464 .elementor-element.elementor-element-2c9425ca .elementor-button:hover {
    background-color: #F9D423 !important; /* Switch to KAP Yellow on hover */
    color: #4A773C !important;
    transform: translateY(-2px);
    box-shadow: 0px 6px 0px #d4b51e;
    animation: none; /* Stops breathing when user hovers so it's easier to click */
}

/* The Breathing Logic */
@keyframes breathe {
    0% {
        transform: scale(1);
        box-shadow: 0px 4px 0px #34562b, 0 0 0px rgba(74, 119, 60, 0);
    }
    50% {
        transform: scale(1.05); /* Slightly grows */
        box-shadow: 0px 4px 15px rgba(74, 119, 60, 0.6), 0 0 20px rgba(74, 119, 60, 0.4); /* Glows */
    }
    100% {
        transform: scale(1);
        box-shadow: 0px 4px 0px #34562b, 0 0 0px rgba(74, 119, 60, 0);
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-20e4784e *//* 1. Main Sidebar Container */
.elementor-2464 .elementor-element.elementor-element-20e4784e {
    background: #ffffff;
    border-radius: 15px;
    padding: 30px !important;
    border: 1px solid #e1e1e1;
    box-shadow: 0px 12px 40px rgba(0, 0, 0, 0.08);
    border-top: 6px solid #4A773C; /* KAP Green Header */
    transition: all 0.3s ease;
}

/* 2. Headings */
.elementor-2464 .elementor-element.elementor-element-20e4784e h3 {
    font-size: 18px;
    font-weight: 800;
    color: #4A773C;
    margin: 25px 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-2464 .elementor-element.elementor-element-20e4784e h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    margin-bottom: 25px;
    font-weight: 600;
}

/* 3. Pulse Animation for the Enquire Button */
.elementor-2464 .elementor-element.elementor-element-20e4784e .elementor-button {
    animation: pulse-green 3s infinite;
}

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(74, 119, 60, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(74, 119, 60, 0); }
    100% { box-shadow: 0 0 0 0 rgba(74, 119, 60, 0); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5eed6208 *//* ============================================================
   REVISED SITE SAFETY SUPERVISOR MODULES STYLING
   ============================================================ */

/* 1. Base Section */
.osh-modules {
    padding: 100px 20px;
    position: relative;
    background: transparent; 
    font-family: 'Inter', 'Segoe UI', sans-serif;
    text-align: center;
    color: #ffffff; 
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 5;
}

/* 2. Main Title Typography */
.section-title {
    font-size: 3rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 4px;
    margin-bottom: 10px;
    color: #ffffff; /* Explicitly white */
}

.section-subtitle {
    font-size: 1.1rem;
    color: #f39c12; 
    margin-bottom: 60px;
    font-weight: 500;
}

/* 3. The Module Grid */
.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 35px;
}

/* 4. Interactive Card */
.module-card {
    background: rgba(22, 27, 34, 0.95); /* Slightly darker for better contrast */
    padding: 50px 30px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 5. FIX: Mini-Heading Typography (The Titles inside the boxes) */
.module-card h3 {
    font-size: 1.6rem;
    color: #ffffff !important; /* Forces pure white visibility */
    margin-bottom: 15px;
    font-weight: 800;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    /* Optional: subtle text shadow to lift it off the background */
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* 6. Icon & Description Styling */
.module-icon {
    font-size: 55px;
    color: #f39c12;
    margin-bottom: 25px;
    transition: 0.3s ease;
}

.module-card p {
    color: #d1d4d9; /* Lighter grey for better readability than the previous dark silver */
    line-height: 1.8;
    font-size: 1rem;
    margin: 0;
}

/* 7. Hover States */
.module-card:hover {
    transform: translateY(-15px);
    border-color: #f39c12;
    background: rgba(28, 33, 40, 1);
}

.module-card:hover h3 {
    color: #f39c12 !important; /* Changes heading to orange on hover for interaction */
}

/* 8. CTA Button */
.cta-container {
    margin-top: 70px;
}

.btn-download {
    display: inline-block;
    padding: 20px 50px;
    background-color: #f39c12;
    color: #ffffff;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 800;
    font-size: 1.1rem;
    text-transform: uppercase;
    transition: 0.3s ease;
}

@media (max-width: 768px) {
    .section-title { font-size: 2.2rem; }
    .module-card h3 { font-size: 1.4rem; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6918289e *//* Section Container */
.contact-dates-section {
    width: 100%;
    background-color: #ffffff;
    padding: 80px 0;
    font-family: 'Inter', sans-serif;
}

.full-width-wrapper {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.split-container {
    display: flex;
    gap: 40px;
    align-items: stretch;
}

/* --- Left Card: The Form --- */
.contact-card {
    flex: 1;
    background: linear-gradient(135deg, #0d2b3e 0%, #134e3a 100%); /* Gradient from image */
    padding: 40px;
    border-radius: 15px;
    color: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.contact-card h2 {
    font-size: 2rem;
    margin-bottom: 5px;
    letter-spacing: 1px;
}

.contact-card p {
    font-size: 0.9rem;
    margin-bottom: 25px;
    opacity: 0.9;
}

.osh-contact-form input, 
.osh-contact-form textarea {
    width: 100%;
    padding: 15px;
    margin-bottom: 15px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    box-sizing: border-box; /* Crucial for width */
}

.btn-contact {
    width: 100%;
    padding: 15px;
    background-color: #f16500; /* Safety Orange */
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 10px;
}

.btn-contact:hover {
    background-color: #d15600;
}

/* --- Right Card: The Dates --- */
.dates-card {
    flex: 1;
    background-color: #edf5f7; /* Very light blue/grey from image */
    padding: 40px;
    border-radius: 15px;
    position: relative;
    display: flex;
    flex-direction: column;
}

.dates-header {
    position: relative;
    margin-bottom: 20px;
}

.floating-hat {
    width: 60px;
    position: absolute;
    top: -65px;
    right: -10px;
}

.dates-card h2 {
    font-size: 1.6rem;
    color: #1a3a3a;
    line-height: 1.2;
    max-width: 250px;
}

.date-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.date-list li {
    padding: 12px 0;
    border-bottom: 1px solid #d1dee2;
    color: #333;
    font-weight: 500;
    font-size: 1.05rem;
}

.dates-footer-icon {
    margin-top: auto;
    text-align: right;
    padding-top: 20px;
}

.dates-footer-icon img {
    width: 80px;
    opacity: 0.8;
}

/* --- Responsive Layout --- */
@media (max-width: 900px) {
    .split-container {
        flex-direction: column;
    }
    
    .floating-hat {
        top: -55px;
        right: 0;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-464046df */.counter-cta-section {
    background-color: #0b0e11; /* Dark background */
    padding: 60px 20px;
    font-family: 'Inter', sans-serif;
    color: white;
    text-align: center;
}

.counter-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-bottom: 40px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.counter-item h2 {
    font-size: 3rem;
    color: #2ecc71; /* Bright Green Accent */
    margin: 0;
}

.counter-item p {
    font-size: 1rem;
    color: #b0b3b8;
    margin-top: 5px;
}

/* CTA Box Styling */
.cta-box {
    background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); /* Green gradient */
    max-width: 1100px;
    margin: 0 auto;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 50px;
    position: relative;
    overflow: visible;
    text-align: left;
}

.cta-text {
    padding: 50px 0;
    color: #0b0e11; /* Dark text on green background */
}

.cta-text h3 {
    font-size: 2.5rem;
    margin: 0;
}

.cta-text p {
    margin: 10px 0 25px 0;
    font-size: 1.1rem;
}

.btn-wa-cta {
    background: white;
    color: #25d366; /* WhatsApp green */
    padding: 12px 30px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
}

.btn-wa-cta:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.cta-image img {
    height: 400px;
    margin-bottom: -10px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .cta-box { flex-direction: column; text-align: center; padding: 30px; }
    .cta-image img { height: 250px; margin-top: 20px; }
    .counter-item { flex: 1 1 50%; margin-bottom: 20px; }
}/* End custom CSS */