html {
  scroll-behavior: smooth;
}

/* W-14 (2026-10-14): some Elementor widgets use font names that were never loaded
   ("hk", "Beatrice Trial", "oak_suns") and fell back to Arial. Map them to the real site fonts. */
@font-face { font-family: 'hk'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('https://robinsonimmigration.com/wp-content/uploads/2025/10/hkgrotesk-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'Beatrice Trial'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('https://robinsonimmigration.com/wp-content/uploads/2025/10/hkgrotesk-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'oak_suns'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('https://robinsonimmigration.com/wp-content/uploads/2025/10/OakSans-Regular.woff2') format('woff2'); }
/* W-14b: DIY Course headings use "Tropiline"/"Tropline" (never loaded) -> HK Grotesk */
@font-face { font-family: 'Tropiline'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('https://robinsonimmigration.com/wp-content/uploads/2025/10/hkgrotesk-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'Tropline'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('https://robinsonimmigration.com/wp-content/uploads/2025/10/hkgrotesk-SemiBold.woff2') format('woff2'); }

/* W-17 (2026-10-14): Home 'Languages Served by Our Team' now has 6 chips (Arabic added); let the row wrap on tablet so it doesn't overflow (mobile already wraps). */
.elementor-15965 .elementor-element.elementor-element-39748c2 { --flex-wrap: wrap; max-width: 100%; }
/* W-17b: the Arabic chip renders in a system font (OakSans has no Arabic) and looked smaller; bump it and drop letter-spacing (it breaks Arabic letter joining). */
.elementor-15965 .elementor-element.elementor-element-80481c5 .wcf--title { font-size: 15px; letter-spacing: 0; }

/* W-22 (2026-10-14): carousel arrows had no hover feedback (Elementor hover color = normal color #16194F).
   All nested carousels (today only the Home team carousel 35cc75f): 45px round hit area, navy circle + white chevron on hover, focus ring for keyboard. */
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev,
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next { padding: 10px; border-radius: 50%; background-color: transparent; transition: background-color .2s ease, box-shadow .2s ease; }
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev svg,
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next svg { transition: fill .2s ease; }
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover,
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:hover { background-color: #16194F; box-shadow: 0 4px 12px rgba(22,25,79,.25); }
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover svg,
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:hover svg { fill: #FFFFFF; }
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:active,
body .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:active { background-color: #2a2e7a; }
body .elementor-widget-n-carousel .elementor-swiper-button:focus-visible { outline: 2px solid #16194F; outline-offset: 3px; }

/* W-24 (2026-10-14): Home team carousel 35cc75f - each card (a link since W-23) shows which person you are on.
   Hover / keyboard focus: white card + soft navy shadow, photo zooms a touch, name gets a navy underline.
   12px inner padding so the photo sits inside the white card. Undo: delete this block and publish. */
body .elementor-element-35cc75f .swiper-slide > a > .e-con-inner { padding-top: 12px; padding-bottom: 12px; border-radius: 8px; transition: background-color .25s ease, box-shadow .25s ease; }
body .elementor-element-35cc75f .swiper-slide > a img { transition: transform .35s ease; }
body .elementor-element-35cc75f .swiper-slide > a .e-con-inner > .e-con > .elementor-widget-wcf--title:first-child h2 { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: 4px; transition: text-decoration-color .25s ease; }
body .elementor-element-35cc75f .swiper-slide > a:hover > .e-con-inner,
body .elementor-element-35cc75f .swiper-slide > a:focus-visible > .e-con-inner { background-color: #FFFFFF; box-shadow: 0 6px 18px rgba(22,25,79,.14); }
body .elementor-element-35cc75f .swiper-slide > a:hover img { transform: scale(1.03); }
body .elementor-element-35cc75f .swiper-slide > a:hover .e-con-inner > .e-con > .elementor-widget-wcf--title:first-child h2,
body .elementor-element-35cc75f .swiper-slide > a:focus-visible .e-con-inner > .e-con > .elementor-widget-wcf--title:first-child h2 { text-decoration-color: #16194F; }
body .elementor-element-35cc75f .swiper-slide > a:focus-visible { outline: none; }
body .elementor-element-35cc75f .swiper-slide > a:focus-visible > .e-con-inner { outline: 2px solid #16194F; outline-offset: -2px; }
