/* Responsive finishing layer. Original source palette and local fonts preserved. */
/* One type + rhythm scale for every rail. Only these tokens are read by the
   shared sections, so heading, card title, body, meta and label sizes stay in
   step from desktop down to the smallest phone. */
:root{--section-space:clamp(56px,6.7vw,96px);--content-gap:clamp(24px,3vw,40px);--heading-size:clamp(32px,4vw,50px);--heading-feature-size:clamp(28px,3vw,36px);--card-title-size:clamp(24px,2.3vw,30px);--card-title-sm-size:clamp(21px,1.9vw,25px);--body-size:clamp(16px,1.4vw,18px);--card-body-size:15px;--meta-size:12px;--label-size:13px;--accent-ink:oklch(from var(--accent) .43 c h);--heading-color:var(--fg);--heading-color-invert:var(--border)}
body{background:var(--border);font-family:var(--font-body);font-size:var(--body-size);line-height:1.7}
.elementor-17399 .elementor-widget-container{height:auto}
.elementor-17399 .elementor-column{min-width:0}
.elementor-17399 .elementor-heading-title{overflow-wrap:break-word;text-wrap:balance}
.elementor-17399 h2.elementor-heading-title{font-family:var(--font-display);font-size:var(--heading-size)!important;line-height:1.15!important;letter-spacing:2px!important;font-weight:400!important;margin:0}
.elementor-17399 h3.elementor-heading-title,.elementor-17399 .give-card__title{font-size:24px!important;line-height:1.35!important}
.elementor-17399 h4.elementor-heading-title,.elementor-17399 .elementor-widget-text-editor{font-size:var(--body-size)!important;line-height:1.7!important}
.elementor-17399 p:last-child{margin-bottom:0}
.elementor-17399 .elementor-widget-heading{margin-bottom:20px}
.elementor-17399 .elementor-widget-image img{vertical-align:middle}
.elementor-17399 .elementor-element.elementor-element-6777c40 .elementor-heading-title{font-size:clamp(44px,6.2vw,80px)!important;letter-spacing:clamp(2px,.5vw,6px)!important}
.elementor-17399 .elementor-element.elementor-element-6502a5b .elementor-heading-title{font-size:clamp(27px,3.4vw,45px)!important}
.elementor-17399 .elementor-element.elementor-element-691044d{padding:var(--section-space) 0 48px}
.elementor-17399 .elementor-element.elementor-element-c74e235,
.elementor-17399 .elementor-element.elementor-element-f9e89ce,
.elementor-17399 .elementor-element.elementor-element-347b814{padding:var(--section-space) 0}
.elementor-17399 .elementor-element.elementor-element-96c509e{padding:16px 0 var(--section-space)}
.elementor-17399 .elementor-element.elementor-element-d44985b{padding-bottom:40px}
.elementor-17399 .elementor-element.elementor-element-d4b70c5{padding-bottom:48px}
.elementor-17399 .elementor-element.elementor-element-60f257b .elementor-heading-title{max-width:620px}
.elementor-17399 .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,box-shadow .2s}
.elementor-17399 .elementor-button:hover{filter:none;color:var(--fg);background:var(--surface)}
.elementor-17399 .elementor-widget-button a:not(.enrol-button){color:var(--accent-ink)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--fg);outline-offset:5px}
/* Swiper owns track transforms, widths and margins; no scrollBy emulation. */
.elementor-17399 .elementor-element-9140862{min-width:0;width:100%;margin-top:16px}
.elementor-17399 .elementor-swiper{position:relative;width:100%;overflow:hidden;padding:0;touch-action:pan-y}
.elementor-17399 .swiper-wrapper{gap:0;overflow:visible;scroll-snap-type:none;padding:0;align-items:stretch}
.elementor-17399 .swiper-slide{flex-shrink:0;height:auto;display:flex}
.elementor-17399 .swiper-slide>.elementor-give-form{width:100%;height:100%;display:flex;flex-direction:column}
.elementor-17399 .elementor-give-form{border-radius:8px;overflow:hidden;box-shadow:0 4px 18px oklch(from var(--fg) l c h / .08)}
.elementor-17399 .give-card__title{min-height:3em;margin:0;padding:24px 24px 0}
.elementor-17399 .give-card__body{padding:20px 24px 24px;flex:1}
.elementor-17399 .give-card__media a{display:block}
.elementor-17399 .give-card__media img{inset:auto!important}
.elementor-17399 .give-card__media{padding-bottom:0!important;height:auto!important}
.elementor-17399 .give-card__media img{position:static!important;display:block;width:100%;height:auto!important;object-fit:contain}
.elementor-17399 .give-card__progress svg{display:none}
.elementor-17399 .give-card__progress .give-progress-bar{display:block!important;height:6px;background:var(--surface);border-radius:8px;overflow:hidden;margin-top:14px}
.elementor-17399 .give-card__progress .give-progress-bar span{display:block;height:100%;background:var(--muted)!important}
.elementor-17399 .give_error{display:none}
.elementor-17399 .swiper-slide a{color:var(--fg)}
.elementor-17399 .swiper-slide a:hover{text-decoration:underline;text-underline-offset:4px}
/* Skills: stable, equal-size circles instead of mask + padding sizing. */
.elementor-17399 .elementor-element.elementor-element-347b814{background:var(--surface)}
.elementor-17399 .elementor-element.elementor-element-cae2361 .elementor-heading-title{max-width:800px;margin-inline:auto}
.elementor-17399 .elementor-element.elementor-element-4598cee .elementor-heading-title{max-width:650px;margin:0 auto}
.elementor-17399 .elementor-element.elementor-element-b52f3e7{margin-top:24px}
.elementor-17399 .elementor-element.elementor-element-b52f3e7>.elementor-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--content-gap);max-width:1120px;padding:0 24px}
.elementor-17399 .elementor-element-b52f3e7>.elementor-container>.elementor-column{width:auto!important}
.elementor-17399 .elementor-element-b52f3e7 .elementor-widget-wrap{padding:0!important;display:block}
.elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter{width:100%!important;max-width:none;margin:0}
.elementor-17399 .elementor-element-b52f3e7 .elementor-widget-counter>.elementor-widget-container{aspect-ratio:1;padding:20px!important;border-radius:50%;mask-image:none!important;-webkit-mask-image:none!important;display:grid;place-items:center}
.elementor-17399 .elementor-element-b52f3e7 .elementor-counter{display:flex;flex-direction:column-reverse;align-items:center;gap:8px}
.elementor-17399 .elementor-element-b52f3e7 .elementor-counter-number-wrapper{font-size:clamp(36px,4vw,50px)!important;line-height:1.1!important;justify-content:center;color:var(--border)}
.elementor-17399 .elementor-element-b52f3e7 .elementor-counter-title{font-size:var(--body-size)!important;line-height:1.5!important;color:var(--border)}
.elementor-17399 .elementor-element-d4ec81f>.elementor-widget-container{background:var(--fg)!important}
.elementor-17399 .elementor-element-eda87c1>.elementor-widget-container{background:var(--accent-ink)!important}
.elementor-17399 .elementor-element-0eab769 .elementor-counter-number-wrapper,
.elementor-17399 .elementor-element-0eab769 .elementor-counter-title{color:var(--fg)!important}
@media(max-width:1024px){
 .elementor-17399 .elementor-section.elementor-section-boxed>.elementor-container{width:100%;max-width:960px}
 .elementor-17399 .elementor-element-b52f3e7>.elementor-container{max-width:800px}
}
@media(max-width:767px){
 .elementor-17399 .elementor-top-section>.elementor-container{padding-inline:16px}
 .elementor-17399 .elementor-inner-section>.elementor-container{padding-inline:0}
 .elementor-17399 .elementor-top-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-inline:8px}
 .elementor-17399 .elementor-element-b52f3e7>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:460px;padding:0 8px}
 .elementor-17399 .elementor-element-b52f3e7 .elementor-counter-number-wrapper{font-size:36px!important}
 .elementor-17399 .elementor-element-b52f3e7 .elementor-counter-title{font-size:16px!important}
 .elementor-17399 .elementor-element-3d0ccb9>.elementor-container{gap:32px}
 .elementor-17399 .elementor-element-3d0ccb9 .elementor-column{width:100%}
 .elementor-17399 .elementor-element-eb1a78c{background-color:var(--muted);background-image:none!important;border-radius:12px;padding:24px 16px}
 .elementor-17399 .elementor-element-5a6a9c5>.elementor-widget-container,.elementor-17399 .elementor-element-dc37d31>.elementor-widget-container{margin-top:0}
 .elementor-17399 .elementor-absolute{display:none}
 .elementor-17399 .give-card__title{font-size:22px!important}
 .elementor-17399 .elementor-element-346f83e{background-attachment:scroll!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
