/* www.embark.com — hand-written replacement for the Stratus theme + Elementor styles.
 * Design tokens come from the Elementor kit (elementor-kit-17) and the theme's app.css.
 * Section/widget knobs that varied per element in Elementor are carried as CSS custom
 * properties on the element (set by tools/extract-wordpress.mjs); see README. */

:root {
  --color-navy: #003365;
  --color-brand: #213176;
  --color-blue: #154d80;
  --color-blue-2: #1569ae;
  --color-sky: #6ec1e4;
  --color-green: #61ce70;
  --color-text: #333;
  --color-heading: #515151; /* customizer: h1-h6 colour on the live site */
  --color-heading-accent: #003365;
  --color-muted: #7a7a7a;
  --color-light: #f1f3f5;
  --color-link: #3a3b74;
  --color-header-bg: #003366; /* customizer: .banner[data-transparent-header] background #036 */
  --color-footer-bg: #292e31;
  --color-footer-bar: #23272a;
  --font-body: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-heading: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; /* customizer: h1-h6 Lato 400 on every heading; the Elementor kit's Roboto 600 never rendered on the live site */
  --font-serif: "Roboto Slab", Georgia, serif;
  --container: 1140px;
  --gutter: 16px;
  --header-height: 62px; /* measured on the live site */
  --section-pad: 10px; /* Elementor's default section padding; sections that set their own carry it inline */
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--color-link); text-decoration: none; transition: color .2s ease-in-out; }
a:hover, a:focus { color: var(--color-text); text-decoration: underline; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.1;
  color: var(--color-heading);
  margin: 0 0 .5em;
}
/* theme sizes measured on the live site: h1 56 / h2 35 / h3 30 / h6 18 */
h1 { font-size: clamp(36px, 5vw, 56px); }
h2 { font-size: clamp(28px, 4vw, 35px); }
h3 { font-size: 30px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 18px; }
p { margin: 0 0 10px; }
hr { border: 0; border-top: 1px solid #e3e3e3; margin: 1.5em 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -999px; top: 8px; background: #fff; color: var(--color-navy); padding: 8px 12px; z-index: 10000; }
.skip-link:focus { left: 8px; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.text-center { text-align: center; }
.text-start { text-align: left; }
.text-end { text-align: right; }

/* ---------- header ---------- */
.site-header {
  position: absolute; top: 0; left: 0; right: 0; z-index: 900;
  /* The theme's "transparent header" was overridden to solid navy by the customizer CSS,
   * and a dark sticky clone (headhesive) took over on scroll. */
  background: var(--color-header-bg);
}
.site-header.is-scrolled { position: fixed; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-height); }
.site-logo { display: inline-flex; align-items: center; margin: 0; }
.site-logo img { height: 30px; width: auto; }
.site-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; }
.site-nav__item { position: relative; }
.site-nav__link {
  display: block; padding: 15px 0; margin: 0 15px;
  color: #fff; font-size: 15px; font-weight: 400; font-family: var(--font-body);
  background: none; border: 0; cursor: pointer; position: relative; text-decoration: none;
}
.site-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: #fff; transform: scaleX(0); transition: transform .15s; }
.site-nav__link:hover::after, .site-nav__link[aria-current="page"]::after, .site-nav__item.is-open > .site-nav__link::after { transform: scaleX(1); }
.site-nav__link:hover, .site-nav__link:focus { color: #fff; text-decoration: none; }
.caret { display: inline-block; width: 0; height: 0; margin-left: 4px; vertical-align: middle; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; }
.site-nav__dropdown {
  list-style: none; margin: 0; padding: 8px 0; min-width: 260px;
  position: absolute; top: 100%; left: 0; display: none;
  background: #fff; border-radius: 3px; box-shadow: 0 6px 12px rgba(0,0,0,.175);
}
.site-nav__item.is-open > .site-nav__dropdown { display: block; }
.site-nav__dropdown a { display: block; padding: 8px 20px; color: var(--color-text); font-size: 14px; white-space: nowrap; }
.site-nav__dropdown a:hover, .site-nav__dropdown a[aria-current="page"] { background: #f5f5f5; text-decoration: none; color: var(--color-navy); }
.nav-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,.5); border-radius: 4px; padding: 9px 10px; cursor: pointer; }
.nav-toggle__bar { display: block; width: 22px; height: 2px; background: #fff; margin: 4px 0; }
@media (max-width: 991px) {
  .nav-toggle { display: block; }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--color-header-bg); padding: 10px 0 20px; }
  .site-nav.is-open { display: block; }
  .site-nav__list { flex-direction: column; align-items: stretch; }
  .site-nav__link { width: 100%; text-align: left; margin: 0; padding: 12px var(--gutter); }
  .site-nav__link::after { display: none; }
  .site-nav__dropdown { position: static; background: transparent; box-shadow: none; padding: 0 0 8px; }
  .site-nav__dropdown a { color: #ddd; padding: 8px calc(var(--gutter) + 16px); white-space: normal; }
  .site-nav__dropdown a:hover { background: rgba(255,255,255,.08); color: #fff; }
  body.nav-open .site-header { background: var(--color-header-bg); }
}

/* The first section sits under the transparent header. */
.site-main > .section:first-child { padding-top: calc(var(--header-height) + var(--section-pad)); }
.site-main > .section:first-child:not(.section--bg):not(.section--bg-color) { padding-top: calc(var(--header-height) + 40px); }
/* A hero with a minimum height: the header overlays inside that height, as on the live site. */
.site-main > .section:first-child[style*="--section-min-height"] { padding-top: var(--header-height); }
/* A first section with its own top margin: on the live site that margin starts at the top of the page, under the
   fixed header, so only the part of the header the margin does not cover is added. */
.site-main > .section.section:first-child[style*="--section-margin"] { padding-top: max(var(--section-pad), calc(var(--header-height) + var(--section-pad) - var(--section-margin-top))); }
.site-main > .section:first-child[style*="--section-min-height"] > .container { min-height: calc(var(--section-min-height) - var(--header-height)); }

/* ---------- sections and grid ---------- */
.section { position: relative; padding: var(--section-pad) 0; }
.section--bg {
  background-color: var(--section-bg-color, transparent);
  background-image: var(--section-bg-image, none);
  background-position: var(--section-bg-position, center center);
  background-size: var(--section-bg-size, cover);
  background-repeat: no-repeat;
}
.section--bg-color { background-color: var(--section-bg-color, transparent); }
.section--overlay::before {
  content: ""; position: absolute; inset: 0;
  background: var(--section-overlay, transparent); opacity: var(--section-overlay-opacity, .5);
}
.section--overlay > .container { position: relative; }
.section--on-dark, .section--on-dark h1, .section--on-dark h2, .section--on-dark h3, .section--on-dark h4, .section--on-dark h5, .section--on-dark h6, .section--on-dark a { color: #fff; }
.section--full > .container { max-width: none; padding: 0; }
/* Elementor applies min-height to the container, with the column padding inside it */
.section[style*="--section-min-height"] { padding-top: 0; padding-bottom: 0; }
.section[style*="--section-min-height"] > .container { min-height: var(--section-min-height); padding-top: var(--section-pad); padding-bottom: var(--section-pad); display: flex; flex-direction: column; justify-content: center; }
.section[style*="--section-margin"] { margin: var(--section-margin); }
.section[style*="--section-padding"] { padding: var(--section-padding); }
.site-main > .section:first-child[style*="--section-padding"] { padding-top: calc(var(--header-height) + var(--section-padding-top)); }
.row { display: flex; flex-wrap: wrap; margin: 0 calc(var(--gutter) * -1); }
.row + .row { margin-top: 20px; }
.col { flex: 0 0 100%; max-width: 100%; padding: 0 var(--gutter); min-width: 0; }
.col > * + * { margin-top: 20px; }
.col--bg { background-color: var(--col-bg, transparent); background-image: var(--col-bg-image, none); background-size: cover; background-position: center; padding: var(--col-pad, 20px); border-radius: var(--col-radius, 0); }
.col[style*="--col-pad"]:not(.col--bg) { padding: var(--col-pad); }
.col--middle { display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 768px) {
  .col[style*="--col-width"] { flex-basis: var(--col-width); max-width: var(--col-width); }
  .col--100 { flex-basis: 100%; max-width: 100%; }
  .col--75 { flex-basis: 75%; max-width: 75%; }
  .col--66 { flex-basis: 66.666%; max-width: 66.666%; }
  .col--50 { flex-basis: 50%; max-width: 50%; }
  .col--33 { flex-basis: 33.333%; max-width: 33.333%; }
  .col--25 { flex-basis: 25%; max-width: 25%; }
  .col--20 { flex-basis: 20%; max-width: 20%; }
  .col--16 { flex-basis: 16.666%; max-width: 16.666%; }
  .col--14 { flex-basis: 14.285%; max-width: 14.285%; }
  .col--12 { flex-basis: 12.5%; max-width: 12.5%; }
  .col--10 { flex-basis: 10%; max-width: 10%; }
}
@media (max-width: 767px) {
  .col--16, .col--20, .col--25, .col--14, .col--12, .col--10 { flex-basis: 50%; max-width: 50%; }
}

/* ---------- widgets ---------- */
/* Per-widget container box styles Elementor set on individual elements */
.site-main [style*="--box-bg"] { background-color: var(--box-bg); }
.site-main [style*="--box-pad"] { padding: var(--box-pad); }
.site-main [style*="--box-bg"]:not([style*="--box-pad"]) { padding: 15px 20px; }
.site-main [style*="--box-radius"] { border-radius: var(--box-radius); }
.site-main [style*="--box-margin"] { margin: var(--box-margin); }
/* Elementor keeps its 20px widget gap outside the container margin, so the two add up */
.col > * + [style*="--box-margin"] { margin-top: calc(20px + var(--box-margin-top)); }
.site-main [style*="--box-border"] { border: var(--box-border); }
/* Elementor heading widget: the theme's Lato 400 #515151 unless the element set its own; Elementor resets the line height to 1 */
.heading { margin-bottom: 0; font-family: var(--heading-family, var(--font-heading)); color: var(--heading-color, var(--color-heading)); font-weight: var(--heading-weight, 400); text-transform: var(--heading-transform, none); letter-spacing: var(--heading-spacing, normal); line-height: var(--heading-lh, 1); }
.heading[style*="--heading-size"] { font-size: var(--heading-size); }
.rich-text { font-size: var(--text-size, inherit); color: var(--text-color, inherit); }
/* the live customizer's `p, li { font-size:16px }` beats the widget's own size for paragraphs and list items */
.rich-text p, .rich-text li { font-size: 16px; }
.rich-text > :first-child { margin-top: 0; }
/* the last paragraph keeps its 10px bottom margin, as on the live site */
.rich-text ul, .rich-text ol { padding-left: 40px; margin: 0 0 10px; }
.rich-text .indent { padding-left: 40px; }
.rich-text table, .tabs__panel table { border-collapse: collapse; margin: 0 auto 1em; }
.rich-text td, .rich-text th, .tabs__panel td, .tabs__panel th { border: 1px solid #ccc; padding: 6px 12px; text-align: left; }
.rich-text .has-x-large-font-size { font-size: 2.25rem; }
.rich-text .has-large-font-size { font-size: 1.5rem; }
.rich-text img { height: auto; }
.rich-text iframe { border: 0; }
.spacer { height: var(--spacer-size, 50px); }
.divider { border: 0; margin: 0; padding: var(--divider-gap, 15px) 0; }
.divider::after {
  content: ""; display: block;
  width: var(--divider-width, 100%); max-width: 100%;
  margin: 0 auto;
  border-top: var(--divider-weight, 1px) var(--divider-style, solid) var(--divider-color, #ddd);
}
.divider--start::after { margin-left: 0; }
.divider--end::after { margin-right: 0; }
.image { margin: 0; text-align: var(--image-align, center); }
/* the width/height attributes carry the size WordPress chose (often the 768px rendition); the hint overrides it */
.image img { display: inline-block; vertical-align: middle; max-width: var(--img-max, 100%); height: auto; opacity: var(--img-opacity, 1); border: var(--img-border, 0); }
.image[style*="--img-width"] img { width: var(--img-width); }
.image--start { text-align: left; }
.image--end { text-align: right; }
.image figcaption { margin-top: 10px; font-size: 15px; color: var(--color-text); text-align: left; }
.image figcaption h4, .image figcaption h6 { margin: 0; }
.image figcaption h4 { font-size: 20px; }
.image figcaption h6 { font-size: 15px; color: var(--color-muted); font-weight: 400; }

.btn-wrap { margin: 0; }
.btn-wrap--center { text-align: center; }
.btn-wrap--end { text-align: right; }
/* Elementor button widget: its size table, plus the per-button values the extractor passes as --btn-* */
.btn {
  display: inline-block; padding: var(--btn-pad, 12px 24px); border-radius: var(--btn-radius, 3px); border: 0;
  font-family: var(--btn-family, inherit); font-size: var(--btn-size, 15px); font-weight: var(--btn-weight, 400); line-height: 1;
  text-align: center; cursor: pointer; text-decoration: none; text-transform: var(--btn-transform, none);
  background: var(--btn-bg, var(--color-brand)); color: var(--btn-color, #fff); transition: opacity .2s, background .2s, color .2s;
}
.btn:hover, .btn:focus { color: var(--btn-color, #fff); text-decoration: none; }
.btn--xs { --btn-size: 13px; --btn-pad: 10px 20px; --btn-radius: 2px; }
.btn--sm { --btn-size: 15px; --btn-pad: 12px 24px; --btn-radius: 3px; }
.btn--md { --btn-size: 16px; --btn-pad: 15px 30px; --btn-radius: 4px; }
.btn--lg { --btn-size: 18px; --btn-pad: 20px 40px; --btn-radius: 5px; }
.btn--xl { --btn-size: 20px; --btn-pad: 25px 50px; --btn-radius: 6px; }
/* Stratus theme button (themo-button widget, .btn-standard-*): a 50px pill with a 2px border, fades on hover */
.btn--pill { --btn-radius: 50px; --btn-pad: 10px 30px; --btn-size: 15px; --btn-weight: 600; line-height: 1.42857; border: 2px solid var(--btn-bg, var(--color-brand)); }
.btn--pill:hover, .btn--pill:focus { opacity: .85; }
.btn--light { --btn-bg: #fff; --btn-color: #1b1b1b; }
.btn--ghost { background: transparent; --btn-color: var(--color-brand); }
.btn--ghost:hover, .btn--ghost:focus { background: var(--btn-bg, var(--color-brand)); --btn-color: #fff; }

/* Icon box (Elementor) */
.icon-box { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--ib-gap, 15px); }
.icon-box--inline { flex-direction: row; text-align: left; align-items: flex-start; }
.icon-box__icon { flex: 0 0 auto; display: inline-flex; }
.icon-box__icon .icon-shape {
  display: inline-flex; align-items: center; justify-content: center;
  padding: var(--icon-padding, 0.5em);
  font-size: var(--icon-size, 50px);
  color: var(--icon-color, var(--color-blue));
  border-radius: 50%;
  transition: background .3s, color .3s;
}
.icon-box--square .icon-shape { border-radius: 0; }
.icon-box--framed .icon-shape { border: 3px solid var(--icon-color, var(--color-blue)); background: transparent; }
.icon-box--stacked .icon-shape { background: var(--icon-color, var(--color-blue)); color: var(--icon-contrast, #fff); }
.icon-box--default .icon-shape { width: auto; height: auto; padding: 0; }
.icon-box a:hover .icon-shape, .icon-box .icon-shape:hover { background: var(--icon-color, var(--color-blue)); color: var(--icon-contrast, #fff); }
.icon-box--stacked a:hover .icon-shape { background: var(--icon-contrast, #fff); color: var(--icon-color, var(--color-blue)); }
.icon-box svg { width: 1em; height: 1em; fill: currentColor; }
/* Bootstrap heading margins apply to icon-box titles on the live site: h1-h3 20px/10px, h4-h6 10px/10px */
.icon-box__title { margin: 10px 0; font-family: var(--font-heading); font-weight: var(--ib-title-weight, 400); text-transform: var(--ib-title-transform, none); color: var(--ib-title-color, var(--color-heading)); }
h1.icon-box__title, h2.icon-box__title, h3.icon-box__title { margin: 20px 0 10px; }
.icon-box[style*="--ib-title-size"] .icon-box__title { font-size: var(--ib-title-size); }
.icon-box__title a { color: inherit; }
.icon-box__description { margin: 0; font-weight: var(--ib-desc-weight, 400); color: var(--ib-desc-color, inherit); }
.icon-box[style*="--ib-desc-size"] .icon-box__description { font-size: var(--ib-desc-size); }

/* Counter */
.counter { display: flex; flex-direction: column-reverse; align-items: stretch; text-align: center; }
.counter__number { display: flex; justify-content: center; font-size: var(--counter-size, 54px); font-weight: 600; line-height: 1; color: var(--counter-color, var(--color-navy)); }
.counter__prefix { text-align: end; white-space: pre-wrap; }
.counter__suffix { text-align: start; white-space: pre-wrap; }
.counter__title { font-size: 19px; line-height: 2.5; color: var(--color-muted); }

/* Logo carousel (Elementor image carousel) */
.logo-carousel {
  list-style: none; margin: 0; padding: 0;
  display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.logo-carousel::-webkit-scrollbar { display: none; }
.logo-carousel li { flex: 0 0 calc(100% / var(--slides, 5)); scroll-snap-align: start; display: flex; align-items: center; justify-content: center; padding: 10px 15px; }
.logo-carousel img { max-height: 90px; width: auto; object-fit: contain; }
@media (max-width: 767px) { .logo-carousel li { flex-basis: 50%; } }

/* Testimonial */
.testimonial { margin: 0; text-align: center; }
.testimonial__content { font-size: 17px; margin-bottom: 20px; }
.testimonial__meta { display: flex; justify-content: center; align-items: center; gap: 12px; font-size: 14px; }
.testimonial__avatar img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; display: block; }
.testimonial__details { text-align: left; }
.testimonial__name { display: block; font-weight: 600; font-style: normal; color: var(--color-heading-accent); }
.testimonial__job { display: block; color: var(--color-muted); }

/* Page header (Themovation header widget) */
.page-header { text-align: center; }
.page-header h1 { margin-bottom: .3em; font-size: clamp(36px, 5vw, 56px); font-weight: 400; }
.page-header p { font-size: 18px; margin: 0; }

/* Video (click-to-load YouTube) */
.video { position: relative; aspect-ratio: var(--video-aspect, 16 / 9); background: #000; overflow: hidden; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.video__play img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video__play::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px;
  background: rgba(0,0,0,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / 40px no-repeat;
  border-radius: 50%;
}
.video__play:hover::after { background-color: var(--color-blue); }

/* Accordion (Elementor toggle) */
.accordion { border-top: 1px solid #ddd; }
.accordion:last-of-type { border-bottom: 1px solid #ddd; }
.accordion summary { padding: 15px 0; font-weight: 600; cursor: pointer; color: var(--color-heading-accent); list-style: none; display: flex; gap: 10px; align-items: center; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::before { content: ""; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 7px solid currentColor; transition: transform .2s; }
.accordion[open] summary::before { transform: rotate(90deg); }
.accordion__content { padding: 0 0 15px 17px; }

/* Tabs */
.tabs__list { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #ddd; margin: 0; padding: 0; }
.tabs__tab { background: #f5f5f5; border: 1px solid #ddd; border-bottom: 0; padding: 12px 20px; cursor: pointer; font: inherit; font-weight: 600; color: var(--color-text); }
.tabs__tab[aria-selected="true"] { background: #fff; color: var(--color-heading-accent); margin-bottom: -1px; }
.tabs__panel { padding: 20px 0; }

/* Icon list */
.icon-list { list-style: none; margin: 0; padding: 0; }
.icon-list li { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; }
.icon-list svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 5px; fill: var(--color-green); }

/* Call to action */
.cta { display: flex; flex-wrap: wrap; align-items: stretch; background: var(--color-light); border-radius: 4px; overflow: hidden; }
.cta__image { flex: 1 1 320px; min-height: 240px; background: var(--cta-bg-image) center / cover no-repeat; }
.cta__content { flex: 1 1 320px; padding: 40px; display: flex; flex-direction: column; justify-content: center; gap: 15px; }
.cta__content > * { margin: 0; }

/* Gallery */
.gallery { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(var(--gallery-cols, 3), 1fr); }
.gallery a { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.gallery a:hover img { transform: scale(1.04); }
@media (max-width: 991px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .gallery { grid-template-columns: 1fr; } }

/* Map */
.map iframe { width: 100%; height: 400px; border: 0; }

/* Reveal animations (Elementor entrance animations) */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal--fadeInLeft { transform: translateX(-40px); }
.js .reveal--fadeInRight { transform: translateX(40px); }
.js .reveal--fadeInDown { transform: translateY(-24px); }
.js .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- embedded prospects form ---------- */
.inquiry-form { position: relative; }
#inquiryFormHtml { position: absolute; padding: 15px; }
#inquiryForm .main-container { min-height: 50vh; }
/* Heights the WordPress pages gave the form container at each width (they were identical
 * on 18 of the 20 form pages; /contact/ used slightly larger values). */
@media (min-width: 635px) { .inquiryFormStyles { height: 865px; } #inquiryForm .jumbotron { height: 765px; display: flex; flex-direction: column; justify-content: center; align-items: center; } }
@media (min-width: 573px) and (max-width: 634px) { .inquiryFormStyles { height: 925px; } #inquiryForm .jumbotron { height: 825px; } }
@media (min-width: 454px) and (max-width: 572px) { .inquiryFormStyles { height: 1050px; } #inquiryForm .jumbotron { height: 950px; } }
@media (min-width: 405px) and (max-width: 453px) { .inquiryFormStyles { height: 1100px; } #inquiryForm .jumbotron { height: 1000px; } }
@media (min-width: 335px) and (max-width: 404px) { .inquiryFormStyles { height: 1190px; } #inquiryForm .jumbotron { height: 1090px; } }
@media (min-width: 300px) and (max-width: 334px) { .inquiryFormStyles { height: 1500px; } }
@media (max-width: 299px) { .inquiryFormStyles { height: 1650px; } }

/* ---------- footer ---------- */
.site-footer { background: var(--color-header-bg); color: #d2d2d2; padding: 40px 0 20px; margin-top: 40px; font-size: 16px; text-align: center; }
.site-footer__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0; }
.site-footer p { margin: 0 0 10px; }
.site-footer a { color: #d2d2d2; text-decoration: underline; }
.site-footer a:hover { color: var(--color-sky); }
.site-footer__social { align-self: flex-end; margin-top: 0; }
.site-footer__social a { display: inline-flex; text-decoration: none; background: #fff; border-radius: 4px; padding: 2px; }
.site-footer__social svg { fill: var(--color-header-bg); }
.site-footer__social a:hover { background: var(--color-sky); }

/* ---------- page families ---------- */
.entry-title { font-family: var(--font-heading); font-weight: 400; margin: 30px 0 10px; }
.page--legal .site-main > .section:first-child:not([style*="--section-min-height"]) { padding-top: calc(var(--header-height) + 20px); }
