/* Paradise English redesign: visual layer only. Every rule is scoped to body.pe-rd. */
body.pe-rd {
  --pe-ink: #0B2530; --pe-ink2: #3A5560; --pe-mute: #6B7F86;
  --pe-sea: #0A6E7C; --pe-sea-d: #07505A; --pe-lagoon: #D9F0EE;
  --pe-coral: #F2603A; --pe-coral-d: #C9431F; --pe-sun: #FFC24A;
  --pe-sand: #F6F8F7; --pe-line: #E2E8E7;
  --pe-head: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;
  --pe-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pe-radius: 20px;
  --pe-shadow: 0 1px 2px rgba(11,37,48,.04), 0 12px 32px rgba(11,37,48,.08);
  --pe-shadow-lg: 0 2px 4px rgba(11,37,48,.05), 0 24px 56px rgba(11,37,48,.14);
}
/* Elementor kit globals -> new palette (body.elementor-kit-N already holds these; this selector is more specific) */
body.pe-rd[class*="elementor-kit-"] {
  --e-global-color-primary: var(--pe-ink);
  --e-global-color-text: var(--pe-ink2);
  --e-global-color-accent: var(--pe-coral);
  --e-global-typography-primary-font-family: "Bricolage Grotesque";
  --e-global-typography-secondary-font-family: "Figtree";
  --e-global-typography-text-font-family: "Figtree";
  --e-global-typography-accent-font-family: "Figtree";
}

/* ---------- Base type ---------- */
body.pe-rd { font-family: var(--pe-body); color: var(--pe-ink2); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.pe-rd .elementor-widget-text-editor,
body.pe-rd .elementor-widget-text-editor p,
body.pe-rd .elementor-widget-text-editor li,
body.pe-rd .elementor-widget-icon-list .elementor-icon-list-text,
body.pe-rd .elementor-testimonial__text,
body.pe-rd .elementor-flip-box__layer__description,
body.pe-rd .elementor-cta__description,
body.pe-rd .elementor-price-table__period,
body.pe-rd .elementor-price-table__features-list,
body.pe-rd .elementor-price-table__additional_info { font-family: var(--pe-body) !important; }
body.pe-rd .elementor-widget-text-editor { line-height: 1.65; }

body.pe-rd h1, body.pe-rd h2, body.pe-rd h3, body.pe-rd h4, body.pe-rd h5, body.pe-rd h6,
body.pe-rd .elementor-heading-title,
body.pe-rd .elementor-price-table__heading,
body.pe-rd .elementor-flip-box__layer__title,
body.pe-rd .elementor-cta__title,
body.pe-rd .elementor-testimonial__name,
body.pe-rd .e-n-accordion-item-title-text {
  font-family: var(--pe-head) !important;
  letter-spacing: -0.02em;
}
body.pe-rd .elementor-heading-title { color: var(--pe-ink); line-height: 1.12; text-wrap: balance; }
body.pe-rd h1.elementor-heading-title { font-weight: 800 !important; }
body.pe-rd h2.elementor-heading-title { font-weight: 800 !important; }

/* Links */
body.pe-rd .elementor-widget-text-editor a { color: var(--pe-sea); text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.pe-rd .elementor-widget-text-editor a:hover { color: var(--pe-coral-d); }
/* hard-coded orange spans inside text */
body.pe-rd [style*="#ff6900"], body.pe-rd [style*="#FF6900"], body.pe-rd [style*="color: orange"], body.pe-rd [style*="color:orange"] { color: var(--pe-coral) !important; }

/* ---------- Buttons ---------- */
body.pe-rd .elementor-button,
body.pe-rd .elementor-price-table__button,
body.pe-rd .elementor-flip-box__button,
body.pe-rd .elementor-cta__button,
body.pe-rd .elementor-field-type-submit .elementor-button,
body.pe-rd button.ehp-form__button,
body.pe-rd .ehp-form__submit,
body.pe-rd .e-form__buttons button {
  border-radius: 999px !important;
  font-family: var(--pe-body) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  text-transform: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
body.pe-rd .elementor-button:hover,
body.pe-rd .elementor-price-table__button:hover,
body.pe-rd .elementor-cta__button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(242,96,58,.28); }
body.pe-rd .elementor-button { padding-left: 1.6em; padding-right: 1.6em; }
body.pe-rd .elementor-price-table__button { background-color: var(--pe-coral) !important; color: #fff !important; }
body.pe-rd .elementor-price-table__button:hover { background-color: var(--pe-coral-d) !important; }

/* ---------- Cards ---------- */
/* containers that already draw a border become soft rounded cards */
body.pe-rd .e-con[class*="elementor-element-"]:where(.e-child, .e-parent) { border-color: var(--pe-line); }
body.pe-rd .elementor-widget-flip-box .elementor-flip-box,
body.pe-rd .elementor-widget-call-to-action .elementor-cta,
body.pe-rd .elementor-widget-price-table .elementor-price-table {
  border-radius: var(--pe-radius) !important;
  overflow: hidden;
  box-shadow: var(--pe-shadow);
}
body.pe-rd .elementor-widget-image img { border-radius: 16px; }
body.pe-rd .elementor-widget-theme-site-logo img,
body.pe-rd .elementor-location-header .elementor-widget-image img,
body.pe-rd .elementor-location-footer .elementor-widget-image img { border-radius: 0; }

/* ---------- Price tables ---------- */
body.pe-rd .elementor-price-table { background: #fff; border: 1px solid var(--pe-line); }
body.pe-rd .elementor-price-table__header { background: var(--pe-sand) !important; }
body.pe-rd .elementor-price-table__heading { color: var(--pe-ink) !important; font-weight: 700 !important; }
body.pe-rd .elementor-price-table__integer-part,
body.pe-rd .elementor-price-table__currency { font-family: var(--pe-head) !important; color: var(--pe-ink) !important; font-weight: 800 !important; letter-spacing: -0.03em; }
body.pe-rd .elementor-price-table__original-price { color: var(--pe-coral-d) !important; opacity: .85; }
body.pe-rd .elementor-ribbon-inner { background-color: var(--pe-coral) !important; color: #fff !important; font-family: var(--pe-body) !important; font-weight: 700 !important; letter-spacing: .02em; }

/* ---------- Flip boxes (course cards) ---------- */
body.pe-rd .elementor-flip-box__back { background-color: var(--pe-ink) !important; }
body.pe-rd .elementor-flip-box__back .elementor-flip-box__button { background: var(--pe-coral) !important; border-color: var(--pe-coral) !important; color: #fff !important; }

/* ---------- Accordion (FAQ) ---------- */
body.pe-rd .e-n-accordion-item { border-radius: 14px; overflow: hidden; margin-bottom: 10px; border: 1px solid var(--pe-line); background: #fff; }
body.pe-rd .e-n-accordion-item-title { background: #fff !important; border: 0 !important; }
body.pe-rd .e-n-accordion-item[open] > .e-n-accordion-item-title { background: var(--pe-lagoon) !important; }
body.pe-rd .e-n-accordion-item-title-text { color: var(--pe-ink) !important; font-weight: 700 !important; }

/* ---------- Testimonials ---------- */
body.pe-rd .elementor-testimonial { background: #fff; border-radius: var(--pe-radius); }
body.pe-rd .elementor-testimonial__name { color: var(--pe-ink) !important; }
body.pe-rd .elementor-swiper-button { color: var(--pe-coral) !important; }
body.pe-rd .swiper-pagination-bullet-active { background: var(--pe-coral) !important; }

/* ---------- Icon lists ---------- */
body.pe-rd .elementor-icon-list-icon svg { fill: var(--pe-coral) !important; }
body.pe-rd .elementor-icon-list-icon i { color: var(--pe-coral) !important; }

/* ---------- Gallery filters ---------- */
body.pe-rd .elementor-gallery-title { font-family: var(--pe-body) !important; font-weight: 600 !important; color: var(--pe-ink2) !important; border-radius: 999px; padding: 8px 16px !important; }
body.pe-rd .elementor-gallery-title.elementor-item-active { color: #fff !important; background: var(--pe-ink); }
body.pe-rd .elementor-gallery-title::before, body.pe-rd .elementor-gallery-title::after { display: none !important; }
body.pe-rd .e-gallery-image { border-radius: 14px; }

/* ---------- Forms ---------- */
body.pe-rd .elementor-field-group .elementor-field,
body.pe-rd .elementor-field-textual,
body.pe-rd .ehp-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
body.pe-rd .ehp-form textarea,
body.pe-rd .ehp-form select {
  border-radius: 12px !important;
  border: 1px solid #CFDAD9 !important;
  background: #fff !important;
  font-family: var(--pe-body) !important;
  color: var(--pe-ink) !important;
  min-height: 46px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body.pe-rd .elementor-field-group .elementor-field:focus,
body.pe-rd .elementor-field-textual:focus,
body.pe-rd .ehp-form input:focus, body.pe-rd .ehp-form textarea:focus, body.pe-rd .ehp-form select:focus {
  border-color: var(--pe-sea) !important;
  box-shadow: 0 0 0 4px rgba(10,110,124,.15) !important;
  outline: none !important;
}
body.pe-rd .elementor-field-label, body.pe-rd .ehp-form label { font-family: var(--pe-body) !important; font-weight: 600 !important; color: var(--pe-ink) !important; }
body.pe-rd .elementor-field-type-submit .elementor-button,
body.pe-rd .ehp-form button[type=submit],
body.pe-rd .ehp-form__button { background-color: var(--pe-coral) !important; color: #fff !important; border: 0 !important; min-height: 50px; }

/* ---------- Popups (booking forms) ---------- */
body.pe-rd .elementor-popup-modal .dialog-widget-content { border-radius: 24px !important; overflow: hidden; box-shadow: 0 40px 100px rgba(11,37,48,.35) !important; }
body.pe-rd .elementor-popup-modal .dialog-close-button { background: #fff; border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; }

/* ---------- Header ---------- */
body.pe-rd .elementor-location-header .elementor-nav-menu--main .elementor-item {
  font-family: var(--pe-body) !important;
  font-weight: 600 !important;
  letter-spacing: .005em;
}
body.pe-rd .elementor-location-header .elementor-nav-menu--main .elementor-item::after { background-color: var(--pe-sun) !important; height: 2px !important; border-radius: 2px; }
body.pe-rd .elementor-nav-menu--dropdown { border-radius: 14px; overflow: hidden; box-shadow: var(--pe-shadow-lg); }
body.pe-rd .elementor-nav-menu--dropdown .elementor-item,
body.pe-rd .elementor-nav-menu--dropdown .elementor-sub-item { font-family: var(--pe-body) !important; font-weight: 600 !important; }
body.pe-rd .elementor-location-header .sub-menu.elementor-nav-menu--dropdown { background: var(--pe-ink) !important; padding: 6px 0; }
body.pe-rd .elementor-location-header .sub-menu .elementor-sub-item { color: #fff !important; }
body.pe-rd .elementor-location-header .sub-menu .elementor-sub-item:hover { background: rgba(255,255,255,.08) !important; color: var(--pe-sun) !important; }
/* sticky header gets the deep-sea glass look once it detaches */
body.pe-rd .elementor-location-header .elementor-sticky--effects { background: rgba(11,37,48,.88) !important; backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }
/* language switcher as a pill */
body.pe-rd .elementor-location-header .wpml-ls-current-language > .elementor-item { border: 1px solid rgba(255,255,255,.45); border-radius: 999px; padding: 6px 14px !important; }
body.pe-rd .elementor-location-header .wpml-ls-current-language > .elementor-item::after { display: none !important; }

/* ---------- Footer ---------- */
body.pe-rd .elementor-location-footer { font-family: var(--pe-body); }
body.pe-rd .elementor-location-footer .elementor-heading-title { letter-spacing: -0.01em; }

/* ---------- Video / map / embeds ---------- */
body.pe-rd .elementor-widget-video .elementor-wrapper,
body.pe-rd .elementor-widget-google_maps iframe,
body.pe-rd .elementor-widget-video iframe { border-radius: var(--pe-radius); overflow: hidden; }

/* ---------- Hero slider type ---------- */
body.pe-rd sr7-module .sr7-layer { font-family: var(--pe-body) !important; }
body.pe-rd sr7-module sr7-txt.sr7-layer:first-of-type,
body.pe-rd sr7-module h1.sr7-layer, body.pe-rd sr7-module h2.sr7-layer { font-family: var(--pe-head) !important; letter-spacing: -0.025em !important; }
body.pe-rd sr7-module a.sr7-layer { border-radius: 999px !important; font-weight: 700 !important; }
body.pe-rd .n2-section-smartslider .n2-ss-item-content, body.pe-rd .n2-section-smartslider .n2-ow { font-family: var(--pe-body) !important; }
body.pe-rd .n2-section-smartslider .n2-ss-item-heading, body.pe-rd .n2-section-smartslider h1, body.pe-rd .n2-section-smartslider h2, body.pe-rd .n2-section-smartslider h3 { font-family: var(--pe-head) !important; }

/* ---------- Selection, focus ---------- */
body.pe-rd ::selection { background: var(--pe-sun); color: var(--pe-ink); }
body.pe-rd a:focus-visible, body.pe-rd button:focus-visible { outline: 3px solid var(--pe-sun); outline-offset: 2px; border-radius: 6px; }

/* ---------- Motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
  body.pe-rd * { transition: none !important; }
}

/* =====================================================================
   COMPONENTS (hero, life, buttons, chips, header CTA, mobile bar)
   ===================================================================== */
body.pe-rd .pe-ic { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
body.pe-rd .pe-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; font: 700 16px/1 var(--pe-body); text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; white-space: nowrap; }
body.pe-rd .pe-btn:hover { transform: translateY(-1px); }
body.pe-rd .pe-btn--coral { background: var(--pe-coral); color: #fff !important; box-shadow: 0 8px 22px rgba(242,96,58,.3); }
body.pe-rd .pe-btn--coral:hover { background: var(--pe-coral-d); }
body.pe-rd .pe-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.85); }
body.pe-rd .pe-btn--ghost:hover { background: rgba(255,255,255,.12); }
body.pe-rd .pe-btn--wa { background: #1FAF5A; color: #fff !important; }
body.pe-rd .pe-btn--wa:hover { background: #178a47; }
body.pe-rd .pe-btn--ink { background: var(--pe-ink); color: #fff !important; }
body.pe-rd .pe-btn--sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
body.pe-rd .pe-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.16); color: #fff; font: 600 13px/1.2 var(--pe-body); border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.pe-rd .pe-chip .pe-ic { width: 15px; height: 15px; fill: var(--pe-sun); stroke: var(--pe-sun); }
body.pe-rd .pe-eyebrow { font: 700 13px/1 var(--pe-body); letter-spacing: .14em; text-transform: uppercase; color: var(--pe-sea); margin: 0 0 14px; }

/* hero */
body.pe-rd .pe-hero { position: relative; min-height: min(100svh, 920px); display: flex; flex-direction: column; justify-content: flex-end; color: #fff; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, rgba(11,37,48,.62) 0%, rgba(11,37,48,.18) 38%, rgba(11,37,48,.82) 100%), var(--pe-hero-bg) center/cover no-repeat, var(--pe-ink);
  padding: 140px clamp(16px, 5vw, 72px) 32px; }
body.pe-rd .pe-hero__inner { max-width: 980px; }
body.pe-rd .pe-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; }
body.pe-rd .pe-hero__title { margin: 22px 0 0; font-family: var(--pe-head) !important; color: #fff; }
body.pe-rd .pe-hero__slogan { display: block; font-size: clamp(44px, 7.4vw, 104px); line-height: .95; font-weight: 800; letter-spacing: -0.035em; }
body.pe-rd .pe-hero__sub { display: block; margin-top: 18px; font-size: clamp(19px, 2vw, 26px); line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; color: var(--pe-sun); }
body.pe-rd .pe-hero__lead { margin: 14px 0 0; max-width: 640px; font: 400 clamp(16px, 1.4vw, 19px)/1.55 var(--pe-body); color: rgba(255,255,255,.92); }
body.pe-rd .pe-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
body.pe-rd .pe-hero__stats { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.pe-rd .pe-hero__stats li { background: rgba(255,255,255,.13); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.24); border-radius: 18px; padding: 18px 22px; }
body.pe-rd .pe-hero__stats strong { display: block; font: 800 clamp(22px, 2.3vw, 34px)/1.05 var(--pe-head); letter-spacing: -0.02em; }
body.pe-rd .pe-hero__stats span { display: block; margin-top: 6px; font: 500 14px/1.35 var(--pe-body); color: rgba(255,255,255,.85); }
@media (max-width: 900px) {
  body.pe-rd .pe-hero { padding-top: 110px; min-height: auto; }
  body.pe-rd .pe-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 32px; }
  body.pe-rd .pe-hero__stats li { padding: 14px 16px; }
  body.pe-rd .pe-hero__ctas .pe-btn { flex: 1 1 100%; justify-content: center; }
}

/* life block */
body.pe-rd .pe-life { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; max-width: 1280px; margin: 0 auto; padding: clamp(56px, 7vw, 96px) clamp(16px, 4vw, 40px); }
body.pe-rd .pe-life__title { font: 800 clamp(36px, 4.6vw, 60px)/1 var(--pe-head) !important; letter-spacing: -0.03em; color: var(--pe-ink); margin: 0; }
body.pe-rd .pe-life__lead { margin: 18px 0 0; font: 400 18px/1.6 var(--pe-body); color: var(--pe-ink2); max-width: 560px; }
body.pe-rd .pe-life__points { list-style: none; padding: 0; margin: 24px 0 28px; display: flex; flex-wrap: wrap; gap: 14px 26px; font: 600 15px var(--pe-body); color: var(--pe-ink); }
body.pe-rd .pe-life__points li { display: flex; align-items: center; gap: 8px; }
body.pe-rd .pe-life__points .pe-ic { color: var(--pe-sea); }
body.pe-rd .pe-life__photos { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 200px 200px; gap: 12px; }
body.pe-rd .pe-life__photos img { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; }
body.pe-rd .pe-life__a { grid-row: span 2; }
@media (max-width: 900px) {
  body.pe-rd .pe-life { grid-template-columns: 1fr; }
  body.pe-rd .pe-life__photos { grid-template-rows: 160px 160px; }
}

/* header: transparent over hero, deep-sea glass after scrolling */
body.pe-rd .elementor-location-header { transition: background-color .25s ease; }
body.pe-rd.pe-scrolled .elementor-location-header > .e-con,
body.pe-rd.pe-scrolled .elementor-location-header .elementor-sticky--effects { background: rgba(11,37,48,.9) !important; -webkit-backdrop-filter: saturate(140%) blur(12px); backdrop-filter: saturate(140%) blur(12px); }
body.pe-rd .pe-nav-cta { display: flex; align-items: center; margin-left: 10px; }
body.pe-rd .pe-nav-cta .pe-btn { color: #fff !important; }
body.pe-rd .pe-nav-cta .pe-btn::after, body.pe-rd .pe-nav-cta .pe-btn::before { display: none !important; }

/* mobile bottom bar */
body.pe-rd .pe-mbar { display: none; }
@media (max-width: 767px) {
  body.pe-rd .pe-mbar { display: flex; gap: 10px; position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 9990; }
  body.pe-rd .pe-mbar__quote { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 999px; background: var(--pe-coral); color: #fff !important; font: 700 16px var(--pe-body); text-decoration: none; box-shadow: 0 10px 28px rgba(11,37,48,.28); }
  body.pe-rd .pe-mbar__wa { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: #1FAF5A; color: #fff; box-shadow: 0 10px 28px rgba(11,37,48,.28); }
  body.pe-rd .pe-mbar__wa .pe-ic { width: 26px; height: 26px; }
  body.pe-rd { padding-bottom: 76px; }
}

/* =====================================================================
   HOMEPAGE (element IDs are shared by every language version)
   ===================================================================== */
/* hero shortcode container: full bleed, no padding */
body.pe-rd .elementor-element-679bf5e { padding: 0 !important; margin: 0 !important; max-width: none !important; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
body.pe-rd .elementor-element-679bf5e .elementor-shortcode { width: 100%; }

/* 20-years badge band */
body.pe-rd .elementor-element-0417ba1 { background: var(--pe-sand) !important; padding: 40px 16px 8px !important; }
body.pe-rd .elementor-element-0417ba1 img { max-height: 170px; width: auto; border-radius: 0; }

/* intro: award-winning school */
body.pe-rd .elementor-element-1a4fb97 { background: var(--pe-sand) !important; padding: 24px clamp(16px, 4vw, 40px) 72px !important; }
body.pe-rd .elementor-element-1a4fb97 > .e-con-inner, body.pe-rd .elementor-element-1a4fb97 { max-width: 1280px; margin-left: auto; margin-right: auto; }
body.pe-rd .elementor-element-67f34d9 .elementor-heading-title { font-size: clamp(32px, 4vw, 54px) !important; text-align: center; }
body.pe-rd .elementor-element-791b6ca { max-width: 860px; margin: 0 auto !important; text-align: center; }
body.pe-rd .elementor-element-fb83fa4 { font-size: 20px; color: var(--pe-ink) !important; }
body.pe-rd .elementor-element-5579741 { margin-top: 28px; }

/* "Programs Overview" + "Why study" section titles: big, centered, no side bar */
body.pe-rd .elementor-element-2cb8aff,
body.pe-rd .elementor-element-c90ac08 { border: 0 !important; padding: 0 !important; }
body.pe-rd .elementor-element-2cb8aff .elementor-heading-title,
body.pe-rd .elementor-element-c90ac08 .elementor-heading-title { font-size: clamp(36px, 4.6vw, 60px) !important; letter-spacing: -0.03em; }
body.pe-rd .elementor-element-8e39a0a { padding: 88px clamp(16px, 4vw, 40px) 10px !important; max-width: 1280px; margin: 0 auto; }
body.pe-rd .elementor-element-8e39a0a::before { content: ""; }

/* course bento: both card rows become one photo-tile grid */
body.pe-rd .elementor-element-b8c487a,
body.pe-rd .elementor-element-f287d39 {
  display: grid !important; gap: 18px !important; max-width: 1280px; margin: 0 auto !important;
  padding: 18px clamp(16px, 4vw, 40px) 0 !important;
}
body.pe-rd .elementor-element-b8c487a { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: minmax(320px, auto) minmax(280px, auto); }
body.pe-rd .elementor-element-f287d39 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: minmax(320px, auto); padding-bottom: 24px !important; }
body.pe-rd .elementor-element-f79645d { grid-column: 1; grid-row: 1 / span 2; order: -1; }     /* General = hero tile */
body.pe-rd .elementor-element-cf2e20a { grid-column: 2; grid-row: 1; }                          /* Budget */
body.pe-rd .elementor-element-bdface3 { grid-column: 3; grid-row: 1; }                          /* Intensive */
body.pe-rd .elementor-element-a562e35 { grid-column: 2 / span 2; grid-row: 2; }                 /* Bildungsurlaub */
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con {
  position: relative !important; width: auto !important; max-width: none !important; min-height: 0 !important; height: 100%;
  margin: 0 !important; padding: 120px 26px 26px !important; border: 0 !important; border-radius: 22px !important; overflow: hidden;
  display: flex !important; flex-direction: column !important; justify-content: flex-end !important; gap: 8px !important;
  box-shadow: var(--pe-shadow); isolation: isolate; color: #fff; transition: transform .25s ease, box-shadow .25s ease;
}
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con:hover { transform: translateY(-3px); box-shadow: var(--pe-shadow-lg); }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con > .elementor-widget-image { position: absolute !important; inset: 0; margin: 0 !important; z-index: -2; width: 100% !important; height: 100%; }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con > .elementor-widget-image * { height: 100% !important; width: 100% !important; max-width: none !important; }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con > .elementor-widget-image img { object-fit: cover; border-radius: 0 !important; transition: transform .6s ease; }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con:hover img { transform: scale(1.04); }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,37,48,0) 30%, rgba(11,37,48,.88) 100%); }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con .elementor-heading-title { color: #fff !important; font-size: clamp(22px, 2.2vw, 30px) !important; font-weight: 800 !important; margin: 0; }
body.pe-rd .elementor-element-f79645d .elementor-heading-title { font-size: clamp(30px, 3.4vw, 46px) !important; }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con .elementor-widget-text-editor { color: rgba(255,255,255,.9) !important; font-size: 15px; line-height: 1.5; margin: 0 !important; }
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con .elementor-widget-text-editor * { color: inherit !important; }
/* full descriptions always visible: tiles grow instead of truncating */
/* colour tiles from the PDF: Bildungsurlaub = coral, IELTS = deep sea (photo kept, tinted) */
body.pe-rd .elementor-element-a562e35::after { background: linear-gradient(90deg, rgba(242,96,58,.95) 0%, rgba(242,96,58,.75) 55%, rgba(242,96,58,.25) 100%) !important; }
body.pe-rd .elementor-element-228c5ba::after { background: linear-gradient(180deg, rgba(11,37,48,.55), rgba(11,37,48,.92)) !important; }
body.pe-rd .elementor-element-a562e35 { justify-content: center !important; max-width: none; }
body.pe-rd .elementor-element-a562e35 > :not(.elementor-widget-image) { max-width: 520px; }
@media (max-width: 1024px) {
  body.pe-rd .elementor-element-b8c487a { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(360px, auto) minmax(280px, auto) minmax(260px, auto); }
  body.pe-rd .elementor-element-f79645d { grid-column: 1 / span 2; grid-row: 1; }
  body.pe-rd .elementor-element-cf2e20a { grid-column: 1; grid-row: 2; }
  body.pe-rd .elementor-element-bdface3 { grid-column: 2; grid-row: 2; }
  body.pe-rd .elementor-element-a562e35 { grid-column: 1 / span 2; grid-row: 3; }
  body.pe-rd .elementor-element-f287d39 { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(280px, auto) minmax(260px, auto); }
  body.pe-rd .elementor-element-228c5ba { grid-column: 1 / span 2; }
}
@media (max-width: 640px) {
  body.pe-rd .elementor-element-b8c487a, body.pe-rd .elementor-element-f287d39 { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: minmax(300px, auto); }
  body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) .e-con { grid-column: 1 !important; grid-row: auto !important; }
  body.pe-rd .elementor-element-f79645d { grid-row: auto; }
}

/* pricing call-to-action: deep sea band */
body.pe-rd .elementor-element-7911eb7 { max-width: 1280px; margin: 24px auto 0 !important; padding: 0 clamp(16px, 4vw, 40px) !important; }
body.pe-rd .elementor-element-5e2c1d2 .elementor-cta { background: var(--pe-ink) !important; border-radius: 24px !important; box-shadow: none !important; }
body.pe-rd .elementor-element-5e2c1d2 .elementor-cta__content { background: transparent !important; padding: 44px 32px !important; }
body.pe-rd .elementor-element-5e2c1d2 .elementor-cta__title { color: #fff !important; font-size: clamp(28px, 3.4vw, 44px) !important; font-weight: 800 !important; }
body.pe-rd .elementor-element-5e2c1d2 .elementor-cta__description { color: rgba(255,255,255,.85) !important; font-size: 18px !important; }
body.pe-rd .elementor-element-5e2c1d2 .elementor-cta__button { background: var(--pe-coral) !important; border-color: var(--pe-coral) !important; color: #fff !important; padding: 14px 28px !important; }

/* why study: lagoon panel */
body.pe-rd .elementor-element-5eb6a8b { max-width: 1280px; margin: 0 auto; padding: 96px clamp(16px, 4vw, 40px) 8px !important; }
body.pe-rd .elementor-element-296706f { max-width: 1280px; margin: 18px auto 0 !important; background: var(--pe-lagoon) !important; border-radius: 28px; padding: clamp(24px, 4vw, 48px) !important; gap: clamp(24px, 4vw, 48px) !important; }
body.pe-rd .elementor-element-296706f .elementor-widget-video .elementor-wrapper { border-radius: 20px; box-shadow: var(--pe-shadow-lg); }
body.pe-rd .elementor-element-296706f .elementor-icon-list-text { color: var(--pe-ink) !important; font-size: 17px !important; }
body.pe-rd .elementor-element-f53bfe7 { font-size: 17px; color: var(--pe-ink2) !important; }

/* four feature rows: alternating split cards */
body.pe-rd :is(.elementor-element-d325c3b, .elementor-element-2d2601c, .elementor-element-7d1fc6a, .elementor-element-15a07f0) {
  max-width: 1280px; margin: 28px auto 0 !important; padding: 0 clamp(16px, 4vw, 40px) !important; gap: clamp(24px, 4vw, 56px) !important; align-items: center !important;
}
body.pe-rd :is(.elementor-element-d325c3b, .elementor-element-2d2601c, .elementor-element-7d1fc6a, .elementor-element-15a07f0) .elementor-widget-image img { border-radius: 24px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; box-shadow: var(--pe-shadow-lg); }
body.pe-rd :is(.elementor-element-b10fb12, .elementor-element-df475b3, .elementor-element-a27c282, .elementor-element-1f57a60) .elementor-heading-title { font-size: clamp(28px, 3vw, 40px) !important; font-weight: 800 !important; }
body.pe-rd :is(.elementor-element-481323e, .elementor-element-d64680c, .elementor-element-0bf0e1c, .elementor-element-59a24c9) { font-size: 18px; }

/* testimonials + gallery */
body.pe-rd .elementor-element-48ef587 { max-width: 1280px; margin: 96px auto 0 !important; padding: 0 clamp(16px, 4vw, 40px) !important; gap: 28px !important; }
body.pe-rd .elementor-element-265199d { background: var(--pe-sand) !important; border: 0 !important; border-radius: 28px !important; box-shadow: none !important; padding: 32px !important; }
body.pe-rd :is(.elementor-element-5aca925, .elementor-element-8640c35) { border: 0 !important; padding: 0 !important; }
body.pe-rd :is(.elementor-element-5aca925, .elementor-element-8640c35) .elementor-heading-title { font-size: clamp(30px, 3.2vw, 44px) !important; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial { background: #fff !important; border-radius: 20px; padding: 24px !important; box-shadow: var(--pe-shadow); }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__content::before { content: "★★★★★"; display: block; color: var(--pe-sun); letter-spacing: 2px; margin-bottom: 10px; font-size: 15px; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__text { color: var(--pe-ink) !important; font-size: 16px !important; line-height: 1.6 !important; background: transparent !important; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__name { font-size: 16px !important; font-weight: 700 !important; }

/* latest news + contact */
body.pe-rd .elementor-element-5c58dcf { max-width: 1280px; margin: 96px auto 0 !important; padding: 0 clamp(16px, 4vw, 40px) !important; }
body.pe-rd .elementor-element-5882eaa { max-width: 1280px; margin: 96px auto 72px !important; padding: 0 clamp(16px, 4vw, 40px) !important; gap: 28px !important; align-items: stretch !important; }
body.pe-rd .elementor-element-143f403 { background: #fff !important; border: 1px solid var(--pe-line) !important; border-radius: 28px !important; box-shadow: var(--pe-shadow-lg) !important; padding: clamp(24px, 4vw, 44px) !important; scroll-margin-top: 100px; }
body.pe-rd .elementor-element-143f403 .elementor-heading-title, body.pe-rd .elementor-element-143f403 h2 { font-size: clamp(34px, 4vw, 52px) !important; }
body.pe-rd .elementor-element-95d4095 iframe { border-radius: 28px; min-height: 100%; }

/* section headings: old orange side bar -> short coral accent line above the title */
body.pe-rd .elementor-element-67f34d9,
body.pe-rd .elementor-element-2cb8aff,
body.pe-rd .elementor-element-c90ac08,
body.pe-rd .elementor-element-5aca925,
body.pe-rd .elementor-element-8640c35,
body.pe-rd .elementor-element-6e95508,
body.pe-rd .elementor-element-71bbb97 { border: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body.pe-rd .elementor-element-67f34d9 .elementor-heading-title,
body.pe-rd .elementor-element-2cb8aff .elementor-heading-title,
body.pe-rd .elementor-element-c90ac08 .elementor-heading-title,
body.pe-rd .elementor-element-5aca925 .elementor-heading-title,
body.pe-rd .elementor-element-8640c35 .elementor-heading-title,
body.pe-rd .elementor-element-6e95508 .elementor-heading-title,
body.pe-rd .elementor-element-71bbb97 .elementor-heading-title { font-weight: 800 !important; }
body.pe-rd .elementor-element-67f34d9 .elementor-heading-title::before,
body.pe-rd .elementor-element-2cb8aff .elementor-heading-title::before,
body.pe-rd .elementor-element-c90ac08 .elementor-heading-title::before,
body.pe-rd .elementor-element-5aca925 .elementor-heading-title::before,
body.pe-rd .elementor-element-8640c35 .elementor-heading-title::before,
body.pe-rd .elementor-element-6e95508 .elementor-heading-title::before,
body.pe-rd .elementor-element-71bbb97 .elementor-heading-title::before { content: ""; display: block; width: 44px; height: 5px; border-radius: 3px; background: var(--pe-coral); margin: 0 0 18px; }
body.pe-rd .elementor-element-67f34d9 .elementor-heading-title::before { margin-left: auto; margin-right: auto; }

/* bento fix: Elementor's boxed containers wrap children in .e-con-inner -> let the grid see the cards */
body.pe-rd :is(.elementor-element-b8c487a, .elementor-element-f287d39) > .e-con-inner { display: contents !important; }

/* =====================================================================
   COURSE PAGES  [pe_course]
   ===================================================================== */
body.pe-rd.pe-course-page { background: var(--pe-sand); }
body.pe-rd.pe-course-page .site-main, body.pe-rd.pe-course-page .page-content { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.pe-rd.pe-course-page .page-header { display: none; }
body.pe-rd .pe-course { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; max-width: 1280px; margin: 0 auto; padding: 130px clamp(16px, 4vw, 40px) 96px; align-items: start; }
body.pe-rd .pe-crumbs { font: 600 13px var(--pe-body); color: var(--pe-mute); }
body.pe-rd .pe-crumbs a { color: var(--pe-sea); text-decoration: none; }
body.pe-rd .pe-course__title { font: 800 clamp(38px, 5vw, 62px)/1 var(--pe-head) !important; letter-spacing: -0.03em; color: var(--pe-ink); margin: 12px 0 0; }
body.pe-rd .pe-course__chips { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.pe-rd .pe-course__chips li { padding: 8px 14px; border-radius: 999px; background: var(--pe-lagoon); color: var(--pe-sea-d); font: 600 13px var(--pe-body); }
body.pe-rd .pe-course__intro { display: grid; grid-template-columns: 1.3fr 1fr; gap: 16px; margin-top: 24px; }
body.pe-rd .pe-course__img { width: 100%; height: 100%; min-height: 280px; max-height: 380px; object-fit: cover; border-radius: 20px; }
body.pe-rd .pe-course__side { display: flex; flex-direction: column; gap: 12px; }
body.pe-rd .pe-card { display: block; background: #fff; border: 1px solid var(--pe-line); border-radius: 18px; padding: 18px 20px; color: var(--pe-ink2); font: 400 15px/1.55 var(--pe-body); text-decoration: none; }
body.pe-rd .pe-card p { margin: 0; }
body.pe-rd .pe-card__h { font: 700 15px var(--pe-body) !important; color: var(--pe-ink); margin-bottom: 6px !important; }
body.pe-rd .pe-card--link:hover { border-color: var(--pe-sea); }
body.pe-rd .pe-avatars { display: flex; align-items: center; margin-top: 4px; }
body.pe-rd .pe-avatars img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; margin-left: -8px; }
body.pe-rd .pe-avatars img:first-child { margin-left: 0; }
body.pe-rd .pe-avatars span { margin-left: 10px; font: 600 13px var(--pe-body); color: var(--pe-sea); }
body.pe-rd .pe-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; position: sticky; top: 84px; z-index: 5; background: var(--pe-sand); padding: 8px 0; }
body.pe-rd .pe-tabs a { padding: 10px 16px; border-radius: 999px; font: 600 14px var(--pe-body); color: var(--pe-ink2); text-decoration: none; }
body.pe-rd .pe-tabs a:first-child { background: var(--pe-ink); color: #fff; }
body.pe-rd .pe-tabs a:hover { background: #fff; color: var(--pe-ink); }
body.pe-rd .pe-course__sec { margin-top: 44px; scroll-margin-top: 150px; }
body.pe-rd .pe-course__sec h2 { font: 800 clamp(26px, 3vw, 36px)/1.1 var(--pe-head) !important; color: var(--pe-ink); margin: 0 0 14px; letter-spacing: -0.02em; }
body.pe-rd .pe-course__lead { font: 400 18px/1.6 var(--pe-body); color: var(--pe-ink2); margin: 0 0 14px; }
body.pe-rd .pe-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
body.pe-rd .pe-checks li { position: relative; padding: 14px 16px 14px 46px; background: #fff; border: 1px solid var(--pe-line); border-radius: 14px; font: 500 16px/1.45 var(--pe-body); color: var(--pe-ink); }
body.pe-rd .pe-checks li::before { content: ""; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; background: var(--pe-coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat; }
body.pe-rd .pe-prices { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
body.pe-rd .pe-price { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--pe-line); border-radius: 18px; padding: 18px; }
body.pe-rd .pe-price p { margin: 0; }
body.pe-rd .pe-price__l { font: 700 15px var(--pe-body); color: var(--pe-ink); }
body.pe-rd .pe-price s { display: block; margin-top: 10px; font: 500 14px var(--pe-body); color: var(--pe-coral-d); }
body.pe-rd .pe-price__v { font: 800 34px/1.05 var(--pe-head) !important; color: var(--pe-ink); letter-spacing: -0.03em; }
body.pe-rd .pe-price__rib { position: absolute; top: 12px; right: 12px; padding: 4px 9px; border-radius: 999px; background: var(--pe-coral); color: #fff; font: 700 11px var(--pe-body); }
body.pe-rd .pe-price--add { background: var(--pe-lagoon); border-color: transparent; }
body.pe-rd .pe-note { margin: 12px 0 0; font: 600 14px var(--pe-body); }
body.pe-rd .pe-note a { color: var(--pe-sea); }
body.pe-rd .pe-others { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
body.pe-rd .pe-other { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 170px; padding: 16px; border-radius: 18px; overflow: hidden; color: #fff !important; text-decoration: none; background: linear-gradient(180deg, rgba(11,37,48,0) 25%, rgba(11,37,48,.85)), var(--img) center/cover, var(--pe-ink); transition: transform .2s ease; }
body.pe-rd .pe-other:hover { transform: translateY(-2px); }
body.pe-rd .pe-other span { font: 800 19px/1.15 var(--pe-head); }
body.pe-rd .pe-other small { margin-top: 4px; font: 600 13px var(--pe-body); color: var(--pe-sun); }
/* quote card */
body.pe-rd .pe-quote { position: sticky; top: 100px; background: #fff; border: 1px solid var(--pe-line); border-radius: 22px; padding: 26px; box-shadow: 0 18px 50px rgba(11,37,48,.1); }
body.pe-rd .pe-quote p { margin: 0; }
body.pe-rd .pe-quote__from { font: 600 13px var(--pe-body); color: var(--pe-mute); }
body.pe-rd .pe-quote__price { font: 800 44px/1.05 var(--pe-head) !important; color: var(--pe-ink); letter-spacing: -0.03em; }
body.pe-rd .pe-quote__price span { font: 500 16px var(--pe-body); color: var(--pe-mute); letter-spacing: 0; }
body.pe-rd .pe-quote label { display: block; margin-top: 14px; font: 600 13px var(--pe-body); color: var(--pe-ink); }
body.pe-rd .pe-quote select { display: block; width: 100%; margin-top: 6px; height: 46px; border: 1px solid #CFDAD9; border-radius: 12px; padding: 0 12px; font: 500 15px var(--pe-body); color: var(--pe-ink); background: #fff; }
body.pe-rd .pe-quote select:focus { outline: none; border-color: var(--pe-sea); box-shadow: 0 0 0 4px rgba(10,110,124,.15); }
body.pe-rd .pe-quote__lines { margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--pe-line); display: grid; gap: 8px; }
body.pe-rd .pe-quote__lines div { display: flex; justify-content: space-between; gap: 10px; font: 500 14px var(--pe-body); color: var(--pe-ink2); }
body.pe-rd .pe-quote__lines div[hidden] { display: none; }
body.pe-rd .pe-quote__lines dt, body.pe-rd .pe-quote__lines dd { margin: 0; }
body.pe-rd .pe-quote__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px !important; padding-top: 12px; border-top: 1px solid var(--pe-line); font: 700 16px var(--pe-body); color: var(--pe-ink); }
body.pe-rd .pe-quote__total strong { font: 800 26px var(--pe-head); letter-spacing: -0.02em; }
body.pe-rd .pe-btn--block { display: flex; width: 100%; justify-content: center; margin-top: 12px; }
body.pe-rd .pe-btn--walight { background: #E8F7EE; color: #137A3F !important; }
body.pe-rd .pe-quote__fine { margin-top: 12px !important; font: 400 12px/1.45 var(--pe-body); color: var(--pe-mute); }
@media (max-width: 1024px) {
  body.pe-rd .pe-course { grid-template-columns: 1fr; padding-top: 110px; }
  body.pe-rd .pe-quote { position: static; }
  body.pe-rd .pe-course__intro { grid-template-columns: 1fr; }
  body.pe-rd .pe-tabs { top: 64px; }
}

/* footer: calmer brand heading, deep-sea base */
body.pe-rd .elementor-location-footer .elementor-heading-title:has(a),
body.pe-rd .elementor-location-footer .elementor-heading-title a { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.1 !important; text-decoration: none !important; color: var(--pe-ink) !important; }
body.pe-rd .elementor-location-footer .elementor-heading-title a:hover { color: var(--pe-coral) !important; }

/* =====================================================================
   INNER PAGE BANNERS (About, Teachers, FAQ, E-Learning, Courses, Pricing/Accommodation/Camp)
   ===================================================================== */
body.pe-rd .elementor-element-b94b403,
body.pe-rd .elementor-element-802ff2b,
body.pe-rd .elementor-element-e93fb85,
body.pe-rd .elementor-element-84ef08b,
body.pe-rd .elementor-element-82b599f,
body.pe-rd .elementor-element-ba3c608 {
  position: relative; isolation: isolate; min-height: clamp(380px, 52vh, 560px) !important;
  justify-content: flex-end !important; padding-top: 120px !important; padding-bottom: 56px !important;
}
body.pe-rd .elementor-element-b94b403::before,
body.pe-rd .elementor-element-802ff2b::before,
body.pe-rd .elementor-element-e93fb85::before,
body.pe-rd .elementor-element-84ef08b::before,
body.pe-rd .elementor-element-82b599f::before,
body.pe-rd .elementor-element-ba3c608::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(11,37,48,.55) 0%, rgba(11,37,48,.15) 45%, rgba(11,37,48,.78) 100%);
}
body.pe-rd .elementor-element-1769fd5 .elementor-heading-title,
body.pe-rd .elementor-element-4bb1d1d .elementor-heading-title,
body.pe-rd .elementor-element-ec7ef96 .elementor-heading-title,
body.pe-rd .elementor-element-0d31a59 .elementor-heading-title,
body.pe-rd .elementor-element-2c69949 .elementor-heading-title,
body.pe-rd .elementor-element-af9ae61 .elementor-heading-title {
  color: #fff !important; text-shadow: none !important; font-weight: 800 !important;
  font-size: clamp(44px, 6.4vw, 88px) !important; line-height: .95 !important; letter-spacing: -0.035em !important; text-decoration: none !important;
}
body.pe-rd .elementor-element-4284855 img,
body.pe-rd .elementor-element-be77560 img,
body.pe-rd .elementor-element-37893a8 img,
body.pe-rd .elementor-element-78c6bf9 img,
body.pe-rd .elementor-element-6c4c49f img,
body.pe-rd .elementor-element-8677846 img { max-height: 110px; width: auto; border-radius: 0 !important; filter: drop-shadow(0 8px 18px rgba(0,0,0,.25)); }

/* =====================================================================
   SIDE BARS -> slim coral accents; small barred labels read as section labels
   ===================================================================== */
body.pe-rd .elementor-element-6ba43050,
body.pe-rd .elementor-element-6e95508,
body.pe-rd .elementor-element-d34f139,
body.pe-rd .elementor-element-942e805,
body.pe-rd .elementor-element-71bbb97,
body.pe-rd .elementor-element-47dc18a,
body.pe-rd .elementor-element-6571ece,
body.pe-rd .elementor-element-359323d,
body.pe-rd .elementor-element-8e063ae,
body.pe-rd .elementor-element-fc2786c,
body.pe-rd .elementor-element-93d795b,
body.pe-rd .elementor-element-c5a5545,
body.pe-rd .elementor-element-7fe9cb2,
body.pe-rd .elementor-element-8a14e75,
body.pe-rd .elementor-element-b48817e,
body.pe-rd .elementor-element-dd21962,
body.pe-rd .elementor-element-838682f,
body.pe-rd .elementor-element-32fd4ed,
body.pe-rd .elementor-element-9b9656a { border-left-width: 4px !important; border-left-color: var(--pe-coral) !important; border-radius: 2px; padding-left: 16px !important; }
body.pe-rd .elementor-element-6ba43050.elementor-widget-text-editor,
body.pe-rd .elementor-element-6e95508.elementor-widget-text-editor,
body.pe-rd .elementor-element-d34f139.elementor-widget-text-editor,
body.pe-rd .elementor-element-942e805.elementor-widget-text-editor,
body.pe-rd .elementor-element-71bbb97.elementor-widget-text-editor,
body.pe-rd .elementor-element-47dc18a.elementor-widget-text-editor,
body.pe-rd .elementor-element-6571ece.elementor-widget-text-editor,
body.pe-rd .elementor-element-359323d.elementor-widget-text-editor,
body.pe-rd .elementor-element-8e063ae.elementor-widget-text-editor,
body.pe-rd .elementor-element-fc2786c.elementor-widget-text-editor,
body.pe-rd .elementor-element-93d795b.elementor-widget-text-editor,
body.pe-rd .elementor-element-c5a5545.elementor-widget-text-editor,
body.pe-rd .elementor-element-7fe9cb2.elementor-widget-text-editor,
body.pe-rd .elementor-element-8a14e75.elementor-widget-text-editor,
body.pe-rd .elementor-element-b48817e.elementor-widget-text-editor,
body.pe-rd .elementor-element-dd21962.elementor-widget-text-editor,
body.pe-rd .elementor-element-838682f.elementor-widget-text-editor,
body.pe-rd .elementor-element-32fd4ed.elementor-widget-text-editor,
body.pe-rd .elementor-element-9b9656a.elementor-widget-text-editor { font: 700 clamp(17px, 1.5vw, 20px)/1.35 var(--pe-head) !important; color: var(--pe-ink) !important; letter-spacing: -0.01em; }
body.pe-rd .elementor-element-6ba43050.elementor-widget-text-editor *,
body.pe-rd .elementor-element-6e95508.elementor-widget-text-editor *,
body.pe-rd .elementor-element-d34f139.elementor-widget-text-editor *,
body.pe-rd .elementor-element-942e805.elementor-widget-text-editor *,
body.pe-rd .elementor-element-71bbb97.elementor-widget-text-editor *,
body.pe-rd .elementor-element-47dc18a.elementor-widget-text-editor *,
body.pe-rd .elementor-element-6571ece.elementor-widget-text-editor *,
body.pe-rd .elementor-element-359323d.elementor-widget-text-editor *,
body.pe-rd .elementor-element-8e063ae.elementor-widget-text-editor *,
body.pe-rd .elementor-element-fc2786c.elementor-widget-text-editor *,
body.pe-rd .elementor-element-93d795b.elementor-widget-text-editor *,
body.pe-rd .elementor-element-c5a5545.elementor-widget-text-editor *,
body.pe-rd .elementor-element-7fe9cb2.elementor-widget-text-editor *,
body.pe-rd .elementor-element-8a14e75.elementor-widget-text-editor *,
body.pe-rd .elementor-element-b48817e.elementor-widget-text-editor *,
body.pe-rd .elementor-element-dd21962.elementor-widget-text-editor *,
body.pe-rd .elementor-element-838682f.elementor-widget-text-editor *,
body.pe-rd .elementor-element-32fd4ed.elementor-widget-text-editor *,
body.pe-rd .elementor-element-9b9656a.elementor-widget-text-editor * { font: inherit !important; color: inherit !important; }

/* =====================================================================
   HEADER: fixed deep-sea bar once the page scrolls (as in the PDF)
   ===================================================================== */
body.pe-rd.pe-scrolled .elementor-location-header > .e-con {
  position: fixed !important; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 9980;
  background: rgba(11,37,48,.92) !important; -webkit-backdrop-filter: saturate(140%) blur(12px); backdrop-filter: saturate(140%) blur(12px);
  box-shadow: 0 8px 24px rgba(11,37,48,.18); animation: pe-drop .25s ease;
}
@keyframes pe-drop { from { transform: translateY(-100%); } to { transform: none; } }
body.pe-rd.pe-scrolled .elementor-location-header .elementor-widget-theme-site-logo img { max-height: 54px; width: auto; }

/* =====================================================================
   HEADER NAV: one consistent scale (menu, language pill, CTA)
   ===================================================================== */
@media (min-width: 1025px) {
  body.pe-rd .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu { align-items: center; gap: 2px; }
  body.pe-rd .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
    font-size: 15px !important; line-height: 1 !important; font-weight: 600 !important;
    padding: 12px 14px !important; border-radius: 999px; color: #fff;
    transition: background-color .18s ease, color .18s ease;
  }
  body.pe-rd .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover,
  body.pe-rd .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted { background: rgba(255,255,255,.1); }
  /* replace the underline with the hover pill */
  body.pe-rd .elementor-location-header .elementor-nav-menu--main .elementor-item::after { display: none !important; }
  body.pe-rd .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--pe-sun) !important; }
  /* small, light dropdown carets */
  body.pe-rd .elementor-location-header .elementor-nav-menu--main .sub-arrow { margin-left: 6px !important; padding: 0 !important; font-size: 10px !important; line-height: 1 !important; opacity: .75; }
  body.pe-rd .elementor-location-header .elementor-nav-menu--main .sub-arrow svg,
  body.pe-rd .elementor-location-header .elementor-nav-menu--main .sub-arrow i { width: 10px !important; height: 10px !important; font-size: 10px !important; }
  /* language switcher: compact pill, same height as the CTA */
  body.pe-rd .elementor-location-header .wpml-ls-current-language > .elementor-item {
    border: 1px solid rgba(255,255,255,.28) !important; padding: 0 14px !important; min-height: 40px;
    display: inline-flex !important; align-items: center; gap: 8px; margin-left: 10px; font-size: 14px !important;
  }
  body.pe-rd .elementor-location-header .wpml-ls-current-language > .elementor-item:hover { border-color: rgba(255,255,255,.6) !important; }
  body.pe-rd .elementor-location-header .wpml-ls-menu-item img.wpml-ls-flag { width: 18px !important; height: auto !important; border-radius: 2px; margin: 0 !important; }
  /* CTA: same height as the pill, a touch softer shadow */
  body.pe-rd .pe-nav-cta { margin-left: 8px; }
  body.pe-rd .pe-nav-cta .pe-btn { min-height: 40px; padding: 0 20px; font-size: 14px; box-shadow: 0 6px 16px rgba(242,96,58,.3); }
}
/* logged-in admins: keep the transparent header below the WP admin bar */
body.pe-rd.admin-bar:not(.pe-scrolled) .elementor-location-header > .e-con { top: var(--wp-admin--admin-bar--height, 32px) !important; }

/* =====================================================================
   SWEEP FIXES (2026-10-13)
   ===================================================================== */
/* old decorative shape dividers (orange sunburst etc.) clash with the flat design */
body.pe-rd .elementor-shape { display: none !important; }
/* CTA band: no outer glow ring around the rounded ink box */
body.pe-rd .elementor-element-5e2c1d2 { box-shadow: none !important; border-radius: 24px !important; overflow: hidden; }
/* testimonials: name under the quote, quote full width */
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial { flex-direction: column !important; align-items: stretch !important; gap: 14px; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__content { background: transparent !important; width: 100% !important; padding: 0 !important; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__content::after { display: none !important; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial__footer { width: auto !important; order: 2; padding: 14px 0 0 !important; border-top: 1px solid var(--pe-line, #DCE5E4); }
body.pe-rd .elementor-element-39d9b97 .swiper-slide { height: auto; }
/* news cards: modern cards instead of grey frames with black glow */
body.pe-rd .elementor-element-436e2d6 > .e-con-inner > .e-con,
body.pe-rd .elementor-element-436e2d6 > .e-con { border: 0 !important; border-radius: 20px !important; box-shadow: 0 10px 30px rgba(11,37,48,.08) !important; background: #fff !important; padding: 18px !important; overflow: hidden; }
body.pe-rd .elementor-element-436e2d6 img { border-radius: 14px !important; }
/* footer brand heading */
body.pe-rd .elementor-element-74eff0c9 .elementor-heading-title { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.1 !important; text-decoration: none !important; color: var(--pe-ink) !important; }
body.pe-rd .elementor-element-39d9b97 .elementor-testimonial { height: 100%; justify-content: space-between; box-sizing: border-box; }
/* About: Vision heading matches Mission (left, coral line above) */
body.pe-rd .elementor-element-b52398f { border: 0 !important; padding: 0 !important; align-self: stretch !important; width: 100% !important; max-width: 100% !important; }
body.pe-rd .elementor-element-b52398f .elementor-heading-title { text-align: left !important; font-weight: 800 !important; }
body.pe-rd .elementor-element-b52398f .elementor-heading-title::before { content: ""; display: block; width: 44px; height: 5px; border-radius: 3px; background: var(--pe-coral); margin: 0 0 18px; }
/* About: 4 value cards inside the page width, bold titles */
body.pe-rd .elementor-element-a45bf5c { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; padding-left: clamp(16px, 4vw, 40px) !important; padding-right: clamp(16px, 4vw, 40px) !important; gap: 20px !important; }
body.pe-rd .elementor-element-a45bf5c > .e-con { border-radius: 20px !important; }
body.pe-rd :is(.elementor-element-661a8e8, .elementor-element-ffb0227) { font: 800 22px/1.2 var(--pe-head) !important; color: var(--pe-ink) !important; }
body.pe-rd .elementor-element-a45bf5c > .e-con > .elementor-widget-text-editor:nth-child(2) { font: 800 22px/1.2 var(--pe-head) !important; color: var(--pe-ink) !important; }
/* banner badges never touch the big title */
body.pe-rd :is(.elementor-element-4284855, .elementor-element-be77560, .elementor-element-37893a8, .elementor-element-78c6bf9, .elementor-element-6c4c49f, .elementor-element-8677846) { margin-bottom: 14px !important; }
/* every page section: content centred in a 1280px column, full-bleed backgrounds kept */
body.pe-rd .elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup) > .e-con.e-parent:not(.elementor-element-679bf5e) {
  padding-left: max(var(--padding-left, 0px), calc((100% - 1280px) / 2));
  padding-right: max(var(--padding-right, 0px), calc((100% - 1280px) / 2));
}
@media (min-width: 1025px) {
  body.pe-rd .elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup) > .e-con.e-parent:not(.elementor-element-679bf5e) {
    padding-left: max(var(--padding-left, 0px), 32px, calc((100% - 1280px) / 2));
    padding-right: max(var(--padding-right, 0px), 32px, calc((100% - 1280px) / 2));
  }
}
/* price rows: rounded cards with a hairline instead of full-bleed strips */
body.pe-rd .e-con:has(> .elementor-widget-price-table, > .e-con > .elementor-widget-price-table) { border-radius: 24px !important; }
/* call-to-action boxes (E-Learning "Start Learning Now", Courses "Ready to start") as ink bands */
body.pe-rd .elementor-element-80d40e7 .elementor-cta { background: var(--pe-ink) !important; border-radius: 24px !important; }
body.pe-rd .elementor-element-80d40e7 .elementor-cta__content { background: transparent !important; padding: 48px 32px !important; }
body.pe-rd .elementor-element-80d40e7 .elementor-cta__title { color: #fff !important; font-weight: 800 !important; }
body.pe-rd .elementor-element-80d40e7 .elementor-cta__description { color: rgba(255,255,255,.85) !important; }
body.pe-rd .elementor-element-80d40e7 .elementor-cta__button { background: var(--pe-coral) !important; border-color: var(--pe-coral) !important; color: #fff !important; padding: 14px 28px !important; border-radius: 999px !important; }
body.pe-rd .elementor-element-d7cf10e a { padding: 14px 26px !important; border-radius: 999px !important; font-weight: 700 !important; }
