/* ==== Homepage section skins (widget classes; containers styled natively) ==== */
/* Headings / text helpers */
.h2-lg .elementor-heading-title { font-size: clamp(30px,4vw,50px) !important; }
.lead .elementor-widget-container, .lead p { color: var(--muted) !important; font-size: 18px; margin: 18px 0 0; }
.mini-label .elementor-heading-title { color: var(--orange-deep) !important; font-family: var(--font-body) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase; margin-top: 26px !important; }

/* Icon lists (zli = base row; per-list icon via ::before) */
.zli { display: flex !important; align-items: flex-start; gap: 12px; }
.zli .elementor-widget-container, .zli p { margin: 0 !important; font-size: 16px; font-weight: 500; }
.zli::before { content: ''; flex: none; background-repeat: no-repeat; background-position: center; background-size: contain; }
.li-minus::before, .li-check-gold::before { width: 20px; height: 20px; margin-top: 1px; }
.li-check-orange::before { width: 18px; height: 18px; }
.li-pin::before { width: 16px; height: 17px; margin-top: 2px; }
.li-minus::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%235a5046%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14%27%2F%3E%3C%2Fsvg%3E"); }
.li-check-gold::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f5b819%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%206%209%2017l-5-5%27%2F%3E%3C%2Fsvg%3E"); }
.li-check-orange::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23e8742b%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%206%209%2017l-5-5%27%2F%3E%3C%2Fsvg%3E"); }
.li-pin::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23c65c16%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2010c0%204.993-5.539%2010.193-7.399%2011.799a1%201%200%200%201-1.202%200C9.539%2020.193%204%2014.993%204%2010a8%208%200%200%201%2016%200%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E"); }

/* concern-list — bordered card of rows */
.concern-list { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 22px !important; gap: 0 !important; }
.concern-list .zli { padding: 13px 16px; border-bottom: 1px solid var(--line); align-items: center; }
.concern-list .zli:last-child { border-bottom: 0; }
.concern-list .zli p { color: var(--ink-soft) !important; }

/* deserve card (dark) */
.on-ink .elementor-heading-title { color: #fff !important; font-size: clamp(24px,2.4vw,32px) !important; margin: 14px 0 8px !important; }
.intro-ink .elementor-widget-container, .intro-ink p { color: rgba(255,255,255,.8) !important; margin: 0 0 22px !important; }
.deserve-list .zli p { color: rgba(255,255,255,.92) !important; }

/* pillars (dark section) */
.pillar-ico { width: 54px !important; height: 54px !important; border-radius: 14px; margin-bottom: 18px; display: flex; align-items: center; justify-content: center; }
.pillar-ico svg { width: 26px; height: 26px; }
.pico-1, .pico-3 { background: var(--orange-tint); color: var(--orange-deep); }
.pico-2, .pico-4 { background: var(--gold-tint); color: #a9760a; }
.pillar-h3 .elementor-heading-title { color: var(--ink) !important; font-size: 21px !important; }
.pillar-p .elementor-widget-container, .pillar-p p { color: var(--muted) !important; font-size: 15px; margin: 7px 0 0; }
.on-dark-h2c .elementor-heading-title { color: #fff !important; }
.sub-dark .elementor-widget-container, .sub-dark p { color: rgba(255,255,255,.78) !important; font-size: 18px; margin: 8px 0 0; }
.center-tag .elementor-widget-container, .center-tag p { text-align: center; margin-top: 60px !important; }
.tag .elementor-heading-title { font-family: var(--font-body) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ink-soft) !important; }
.tag { background: var(--cream-2); border-radius: 999px; padding: 8px 16px; }
.tag-dark { background: rgba(255,255,255,.08); }
.tag-dark .elementor-heading-title { color: rgba(255,255,255,.9) !important; }

/* differentiator */
.diff-media img { border-radius: var(--radius); box-shadow: var(--shadow-md); width: 100%; }
.diff-num { width: 40px !important; height: 40px !important; border-radius: 50%; display: flex !important; align-items: center; justify-content: center; flex: none; }
.diff-num .elementor-heading-title { color: #fff !important; font-family: var(--font-head) !important; font-size: 19px !important; font-weight: 600 !important; }
.diff-num-1, .diff-num-3, .diff-num-5 { background: var(--orange); }
.diff-num-2, .diff-num-4 { background: var(--gold); }
.diff-num-2 .elementor-heading-title, .diff-num-4 .elementor-heading-title { color: var(--ink) !important; }
.diff-h3 .elementor-heading-title { font-size: 20px !important; }
.diff-p .elementor-widget-container, .diff-p p { color: var(--muted) !important; font-size: 15.5px; margin: 5px 0 0; }
.subtag .elementor-heading-title { font-family: var(--font-body) !important; font-size: 12.5px !important; font-weight: 600 !important; color: var(--orange-deep) !important; }
.subtag { background: var(--orange-tint); padding: 4px 10px; border-radius: 999px; }

/* region */
.region-list { column-count: 2; column-gap: 22px; gap: 10px !important; margin-top: 22px !important; }
.region-list .zli { break-inside: avoid; margin-bottom: 10px; align-items: center; }
.region-list .zli p { color: var(--ink-soft) !important; }
.region-map iframe { display: block; }

/* programs */
.program-media { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-md); }
.program-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.program-badge { position: absolute; top: 18px; left: 18px; z-index: 3; background: rgba(255,255,255,.95); border-radius: 999px; padding: 8px 16px; }
.program-badge .elementor-heading-title { color: var(--orange-deep) !important; font-family: var(--font-body) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase; }
.program-h2 .elementor-heading-title { font-size: clamp(28px,3.4vw,42px) !important; }
.skill-grid { column-count: 2; column-gap: 22px; gap: 11px !important; margin-bottom: 26px !important; }
.skill-grid .zli { break-inside: avoid; margin-bottom: 11px; align-items: center; }
.skill-grid .zli p { color: var(--ink-soft) !important; font-size: 15.5px; }

/* testimonials */
.quote-mark .elementor-heading-title { font-family: var(--font-head) !important; font-size: 56px !important; line-height: .6; color: var(--gold) !important; }
.testi-p .elementor-widget-container, .testi-p p { font-family: var(--font-head) !important; font-size: 19.5px; line-height: 1.45; color: var(--ink) !important; font-style: italic; margin: 12px 0 0; }

/* more-than band */
#more-than-band { position: relative; }
#more-than-band::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(28,20,12,.88) 0%, rgba(28,20,12,.55) 50%, rgba(28,20,12,.15) 100%); }
#more-than-band > .e-con { position: relative; z-index: 2; }
.mt-p .elementor-widget-container, .mt-p p { color: rgba(255,255,255,.9) !important; font-size: clamp(17px,1.5vw,21px); line-height: 1.55; margin: 20px 0 0; }

/* FAQ accordion */
.zfaq .elementor-accordion-item { background: var(--paper); border: 1px solid var(--line) !important; border-radius: var(--radius-sm); overflow: hidden; margin-bottom: 12px; }
.zfaq .elementor-tab-title { padding: 20px 24px !important; font-family: var(--font-head) !important; font-weight: 600 !important; font-size: 17.5px !important; border: 0 !important; }
.zfaq .elementor-tab-title a, .zfaq .elementor-tab-title { color: var(--ink) !important; }
.zfaq .elementor-tab-content { padding: 0 24px 22px !important; color: var(--muted) !important; font-size: 16px; line-height: 1.6; border: 0 !important; }
.zfaq .elementor-accordion-icon, .zfaq .elementor-accordion-icon i, .zfaq .elementor-accordion-icon svg { color: var(--orange) !important; fill: var(--orange) !important; }
.pillar-ico .elementor-widget-container { display: contents; }
