/* UPG ↔ Elementor Free bridge. GENERATED from main.css by build/elementor_native.py. Loaded only when Elementor is active.
   Purpose: Elementor wraps every widget and container in its own boxes and adds its own spacing. These rules keep the
   designed UPG layout exactly, so pages edited with native Elementor widgets look like the prototype. */
.e-con.upg-n { display: block; --display: block; --flex-direction: row; --flex-wrap: nowrap; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --width: auto; --min-height: 0px; --margin-block-start: 0px; --margin-block-end: 0px; --margin-top: 0px; --margin-bottom: 0px; --margin-left: 0px; --margin-right: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; }
.upg-n .elementor-widget, .upg-n .elementor-widget > .elementor-widget-container { display: contents; }
.elementor-widget-button :where(.elementor-button) { font-family: inherit; font-size: inherit; line-height: inherit; text-decoration: none; fill: currentColor; box-shadow: none; text-shadow: none; }
.elementor-widget-button :where(.elementor-button-content-wrapper) { gap: 0; }
.elementor-widget-button.btn .elementor-button-wrapper { display: contents; }
.elementor-widget-image :where(img) { max-width: 100%; }
.elementor-editor-active .upg-n .elementor-widget { outline: 0; }

:where(.upg-n) h1.elementor-heading-title{font-family:var(--font-heading);line-height:var(--leading-tight);margin:0 0 var(--space-3);font-weight:var(--weight-bold)}
:where(.upg-n) h2.elementor-heading-title{font-family:var(--font-heading);line-height:var(--leading-tight);margin:0 0 var(--space-3);font-weight:var(--weight-bold)}
:where(.upg-n) h3.elementor-heading-title{font-family:var(--font-heading);line-height:var(--leading-tight);margin:0 0 var(--space-3);font-weight:var(--weight-bold)}
:where(.upg-n) h4.elementor-heading-title{font-family:var(--font-heading);line-height:var(--leading-tight);margin:0 0 var(--space-3);font-weight:var(--weight-bold)}
:where(.upg-n) h1.elementor-heading-title{font-size:var(--text-3xl);font-weight:var(--weight-heavy);letter-spacing:-0.01em}
:where(.upg-n) h2.elementor-heading-title{font-size:var(--text-2xl)}
:where(.upg-n) h3.elementor-heading-title{font-size:var(--text-lg)}
.container.e-con.upg-n{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section.e-con.upg-n{padding:var(--space-8) 0}
.section-head.e-con.upg-n{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:end;justify-content:space-between;margin-bottom:var(--space-6)}
.elementor-widget-button.btn :where(.elementor-button){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-5);border-radius:var(--radius-pill);border:2px solid transparent;font:inherit;font-weight:var(--weight-bold);font-size:var(--text-base);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s, color .15s, border-color .15s}
.elementor-widget-button.btn--primary :where(.elementor-button){background:var(--brand-primary);color:#fff}
.elementor-widget-button.btn--primary:hover :where(.elementor-button){background:var(--brand-primary-dark);color:#fff}
.elementor-widget-button.btn--outline :where(.elementor-button){border-color:var(--brand-primary);color:var(--brand-primary);background:transparent}
.elementor-widget-button.btn--outline:hover :where(.elementor-button){background:var(--brand-primary-tint)}
.hero-actions.e-con.upg-n{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.hero-media .photo.e-con.upg-n{aspect-ratio:5 / 4}
@media (max-width: 860px){
.hero-media .photo.e-con.upg-n{aspect-ratio:16 / 10}
}
.photo.e-con.upg-n{width:100%;height:100%;display:flex;align-items:flex-start;padding:var(--space-3);overflow:hidden}
.event-card .photo.e-con.upg-n{aspect-ratio:4 / 3;height:auto}
.display > :where(.elementor-widget-container) > :where(*), .display :where(.elementor-heading-title){font-size:var(--text-3xl);font-weight:var(--weight-heavy);letter-spacing:-0.01em}
.help-grid.e-con.upg-n{display:grid;gap:var(--space-6);grid-template-columns:1fr 1.3fr;align-items:start}
@media (max-width: 860px){
.help-grid.e-con.upg-n{grid-template-columns:1fr}
}
.newsletter.e-con.upg-n{max-width:640px;margin:0 auto}
.photo-card .photo.e-con.upg-n{aspect-ratio:4 / 3;height:auto}
.impact-block.e-con.upg-n{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.impact-photo.e-con.upg-n{min-height:320px}
@media (max-width: 860px){
.impact-block.e-con.upg-n{grid-template-columns:1fr}
.impact-photo.e-con.upg-n{aspect-ratio:16 / 10;min-height:0}
}
.donate-grid.e-con.upg-n{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center}
@media (max-width: 860px){
.donate-grid.e-con.upg-n{grid-template-columns:1fr;gap:var(--space-6)}
}
.page-head.e-con.upg-n{padding:var(--space-5) 0 var(--space-7)}
.detail-hero .photo.e-con.upg-n{aspect-ratio:21 / 8;min-height:260px}
.hint > :where(.elementor-widget-container) > :where(*), .hint :where(.elementor-heading-title){font-size:var(--text-xs);color:var(--ink-muted);font-weight:var(--weight-regular)}
.centre-card .photo.e-con.upg-n{aspect-ratio:16 / 10;height:auto;position:relative}
.visit-grid.e-con.upg-n{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-5)}
@media (max-width: 960px){
.visit-grid.e-con.upg-n{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 520px){
.visit-grid.e-con.upg-n{grid-template-columns:1fr}
}
.centre-hero .photo.e-con.upg-n{min-height:300px}
@media (max-width: 860px){
.centre-hero .photo.e-con.upg-n{order:-1;aspect-ratio:16 / 10;min-height:0}
}
.info-bar .container.e-con.upg-n{display:grid;grid-template-columns:repeat(4, 1fr)}
@media (max-width: 860px){
.info-bar .container.e-con.upg-n{grid-template-columns:1fr 1fr}
}
@media (max-width: 480px){
.info-bar .container.e-con.upg-n{grid-template-columns:1fr}
}
.service .photo.e-con.upg-n{height:100%;min-height:160px}
@media (max-width: 460px){
.service .photo.e-con.upg-n{aspect-ratio:16 / 9;min-height:0}
}
.room .photo.e-con.upg-n{aspect-ratio:4 / 3;height:auto}
.person .photo.e-con.upg-n{width:56px;height:56px;flex-shrink:0;padding:0}
.hire-hero.e-con.upg-n{display:grid;grid-template-columns:1.1fr 1fr;min-height:480px}
.hire-hero-text.e-con.upg-n{padding:var(--space-7) clamp(var(--space-5), 5vw, var(--space-8));display:flex;flex-direction:column;justify-content:center}
.hire-hero .photo.e-con.upg-n{min-height:300px}
@media (max-width: 860px){
.hire-hero.e-con.upg-n{grid-template-columns:1fr}
.hire-hero .photo.e-con.upg-n{order:-1;aspect-ratio:16 / 9;min-height:0}
.hire-hero-text.e-con.upg-n{padding:var(--space-6) var(--gutter)}
}
.table-scroll.e-con.upg-n{overflow-x:auto}
.enquiry-layout.e-con.upg-n{display:grid;grid-template-columns:minmax(0, 1fr) 340px;gap:var(--space-7);align-items:start}
@media (max-width: 960px){
.enquiry-layout.e-con.upg-n{grid-template-columns:1fr;gap:var(--space-6)}
}
.aside-card.e-con.upg-n{padding:var(--space-5)}
.aside-card + .aside-card.e-con.upg-n{margin-top:var(--space-4)}
.split.e-con.upg-n{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center}
.split .photo.e-con.upg-n{aspect-ratio:4 / 3;height:auto}
@media (max-width: 860px){
.split.e-con.upg-n{grid-template-columns:1fr;gap:var(--space-5)}
}
.what-to-expect.e-con.upg-n{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4);margin-top:var(--space-4)}
@media (max-width: 760px){
.what-to-expect.e-con.upg-n{grid-template-columns:1fr}
}
.impact-examples.e-con.upg-n{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-5)}
@media (max-width: 760px){
.impact-examples.e-con.upg-n{grid-template-columns:1fr}
}
.story-card .photo.e-con.upg-n{aspect-ratio:4 / 3;height:auto}
.giftaid.e-con.upg-n{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:center;padding:var(--space-6)}
.giftaid-badge.e-con.upg-n{width:96px;height:96px;display:grid;place-items:center}
@media (max-width: 520px){
.giftaid.e-con.upg-n{grid-template-columns:1fr}
}
.values.e-con.upg-n{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-5)}
@media (max-width: 960px){
.values.e-con.upg-n{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 520px){
.values.e-con.upg-n{grid-template-columns:1fr}
}
.value.e-con.upg-n{padding-top:var(--space-4)}
.team.e-con.upg-n{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-5)}
@media (max-width: 960px){
.team.e-con.upg-n{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width: 620px){
.team.e-con.upg-n{grid-template-columns:repeat(2, 1fr)}
}
.member .photo.e-con.upg-n{aspect-ratio:1;height:auto;margin-bottom:var(--space-3)}
.logo-strip.e-con.upg-n{display:grid;grid-template-columns:repeat(6, 1fr);gap:var(--space-4)}
@media (max-width: 860px){
.logo-strip.e-con.upg-n{grid-template-columns:repeat(3, 1fr)}
}
.team.e-con.upg-n{grid-template-columns:repeat(auto-fill, minmax(170px, 1fr))}
:where(.upg-n) h1.elementor-heading-title{letter-spacing:var(--tracking-headline)}
:where(.upg-n) h2.elementor-heading-title{letter-spacing:var(--tracking-headline)}
:where(.upg-n) h3.elementor-heading-title{letter-spacing:var(--tracking-headline)}
:where(.upg-n) h4.elementor-heading-title{letter-spacing:var(--tracking-headline)}
:where(.upg-n) h1.elementor-heading-title{font-family:var(--font-display);font-weight:400;letter-spacing:0.01em;line-height:1.02}
.display > :where(.elementor-widget-container) > :where(*), .display :where(.elementor-heading-title){font-family:var(--font-display);font-weight:400;letter-spacing:0.01em;line-height:1.02}
:where(.upg-n) h1.elementor-heading-title{text-transform:uppercase}
.display > :where(.elementor-widget-container) > :where(*), .display :where(.elementor-heading-title){text-transform:uppercase}
.elementor-widget-button.btn--outline :where(.elementor-button){border-color:var(--ink);color:var(--ink)}
.elementor-widget-button.btn--outline:hover :where(.elementor-button){background:var(--surface-alt);color:var(--ink)}
.photo.e-con.upg-n{position:relative}
body .upg-n .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body .upg-n .photo--duotone img{filter:grayscale(1) contrast(1.1)}
.values.e-con.upg-n{grid-template-columns:repeat(3, 1fr)}
@media (max-width: 860px){
.values.e-con.upg-n{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 520px){
.values.e-con.upg-n{grid-template-columns:1fr}
}
.photo-card--wide .photo.e-con.upg-n{aspect-ratio:8 / 3}
@media (max-width: 860px){
.photo-card--wide .photo.e-con.upg-n{aspect-ratio:4 / 3}
}
/* inline styles from the prototype, kept as classes (Elementor Free cannot set arbitrary inline styles) */
:where(.e-con).upg-s1{margin-top:var(--space-8)}
.upg-s2 > :where(.elementor-widget-container) > :where(*), .upg-s2 :where(.elementor-heading-title){margin-top:var(--space-3)}
.upg-s3 > :where(.elementor-widget-container) > :where(*), .upg-s3 :where(.elementor-heading-title){margin-bottom:var(--space-6)}
.upg-s4 > :where(.elementor-widget-container) > :where(*), .upg-s4 :where(.elementor-heading-title){margin:0}
:where(.e-con).upg-s5{--pc:var(--aud-families)}
:where(.e-con).upg-s6{--pc:var(--aud-young)}
:where(.e-con).upg-s7{--pc:var(--aud-adults)}
:where(.e-con).upg-s8{--pc:var(--aud-elders)}
.upg-s9 > :where(.elementor-widget-container) > :where(*), .upg-s9 :where(.elementor-heading-title){max-width:62ch}
:where(.e-con).upg-s10{margin-top:var(--space-4)}
:where(.e-con).upg-s11{padding:var(--space-6) 0;border-bottom:1px solid var(--line)}
.upg-s12 > :where(.elementor-widget-container) > :where(*), .upg-s12 :where(.elementor-heading-title){color:var(--ink-muted)}
:where(.e-con).upg-s13{background:var(--surface-alt)}
:where(.e-con).upg-s14{margin-top:var(--space-6);background:var(--surface-alt)}
.upg-s15 > :where(.elementor-widget-container) > :where(*), .upg-s15 :where(.elementor-heading-title){margin-bottom:var(--space-3)}
.upg-s16 > :where(.elementor-widget-container) > :where(*), .upg-s16 :where(.elementor-heading-title){max-width:62ch;margin-bottom:var(--space-6)}
.upg-s17 > :where(.elementor-widget-container) > :where(*), .upg-s17 :where(.elementor-heading-title){margin-top:var(--space-7)}
.upg-s18 > :where(.elementor-widget-container) > :where(*), .upg-s18 :where(.elementor-heading-title){color:var(--ink-muted);max-width:60ch}
.upg-s19 > :where(.elementor-widget-container) > :where(*), .upg-s19 :where(.elementor-heading-title){margin-bottom:var(--space-5)}