.ajf-skip-link { position: fixed; top: 8px; left: 8px; z-index: 100000; padding: 12px 18px; background: #00235a; color: #fff; transform: translateY(-160%); }
.ajf-skip-link:focus { transform: translateY(0); color: #fff; outline: 3px solid #ff5e14; }
main a:focus-visible, main button:focus-visible, main input:focus-visible, main textarea:focus-visible, main select:focus-visible, .elementor-location-header a:focus-visible, .elementor-menu-toggle:focus-visible, .elementor-location-footer a:focus-visible { outline: 3px solid #00235a; outline-offset: 3px; }
/* Preserve the established typography when a section changes from h1 to h2. */
.elementor-widget-text-editor .ajf-section-heading { font-family: Yantramanav, sans-serif; font-size: 80px; font-weight: 800; line-height: 1em; letter-spacing: -.01em; text-transform: uppercase; margin: 25px 0; }
.slider_title_main .ajf-home-heading { color: #fff; font-family: Yantramanav, sans-serif; font-size: 80px; font-weight: 900; line-height: 1em; letter-spacing: 0; margin: 0; }
.ajf-cards .mkdf-iwt-title, .ajf-cards .mkdf-banner-title, .ajf-cards .mkdf-pli-title, .ajf-cards .mkdf-post-title { font-size: 26px; line-height: 1.5em; }
.ajf-offer-cards .mkdf-iwt-title { font-size: 20px; line-height: 1.5em; }
.single-post h1.mkdf-post-title { font-size: 60px; line-height: .96em; letter-spacing: -.02em; }
.single-portfolio-item h2.mkdf-portfolio-single-title, .single-portfolio-item h2.mkdf-ps-info-section-title { font-size: 40px; }
.single-portfolio-item .mkdf-ps-related-posts-holder h3.mkdf-ps-related-title { font-size: 26px; line-height: 1.5em; }
.mkdf-section-title-holder p.mkdf-st-intro-title { font-size: 18px; line-height: 2em; font-weight: 700; }
@media (max-width: 1366px) { .single-portfolio-item .mkdf-portfolio-single-holder.mkdf-ps-small-images-layout h2.mkdf-portfolio-single-title { font-size: 30px; } }
@media (max-width: 768px) { .slider_title_main .ajf-home-heading { font-size: 40px; } }
/* Keep brand backgrounds and make the small button labels readable. */
.elementor-element-f65e35a .mkdf-btn.mkdf-btn-solid { color: #001659; }
.elementor-element-87b10cd .mkdf-post-read-more-button .mkdf-btn { color: #fff; }
/* The visible dot remains 6px; its transparent hit area is 24px. */
.elementor-widget-media-carousel .swiper-pagination-bullet { box-sizing: border-box; width: 24px; height: 24px; border: 9px solid transparent; background-clip: content-box; }
.elementor-widget-media-carousel .elementor-swiper-button { min-width: 28px; min-height: 28px; align-items: center; justify-content: center; }
.elementor-widget-mkdf_accordion h3.mkdf-accordion-title { font-size: 20px; line-height: 1.5em; }
.elementor-widget-mkdf_accordion .ajf-job-title { font-family: Yantramanav, sans-serif; font-size: 40px; line-height: 1.125em; font-weight: 700; }
.elementor-widget-mkdf_accordion .ajf-job-location { font-family: Yantramanav, sans-serif; font-size: 18px; line-height: 2em; font-weight: 700; }
.elementor-widget-mkdf_accordion .mkdf-accordion-content h4 { font-size: 20px; line-height: 1.5em; }
/* A visible cue for links within prose, keeping the established text colors. */
main .elementor-widget-text-editor p a,
main .elementor-widget-text-editor li a { text-decoration: underline; text-underline-offset: .12em; }
/* Figure has default horizontal margins that the former dl gallery did not. */
.gallery figure.gallery-item { margin-left: 0; margin-right: 0; }
/* The desktop navigation sits on white. Keep its orange accent readable. */
.elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main a.elementor-item:focus { color: #b83d00 !important; }
