.elementor-1958 .elementor-element.elementor-element-3a48ebe{--display:flex;--min-height:0px;}.elementor-1958 .elementor-element.elementor-element-34a4592 > .elementor-widget-container{margin:-10px 0px -10px -9px;}.elementor-1958 .elementor-element.elementor-element-2151bbe{--display:flex;}.elementor-1958 .elementor-element.elementor-element-4d67248.elementor-element{--align-self:center;}.elementor-1958 .elementor-element.elementor-element-4841525{--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-1958 .elementor-element.elementor-element-54f6b0c{--display:flex;}.elementor-1958 .elementor-element.elementor-element-ded60be .elementor-icon-box-wrapper{gap:15px;}.elementor-1958 .elementor-element.elementor-element-ded60be.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-1958 .elementor-element.elementor-element-ded60be.elementor-view-framed .elementor-icon, .elementor-1958 .elementor-element.elementor-element-ded60be.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-1958 .elementor-element.elementor-element-ded60be .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-1958 .elementor-element.elementor-element-ded60be .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-1958 .elementor-element.elementor-element-0c52eef .elementor-icon-box-wrapper{gap:15px;}.elementor-1958 .elementor-element.elementor-element-0c52eef.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-astglobalcolor0 );}.elementor-1958 .elementor-element.elementor-element-0c52eef.elementor-view-framed .elementor-icon, .elementor-1958 .elementor-element.elementor-element-0c52eef.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-1958 .elementor-element.elementor-element-0c52eef .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-1958 .elementor-element.elementor-element-0c52eef .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-1958 .elementor-element.elementor-element-3c357bd .elementor-icon-box-wrapper{gap:15px;}.elementor-1958 .elementor-element.elementor-element-3c357bd.elementor-view-stacked .elementor-icon{background-color:#FF7500;}.elementor-1958 .elementor-element.elementor-element-3c357bd.elementor-view-framed .elementor-icon, .elementor-1958 .elementor-element.elementor-element-3c357bd.elementor-view-default .elementor-icon{fill:#FF7500;color:#FF7500;border-color:#FF7500;}.elementor-1958 .elementor-element.elementor-element-3c357bd .elementor-icon-box-title{color:var( --e-global-color-astglobalcolor5 );}.elementor-1958 .elementor-element.elementor-element-3c357bd .elementor-icon-box-description{color:var( --e-global-color-astglobalcolor4 );}.elementor-1958 .elementor-element.elementor-element-aa9d6e5{--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-1958 .elementor-element.elementor-element-aa9d6e5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1958 .elementor-element.elementor-element-f524b47{--display:flex;--margin-top:100px;--margin-bottom:100px;--margin-left:100px;--margin-right:100px;}.elementor-1958 .elementor-element.elementor-element-f524b47.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1958 .elementor-element.elementor-element-4152b06.elementor-element{--align-self:flex-start;}.elementor-1958 .elementor-element.elementor-element-8ed9ff2{text-align:justify;}.elementor-1958 .elementor-element.elementor-element-65561ee{--display:flex;}.elementor-1958 .elementor-element.elementor-element-9e98cfd{text-align:justify;color:var( --e-global-color-astglobalcolor8 );}.elementor-1958 .elementor-element.elementor-element-456288d{--display:flex;}.elementor-1958 .elementor-element.elementor-element-6bbe3b3{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1958 .elementor-element.elementor-element-e0ccaea .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-1958 .elementor-element.elementor-element-e0ccaea .elementskit-funfact-icon{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-e0ccaea .funfact-icon svg{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-e0ccaea .elementskit-funfact-icon, .elementor-1958 .elementor-element.elementor-element-e0ccaea .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-1958 .elementor-element.elementor-element-e0ccaea .elementskit-funfact{justify-content:center;display:flex;}.elementor-1958 .elementor-element.elementor-element-26da663 .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-1958 .elementor-element.elementor-element-26da663 .elementskit-funfact-icon{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-26da663 .funfact-icon svg{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-26da663 .elementskit-funfact-icon, .elementor-1958 .elementor-element.elementor-element-26da663 .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-1958 .elementor-element.elementor-element-26da663 .elementskit-funfact{justify-content:center;display:flex;}.elementor-1958 .elementor-element.elementor-element-83f0b64 .elementskit-funfact .funfact-icon img{margin-bottom:10px;}.elementor-1958 .elementor-element.elementor-element-83f0b64 .elementskit-funfact-icon{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-83f0b64 .funfact-icon svg{font-size:40px;}.elementor-1958 .elementor-element.elementor-element-83f0b64 .elementskit-funfact-icon, .elementor-1958 .elementor-element.elementor-element-83f0b64 .elementskit-funfact svg{margin-bottom:15px;transform:rotate(0deg);}.elementor-1958 .elementor-element.elementor-element-83f0b64 .elementskit-funfact{justify-content:center;display:flex;}.elementor-1958 .elementor-element.elementor-element-6ceb0d0{--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-1958 .elementor-element.elementor-element-6ceb0d0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1958 .elementor-element.elementor-element-d178e08{--display:flex;}.elementor-1958 .elementor-element.elementor-element-d178e08.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1958 .elementor-element.elementor-element-173d0b4{--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-1958 .elementor-element.elementor-element-173d0b4:not(.elementor-motion-effects-element-type-background), .elementor-1958 .elementor-element.elementor-element-173d0b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(15px/2);}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(15px/2);}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(15px/2);}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-15px/2);}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-15px/2);}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1958 .elementor-element.elementor-element-c6c980f{--e-icon-list-icon-size:24px;--icon-vertical-offset:0px;}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-icon{padding-inline-end:6px;}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-item > a{font-size:15px;font-weight:500;}.elementor-1958 .elementor-element.elementor-element-c6c980f .elementor-icon-list-text{transition:color 0.3s;}.elementor-1958 .elementor-element.elementor-element-47c2891{font-size:18px;font-weight:800;}.elementor-1958 .elementor-element.elementor-element-9743196{width:100%;max-width:100%;}.elementor-1958 .elementor-element.elementor-element-865d0ce{text-align:start;font-size:15px;font-weight:600;}.elementor-1958 .elementor-element.elementor-element-0a0b97e .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-1958 .elementor-element.elementor-element-0a0b97e .elementor-icon{font-size:30px;}.elementor-1958 .elementor-element.elementor-element-0a0b97e .elementor-icon-box-title, .elementor-1958 .elementor-element.elementor-element-0a0b97e .elementor-icon-box-title a{font-size:14px;}.elementor-1958 .elementor-element.elementor-element-0a0b97e .elementor-icon-box-description{font-size:50px;}.elementor-1958 .elementor-element.elementor-element-6617eea{--display:flex;}.elementor-1958 .elementor-element.elementor-element-d2c80b2{--display:flex;}.elementor-1958 .elementor-element.elementor-element-3e476c1{--display:flex;}.elementor-1958 .elementor-element.elementor-element-3e476c1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1958 .elementor-element.elementor-element-5dfb793{--display:flex;}.elementor-1958 .elementor-element.elementor-element-2cfad72{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1958 .elementor-element.elementor-element-4841525{--grid-auto-flow:row;}.elementor-1958 .elementor-element.elementor-element-6bbe3b3{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-1958 .elementor-element.elementor-element-3a48ebe{--width:100%;}.elementor-1958 .elementor-element.elementor-element-aa9d6e5{--width:100%;}.elementor-1958 .elementor-element.elementor-element-f524b47{--width:61.635%;}.elementor-1958 .elementor-element.elementor-element-6ceb0d0{--width:19.605%;}.elementor-1958 .elementor-element.elementor-element-d178e08{--width:94.93%;}.elementor-1958 .elementor-element.elementor-element-3e476c1{--width:90.545%;}}@media(max-width:767px){.elementor-1958 .elementor-element.elementor-element-4841525{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1958 .elementor-element.elementor-element-6bbe3b3{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-3a48ebe */letter {
  color: #00f7ff;
  text-shadow: 0 0 10px #00f7ff, 0 0 20px #00f7ff;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-4d67248 */.elementor-1958 .elementor-element.elementor-element-4d67248 {
    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-54f6b0c */.elementor-1958 .elementor-element.elementor-element-54f6b0c {
  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-0c52eef */.elementor-1958 .elementor-element.elementor-element-0c52eef {
  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-3c357bd */.elementor-1958 .elementor-element.elementor-element-3c357bd {
  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-2151bbe *//* 1. Section Container */
.elementor-1958 .elementor-element.elementor-element-2151bbe {
    background-color: #0b0e11 !important; /* Deep charcoal */
    padding: 80px 0 !important;
}

/* 2. Main Title Styling */
.elementor-1958 .elementor-element.elementor-element-2151bbe .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-1958 .elementor-element.elementor-element-2151bbe .elementor-column-wrap,
.elementor-1958 .elementor-element.elementor-element-2151bbe .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-1958 .elementor-element.elementor-element-2151bbe .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-1958 .elementor-element.elementor-element-2151bbe .elementor-icon {
    transition: all 0.4s ease !important;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}

.elementor-1958 .elementor-element.elementor-element-2151bbe .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-1958 .elementor-element.elementor-element-2151bbe h3.elementor-heading-title { /* Sub-headings like Accredited Certification */
    color: #ffffff !important;
    font-size: 1.4rem !important;
    margin-top: 20px !important;
}

.elementor-1958 .elementor-element.elementor-element-2151bbe .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-1958 .elementor-element.elementor-element-2151bbe .elementor-column {
    padding: 15px !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8ed9ff2 *//* 1. Force the Main Headings to be White and Bold */
.elementor-1958 .elementor-element.elementor-element-8ed9ff2 h2, 
.elementor-1958 .elementor-element.elementor-element-8ed9ff2 h1, 
.elementor-1958 .elementor-element.elementor-element-8ed9ff2 .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-1958 .elementor-element.elementor-element-8ed9ff2 p, 
.elementor-1958 .elementor-element.elementor-element-8ed9ff2 .elementor-text-editor, 
.elementor-1958 .elementor-element.elementor-element-8ed9ff2 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-1958 .elementor-element.elementor-element-8ed9ff2 > .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-1958 .elementor-element.elementor-element-8ed9ff2 .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-9e98cfd *//* 1. Force the Main Headings to be White and Bold */
.elementor-1958 .elementor-element.elementor-element-9e98cfd h2, 
.elementor-1958 .elementor-element.elementor-element-9e98cfd h1, 
.elementor-1958 .elementor-element.elementor-element-9e98cfd .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-1958 .elementor-element.elementor-element-9e98cfd p, 
.elementor-1958 .elementor-element.elementor-element-9e98cfd .elementor-text-editor, 
.elementor-1958 .elementor-element.elementor-element-9e98cfd 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-1958 .elementor-element.elementor-element-9e98cfd > .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-1958 .elementor-element.elementor-element-9e98cfd .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-9743196 */.elementor-1958 .elementor-element.elementor-element-9743196 .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-1958 .elementor-element.elementor-element-9743196 .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-173d0b4 *//* 1. Main Sidebar Container */
.elementor-1958 .elementor-element.elementor-element-173d0b4 {
    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-1958 .elementor-element.elementor-element-173d0b4 h3 {
    font-size: 18px;
    font-weight: 800;
    color: #4A773C;
    margin: 25px 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-1958 .elementor-element.elementor-element-173d0b4 h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    margin-bottom: 25px;
    font-weight: 600;
}

/* 3. Pulse Animation for the Enquire Button */
.elementor-1958 .elementor-element.elementor-element-173d0b4 .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-059ac5d *//* 1. Base Section Styling */
.osh-modules {
    padding: 80px 20px;
    background-color: #0b0e11; /* Deep charcoal/black */
    font-family: 'Inter', 'Segoe UI', sans-serif;
    text-align: center;
    color: #ffffff;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

.section-title {
    font-size: 2.8rem;
    color: #ffffff;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.section-subtitle {
    font-size: 1.1rem;
    color: #f39c12; /* Safety Orange for better visibility */
    margin-bottom: 50px;
}

/* 2. The Module Grid - UPDATED TO CENTER LAST ITEMS */
.module-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centers cards in the last row */
    gap: 30px;
}

/* 3. Interactive Card Styling */
.module-card {
    background: #161b22; /* Dark slate */
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Maintain sizing similar to original grid minmax */
    flex: 1 1 320px; 
    max-width: 360px;
}

/* 4. Hover Interactions */
.module-card:hover {
    transform: translateY(-12px); 
    background: #1c2128;
    border-color: #f39c12; 
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), 0 0 15px rgba(243, 156, 18, 0.2);
}

/* 5. Icon Animation */
.module-icon {
    font-size: 45px;
    color: #f39c12; 
    margin-bottom: 25px;
    transition: all 0.4s ease;
}

.module-card:hover .module-icon {
    transform: scale(1.2) rotate(10deg);
    filter: drop-shadow(0 0 10px rgba(243, 156, 18, 0.6));
}

/* 6. Typography - UPDATED FOR VISIBILITY */
.module-card h3 {
    font-size: 1.5rem;
    color: #ffffff !important; /* Pure white visibility */
    margin-bottom: 15px;
    font-weight: 800;
}

.module-card p {
    color: #d1d4d9; /* Lighter silver for better readability */
    line-height: 1.7;
    font-size: 0.95rem;
    margin: 0;
}

/* 7. Interactive Button Styling */
.cta-container {
    margin-top: 60px;
}

.btn-download {
    display: inline-block;
    padding: 18px 45px;
    background-color: #f39c12;
    color: #ffffff;
    text-decoration: none;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(243, 156, 18, 0.2);
}

.btn-download:hover {
    background-color: #e67e22;
    transform: scale(1.05);
    box-shadow: 0 15px 30px rgba(243, 156, 18, 0.4);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .section-title { font-size: 2rem; }
    .module-card { max-width: 100%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a549664 *//* 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 */