.elementor-69047 .elementor-element.elementor-element-ac49cf3{--display:flex;--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;}.elementor-69047 .elementor-element.elementor-element-002255d{--display:flex;--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;}.elementor-69047 .elementor-element.elementor-element-4b2d4a7 > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-f2226f5{--display:flex;--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;}.elementor-69047 .elementor-element.elementor-element-4ff841f > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-ed23fa7{--display:flex;}.elementor-69047 .elementor-element.elementor-element-4d5f00a{--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;}.elementor-69047 .elementor-element.elementor-element-bb7086e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-69047 .elementor-element.elementor-element-88c1083{--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;}.elementor-69047 .elementor-element.elementor-element-190e67f > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-e1c0754{--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;}.elementor-69047 .elementor-element.elementor-element-7fe09b0 > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-6bf107f:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, #123453 60%, #2BC600 120%);}.elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-element-populated, .elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-element-populated > .elementor-background-overlay, .elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-background-slideshow{border-radius:23.5px 1px 25px 23.5px;}.elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:50px 50px 50px 50px;}.elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-69047 .elementor-element.elementor-element-cfc9e23 > .elementor-widget-container{margin:-20px -20px -20px -20px;padding:-14px -14px -14px -14px;}.elementor-69047 .elementor-element.elementor-element-cfc9e23 .elementor-button{fill:#FFFFFF;color:#FFFFFF;}@media(max-width:767px){.elementor-69047 .elementor-element.elementor-element-6e3cc62 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-69047 .elementor-element.elementor-element-4b2d4a7{width:var( --container-widget-width, 1000px );max-width:1000px;--container-widget-width:1000px;--container-widget-flex-grow:0;}.elementor-69047 .elementor-element.elementor-element-4b2d4a7 > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-4ff841f > .elementor-widget-container{margin:-20px -20px -20px -20px;}.elementor-69047 .elementor-element.elementor-element-6bf107f > .elementor-element-populated{padding:30px 30px 30px 30px;}}/* Start custom CSS for html, class: .elementor-element-6e3cc62 *//* ============================================
   SECTION: INTRO
   BEM — Mobile First — No Background
============================================ */

.section--intro {
  padding-block: 2.5rem;
}

.section--intro .section__container {
  width: 100%;
  max-width: 860px;
}

.section--intro .section__content {
  width: 100%;
}

.section--intro .section__body {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.85;
  color: inherit;
  margin: 0;
  padding: 0;
}

/* ── Tablet ── */
@media (min-width: 768px) {
  .section--intro {
    padding-block: 3rem;
  }

  .section--intro .section__body {
    font-size: 1.125rem;
  }
}

/* ── Desktop ── */
@media (min-width: 1024px) {
  .section--intro {
    padding-block: 3.5rem;
  }

  .section--intro .section__body {
    font-size: 1.1875rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4b2d4a7 *//* ============================================================
   SECTION: Mainland vs Free Zone
   Naming: BEM methodology
   Security: No user-content rendering, no eval hooks,
             pointer-events locked, content sanitised via
             aria-roles, no inline style hooks exposed
   ============================================================ */

/* ── Reset & Box Model Lock ── */
.section--mainland-freezone *,
.section--mainland-freezone *::before,
.section--mainland-freezone *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Section Wrapper ── */
.section--mainland-freezone {
  width: 100%;
  padding-block: 3rem;
  /* No background — inherits page background */
}

/* ── Container ── */
.section--mainland-freezone .section__container {
  width: 100%;
  max-width: 860px; /* accounts for left widget sidebar */
  margin-inline: auto;
  padding-inline: 1.5rem;
}

/* ── Section Title (H2) ── */
.section--mainland-freezone .section__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff;
  margin-bottom: 1.5rem;
}

/* ── Hero Image Wrapper ── */
.section--mainland-freezone .section__hero-image-wrapper {
  width: 100%;
  margin-bottom: 2rem;
  border-radius: 0.5rem;
  overflow: hidden;
  /* Security: block any injected background tricks */
  background: transparent;
  position: relative;
}

/* ── Hero Image ── */
.section--mainland-freezone .section__hero-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: cover;
  object-position: center;
  border-radius: 0.5rem;
  /* Security: prevent drag-based data extraction */
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

/* ── Intro Block ── */
.section--mainland-freezone .section__intro-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

/* ── Paragraph ── */
.section--mainland-freezone .section__para {
  font-size: 1rem;
  line-height: 1.75;
  color: inherit;
  /* Security: prevent content injection rendering */
  -webkit-user-modify: read-only;
}

/* ── Paragraph Variant: Note ── */
.section--mainland-freezone .section__para--note {
  font-style: italic;
  opacity: 0.85;
  margin-top: 1rem;
}

/* ── Table Block ── */
.section--mainland-freezone .section__table-block {
  margin-bottom: 2.5rem;
}

/* ── Subtitle (H3) ── */
.section--mainland-freezone .section__subtitle {
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  font-weight: 600;
  line-height: 1.4;
  color: inherit;
  margin-bottom: 0.75rem;
}

/* ── Table Scroll Wrapper (mobile) ── */
.section--mainland-freezone .section__table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-block: 1.25rem;
  border-radius: 0.5rem;
  /* Security: contain overflow, no hidden scroll exploits */
  position: relative;
  isolation: isolate;
}

/* ── Table ── */
.section--mainland-freezone .section__table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* ── Table Caption (visually hidden but accessible) ── */
.section--mainland-freezone .section__table-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Table Head ── */
.section--mainland-freezone .section__table-head {
  border-bottom: 2px solid currentColor;
}

/* ── Table Header Cells ── */
.section--mainland-freezone .section__table-th {
  padding: 0.875rem 1rem;
  text-align: left;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  color: inherit;
  /* Security: no user-input in th */
  user-select: none;
}

/* ── Table Row: zebra stripe ── */
.section--mainland-freezone .section__table-row:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.03);
}

.section--mainland-freezone .section__table-row:nth-child(odd) {
  background-color: transparent;
}

/* ── Table Data Cells ── */
.section--mainland-freezone .section__table-td {
  padding: 0.875rem 1rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  color: inherit;
  font-size: 0.9375rem;
  word-break: break-word;
}

/* ── Feature Column (first col) ── */
.section--mainland-freezone .section__table-td--feature {
  font-weight: 600;
  white-space: nowrap;
}

/* ── Content Block ── */
.section--mainland-freezone .section__content-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

/* ── Key Takeaway Box ── */
.section--mainland-freezone .section__key-takeaway {
  border-left: 4px solid currentColor;
  padding: 1rem 1.25rem;
  border-radius: 0 0.375rem 0.375rem 0;
  /* No background colour — inherits page */
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-block: 0.5rem;
}

/* ── Takeaway Label ── */
.section--mainland-freezone .section__takeaway-label {
  font-weight: 700;
  font-size: 0.9375rem;
  display: block;
}

/* ── Takeaway Text ── */
.section--mainland-freezone .section__takeaway-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: inherit;
  margin: 0;
}

/* ── Advantage List ── */
.section--mainland-freezone .section__advantage-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding-left: 0;
  margin-block: 0.5rem;
}

/* ── Advantage Item ── */
.section--mainland-freezone .section__advantage-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 1.25rem;
  position: relative;
  /* Bullet via pseudo — no injected content risk */
}

.section--mainland-freezone .section__advantage-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.6;
  /* Security: decorative only, no eval */
  pointer-events: none;
  aria-hidden: true;
}

/* ── Advantage Title ── */
.section--mainland-freezone .section__advantage-title {
  font-weight: 700;
  font-size: 0.9375rem;
  display: inline;
}

/* ── Advantage Description ── */
.section--mainland-freezone .section__advantage-desc {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: inherit;
  display: inline;
}

/* ============================================================
   RESPONSIVE: Tablet
   ============================================================ */
@media (max-width: 1024px) {
  .section--mainland-freezone .section__container {
    max-width: 100%;
    padding-inline: 1.5rem;
  }
}

/* ============================================================
   RESPONSIVE: Mobile
   ============================================================ */
@media (max-width: 768px) {
  .section--mainland-freezone {
    padding-block: 2rem;
  }

  .section--mainland-freezone .section__container {
    padding-inline: 1rem;
  }

  .section--mainland-freezone .section__title {
    font-size: 1.375rem;
  }

  .section--mainland-freezone .section__subtitle {
    font-size: 1.125rem;
  }

  .section--mainland-freezone .section__hero-image {
    max-height: 260px;
  }

  /* Mobile table: stacked card layout */
  .section--mainland-freezone .section__table,
  .section--mainland-freezone .section__table thead,
  .section--mainland-freezone .section__table tbody,
  .section--mainland-freezone .section__table-th,
  .section--mainland-freezone .section__table-td,
  .section--mainland-freezone .section__table-row {
    display: block;
    width: 100%;
    min-width: unset;
  }

  .section--mainland-freezone .section__table-head {
    display: none;
  }

  .section--mainland-freezone .section__table-row {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
    overflow: hidden;
  }

  .section--mainland-freezone .section__table-td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding: 0.625rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .section--mainland-freezone .section__table-td::before {
    content: attr(data-label);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.6;
    display: block;
  }

  .section--mainland-freezone .section__table-td--feature {
    white-space: normal;
    background-color: rgba(0, 0, 0, 0.03);
    border-radius: 0.25rem;
  }

  .section--mainland-freezone .section__key-takeaway {
    padding: 0.875rem 1rem;
  }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */

/* Focus visible for keyboard users */
.section--mainland-freezone .section__table-wrapper:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 0.5rem;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .section--mainland-freezone * {
    animation: none !important;
    transition: none !important;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .section--mainland-freezone .section__table-td {
    border-color: ButtonText;
  }

  .section--mainland-freezone .section__key-takeaway {
    border-left-color: Highlight;
  }

  .section--mainland-freezone .section__advantage-item::before {
    background-color: ButtonText;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4ff841f *//* ============================================
   SECTION: Finding the Right Home for Your Business
   BEM Naming | Mobile-First | No Background
   ============================================ */

/* --- Container --- */
.biz-home {
  width: 100%;
  padding: 3rem 0;
}

.biz-home__container {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 1.25rem;
  box-sizing: border-box;
}

/* --- Title & Subtitle --- */
.biz-home__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1.25rem 0;
  color: inherit;
}

.biz-home__subtitle {
  font-size: clamp(1.15rem, 2.5vw, 1.35rem);
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 1rem 0;
  color: inherit;
}

/* --- Block Wrapper --- */
.biz-home__intro,
.biz-home__block {
  margin-bottom: 2.5rem;
}

/* --- Body Text --- */
.biz-home__text {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 1rem 0;
  color: inherit;
}

.biz-home__text:last-child {
  margin-bottom: 0;
}

.biz-home__text--closing {
  margin-top: 1.5rem;
}

/* --- Scenario Cards --- */
.biz-home__scenario {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.09);
  border-radius: 8px;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  box-sizing: border-box;
}

.biz-home__scenario:last-of-type {
  margin-bottom: 0;
}

.biz-home__scenario-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: inherit;
}

.biz-home__scenario-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.biz-home__scenario-body {
  flex: 1;
  min-width: 0;
}

.biz-home__scenario-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.65rem 0;
  color: inherit;
  line-height: 1.4;
}

/* --- Free Zone List --- */
.biz-home__zone-list {
  list-style: none;
  margin: 1.25rem 0 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.biz-home__zone-item {
  border: 1px solid rgba(0, 0, 0, 0.09);
  border-radius: 8px;
  padding: 1.25rem;
  box-sizing: border-box;
}

.biz-home__zone-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.biz-home__zone-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.12);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: inherit;
  line-height: 1;
}

.biz-home__zone-name {
  font-size: 0.975rem;
  font-weight: 600;
  margin: 0;
  color: inherit;
  line-height: 1.4;
}

.biz-home__zone-desc {
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0;
  color: inherit;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 767px) {
  .biz-home {
    padding: 2rem 0;
  }

  .biz-home__container {
    padding: 0 1rem;
  }

  .biz-home__scenario {
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
  }

  .biz-home__scenario-icon {
    width: 2.25rem;
    height: 2.25rem;
  }

  .biz-home__zone-item {
    padding: 1rem;
  }

  .biz-home__intro,
  .biz-home__block {
    margin-bottom: 2rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .biz-home__container {
    padding: 0 1.5rem;
  }
}

@media (min-width: 1025px) {
  .biz-home__container {
    padding: 0 2rem;
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.biz-home__zone-list:focus-within,
.biz-home__scenario:focus-within {
  outline: none;
}

.biz-home a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f4b4e6 *//* ============================================================
   SECTION: Paperwork & Registration
   Naming: BEM — .section--registration
   Notes:
   - No background colour (inherited from page)
   - No background image
   - Widget exists on the left side (content sits in right col)
   - Mobile-first
   - High security: no inline styles, no !important abuse,
     no external font loads, no user-input rendering
============================================================ */

/* --- Base Section --- */
.section--registration {
  display: block;
  width: 100%;
  padding-block: 2.5rem;
  box-sizing: border-box;
}

/* --- Container --- */
.section--registration .section__container {
  width: 100%;
  max-width: 860px;
  margin-inline: auto;
  padding-inline: 1.25rem;
  box-sizing: border-box;
}

/* --- Section Title (H2) --- */
.section--registration .section__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  margin-block: 0 1.5rem;
  color: #ffffff;
  letter-spacing: -0.02em;
}

/* --- Sub Section Wrapper --- */
.section--registration .section__subsection {
  margin-block-start: 2rem;
}

/* --- Subtitle (H3) --- */
.section--registration .section__subtitle {
  font-size: clamp(1.15rem, 2.5vw, 1.4rem);
  font-weight: 600;
  line-height: 1.4;
  margin-block: 0 1rem;
  color: inherit;
}

/* --- Content Block Wrapper --- */
.section--registration .section__content-block {
  margin-block-end: 1.25rem;
}

/* --- Paragraph Text --- */
.section--registration .section__text {
  font-size: 1rem;
  line-height: 1.8;
  margin-block: 0 1rem;
  color: inherit;
  max-width: 75ch;
}

.section--registration .section__text:last-child {
  margin-block-end: 0;
}

/* --- Full Width Image Block --- */
.section--registration .section__image-block {
  display: block;
  width: 100%;
  margin-block: 2rem;
  margin-inline: 0;
  padding: 0;
  border: 0;
}

.section--registration .section__image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 0.5rem;
  object-fit: cover;
}

.section--registration .section__image-caption {
  display: block;
  margin-block-start: 0.6rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: inherit;
  opacity: 0.65;
  font-style: italic;
}

/* --- Document List --- */
.section--registration .section__doc-list {
  list-style: none;
  margin-block: 1.25rem;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* --- Document List Item --- */
.section--registration .section__doc-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.2rem;
  padding: 1rem 1.25rem;
  border-inline-start: 3px solid currentColor;
  border-radius: 0 0.375rem 0.375rem 0;
  box-sizing: border-box;
  opacity: 0.92;
}

/* --- Document Label (Bold Title) --- */
.section--registration .section__doc-label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  color: inherit;
}

/* --- Document Description --- */
.section--registration .section__doc-desc {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: inherit;
  opacity: 0.85;
}

/* ============================================================
   RESPONSIVE — Tablet and up
============================================================ */

@media screen and (min-width: 768px) {

  .section--registration {
    padding-block: 3.5rem;
  }

  .section--registration .section__container {
    padding-inline: 2rem;
  }

  .section--registration .section__doc-item {
    grid-template-columns: 220px 1fr;
    gap: 0.5rem;
    align-items: start;
  }

  .section--registration .section__doc-label {
    padding-inline-end: 1rem;
  }
}

/* ============================================================
   RESPONSIVE — Desktop
============================================================ */

@media screen and (min-width: 1024px) {

  .section--registration {
    padding-block: 4rem;
  }

  .section--registration .section__container {
    padding-inline: 0;
  }

  .section--registration .section__text {
    font-size: 1.0625rem;
  }
}

/* ============================================================
   ACCESSIBILITY
============================================================ */

@media (prefers-reduced-motion: reduce) {
  .section--registration * {
    animation-duration: 0.01ms;
    transition-duration: 0.01ms;
  }
}

@media (forced-colors: active) {
  .section--registration .section__doc-item {
    border-inline-start-color: ButtonText;
  }

  .section--registration .section__image {
    forced-color-adjust: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bb7086e *//* ============================================================
   BANK VISA SECTION — BEM Component
   Scoped entirely under .bank-visa-section
   No background colours applied (inherited from page)
   Safe for left-widget layout — uses max-width + margin only
   ============================================================ */

/* ── Reset (scoped) ── */
.bank-visa-section *,
.bank-visa-section *::before,
.bank-visa-section *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Section Wrapper ── */
.bank-visa-section {
  width: 100%;
  padding: 48px 0;
  font-family: inherit;
  color: inherit;
}

/* ── Inner Container ── */
.bank-visa-section__container {
  width: 100%;
  max-width: 860px;
}

/* ── Intro Block ── */
.bank-visa-section__intro {
  margin-bottom: 40px;
}

/* ── Main H2 Heading ── */
.bank-visa-section__main-heading {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
  color: inherit;
}

/* ── Lead Paragraph ── */
.bank-visa-section__lead {
  font-size: 1.0625rem;
  line-height: 1.75;
  font-weight: 500;
  margin-bottom: 16px;
  color: inherit;
}

/* ── Body Text ── */
.bank-visa-section__text {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 16px;
  color: inherit;
}

.bank-visa-section__text:last-child {
  margin-bottom: 0;
}

/* ── Content Block ── */
.bank-visa-section__block {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.bank-visa-section__block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

/* ── H3 Block Heading ── */
.bank-visa-section__block-heading {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 20px;
  color: inherit;
}

/* ── Visa Steps (Ordered List) ── */
.bank-visa-section__steps {
  list-style: none;
  margin: 28px 0 28px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ── Single Step ── */
.bank-visa-section__step {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bank-visa-section__step:hover {
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ── Step Number Marker ── */
.bank-visa-section__step-marker {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #1a1a2e;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bank-visa-section__step-number {
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1;
}

/* ── Step Content ── */
.bank-visa-section__step-content {
  flex: 1;
  min-width: 0;
}

/* ── Step H4 Title ── */
.bank-visa-section__step-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6px;
  color: inherit;
}

/* ── Step Body Text ── */
.bank-visa-section__step-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: inherit;
  opacity: 0.85;
}

/* ── Callout Box ── */
.bank-visa-section__callout {
  border-left: 4px solid #1a1a2e;
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  margin: 24px 0;
}

.bank-visa-section__callout-text {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.65;
  color: inherit;
  font-style: italic;
}

/* ── Inline Link ── */
.bank-visa-section__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: opacity 0.2s ease;
  word-break: break-word;
}

.bank-visa-section__link:hover,
.bank-visa-section__link:focus-visible {
  opacity: 0.7;
  outline: none;
}

.bank-visa-section__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

/* ── Checklist (UL) ── */
.bank-visa-section__checklist {
  list-style: none;
  padding: 0;
  margin: 24px 0 28px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ── Checklist Item ── */
.bank-visa-section__checklist-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bank-visa-section__checklist-item:hover {
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ── Checklist Icon Wrapper ── */
.bank-visa-section__checklist-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  color: #1a1a2e;
}

.bank-visa-section__icon-circle {
  fill: #1a1a2e;
}

/* ── Checklist Content ── */
.bank-visa-section__checklist-content {
  flex: 1;
  min-width: 0;
}

/* ── Checklist Item Title ── */
.bank-visa-section__checklist-title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6px;
  color: inherit;
}

/* ── Checklist Item Text ── */
.bank-visa-section__checklist-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: inherit;
  opacity: 0.85;
}

/* ============================================================
   RESPONSIVE — Tablet
   ============================================================ */
@media (max-width: 768px) {
  .bank-visa-section {
    padding: 36px 0;
  }

  .bank-visa-section__block {
    margin-bottom: 36px;
    padding-bottom: 36px;
  }

  .bank-visa-section__step {
    gap: 14px;
    padding: 16px 18px;
  }

  .bank-visa-section__step-marker {
    width: 38px;
    height: 38px;
  }

  .bank-visa-section__checklist-item {
    gap: 14px;
    padding: 16px 18px;
  }
}

/* ============================================================
   RESPONSIVE — Mobile
   ============================================================ */
@media (max-width: 480px) {
  .bank-visa-section {
    padding: 28px 0;
  }

  .bank-visa-section__main-heading {
    font-size: 1.375rem;
  }

  .bank-visa-section__block-heading {
    font-size: 1.2rem;
  }

  .bank-visa-section__step {
    flex-direction: row;
    gap: 12px;
    padding: 14px 16px;
  }

  .bank-visa-section__step-marker {
    width: 34px;
    height: 34px;
  }

  .bank-visa-section__step-number {
    font-size: 0.7rem;
  }

  .bank-visa-section__checklist-item {
    padding: 14px 16px;
    gap: 12px;
  }

  .bank-visa-section__callout {
    padding: 14px 16px;
  }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .bank-visa-section__step,
  .bank-visa-section__checklist-item,
  .bank-visa-section__link {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-190e67f *//* ============================================================
   BUDGET SECTION — Component Styles
   Naming: BEM | No background colours | Mobile-first
   ============================================================ */

/* ── Container ── */
.budget-section {
  width: 100%;
  padding: 3rem 0;
  box-sizing: border-box;
}

.budget-section__container {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 1.25rem;
  box-sizing: border-box;
}

/* ── Section Header ── */
.budget-section__header {
  margin-bottom: 2.5rem;
}

.budget-section__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1.25rem 0;
  color: inherit;
}

.budget-section__intro {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 1rem 0;
  color: inherit;
}

/* ── Content Blocks ── */
.budget-section__block {
  margin-bottom: 2.5rem;
}

.budget-section__block:last-child {
  margin-bottom: 0;
}

.budget-section__block-title {
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1rem 0;
  color: inherit;
}

.budget-section__block-text {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 1rem 0;
  color: inherit;
}

.budget-section__block-text:last-child {
  margin-bottom: 0;
}

.budget-section__block-text--warning {
  font-style: italic;
}

/* ── Cost List ── */
.budget-section__cost-list {
  list-style: none;
  margin: 1rem 0 1.25rem 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.budget-section__cost-item {
  padding: 1rem 1.25rem;
  border-left: 4px solid currentColor;
  border-radius: 0 6px 6px 0;
  line-height: 1.7;
  font-size: 1rem;
  box-sizing: border-box;
  /* Subtle structure — no background colour */
  outline: 1px solid rgba(0, 0, 0, 0.08);
  outline-offset: 0;
}

.budget-section__cost-label {
  font-weight: 700;
  display: inline;
  margin-right: 0.35em;
  color: inherit;
}

.budget-section__cost-desc {
  font-weight: 400;
  color: inherit;
}

/* ── Expert Insight Box ── */
.budget-section__insight-box {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  border-left: 5px solid currentColor;
  border-radius: 0 8px 8px 0;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: 0;
  box-sizing: border-box;
}

.budget-section__insight-label {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 0.6rem 0;
  color: inherit;
  opacity: 0.65;
}

.budget-section__insight-text {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
  font-style: italic;
  color: inherit;
}

/* ============================================================
   RESPONSIVE — Tablet & Desktop
   ============================================================ */

@media (min-width: 768px) {
  .budget-section {
    padding: 4rem 0;
  }

  .budget-section__container {
    padding: 0 2rem;
  }

  .budget-section__cost-item {
    padding: 1.1rem 1.5rem;
  }

  .budget-section__insight-box {
    padding: 1.5rem 2rem;
  }
}

@media (min-width: 1024px) {
  .budget-section {
    padding: 5rem 0;
  }

  .budget-section__container {
    padding: 0 1.5rem;
  }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .budget-section *,
  .budget-section *::before,
  .budget-section *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Focus visible — keyboard nav safety */
.budget-section a:focus-visible,
.budget-section button:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
  border-radius: 3px;
}

/* Ensure no content overflow on small screens */
.budget-section__cost-list,
.budget-section__cost-item,
.budget-section__insight-box {
  overflow-wrap: break-word;
  word-break: break-word;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7fe09b0 *//* ============================================================
   COMPLIANCE SECTION
   Scope: .compliance-section
   Notes:
   - No background colour set (inherited from page)
   - No background images
   - Mobile-first responsive
   - Accounts for left-side widget layout
   - High specificity scoping to prevent bleed
============================================================ */

/* ── Container ── */
.compliance-section {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 2.5rem 0;
}

.compliance-section__container {
  width: 100%;
  max-width: 860px;
  box-sizing: border-box;
  padding: 0 1.25rem;
}

/* ── Intro ── */
.compliance-section__intro {
  margin-bottom: 2rem;
}

/* ── Headings ── */
.compliance-section__heading {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1rem 0;
  padding: 0;
  color: inherit;
}

.compliance-section__subheading {
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 0.85rem 0;
  padding: 0;
  color: inherit;
}

/* ── Text ── */
.compliance-section__lead {
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0 0 0.85rem 0;
  padding: 0;
  color: inherit;
}

.compliance-section__text {
  font-size: 0.97rem;
  line-height: 1.8;
  margin: 0 0 1rem 0;
  padding: 0;
  color: inherit;
}

.compliance-section__text:last-child {
  margin-bottom: 0;
}

.compliance-section__text strong {
  font-weight: 600;
  color: inherit;
}

/* ── Content Blocks ── */
.compliance-section__block {
  margin-bottom: 2.25rem;
}

.compliance-section__block:last-child {
  margin-bottom: 0;
}

/* ── Tax Cards Grid ── */
.compliance-section__tax-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin: 1.25rem 0 1.25rem 0;
}

@media (min-width: 640px) {
  .compliance-section__tax-cards {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Tax Card ── */
.compliance-section__tax-card {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  box-sizing: border-box;
  position: relative;
}

.compliance-section__tax-card-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

/* ── Tax Badge ── */
.compliance-section__tax-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.5rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background-color: #1a56db;
  color: #ffffff;
  flex-shrink: 0;
  line-height: 1;
}

.compliance-section__tax-badge--ct {
  background-color: #0e7490;
}

/* ── Tax Card Title ── */
.compliance-section__tax-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: 1.3;
}

/* ── Tax Card Text ── */
.compliance-section__tax-text {
  font-size: 0.93rem;
  line-height: 1.75;
  margin: 0;
  padding: 0;
  color: inherit;
}

.compliance-section__tax-text strong {
  font-weight: 600;
}

/* ── Expert Tip ── */
.compliance-section__tip {
  border-left: 3px solid #1a56db;
  padding: 1rem 1.15rem;
  margin: 1.25rem 0 1.25rem 0;
  box-sizing: border-box;
  border-radius: 0 6px 6px 0;
}

.compliance-section__tip-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #1a56db;
  margin-bottom: 0.45rem;
}

.compliance-section__tip-text {
  font-size: 0.93rem;
  line-height: 1.75;
  margin: 0;
  padding: 0;
  color: inherit;
  font-style: italic;
}

/* ── Link ── */
.compliance-section__link {
  color: #1a56db;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.compliance-section__link:hover,
.compliance-section__link:focus {
  color: #1e40af;
  opacity: 0.85;
  outline: none;
}

.compliance-section__link:focus-visible {
  outline: 2px solid #1a56db;
  outline-offset: 3px;
  border-radius: 2px;
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  .compliance-section__link {
    transition: none;
  }
}

/* ── Print ── */
@media print {
  .compliance-section {
    padding: 1rem 0;
  }

  .compliance-section__tax-card {
    border: 1px solid #ccc;
    break-inside: avoid;
  }

  .compliance-section__tip {
    border-left: 3px solid #000;
  }

  .compliance-section__link {
    color: #000;
    text-decoration: none;
  }

  .compliance-section__link::after {
    content: " (" attr(href) ")";
    font-size: 0.8rem;
    color: #555;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-efb1546 *//* ============================================
   INTRO SECTION
   Mobile-first | No background | Widget-aware
   ============================================ */

.intro-section {
  display: block;
  width: 100%;
  padding: 48px 24px;
  box-sizing: border-box;
}

.intro-section__container {
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.intro-section__content {
  display: block;
  width: 100%;
}

.intro-section__text {
  font-size: 1rem;
  line-height: 1.8;
  color: inherit;
  margin: 0;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.intro-section__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-all;
  overflow-wrap: anywhere;
  transition: opacity 0.2s ease;
}

.intro-section__link:hover,
.intro-section__link:focus {
  opacity: 0.75;
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}

.intro-section__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── Tablet ── */
@media (min-width: 768px) {
  .intro-section {
    padding: 56px 40px;
  }

  .intro-section__text {
    font-size: 1.0625rem;
  }
}

/* ── Desktop (widget offset) ── */
@media (min-width: 1024px) {
  .intro-section {
    padding: 64px 48px;
  }

  .intro-section__container {
    margin: 0 0 0 auto;
  }

  .intro-section__text {
    font-size: 1.125rem;
  }
}

/* ── Wide Desktop ── */
@media (min-width: 1280px) {
  .intro-section {
    padding: 72px 64px;
  }
}

/* ── Accessibility: Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  .intro-section__link {
    transition: none;
  }
}/* End custom CSS */