.ffh-presentation { --ffh-burgundy: #930a0a; --ffh-border: #e7dede; color: #2b2424; font-family: inherit; font-size: 16px; line-height: 1.65; max-width: 100%; }
.ffh-presentation *, .ffh-presentation *::before, .ffh-presentation *::after { box-sizing: border-box; }
.ffh-presentation :is(a, button):focus-visible { outline: 3px solid #930a0a; outline-offset: 4px; }
.ffh-presentation img { display: block; max-width: 100%; height: auto; }
.ffh-presentation a { color: var(--ffh-burgundy); }
.ffh-presentation h2, .ffh-presentation h3 { line-height: 1.4; color: #3e2424; margin-top: 0; }
.ffh-presentation .ffh-presentation-button { display: inline-block; padding: 10px 22px; border-radius: 6px; background: var(--ffh-burgundy); color: #fff; font-weight: 600; text-decoration: none; margin-top: 16px; }
.ffh-slides { position: relative; width: 100%; overflow: hidden; background: #f6f0f0; border-radius: 8px; }
.ffh-slide-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.ffh-slide { position: relative; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.ffh-slide-image { width: 100%; height: auto; }
.ffh-slide-copy { background: #fff; padding: 24px; }
.ffh-slide-copy h2 { font-size: 1.5rem; }
.ffh-slide-controls { display: flex; gap: 18px; align-items: center; justify-content: center; padding: 10px; background: #fff; }
.ffh-slide-controls[hidden] { display: none; }
.ffh-slide-controls button { font: inherit; border: 1px solid var(--ffh-border); border-radius: 5px; background: var(--ffh-burgundy); color: #fff; cursor: pointer; min-width: 42px; min-height: 42px; margin: 0; padding: 5px 12px; }
.ffh-slide-controls button:disabled { opacity: .4; cursor: default; }
.ffh-media-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ffh-media-gallery figure { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--ffh-border); border-radius: 8px; background: #fff; }
.ffh-media-gallery figure > a { display: block; }
.ffh-media-gallery .ffh-gallery-image { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; }
.ffh-media-gallery figcaption { padding: 10px 14px; font-size: 14px; }
.ffh-cta { border-radius: 10px; overflow: hidden; background: #fff; }
.ffh-cta-has-image, .ffh-cta-has-image > .ffh-cta-box-link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ffh-cta-has-image > .ffh-cta-box-link { grid-column: 1 / -1; }
.ffh-cta-layout-above.ffh-cta-has-image, .ffh-cta-layout-above.ffh-cta-has-image > .ffh-cta-box-link { grid-template-columns: minmax(0, 1fr); }
.ffh-cta-layout-right .ffh-cta-image { order: 2; }
.ffh-cta-image { width: 100%; height: 100%; object-fit: cover; }
.ffh-cta-copy { min-width: 0; padding: 24px; }
.ffh-cta-copy h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); }
.ffh-cta-graphic { width: 120px; margin-bottom: 16px; }
.ffh-cta-box-link { text-decoration: none; }
.ffh-navigation .ffh-menu, .ffh-navigation .sub-menu { list-style: none; margin: 0; padding: 0; }
.ffh-navigation .ffh-menu { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 16px; }
.ffh-navigation li { min-width: 0; margin: 0; }
.ffh-navigation a { display: block; color: var(--ffh-menu-color, var(--ffh-burgundy)); text-decoration: none; padding: 7px 4px; font-size: 16px; font-weight: 500; overflow-wrap: anywhere; }
.ffh-navigation a:hover, .ffh-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 4px; }
.ffh-navigation .sub-menu { padding-left: 15px; border-left: 2px solid var(--ffh-border); }
.ffh-navigation .sub-menu a { font-size: 14px; font-weight: 400; }
.ffh-navigation-vertical .ffh-menu { display: block; }
.ffh-navigation.ffh-navigation-light a { color: #fff; }
.ffh-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ffh-news-card { min-width: 0; overflow: hidden; border: 1px solid var(--ffh-border); border-radius: 10px; background: #fff; display: flex; flex-direction: column; }
.ffh-news-card > a { text-decoration: none; }
.ffh-news-image { display: block; }
.ffh-news-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ffh-news-copy { padding: 20px; overflow-wrap: anywhere; }
.ffh-news-copy h3 { font-size: 1.1rem; margin-bottom: 10px; }
.ffh-news-copy h3 a { color: #3e2424; text-decoration: none; }
.ffh-news-copy time { color: #716666; font-size: .85rem; display: block; margin-bottom: 10px; }
.ffh-news-meta { color: #716666; font-size: .85rem; display: block; }
.ffh-news-copy p { margin: 0 0 12px; }
.ffh-news-read { display: inline-block; margin-top: 12px; font-size: .95rem; font-weight: 600; }
.ffh-news-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
.ffh-news-pagination a { padding: 8px 15px; border: 1px solid var(--ffh-border); border-radius: 5px; }
.ffh-portfolio-content { font-size: 16px; line-height: 1.8; }
.ffh-portfolio-content h2 { font-size: 1.3rem; color: #930a0a; margin-top: 24px; }
.ffh-portfolio-row, .ffh-portfolio-column { min-width: 0; max-width: 100%; }
.ffh-portfolio-table { overflow-x: auto; max-width: 100%; }
.ffh-portfolio-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ffh-portfolio-table th, .ffh-portfolio-table td { padding: 10px; border: 1px solid #decaca; min-width: 120px; text-align: center; }
.ffh-portfolio-table th { background: #f6eaea; }
.ffh-free-site { color: #302828; font-family: "Sarabun", "Noto Sans Thai", system-ui, sans-serif; font-size: 16px; line-height: 1.7; }
.ffh-free-site .site-header { background: #fff; border-bottom: 1px solid #eadede; }
.ffh-free-site .site-header .ast-container { max-width: 1280px; }
.ffh-free-site .site-header .ast-builder-grid-row { column-gap: 18px; }
.ffh-free-site .site-header .ast-builder-layout-element { min-width: 0; }
.ffh-free-site .site-header .ast-site-identity { max-width: 390px; min-width: 0; }
.ffh-free-site .site-header .ast-site-title-wrap { min-width: 0; max-width: 300px; }
.ffh-free-site .site-header .site-title { font-size: clamp(16px, 1.5vw, 20px); line-height: 1.35; margin: 0; }
.ffh-free-site .site-header .site-title a { display: block; overflow-wrap: anywhere; }
.ffh-free-site .site-header .site-description { font-size: 13px; line-height: 1.4; margin: 4px 0 0; }
.ffh-free-site .site-header .menu-link { color: #930a0a; font-size: 15px; font-weight: 500; line-height: 1.5; }
.ffh-free-site .site-header .main-header-menu > .menu-item > .menu-link { padding: 10px; }
.ffh-free-site .site-header .custom-logo { max-height: 64px; width: auto; }
.ffh-free-site #ast-mobile-site-navigation .menu-link { color: #930a0a; font-size: 15px; line-height: 1.6; }
.ffh-free-site #ast-hf-mobile-menu > .menu-item-has-children > .menu-link[href="#"] { cursor: pointer; }
.ffh-free-site #ast-hf-mobile-menu .sub-menu .menu-link { padding-left: 28px; overflow-wrap: anywhere; }
/* Match the original boxed institution list, preserving each source image's proportions. */
.ffh-free-site .elementor-1670 { max-width: 1050px; margin-inline: auto; }
.ffh-free-site .elementor-1670 .elementor-image-box-img img { height: auto; object-fit: contain; }
.ffh-free-site #primary-site-navigation-desktop .main-header-menu > .menu-item > .sub-menu { width: min(340px, calc(100vw - 40px)); }
.ffh-free-site #primary-site-navigation-desktop .main-header-menu > .menu-item:last-child:hover > .sub-menu,
.ffh-free-site #primary-site-navigation-desktop .main-header-menu > .menu-item:last-child:focus-within > .sub-menu { left: auto; right: 0; }
.ffh-free-site.ffh-elementor-page .entry-header { margin: 0; padding: 0; }
.ffh-free-site.ffh-elementor-page .entry-header .entry-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.ffh-free-site .site-footer { border-top: 1px solid #eadede; }
@media (max-width: 900px) {
  .ffh-media-gallery, .ffh-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ffh-navigation .ffh-menu { gap: 5px 12px; }
}
@media (max-width: 600px) {
  .ffh-media-gallery, .ffh-news-grid, .ffh-cta-has-image, .ffh-cta-has-image > .ffh-cta-box-link { grid-template-columns: minmax(0, 1fr); }
  .ffh-slide-copy, .ffh-cta-copy { padding: 18px; }
  .ffh-navigation .ffh-menu { display: block; }
  .ffh-navigation a { padding: 9px 4px; }
  .ffh-media-gallery .ffh-gallery-image { max-height: 500px; }
  .ffh-free-site .site-header .custom-logo { max-height: 60px; }
  .ffh-free-site .site-header .ast-site-title-wrap { max-width: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .ffh-slide-track { scroll-behavior: auto; }
}

/* Homepage arrangement: only the named sections of the Astra home page. */
body.home.ffh-free-site :is(.ffh-home-hero, .ffh-home-services, .ffh-home-intro, .ffh-home-video, .ffh-home-news-heading, .ffh-home-news, .ffh-home-more, .ffh-home-training, .ffh-home-footer, .ffh-home-copyright) {
  --ffh-home-burgundy: #930a0a;
  --container-max-width: 1160px;
  width: 100%;
  max-width: 1160px;
  min-width: 0;
  min-height: 0;
  margin-inline: auto;
  gap: 24px;
  overflow-wrap: anywhere;
}
body.home.ffh-free-site :is(.ffh-home-hero, .ffh-home-services, .ffh-home-intro, .ffh-home-video, .ffh-home-news-heading, .ffh-home-news, .ffh-home-more, .ffh-home-training, .ffh-home-footer, .ffh-home-copyright) .e-con-inner {
  width: 100%; max-width: 1160px; min-width: 0;
}
body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-intro, .ffh-home-footer) > .e-con-inner { grid-column: 1 / -1; }
body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-intro, .ffh-home-footer) .elementor-widget { min-width: 0; max-width: 100%; }
body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-intro, .ffh-home-footer) :is(a, button):focus-visible { outline: 3px solid #ffd98a; outline-offset: 4px; }

/* A stable banner frame contains the whole source image, including its text. */
body.home.ffh-free-site .ffh-home-hero { max-width: 1280px; padding: 0; margin-block: 0 20px; gap: 0; }
body.home.ffh-free-site .ffh-home-hero .elementor-widget-ffh-slides { width: 100% !important; max-width: 100%; margin: 0; }
body.home.ffh-free-site .ffh-home-hero .ffh-slides { border-radius: 0 0 10px 10px; background: #fff; }
body.home.ffh-free-site .ffh-home-hero .ffh-slide-image { width: 100%; height: clamp(180px, 30vw, 420px); object-fit: contain; background: #fff; }
body.home.ffh-free-site .ffh-home-hero .ffh-slide-controls { padding: 8px; font-size: 14px; }
body.home.ffh-free-site .ffh-home-hero .ffh-slide-controls button { min-width: 36px; min-height: 36px; }

/* Five equal service tiles replace the legacy oversized custom widget widths. */
body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-services > .e-con-inner) { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
body.home.ffh-free-site .ffh-home-services { padding: 20px; margin-block: 0 36px; background: var(--ffh-home-burgundy) !important; border-radius: 10px; }
body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-services > .e-con-inner) > .e-con {
  width: 100% !important; min-width: 0; max-width: 100%; padding: 18px 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px;
  border: 1px solid #ffffff50; border-radius: 8px; background: #ffffff08;
}
body.home.ffh-free-site .ffh-home-services .elementor-widget { width: 100% !important; margin: 0; text-align: center; }
body.home.ffh-free-site .ffh-home-services .elementor-icon-wrapper { line-height: 1; }
body.home.ffh-free-site .ffh-home-services .elementor-icon { display: inline-flex; width: 64px; height: 64px; }
body.home.ffh-free-site .ffh-home-services .elementor-icon :is(svg, img) { width: 64px; height: 64px; max-width: 100%; }
body.home.ffh-free-site .ffh-home-services :is(p, span, a) { color: #fff !important; font-size: 16px; line-height: 1.5; }
body.home.ffh-free-site .ffh-home-services p { margin: 0; }
body.home.ffh-free-site .ffh-home-services a { display: flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: none; border-radius: 4px; }
body.home.ffh-free-site .ffh-home-services a:hover { text-decoration: underline; text-underline-offset: 4px; background: #ffffff12; }

/* Two paired logo columns sit beside the existing introduction copy. */
body.home.ffh-free-site :is(.ffh-home-intro, .ffh-home-intro > .e-con-inner) { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); align-items: center; gap: 28px; }
body.home.ffh-free-site .ffh-home-intro { padding: 20px 24px 36px; background: #fff; }
body.home.ffh-free-site :is(.ffh-home-intro, .ffh-home-intro > .e-con-inner) > .e-con { width: 100% !important; min-width: 0; max-width: 100%; padding: 0; gap: 20px; }
body.home.ffh-free-site .ffh-home-intro .elementor-widget { width: 100% !important; margin: 0; }
body.home.ffh-free-site .ffh-home-intro .elementor-widget-image img { display: block; width: 100%; max-width: 180px; height: auto; max-height: 190px; object-fit: contain; margin-inline: auto; }
body.home.ffh-free-site .ffh-home-intro .elementor-heading-title { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.5; color: #632326; }
body.home.ffh-free-site .ffh-home-intro .elementor-widget-text-editor { font-size: 16px; line-height: 1.85; color: #302828; }
body.home.ffh-free-site .ffh-home-intro .elementor-widget-text-editor p { margin-block: 0 16px; }
body.home.ffh-free-site .ffh-home-video { max-width: 920px; padding: 0 24px; margin-block: 0 40px; }
body.home.ffh-free-site .ffh-home-video .elementor-widget-video { width: 100%; max-width: 100%; margin: 0; }
body.home.ffh-free-site .ffh-home-video iframe { max-width: 100%; }

/* Compact section headings and a consistent news/gallery rhythm. */
body.home.ffh-free-site .ffh-home-news-heading { padding: 16px 24px; margin-block: 0; background: var(--ffh-home-burgundy) !important; border-radius: 8px; }
body.home.ffh-free-site .ffh-home-news-heading .e-con { width: 100% !important; padding: 0; min-width: 0; }
body.home.ffh-free-site .ffh-home-news-heading .elementor-widget { margin: 0; width: 100%; }
body.home.ffh-free-site .ffh-home-news-heading .elementor-heading-title { color: #fff !important; font-size: clamp(20px, 2vw, 26px); line-height: 1.45; margin: 0; }
body.home.ffh-free-site :is(.ffh-home-news, .ffh-home-training) { padding: 24px; margin-block: 0; }
body.home.ffh-free-site :is(.ffh-home-news, .ffh-home-training) .elementor-widget { width: 100% !important; max-width: 100%; margin: 0; }
body.home.ffh-free-site .ffh-home-news .ffh-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.home.ffh-free-site .ffh-home-news .ffh-news-copy { padding: 20px; }
body.home.ffh-free-site .ffh-home-news .ffh-news-copy h3 { font-size: 18px; line-height: 1.5; }
body.home.ffh-free-site .ffh-home-news .ffh-news-copy p { font-size: 15px; line-height: 1.75; }
body.home.ffh-free-site .ffh-home-training .ffh-media-gallery { gap: 20px; }
body.home.ffh-free-site .ffh-home-more { padding: 0 24px 36px; margin-block: 0; }
body.home.ffh-free-site .ffh-home-more .elementor-widget-button { width: 100%; margin: 0; }
body.home.ffh-free-site .ffh-home-more .elementor-button-wrapper { text-align: right; }
body.home.ffh-free-site .ffh-home-more .elementor-button { background: var(--ffh-home-burgundy); color: #fff; font-size: 16px; line-height: 1.5; padding: 12px 24px; border-radius: 6px; }

/* Three compact columns follow the original footer; expanded menus grow naturally. */
body.home.ffh-free-site :is(.ffh-home-footer, .ffh-home-footer > .e-con-inner) { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: start; }
body.home.ffh-free-site .ffh-home-footer { padding: 28px 24px; margin-block: 8px 0; background: var(--ffh-home-burgundy) !important; color: #fff; border-radius: 10px 10px 0 0; }
body.home.ffh-free-site .ffh-home-footer > .e-con-inner { padding: 0; min-height: 0; height: auto; }
body.home.ffh-free-site .ffh-home-footer :is(.ffh-home-sitemap, .ffh-home-contact, .ffh-home-map) { width: 100% !important; max-width: 100%; min-width: 0; min-height: 0; margin: 0 !important; padding: 0; gap: 14px; }
body.home.ffh-free-site .ffh-home-footer .elementor-widget { margin-bottom: 0; }
body.home.ffh-free-site .ffh-home-footer .elementor-heading-title { color: #fff; font-size: 20px; line-height: 1.5; margin: 0; }
body.home.ffh-free-site .ffh-home-footer :is(a, .elementor-icon-list-text, .ffh-navigation a) { color: #fff !important; }
body.home.ffh-free-site .ffh-home-footer a { text-underline-offset: 4px; }
body.home.ffh-free-site .ffh-home-footer a:hover { text-decoration: underline; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-navigation { width: 100%; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-menu { display: block; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-navigation a { padding: 8px 0; font-size: 15px; line-height: 1.6; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-navigation .sub-menu { border-color: #ffffff50; padding-left: 12px; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-menu > li:has(> .ffh-footer-menu-toggle) { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-menu > li > .sub-menu { grid-column: 1 / -1; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-footer-menu-toggle { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #fff; cursor: pointer; }
body.home.ffh-free-site .ffh-home-sitemap .ffh-footer-menu-toggle::after { content: ''; display: inline-block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
body.home.ffh-free-site .ffh-home-sitemap .ffh-footer-menu-toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
body.home.ffh-free-site .ffh-home-sitemap .ffh-footer-menu-toggle:hover { background: #ffffff20; }
body.home.ffh-free-site .ffh-home-sitemap [hidden] { display: none !important; }
body.home.ffh-free-site .ffh-home-contact .elementor-icon-list-item { align-items: flex-start; margin-block: 6px; }
body.home.ffh-free-site .ffh-home-contact .elementor-icon-list-text { font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
body.home.ffh-free-site .ffh-home-contact .elementor-icon-list-icon :is(svg, i) { fill: #fff; color: #fff; }
body.home.ffh-free-site .ffh-home-contact .e-con { width: 100% !important; min-width: 0; min-height: 0; padding: 0; gap: 12px; }
body.home.ffh-free-site .ffh-home-contact .e-con:has(> .elementor-widget-image) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
body.home.ffh-free-site .ffh-home-contact .elementor-widget-image img { display: block; max-width: 100%; width: 64px; height: 56px; object-fit: contain; margin-inline: auto; }
body.home.ffh-free-site .ffh-home-map .elementor-widget { width: 100%; max-width: 100%; margin: 0; }
body.home.ffh-free-site .ffh-home-map iframe { display: block; width: 100%; max-width: 100%; height: 300px; border: 0; border-radius: 8px; }
body.home.ffh-free-site .ffh-home-copyright { padding: 12px 20px; margin-block: 0; background: #632326 !important; color: #fff; }
body.home.ffh-free-site .ffh-home-copyright > .e-con-inner { padding: 0; min-height: 0; }
body.home.ffh-free-site .ffh-home-copyright .elementor-heading-title { color: #fff; font-size: 14px; font-weight: 400; line-height: 1.5; margin: 0; text-align: center; }
body.home.ffh-free-site.ffh-home-arranged:has(.ffh-home-footer) .site-footer { display: none; }

@media (max-width: 1000px) {
  body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-services > .e-con-inner) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.home.ffh-free-site :is(.ffh-home-intro, .ffh-home-intro > .e-con-inner) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home.ffh-free-site :is(.ffh-home-intro, .ffh-home-intro > .e-con-inner) > .e-con:last-child { grid-column: 1 / -1; }
  body.home.ffh-free-site .ffh-home-news .ffh-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home.ffh-free-site :is(.ffh-home-footer, .ffh-home-footer > .e-con-inner) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  body.home.ffh-free-site .ffh-home-map { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-services > .e-con-inner, .ffh-home-intro, .ffh-home-intro > .e-con-inner, .ffh-home-footer, .ffh-home-footer > .e-con-inner) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.home.ffh-free-site .ffh-home-hero .ffh-slide-image { height: auto; max-height: 260px; object-fit: contain; }
  body.home.ffh-free-site .ffh-home-services { padding: 16px; margin-bottom: 24px; }
  body.home.ffh-free-site :is(.ffh-home-services, .ffh-home-services > .e-con-inner) > .e-con { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: center; padding: 12px; }
  body.home.ffh-free-site .ffh-home-services .elementor-icon, body.home.ffh-free-site .ffh-home-services .elementor-icon :is(svg, img) { width: 56px; height: 56px; }
  body.home.ffh-free-site .ffh-home-services .elementor-widget-text-editor { text-align: left; }
  body.home.ffh-free-site .ffh-home-services a { justify-content: flex-start; }
  body.home.ffh-free-site :is(.ffh-home-intro, .ffh-home-news, .ffh-home-training) { padding: 20px 16px; }
  body.home.ffh-free-site .ffh-home-intro .elementor-widget-image img { max-width: 160px; max-height: 150px; }
  body.home.ffh-free-site .ffh-home-video { padding-inline: 16px; margin-bottom: 28px; }
  body.home.ffh-free-site .ffh-home-news-heading { padding: 14px 16px; }
  body.home.ffh-free-site .ffh-home-news .ffh-news-grid, body.home.ffh-free-site .ffh-home-training .ffh-media-gallery { grid-template-columns: minmax(0, 1fr); }
  body.home.ffh-free-site .ffh-home-more { padding: 0 16px 28px; }
  body.home.ffh-free-site .ffh-home-more .elementor-button-wrapper { text-align: center; }
  body.home.ffh-free-site .ffh-home-footer { padding: 24px 20px; }
  body.home.ffh-free-site .ffh-home-contact .e-con:has(> .elementor-widget-image) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.home.ffh-free-site .ffh-home-map iframe { height: 260px; }
}

/* The existing Google map has a useful card and link before its iframe opens. */
body.home.ffh-free-site .ffh-home-map .ffh-map-card { padding: 18px; border: 1px solid #ffffff70; border-radius: 10px; background: #ffffff0d; }
body.home.ffh-free-site .ffh-home-map .ffh-map-card h3 { margin: 0 0 10px; color: #fff; font-size: 20px; line-height: 1.5; }
body.home.ffh-free-site .ffh-home-map .ffh-map-card p { margin: 0 0 12px; color: #fff; }
body.home.ffh-free-site .ffh-home-map .ffh-map-actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.home.ffh-free-site .ffh-home-map .ffh-map-actions :is(a, button) { min-height: 44px; padding: 10px 16px; border: 1px solid #ffffff90; border-radius: 6px; background: transparent; color: #fff; font: inherit; line-height: 1.5; text-decoration: none; cursor: pointer; }
body.home.ffh-free-site .ffh-home-map .ffh-map-actions :is(a, button):hover { background: #ffffff20; }
body.home.ffh-free-site .ffh-home-map .ffh-map-frame { margin-top: 20px; }
body.home.ffh-free-site .ffh-home-map [hidden] { display: none !important; }
