.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-container:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-container.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2758 .elementor-element.elementor-element-89a4efb{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:72px;--padding-bottom:80px;--padding-left:60px;--padding-right:60px;}.elementor-2758 .elementor-element.elementor-element-89a4efb:not(.elementor-motion-effects-element-type-background), .elementor-2758 .elementor-element.elementor-element-89a4efb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.ukm.my/ptsl/wp-content/uploads/2026/07/ChatGPT-Image-Jul-3-2026-11_36_43-PM-1.png");background-size:cover;}.elementor-widget-heading.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-heading .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-heading.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-heading:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-heading.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.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-2758 .elementor-element.elementor-element-28c7747{text-align:center;}.elementor-2758 .elementor-element.elementor-element-28c7747 .elementor-heading-title{font-family:"Great Vibes", Sans-serif;font-size:60px;font-weight:400;color:#D4A52B;}.elementor-2758 .elementor-element.elementor-element-3230a04.elementor-element{--align-self:center;}.elementor-2758 .elementor-element.elementor-element-3230a04 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;}.elementor-2758 .elementor-element.elementor-element-aae8c9b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--border-radius:25px 25px 25px 25px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-2758 .elementor-element.elementor-element-180b831{--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;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-2758 .elementor-element.elementor-element-180b831.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-button.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-button .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-button .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-button.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-button:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-button.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-button .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2758 .elementor-element.elementor-element-f8531c2 .elementor-button{font-family:"Roboto", Sans-serif;font-weight:500;}.elementor-2758 .elementor-element.elementor-element-b3d4600 .elementor-button{background-color:#FFFFFF;font-family:"Roboto", Sans-serif;font-weight:500;}.elementor-2758 .elementor-element.elementor-element-48740ff .elementor-button{background-color:#FFFFFF;font-family:"Roboto", Sans-serif;font-weight:500;}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-html:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-html.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2758 .elementor-element.elementor-element-95d24c3{width:100%;max-width:100%;padding:30px 0px 0px 0px;}.elementor-2758 .elementor-element.elementor-element-aa2bff1{--display:flex;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2758 .elementor-element.elementor-element-6ef570b{--display:flex;--background-transition:0.3s;}.elementor-widget-icon.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-icon.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-icon:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-icon.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-2758 .elementor-element.elementor-element-3ba1a7f .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-3ba1a7f.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-3ba1a7f.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-3ba1a7f.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-3ba1a7f.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-3ba1a7f.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-ec6f9a8 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-104aac3{--display:flex;--background-transition:0.3s;}.elementor-2758 .elementor-element.elementor-element-fa5b415 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-fa5b415.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-fa5b415.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-fa5b415.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-fa5b415.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-fa5b415.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-08c52fb .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-c10971c{--display:flex;}.elementor-2758 .elementor-element.elementor-element-d7d90e3 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-d7d90e3.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-d7d90e3.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-d7d90e3.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-d7d90e3.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-d7d90e3.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-1a9e649 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-105c95d{--display:flex;}.elementor-2758 .elementor-element.elementor-element-8776dc2 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-8776dc2.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-8776dc2.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-8776dc2.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-8776dc2.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-8776dc2.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-59cb603 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-f1f218d{--display:flex;}.elementor-2758 .elementor-element.elementor-element-cd57ef7 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-cd57ef7.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-cd57ef7.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-cd57ef7.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-cd57ef7.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-cd57ef7.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-31c276a .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-db651a4{--display:flex;}.elementor-2758 .elementor-element.elementor-element-32cc399 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-32cc399.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-32cc399.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-32cc399.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-32cc399.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-32cc399.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-20631ca .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-widget-spacer.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-spacer .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-spacer .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-spacer.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-spacer:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-spacer.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-spacer .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-2758 .elementor-element.elementor-element-0b8512a{--spacer-size:50px;}.elementor-2758 .elementor-element.elementor-element-55d80535.elementor-element{--align-self:center;}.elementor-2758 .elementor-element.elementor-element-55d80535 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:600;}.elementor-2758 .elementor-element.elementor-element-7662989b{--display:flex;--background-transition:0.3s;}.elementor-2758 .elementor-element.elementor-element-53c26b1 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-53c26b1.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-53c26b1.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-53c26b1.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-53c26b1.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-53c26b1.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-619dccd5 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-7faa2431{--display:flex;}.elementor-2758 .elementor-element.elementor-element-58454fb9 .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-58454fb9.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-58454fb9.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-58454fb9.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-58454fb9.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-58454fb9.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-15b4d3d8 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}.elementor-2758 .elementor-element.elementor-element-2cfa3a1{--display:flex;--background-transition:0.3s;}.elementor-2758 .elementor-element.elementor-element-2c05f50a .elementor-icon-wrapper{text-align:center;}.elementor-2758 .elementor-element.elementor-element-2c05f50a.elementor-view-stacked .elementor-icon{background-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-2c05f50a.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-2c05f50a.elementor-view-default .elementor-icon{color:#005BAC;border-color:#005BAC;}.elementor-2758 .elementor-element.elementor-element-2c05f50a.elementor-view-framed .elementor-icon, .elementor-2758 .elementor-element.elementor-element-2c05f50a.elementor-view-default .elementor-icon svg{fill:#005BAC;}.elementor-2758 .elementor-element.elementor-element-55eaaee .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;color:#006FA4;}@media(max-width:1024px){.elementor-2758 .elementor-element.elementor-element-89a4efb{--padding-top:80px;--padding-bottom:48px;--padding-left:28px;--padding-right:28px;}.elementor-2758 .elementor-element.elementor-element-aa2bff1{--padding-top:64px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-2758 .elementor-element.elementor-element-89a4efb{--content-width:100%;}.elementor-2758 .elementor-element.elementor-element-180b831{--width:100%;}}@media(max-width:767px){.elementor-2758 .elementor-element.elementor-element-89a4efb{--content-width:100%;--flex-wrap:nowrap;--padding-top:56px;--padding-bottom:40px;--padding-left:16px;--padding-right:16px;}.elementor-2758 .elementor-element.elementor-element-3230a04.elementor-element{--align-self:center;}.elementor-2758 .elementor-element.elementor-element-3230a04 .elementor-heading-title{font-size:22px;}.elementor-2758 .elementor-element.elementor-element-f8531c2 .elementor-button{font-size:10px;}.elementor-2758 .elementor-element.elementor-element-b3d4600 .elementor-button{font-size:10px;}.elementor-2758 .elementor-element.elementor-element-48740ff .elementor-button{font-size:10px;}.elementor-2758 .elementor-element.elementor-element-aa2bff1{--padding-top:48px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2758 .elementor-element.elementor-element-55d80535.elementor-element{--align-self:center;}.elementor-2758 .elementor-element.elementor-element-55d80535 .elementor-heading-title{font-size:15px;}}/* Start custom CSS for container, class: .elementor-element-89a4efb *//* ============================================================
   1. SECTION BASE
   ============================================================ */

.ptsl-info-hub {
    position: relative;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(
        180deg,
        #FFFFFF 0%,
        #F8FBFF 45%,
        #FFFFFF 100%
    );
}

.ptsl-info-hub *,
.ptsl-info-hub *::before,
.ptsl-info-hub *::after {
    box-sizing: border-box;
}

.ptsl-info-hub > * {
    position: relative;
    z-index: 2;
}

.ptsl-info-hub::before,
.ptsl-info-hub::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.ptsl-info-hub::before {
    width: 700px;
    height: 700px;
    top: -350px;
    left: -260px;
    background: radial-gradient(
        circle,
        rgba(0, 91, 172, .08),
        transparent 70%
    );
}

.ptsl-info-hub::after {
    width: 640px;
    height: 640px;
    bottom: -320px;
    right: -240px;
    background: radial-gradient(
        circle,
        rgba(100, 181, 246, .08),
        transparent 70%
    );
}


/* ============================================================
   2. ELEMENTOR CONTAINER WIDTH FIX
   Allow nested containers and widgets to shrink.
   ============================================================ */

.ptsl-info-hub .e-con,
.ptsl-info-hub .e-con-inner,
.ptsl-info-hub .elementor-widget,
.ptsl-info-hub .elementor-widget-container {
    min-width: 0;
}

.ptsl-info-hub .e-con-inner {
    max-width: 100%;
}


/* ============================================================
   3. HERO TITLE
   ============================================================ */

.ptsl-title {
    position: relative;
    min-width: 0;
    max-width: 100%;
    margin-bottom: 16px;
    padding-bottom: 14px;
}

.ptsl-title,
.ptsl-title .elementor-heading-title {
    
    font-weight: 800 !important;
    letter-spacing: -1px !important;
    line-height: 1.15 !important;
    color: #083D7A !important;
    text-align: center;
    text-shadow: 0 1px 1px rgba(8, 61, 122, .08);
}

.ptsl-title .elementor-heading-title {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.ptsl-title .elementor-heading-title::after {
    content: none;
}


/* ============================================================
   4. PARAGRAPH WIDTH AND WRAPPING FIX
   Applies to Text Editor widgets and the subtitle ID/class.
   ============================================================ */

.ptsl-info-hub .elementor-widget-text-editor,
.ptsl-info-hub .ptsl-subtitle,
.ptsl-info-hub #ptsl-subtitle {
    --container-widget-width: 100%;
    --container-widget-flex-grow: 0;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
}

.ptsl-info-hub .elementor-widget-text-editor .elementor-widget-container,
.ptsl-info-hub .elementor-widget-text-editor .elementor-text-editor,
.ptsl-info-hub .ptsl-subtitle .elementor-widget-container,
.ptsl-info-hub #ptsl-subtitle .elementor-widget-container {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.ptsl-info-hub .elementor-widget-text-editor,
.ptsl-info-hub .elementor-widget-text-editor *,
.ptsl-info-hub .ptsl-subtitle,
.ptsl-info-hub .ptsl-subtitle *,
.ptsl-info-hub #ptsl-subtitle,
.ptsl-info-hub #ptsl-subtitle *,
.ptsl-info-hub p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.ptsl-info-hub p {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.8;
    color: #607D8B;
    text-align: center;
}

.ptsl-info-hub .ptsl-subtitle,
.ptsl-info-hub #ptsl-subtitle {
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center;
    font-size: 18px;
    line-height: 1.8;
    color: #607D8B;
    text-align: center;
}


/* ============================================================
   5. SEARCH GLASS PANEL
   ============================================================ */

.ptsl-search-panel {
    position: relative;
    min-width: 0;
    max-width: 1100px;
    margin: 32px auto 24px;
    padding: 36px 44px;
    border-radius: 32px;

    background: rgba(255, 255, 255, .55);
    backdrop-filter: blur(25px) saturate(160%);
    -webkit-backdrop-filter: blur(25px) saturate(160%);

    border: 1.5px solid rgba(100, 181, 246, .35);
    border-top-color: rgba(255, 255, 255, .9);
    border-left-color: rgba(255, 255, 255, .7);

    box-shadow:
        0 20px 50px rgba(0, 91, 172, .10),
        inset 0 1px 0 rgba(255, 255, 255, .7);
}

.ptsl-search-panel > * {
    position: relative;
    min-width: 0;
    z-index: 1;
}


/* ============================================================
   6. SEARCH TABS
   ============================================================ */

.ptsl-tabs {
    display: flex !important;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    min-width: 0;
    margin-bottom: 0;
}

.ptsl-tabs > *:not(.ptsl-tab) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ptsl-tab {
    flex: 0 0 auto;
}

.ptsl-tab .elementor-button {
    min-width: 150px;
    padding: 14px 26px;
    border-radius: 14px;

    font-size: 15px;
    font-weight: 700;
    letter-spacing: .2px;

    background: #FFFFFF;
    color: #083D7A;
    border: 1.5px solid #DCEAF8 !important;
    box-shadow: none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease,
        color .2s ease !important;
}

.ptsl-tab .elementor-button:hover {
    transform: translateY(-2px);
    background: #F0F7FF !important;
    box-shadow: 0 6px 16px rgba(0, 91, 172, .10) !important;
}

.ptsl-tab.active-tab .elementor-button {
    background: linear-gradient(
        180deg,
        #005BAC,
        #3B82F6
    ) !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: 0 6px 18px rgba(0, 91, 172, .22) !important;
}


/* ============================================================
   7. SEARCH INPUT AND BUTTON
   ============================================================ */

.ptsl-search-wrapper {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    min-width: 0;
    margin-top: 24px;
}

.ptsl-search-input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 64px;
    padding: 0 24px !important;

    border-radius: 16px !important;
    border: 2px solid #DCEAF8 !important;
    outline: none;

    font-size: 16px;
    color: #12345A;
    background: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(0, 91, 172, .06);

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.ptsl-search-input:focus {
    border-color: #005BAC !important;
    box-shadow: 0 0 0 3px rgba(0, 91, 172, .12);
}

.ptsl-search-button {
    flex: 0 0 auto;
    min-width: 160px;
    height: 64px;
    padding: 0 32px;

    border-radius: 16px !important;
    border: none !important;
    cursor: pointer;

    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;

    background: linear-gradient(180deg, #005BAC, #2979FF);
    box-shadow: 0 6px 18px rgba(0, 91, 172, .20);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.ptsl-search-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 91, 172, .26);
}

.ptsl-search-button:active {
    transform: translateY(0);
}


/* ============================================================
   8. RESOURCE GRID
   ============================================================ */

.ptsl-resource-grid,
.resource-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 24px;
    max-width: 1300px;
    min-width: 0;
    margin: 0 auto;
}


/* ============================================================
   9. RESOURCE CARD
   ============================================================ */

.resource-card {
    position: relative;
    min-width: 0;
    min-height: 230px;
    padding: 32px 22px 26px;
    border-radius: 28px;
    cursor: pointer;
    text-align: center;
    overflow: hidden;

    background: #FFFFFF;
    border: 1px solid #E5EEF8;
    box-shadow: 0 8px 24px rgba(0, 91, 172, .08);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.resource-card .elementor-widget-heading,
.resource-card .elementor-widget-text-editor,
.resource-card .elementor-widget-container {
    min-width: 0;
    max-width: 100%;
}

.resource-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: #64B5F6;
    box-shadow: 0 20px 44px rgba(0, 91, 172, .16);
}


/* ============================================================
   10. RESOURCE ICON
   ============================================================ */

.resource-icon,
.resource-card .elementor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin: 0 auto 18px;
    border-radius: 18px;

    background: #EAF3FC;
    color: #005BAC;
    font-size: 32px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.resource-card:hover .resource-icon,
.resource-card:hover .elementor-icon {
    background: #005BAC;
    color: #FFFFFF;
    transform: scale(1.08);
}

.resource-card:hover .resource-icon i,
.resource-card:hover .resource-icon svg,
.resource-card:hover .elementor-icon i,
.resource-card:hover .elementor-icon svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}


/* ============================================================
   11. RESOURCE TEXT
   ============================================================ */

.resource-title,
.resource-card .elementor-heading-title {
    margin-top: 4px;
    font-size: 18px;
    font-weight: 700;
    color: #083D7A;
    text-align: center;

    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;

    transition: color .25s ease;
}

.resource-card:hover .resource-title,
.resource-card:hover .elementor-heading-title {
    color: #005BAC !important;
}

.resource-description,
.resource-card p {
    max-width: 100%;
    margin-top: 8px;
    margin-left: auto;
    margin-right: auto;

    color: #607D8B;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;

    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}


/* ============================================================
   12. SMALL DESKTOP
   ============================================================ */

@media (max-width: 1200px) {
    .ptsl-resource-grid,
    .resource-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* ============================================================
   13. TABLET
   ============================================================ */

@media (max-width: 900px) {
    .ptsl-search-panel {
        padding: 30px 26px;
        margin: 36px auto 44px;
        border-radius: 26px;
    }

    .ptsl-resource-grid,
    .resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}


/* ============================================================
   14. MOBILE
   ============================================================ */

@media (max-width: 767px) {
    /* Constrain the main container to its parent */
    .ptsl-info-hub {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ptsl-info-hub .e-con,
    .ptsl-info-hub .e-con-inner {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .ptsl-title,
    .ptsl-title .elementor-heading-title {
        
    }

    /* Constrain top-level paragraph widgets */
    .ptsl-info-hub > .elementor-widget-text-editor,
    .ptsl-info-hub > .e-con-inner > .elementor-widget-text-editor,
    .ptsl-info-hub .ptsl-subtitle,
    .ptsl-info-hub #ptsl-subtitle {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
        align-self: center;
    }

    .ptsl-info-hub p,
    .ptsl-info-hub .ptsl-subtitle,
    .ptsl-info-hub #ptsl-subtitle {
        font-size: 15px;
        line-height: 1.7;
        text-align: center;
    }

    .ptsl-search-panel {
        padding: 22px 16px;
        margin: 24px auto 32px;
        border-radius: 20px;
    }

    /* Three tabs; HTML widgets span the full row */
    .ptsl-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .ptsl-tabs > *:not(.ptsl-tab) {
        grid-column: 1 / -1;
        min-width: 0;
    }

    .ptsl-tab {
        min-width: 0;
        max-width: 100%;
    }

    .ptsl-tab .elementor-button {
        width: 100% !important;
        min-width: 0 !important;
        padding: 12px 6px !important;
        font-size: 12px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .ptsl-tab .elementor-button-content-wrapper,
    .ptsl-tab .elementor-button-text {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* Stack search input and button */
    .ptsl-search-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        width: 100%;
        margin-top: 18px;
    }

    .ptsl-search-input,
    .ptsl-search-button {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 52px !important;
        font-size: 15px;
    }

    .ptsl-search-input {
        padding: 0 16px !important;
    }

    /* One card per row */
    .ptsl-resource-grid,
    .resource-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    /* Stack icon, heading and description */
    .ptsl-info-hub .resource-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start;

        min-width: 0 !important;
        min-height: unset;
        height: auto !important;
        padding: 24px 18px;
        gap: 12px;
        text-align: center;
    }

    .ptsl-info-hub .resource-card > .e-con-inner {
        width: 100%;
        min-width: 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px;
    }

    .ptsl-info-hub .resource-card .elementor-widget-heading,
    .ptsl-info-hub .resource-card .elementor-widget-text-editor,
    .ptsl-info-hub .resource-card .resource-title,
    .ptsl-info-hub .resource-card .resource-description {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .resource-icon,
    .resource-card .elementor-icon {
        width: 56px;
        height: 56px;
        margin: 0 auto;
        flex-shrink: 0;
        font-size: 24px;
    }

    .ptsl-info-hub .resource-card .resource-title,
    .ptsl-info-hub .resource-card .elementor-heading-title {
        margin-top: 0;
        font-size: 16px;
        text-align: center;
    }

    .ptsl-info-hub .resource-card .resource-description,
    .ptsl-info-hub .resource-card p {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        font-size: 13px;
        line-height: 1.6;
        text-align: center;
    }

    .resource-card:hover {
        transform: translateY(-3px) scale(1.005);
    }
}


/* ============================================================
   15. SMALL PHONES
   ============================================================ */

@media (max-width: 380px) {
    .ptsl-search-panel {
        padding: 16px 12px;
        border-radius: 16px;
    }

    .ptsl-tab .elementor-button {
        padding: 10px 4px !important;
        font-size: 11px;
    }
}


/* ============================================================
   16. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    .resource-card,
    .ptsl-tab .elementor-button,
    .ptsl-search-button,
    .ptsl-search-input,
    .resource-icon,
    .resource-card .elementor-icon,
    .resource-title,
    .resource-card .elementor-heading-title {
        transition: none !important;
    }
}/* End custom CSS */