@charset "UTF-8";
/*!
Theme Name: Cranes and Construction
Theme URI: https://underscores.me/
Author: Automattic
Author URI: https://automattic.com/
Description: Theme for Cranes and Construction
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cranesandconstruction
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

_s is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Header
	- Navigation
	- Footer
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
	- Popup
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Text scale
	- Animate
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Design tokens → :root

Single emission point (CLAUDE.md §6). SCSS variables in
sass/abstracts/variables/ are the authored source; everything below
turns them into CSS custom properties. Components consume var(--token),
never the $ variable, so Customizer and runtime overrides work.
--------------------------------------------------------------*/
:root {
  --primary-color: #e57007;
  --secondary-color: #e47423;
  --accent-color: #e57007;
  --dark-color: #141a1f;
  --dark-alt-color: #22292f;
  --white: #fff;
  --grey-footer-color: #4e4e4e;
  --grey-body-color: #3b3b3b;
  --grey-line-color: #cfcfcf;
  --input-placeholder: #6b6b6b;
  --dark-25: rgba(20, 26, 31, 0.25);
  --dark-50: rgba(20, 26, 31, 0.5);
  --dark-72: rgba(20, 26, 31, 0.72);
  --white-50: rgba(255, 255, 255, 0.5);
  --white-05: rgba(255, 255, 255, 0.05);
  --primary-10: rgba(229, 112, 7, 0.1);
  --body-color: #141a1f;
  --heading-color: #e57007;
  --text-color: #fff;
  --border-color: rgba(255, 255, 255, 0.5);
  --body-font: Mada, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  --heading-font: Mada, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
  --fs-display: clamp(2rem, 1.4rem + 2.4vw, 3.5rem);
  --fs-about-h2: clamp(1.75rem, 1.4rem + 1.6vw, 2.25rem);
  --fs-h3: clamp(1.5rem, 1.4rem + 0.5vw, 1.75rem);
  --fs-lead: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  --fs-lead-sm: 1.25rem;
  --fs-eyebrow: 1.25rem;
  --fs-eyebrow-sm: 1rem;
  --fs-text: 1.125rem;
  --fs-text-sm: 1rem;
  --fs-stat: clamp(3.25rem, 2rem + 5vw, 6.25rem);
  --lh-tight: 1.12;
  --lh-heading: 1.2;
  --lh-body: 1.5;
  --container-width: 81.25rem;
  --gutter: 1.5rem;
  --header-height: 7.75rem;
  --measure: 44rem;
  --space-1: 0.625rem;
  --space-2: 1.25rem;
  --space-3: 1.875rem;
  --space-4: 2.5rem;
  --space-5: 3.75rem;
  --space-6: 5rem;
  --space-7: 6.25rem;
  --space-section: clamp(3.125rem, 1.5rem + 5vw, 6.25rem);
  --space-section-sm: clamp(2.5rem, 1.5rem + 3vw, 5rem);
  --border-radius: 0;
  --transition: 0.18s ease;
}

@media (max-width: 40rem) {
  :root {
    --gutter: 1.25rem;
  }
}
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: var(--text-color);
  font-family: var(--body-font);
  font-size: 1rem;
  line-height: var(--lh-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin: 0;
  font-family: var(--heading-font);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--heading-color);
}

p {
  margin: 0;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
  background: var(--body-color);
  color: var(--text-color);
  font-family: var(--body-font);
  font-size: var(--fs-text-sm);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
  overflow-x: clip;
}

img,
svg {
  display: block;
  max-width: 100%;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: var(--primary-color);
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: var(--secondary-color);
}
a:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

button:focus-visible,
input[type=button]:focus-visible,
input[type=reset]:focus-visible,
input[type=submit]:focus-visible,
.btn:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Layout primitives
--------------------------------------------- */
/*--------------------------------------------------------------
# Layout primitives
--------------------------------------------------------------*/
.container {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section {
  position: relative;
  padding-block: var(--space-section);
  background: var(--body-color);
  color: var(--text-color);
}
.section--light {
  background: var(--white);
  color: var(--grey-body-color);
}
.section--flush {
  padding-block: 0;
}
.section--tight-top {
  padding-top: var(--space-section-sm);
}
.section--tight-bottom {
  padding-bottom: 0;
}
.section--no-top {
  padding-top: 0;
}
.section--pad-bottom {
  padding-bottom: var(--space-section);
}
.section--bg {
  overflow: hidden;
  background: var(--dark-alt-color);
}
.section--bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--dark-72);
}
.section--bg-light::before {
  background: var(--dark-25);
}
.section--bg > .container {
  position: relative;
  z-index: 2;
}

.section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Buttons & links
--------------------------------------------- */
/*--------------------------------------------------------------
# Buttons & arrow links
--------------------------------------------------------------*/
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  min-width: 10.875rem;
  min-height: 3.25rem;
  padding: 1.25rem 1.875rem;
  border: 0;
  border-radius: var(--border-radius);
  background: transparent;
  color: var(--white);
  font-family: var(--body-font);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  cursor: pointer;
  transition: background-color var(--transition), box-shadow var(--transition), color var(--transition), transform var(--transition);
}
.btn:hover, .btn:focus {
  color: var(--white);
}
.btn:hover {
  transform: translateY(-2px);
}
.btn:active {
  transform: none;
}
.btn__icon {
  width: 0.875rem;
  height: 0.875rem;
  flex: none;
}

.btn--solid {
  background: var(--secondary-color);
}
.btn--solid .btn__icon {
  background: var(--white);
}
.btn--solid:hover, .btn--solid:focus {
  background: var(--primary-color);
}

.btn--outline {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--secondary-color);
}
.btn--outline .btn__icon {
  background: var(--secondary-color);
}
.btn--outline:hover, .btn--outline:focus {
  background: var(--secondary-color);
  box-shadow: inset 0 0 0 1px var(--secondary-color), 0 0.5rem 1.25rem rgba(228, 116, 35, 0.28);
}
.btn--outline:hover .btn__icon, .btn--outline:focus .btn__icon {
  background: var(--white);
}

.btn--sm {
  min-width: 8.9375rem;
  min-height: 2.5625rem;
  padding: 0.75rem 1.375rem;
  font-size: 1rem;
  background: var(--primary-color);
}
.btn--sm:hover, .btn--sm:focus {
  background: var(--secondary-color);
}

.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding-block: 0.3125rem;
  border-bottom: 1px solid var(--primary-color);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: var(--white);
  transition: gap var(--transition), border-color var(--transition), color var(--transition);
}
.arrow-link:hover, .arrow-link:focus {
  gap: 1.125rem;
  color: var(--white);
}
.arrow-link--orange {
  color: var(--primary-color);
}
.arrow-link--orange:hover, .arrow-link--orange:focus {
  color: var(--primary-color);
}
.arrow-link--dark {
  color: var(--dark-color);
  border-bottom-color: var(--dark-color);
}
.arrow-link--dark:hover, .arrow-link--dark:focus {
  color: var(--dark-color);
}
.arrow-link--rule-white {
  border-bottom-color: var(--white);
}
.arrow-link__icon {
  width: 1.1875rem;
  height: 0.5rem;
  flex: none;
}

/* Button + link row (design `.cta-row`) ------------------------- */
.cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.cta-row .btn {
  min-width: 0;
}
.cta-row--split {
  justify-content: space-between;
  padding-top: 1.5625rem;
}

@media (max-width: 60rem) {
  .cta-row--split {
    justify-content: flex-start;
    gap: var(--space-3);
  }
}
@media (max-width: 40rem) {
  .cta-row {
    width: 100%;
  }
  .cta-row .btn {
    width: 100%;
  }
}
/* Bullet lists
--------------------------------------------- */
/*--------------------------------------------------------------
# Bullet lists

Ported from `.bullets` / `.bullet` in the design HTML. Shared across the
About, Services and Equipment pages.
--------------------------------------------------------------*/
.bullets {
  display: flex;
  flex-wrap: wrap;
  gap: 1.125rem var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.bullets--stack {
  flex-direction: column;
  gap: 1.125rem;
}
.bullets--3col {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 0.875rem var(--space-4);
}

.bullet {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1;
  color: var(--white);
}
.bullet::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: none;
  background: var(--primary-color);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.bullet--dark {
  color: var(--grey-body-color);
}

@media (max-width: 60rem) {
  .bullets--3col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  .bullets--3col {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* "Our Lifts" gallery (About + Key Industries)
--------------------------------------------- */
/*--------------------------------------------------------------
# "Our Lifts" photo gallery

Shared by the About Us and Key Industries pages
(template-parts/lifts-gallery.php). Ported from `.band` + `.lifts` in the
design HTML.
--------------------------------------------------------------*/
/* Orange heading band (About Us layout) --------------------------- */
.band {
  padding-block: var(--space-5);
  background: var(--primary-color);
}
.band__title {
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: var(--lh-tight);
  text-align: center;
  color: var(--white);
}

/* 4-column mosaic — three tiles + a 41:59 stacked pair ----------- */
.lifts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px;
  height: clamp(28.125rem, 45vw, 41.25rem);
}
.lifts--spaced {
  margin-top: var(--space-5);
}
.lifts--cols-1 {
  grid-template-columns: minmax(0, 1fr);
}
.lifts--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lifts--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lifts__item {
  position: relative;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.lifts__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lifts__item:hover .lifts__img {
  transform: scale(1.05);
}
.lifts__stack {
  display: grid;
  grid-template-rows: 41fr 59fr;
  gap: 2px;
}

@media (max-width: 60rem) {
  .lifts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto;
  }
  .lifts__item,
  .lifts__stack {
    min-height: 15rem;
  }
  .lifts__stack {
    grid-template-rows: 1fr 1fr;
    min-height: 30.125rem;
  }
}
@media (max-width: 40rem) {
  .lifts {
    grid-template-columns: minmax(0, 1fr);
  }
  .lifts__item,
  .lifts__stack {
    min-height: 13.75rem;
  }
  .lifts__stack {
    min-height: 27.625rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lifts__img {
    transition: none;
  }
}
/* `.feature` full-bleed split (homepage + Our Services)
--------------------------------------------- */
/*--------------------------------------------------------------
# `.feature` — full-bleed image beside body copy

Shared by the homepage "Win–win partnership" and the Our Services
"Our Market" sections. The body's outer padding bleeds to the container
edge so the image sits flush against the viewport side.
--------------------------------------------------------------*/
.feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.feature__media {
  position: relative;
  min-height: 40rem;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.feature__media--tall {
  min-height: 49rem;
}
.feature__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature__body {
  padding: var(--space-7) max(var(--gutter), (100vw - var(--container-width)) / 2 + var(--gutter)) var(--space-7) var(--space-7);
}
.feature__body > * + * {
  margin-top: var(--space-2);
}
.feature__body .split__link, .feature__body .cta-row {
  margin-top: var(--space-4);
}
.feature__text {
  font-size: var(--fs-text-sm);
  line-height: var(--lh-body);
  color: var(--white);
}
.feature__link {
  margin-top: var(--space-4);
}

@media (max-width: 85rem) {
  .feature__body {
    padding-left: var(--space-5);
  }
}
@media (max-width: 60rem) {
  .feature {
    grid-template-columns: 1fr;
  }
  .feature__media {
    min-height: 21.25rem;
  }
  .feature__media--tall {
    min-height: 21.25rem;
  }
  .feature__body {
    max-width: var(--container-width);
    margin-inline: auto;
    padding: var(--space-6) var(--gutter);
  }
}
/* Icons
--------------------------------------------- */
/*--------------------------------------------------------------
# Icons

Monochrome glyphs painted with `background: currentColor` (or an explicit
token) through a CSS mask, so a single element inherits the colour of its
context. SVG path geometry is ported from design/assets/css/styles.css;
if the icon set grows, move these to inline SVG partials in the theme.
--------------------------------------------------------------*/
.icon {
  display: block;
  background: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.icon--phone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='12' viewBox='0 0 13 12'%3E%3Cpath d='M12.629 8.48 9.785 7.355a.66.66 0 0 0-.71.161l-1.26 1.421C5.839 8.076 4.248 6.608 3.316 4.784l1.539-1.163a.657.657 0 0 0 .175-.656L3.811.34A.656.656 0 0 0 3.113.014L.472.577A.66.66 0 0 0 0 1.125C0 7.137 5.279 12 11.781 12a.66.66 0 0 0 .595-.436l.609-2.437a.657.657 0 0 0-.356-.647Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='12' viewBox='0 0 13 12'%3E%3Cpath d='M12.629 8.48 9.785 7.355a.66.66 0 0 0-.71.161l-1.26 1.421C5.839 8.076 4.248 6.608 3.316 4.784l1.539-1.163a.657.657 0 0 0 .175-.656L3.811.34A.656.656 0 0 0 3.113.014L.472.577A.66.66 0 0 0 0 1.125C0 7.137 5.279 12 11.781 12a.66.66 0 0 0 .595-.436l.609-2.437a.657.657 0 0 0-.356-.647Z'/%3E%3C/svg%3E");
}

.icon--pin {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.003' height='14.082' viewBox='0 0 11.003 14.082'%3E%3Cpath d='M.003 5.157C.003 2.308 2.466 0 5.503 0s5.5 2.308 5.5 5.157c0 3.262-3.443 7.172-4.881 8.663-.338.35-.903.35-1.241 0C3.443 12.329 0 8.419 0 5.157h.003ZM5.503 7a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.003' height='14.082' viewBox='0 0 11.003 14.082'%3E%3Cpath d='M.003 5.157C.003 2.308 2.466 0 5.503 0s5.5 2.308 5.5 5.157c0 3.262-3.443 7.172-4.881 8.663-.338.35-.903.35-1.241 0C3.443 12.329 0 8.419 0 5.157h.003ZM5.503 7a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z'/%3E%3C/svg%3E");
}

.icon--mail {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10.5'%3E%3Cpath d='M1.313 0C.588 0 0 .588 0 1.313c0 .412.194.801.525 1.049l5.688 4.266c.467.35 1.107.35 1.574 0l5.688-4.266c.331-.248.525-.637.525-1.049C14 .588 13.412 0 12.688 0H1.313ZM0 3.609V8.75c0 .965.785 1.75 1.75 1.75h10.5c.965 0 1.75-.785 1.75-1.75V3.609L8.575 7.678a2.667 2.667 0 0 1-3.15 0L0 3.609Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10.5'%3E%3Cpath d='M1.313 0C.588 0 0 .588 0 1.313c0 .412.194.801.525 1.049l5.688 4.266c.467.35 1.107.35 1.574 0l5.688-4.266c.331-.248.525-.637.525-1.049C14 .588 13.412 0 12.688 0H1.313ZM0 3.609V8.75c0 .965.785 1.75 1.75 1.75h10.5c.965 0 1.75-.785 1.75-1.75V3.609L8.575 7.678a2.667 2.667 0 0 1-3.15 0L0 3.609Z'/%3E%3C/svg%3E");
}

.icon--quote {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.893' height='13.893' viewBox='0 0 13.893 13.893'%3E%3Cpath d='M12.059 1.503l.33.331c.257.257.257.673 0 .927l-.795.798-1.261-1.26.796-.796c.257-.257.673-.257.927 0h.003ZM5.737 6.898l3.669-3.672 1.261 1.26-3.672 3.67a.66.66 0 0 1-.285.258l-1.599.456.456-1.599a.66.66 0 0 1 .167-.285l.003.002ZM10.202.576 4.807 5.968a2.66 2.66 0 0 0-.5.851l-.782 2.734a.9.9 0 0 0 .166.646.9.9 0 0 0 .646.166l2.734-.782a2.66 2.66 0 0 0 .85-.5l5.395-5.392c.769-.769.769-2.016 0-2.784l-.33-.331c-.769-.768-2.016-.768-2.784 0ZM2.406 1.643C1.077 1.643 0 2.72 0 4.049v7.437c0 1.329 1.077 2.407 2.406 2.407h7.438c1.329 0 2.406-1.078 2.406-2.407V8.424a.656.656 0 0 0-1.312 0v3.062c0 .605-.49 1.094-1.094 1.094H2.406c-.604 0-1.093-.489-1.093-1.094V4.049c0-.604.489-1.094 1.093-1.094h3.063a.656.656 0 0 0 0-1.312H2.406Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.893' height='13.893' viewBox='0 0 13.893 13.893'%3E%3Cpath d='M12.059 1.503l.33.331c.257.257.257.673 0 .927l-.795.798-1.261-1.26.796-.796c.257-.257.673-.257.927 0h.003ZM5.737 6.898l3.669-3.672 1.261 1.26-3.672 3.67a.66.66 0 0 1-.285.258l-1.599.456.456-1.599a.66.66 0 0 1 .167-.285l.003.002ZM10.202.576 4.807 5.968a2.66 2.66 0 0 0-.5.851l-.782 2.734a.9.9 0 0 0 .166.646.9.9 0 0 0 .646.166l2.734-.782a2.66 2.66 0 0 0 .85-.5l5.395-5.392c.769-.769.769-2.016 0-2.784l-.33-.331c-.769-.768-2.016-.768-2.784 0ZM2.406 1.643C1.077 1.643 0 2.72 0 4.049v7.437c0 1.329 1.077 2.407 2.406 2.407h7.438c1.329 0 2.406-1.078 2.406-2.407V8.424a.656.656 0 0 0-1.312 0v3.062c0 .605-.49 1.094-1.094 1.094H2.406c-.604 0-1.093-.489-1.093-1.094V4.049c0-.604.489-1.094 1.093-1.094h3.063a.656.656 0 0 0 0-1.312H2.406Z'/%3E%3C/svg%3E");
}

/* Benefits + accreditation glyphs (verbatim geometry from design/assets/css/styles.css) */
.icon--fleet {
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233.119%22%20height%3D%2233.143%22%20viewBox%3D%220%200%2033.119%2033.143%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2030.172%200%20C%2030.142%200.006%2030.111%200.014%2030.082%200.023%20L%2027.36%200.023%20C%2027.166%200.023%2026.977%200.11%2026.842%200.248%20L%2016.717%2010.53%20L%2017.595%2011.655%20L%2020.317%208.91%20L%2020.813%2013.613%20L%2020.025%2014.783%20L%2020.835%2015.84%20C%2020.872%2015.888%2020.914%2015.927%2020.947%2015.975%20L%2029.52%203.128%20L%2029.52%2018.945%20C%2029.09%2019.196%2028.8%2019.651%2028.8%2020.183%20C%2028.8%2020.714%2029.09%2021.17%2029.52%2021.42%20L%2029.52%2022.32%20C%2029.52%2022.995%2029.959%2023.631%2030.645%2023.828%20C%2031.323%2024.022%2031.798%2024.694%2031.657%2025.493%20C%2031.559%2026.05%2031.07%2026.542%2030.51%2026.64%20C%2029.565%2026.806%2028.8%2026.114%2028.8%2025.223%20C%2028.803%2024.964%2028.668%2024.722%2028.443%2024.59%20C%2028.218%2024.461%2027.942%2024.461%2027.717%2024.59%20C%2027.492%2024.722%2027.357%2024.964%2027.36%2025.223%20C%2027.36%2026.975%2028.972%2028.37%2030.757%2028.058%20C%2031.936%2027.85%2032.87%2026.919%2033.075%2025.74%20C%2033.339%2024.233%2032.394%2022.843%2031.027%2022.455%20C%2030.999%2022.447%2030.96%2022.388%2030.96%2022.32%20L%2030.96%2021.42%20C%2031.39%2021.17%2031.68%2020.714%2031.68%2020.183%20C%2031.68%2019.651%2031.39%2019.196%2030.96%2018.945%20L%2030.96%200.788%20C%2030.963%200.754%2030.963%200.709%2030.96%200.675%20C%2030.954%200.644%2030.946%200.613%2030.937%200.585%20C%2030.923%200.523%2030.901%200.462%2030.87%200.405%20C%2030.839%200.349%2030.802%200.296%2030.757%200.248%20C%2030.738%200.222%2030.715%200.2%2030.69%200.18%20C%2030.637%200.135%2030.575%200.096%2030.51%200.068%20C%2030.487%200.059%2030.468%200.051%2030.442%200.045%20C%2030.355%200.014%2030.265%20-0.003%2030.172%200%20Z%20M%2027.652%201.463%20L%2028.89%201.463%20L%2026.437%205.153%20L%2026.235%202.88%20L%2027.652%201.463%20Z%20M%2024.907%204.253%20L%2025.087%206.458%20L%2022.567%206.615%20L%2024.907%204.253%20Z%20M%2024.592%207.92%20L%2022.05%2011.723%20L%2021.667%208.123%20L%2024.592%207.92%20Z%20M%204.32%2010.103%20C%203.13%2010.103%202.16%2011.073%202.16%2012.263%20L%202.16%2020.903%20C%202.16%2022.092%203.13%2023.063%204.32%2023.063%20L%206.48%2023.063%20L%206.48%2024.503%20L%204.32%2024.503%20C%201.938%2024.503%200%2026.441%200%2028.823%20C%200%2031.205%201.938%2033.143%204.32%2033.143%20L%2020.16%2033.143%20C%2022.542%2033.143%2024.48%2031.205%2024.48%2028.823%20C%2024.48%2026.441%2022.542%2024.503%2020.16%2024.503%20L%2018%2024.503%20L%2018%2023.063%20L%2018.72%2023.063%20C%2019.91%2023.063%2020.88%2022.092%2020.88%2020.903%20L%2020.88%2018.023%20C%2020.874%2017.393%2020.658%2016.766%2020.272%2016.268%20L%2016.132%2010.935%20C%2015.725%2010.415%2015.083%2010.103%2014.422%2010.103%20L%204.32%2010.103%20Z%20M%2011.745%2011.543%20L%2014.422%2011.543%20C%2014.645%2011.543%2014.85%2011.638%2014.985%2011.813%20L%2019.147%2017.168%20C%2019.339%2017.412%2019.434%2017.711%2019.44%2018.023%20L%2013.5%2018.023%20L%2011.745%2011.543%20Z%20M%207.92%2023.063%20L%2016.56%2023.063%20L%2016.56%2024.503%20L%207.92%2024.503%20L%207.92%2023.063%20Z%20M%204.32%2027.383%20C%205.116%2027.383%205.76%2028.027%205.76%2028.823%20C%205.76%2029.619%205.116%2030.263%204.32%2030.263%20C%203.524%2030.263%202.88%2029.619%202.88%2028.823%20C%202.88%2028.027%203.524%2027.383%204.32%2027.383%20Z%20M%208.64%2027.383%20C%209.436%2027.383%2010.08%2028.027%2010.08%2028.823%20C%2010.08%2029.619%209.436%2030.263%208.64%2030.263%20C%207.844%2030.263%207.2%2029.619%207.2%2028.823%20C%207.2%2028.027%207.844%2027.383%208.64%2027.383%20Z%20M%2015.84%2027.383%20C%2016.636%2027.383%2017.28%2028.027%2017.28%2028.823%20C%2017.28%2029.619%2016.636%2030.263%2015.84%2030.263%20C%2015.044%2030.263%2014.4%2029.619%2014.4%2028.823%20C%2014.4%2028.027%2015.044%2027.383%2015.84%2027.383%20Z%20M%2020.16%2027.383%20C%2020.956%2027.383%2021.6%2028.027%2021.6%2028.823%20C%2021.6%2029.619%2020.956%2030.263%2020.16%2030.263%20C%2019.364%2030.263%2018.72%2029.619%2018.72%2028.823%20C%2018.72%2028.027%2019.364%2027.383%2020.16%2027.383%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233.119%22%20height%3D%2233.143%22%20viewBox%3D%220%200%2033.119%2033.143%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2030.172%200%20C%2030.142%200.006%2030.111%200.014%2030.082%200.023%20L%2027.36%200.023%20C%2027.166%200.023%2026.977%200.11%2026.842%200.248%20L%2016.717%2010.53%20L%2017.595%2011.655%20L%2020.317%208.91%20L%2020.813%2013.613%20L%2020.025%2014.783%20L%2020.835%2015.84%20C%2020.872%2015.888%2020.914%2015.927%2020.947%2015.975%20L%2029.52%203.128%20L%2029.52%2018.945%20C%2029.09%2019.196%2028.8%2019.651%2028.8%2020.183%20C%2028.8%2020.714%2029.09%2021.17%2029.52%2021.42%20L%2029.52%2022.32%20C%2029.52%2022.995%2029.959%2023.631%2030.645%2023.828%20C%2031.323%2024.022%2031.798%2024.694%2031.657%2025.493%20C%2031.559%2026.05%2031.07%2026.542%2030.51%2026.64%20C%2029.565%2026.806%2028.8%2026.114%2028.8%2025.223%20C%2028.803%2024.964%2028.668%2024.722%2028.443%2024.59%20C%2028.218%2024.461%2027.942%2024.461%2027.717%2024.59%20C%2027.492%2024.722%2027.357%2024.964%2027.36%2025.223%20C%2027.36%2026.975%2028.972%2028.37%2030.757%2028.058%20C%2031.936%2027.85%2032.87%2026.919%2033.075%2025.74%20C%2033.339%2024.233%2032.394%2022.843%2031.027%2022.455%20C%2030.999%2022.447%2030.96%2022.388%2030.96%2022.32%20L%2030.96%2021.42%20C%2031.39%2021.17%2031.68%2020.714%2031.68%2020.183%20C%2031.68%2019.651%2031.39%2019.196%2030.96%2018.945%20L%2030.96%200.788%20C%2030.963%200.754%2030.963%200.709%2030.96%200.675%20C%2030.954%200.644%2030.946%200.613%2030.937%200.585%20C%2030.923%200.523%2030.901%200.462%2030.87%200.405%20C%2030.839%200.349%2030.802%200.296%2030.757%200.248%20C%2030.738%200.222%2030.715%200.2%2030.69%200.18%20C%2030.637%200.135%2030.575%200.096%2030.51%200.068%20C%2030.487%200.059%2030.468%200.051%2030.442%200.045%20C%2030.355%200.014%2030.265%20-0.003%2030.172%200%20Z%20M%2027.652%201.463%20L%2028.89%201.463%20L%2026.437%205.153%20L%2026.235%202.88%20L%2027.652%201.463%20Z%20M%2024.907%204.253%20L%2025.087%206.458%20L%2022.567%206.615%20L%2024.907%204.253%20Z%20M%2024.592%207.92%20L%2022.05%2011.723%20L%2021.667%208.123%20L%2024.592%207.92%20Z%20M%204.32%2010.103%20C%203.13%2010.103%202.16%2011.073%202.16%2012.263%20L%202.16%2020.903%20C%202.16%2022.092%203.13%2023.063%204.32%2023.063%20L%206.48%2023.063%20L%206.48%2024.503%20L%204.32%2024.503%20C%201.938%2024.503%200%2026.441%200%2028.823%20C%200%2031.205%201.938%2033.143%204.32%2033.143%20L%2020.16%2033.143%20C%2022.542%2033.143%2024.48%2031.205%2024.48%2028.823%20C%2024.48%2026.441%2022.542%2024.503%2020.16%2024.503%20L%2018%2024.503%20L%2018%2023.063%20L%2018.72%2023.063%20C%2019.91%2023.063%2020.88%2022.092%2020.88%2020.903%20L%2020.88%2018.023%20C%2020.874%2017.393%2020.658%2016.766%2020.272%2016.268%20L%2016.132%2010.935%20C%2015.725%2010.415%2015.083%2010.103%2014.422%2010.103%20L%204.32%2010.103%20Z%20M%2011.745%2011.543%20L%2014.422%2011.543%20C%2014.645%2011.543%2014.85%2011.638%2014.985%2011.813%20L%2019.147%2017.168%20C%2019.339%2017.412%2019.434%2017.711%2019.44%2018.023%20L%2013.5%2018.023%20L%2011.745%2011.543%20Z%20M%207.92%2023.063%20L%2016.56%2023.063%20L%2016.56%2024.503%20L%207.92%2024.503%20L%207.92%2023.063%20Z%20M%204.32%2027.383%20C%205.116%2027.383%205.76%2028.027%205.76%2028.823%20C%205.76%2029.619%205.116%2030.263%204.32%2030.263%20C%203.524%2030.263%202.88%2029.619%202.88%2028.823%20C%202.88%2028.027%203.524%2027.383%204.32%2027.383%20Z%20M%208.64%2027.383%20C%209.436%2027.383%2010.08%2028.027%2010.08%2028.823%20C%2010.08%2029.619%209.436%2030.263%208.64%2030.263%20C%207.844%2030.263%207.2%2029.619%207.2%2028.823%20C%207.2%2028.027%207.844%2027.383%208.64%2027.383%20Z%20M%2015.84%2027.383%20C%2016.636%2027.383%2017.28%2028.027%2017.28%2028.823%20C%2017.28%2029.619%2016.636%2030.263%2015.84%2030.263%20C%2015.044%2030.263%2014.4%2029.619%2014.4%2028.823%20C%2014.4%2028.027%2015.044%2027.383%2015.84%2027.383%20Z%20M%2020.16%2027.383%20C%2020.956%2027.383%2021.6%2028.027%2021.6%2028.823%20C%2021.6%2029.619%2020.956%2030.263%2020.16%2030.263%20C%2019.364%2030.263%2018.72%2029.619%2018.72%2028.823%20C%2018.72%2028.027%2019.364%2027.383%2020.16%2027.383%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
}

.icon--team {
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225.952%22%20height%3D%2236%22%20viewBox%3D%220%200%2025.952%2036%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2018.833%2026.901%20L%2018.833%2032.455%20L%2021.494%2033.563%20L%2021.494%2025.445%20C%2020.658%2026.018%2019.766%2026.506%2018.833%2026.901%20Z%20M%204.458%2025.445%20L%204.458%2033.507%20L%207.12%2032.4%20L%207.12%2026.901%20C%206.186%2026.506%205.294%2026.018%204.458%2025.445%20Z%20M%2012.976%2028.082%20C%2011.719%2028.083%2010.468%2027.927%209.25%2027.617%20L%209.25%2036%20L%2012.976%2034.449%20L%2016.702%2036%20L%2016.702%2027.617%20C%2015.484%2027.927%2014.233%2028.083%2012.976%2028.082%20Z%20M%2012.976%200%20C%205.821%200%200%205.821%200%2012.976%20C%200%2020.131%205.821%2025.952%2012.976%2025.952%20C%2020.131%2025.952%2025.952%2020.131%2025.952%2012.976%20C%2025.952%205.821%2020.131%200%2012.976%200%20Z%20M%2012.976%2023.21%20C%207.304%2023.21%202.689%2018.595%202.689%2012.923%20C%202.689%207.251%207.304%202.636%2012.976%202.636%20C%2018.648%202.636%2023.263%207.251%2023.263%2012.923%20C%2023.263%2018.595%2018.648%2023.21%2012.976%2023.21%20Z%20M%2012.976%204.766%20C%208.478%204.766%204.819%208.425%204.819%2012.923%20C%204.819%2017.421%208.478%2021.08%2012.976%2021.08%20C%2017.474%2021.08%2021.133%2017.421%2021.133%2012.923%20C%2021.133%208.425%2017.474%204.766%2012.976%204.766%20Z%20M%2016.329%2017.684%20L%2012.976%2015.921%20L%209.624%2017.684%20L%2010.264%2013.951%20L%207.552%2011.307%20L%2011.3%2010.762%20L%2012.976%207.366%20L%2014.652%2010.762%20L%2018.401%2011.307%20L%2015.688%2013.951%20L%2016.329%2017.684%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225.952%22%20height%3D%2236%22%20viewBox%3D%220%200%2025.952%2036%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2018.833%2026.901%20L%2018.833%2032.455%20L%2021.494%2033.563%20L%2021.494%2025.445%20C%2020.658%2026.018%2019.766%2026.506%2018.833%2026.901%20Z%20M%204.458%2025.445%20L%204.458%2033.507%20L%207.12%2032.4%20L%207.12%2026.901%20C%206.186%2026.506%205.294%2026.018%204.458%2025.445%20Z%20M%2012.976%2028.082%20C%2011.719%2028.083%2010.468%2027.927%209.25%2027.617%20L%209.25%2036%20L%2012.976%2034.449%20L%2016.702%2036%20L%2016.702%2027.617%20C%2015.484%2027.927%2014.233%2028.083%2012.976%2028.082%20Z%20M%2012.976%200%20C%205.821%200%200%205.821%200%2012.976%20C%200%2020.131%205.821%2025.952%2012.976%2025.952%20C%2020.131%2025.952%2025.952%2020.131%2025.952%2012.976%20C%2025.952%205.821%2020.131%200%2012.976%200%20Z%20M%2012.976%2023.21%20C%207.304%2023.21%202.689%2018.595%202.689%2012.923%20C%202.689%207.251%207.304%202.636%2012.976%202.636%20C%2018.648%202.636%2023.263%207.251%2023.263%2012.923%20C%2023.263%2018.595%2018.648%2023.21%2012.976%2023.21%20Z%20M%2012.976%204.766%20C%208.478%204.766%204.819%208.425%204.819%2012.923%20C%204.819%2017.421%208.478%2021.08%2012.976%2021.08%20C%2017.474%2021.08%2021.133%2017.421%2021.133%2012.923%20C%2021.133%208.425%2017.474%204.766%2012.976%204.766%20Z%20M%2016.329%2017.684%20L%2012.976%2015.921%20L%209.624%2017.684%20L%2010.264%2013.951%20L%207.552%2011.307%20L%2011.3%2010.762%20L%2012.976%207.366%20L%2014.652%2010.762%20L%2018.401%2011.307%20L%2015.688%2013.951%20L%2016.329%2017.684%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
}

.icon--safety {
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236.999%22%20height%3D%2235.999%22%20viewBox%3D%220%200%2036.999%2035.999%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2035.883%2014.974%20L%2035.6%2014.974%20C%2035.579%2014.952%2035.559%2014.929%2035.534%2014.907%20L%2031.556%2011.238%20L%2031.556%205.901%20C%2031.556%205.866%2031.552%205.832%2031.547%205.8%20C%2031.547%205.797%2031.547%205.797%2031.547%205.797%20C%2031.549%205.753%2031.549%205.707%2031.54%205.663%20L%2031.341%204.687%20C%2031.276%204.366%2030.834%204.183%2030.355%204.278%20C%2030.355%204.278%2025.504%205.145%2021.308%205.901%20L%2021.308%204.679%20C%2021.308%204.066%2020.809%203.57%2020.192%203.57%20L%2016.448%203.57%20L%2014%200.24%20L%2013.986%200.217%20C%2013.839%200.02%2013.58%20-0.05%2013.358%200.037%20C%2013.324%200.049%2013.29%200.066%2013.26%200.087%20C%2013.251%200.089%2013.245%200.095%2013.236%200.1%20C%2013.183%200.142%2013.14%200.187%2013.104%200.24%20L%2010.656%203.57%20L%206.914%203.57%20C%206.298%203.57%205.797%204.066%205.797%204.68%20L%205.797%209.086%20C%203.027%209.697%200.758%2010.2%200.758%2010.2%20C%200.28%2010.299%20-0.059%2010.635%200.008%2010.957%20L%200.207%2011.933%20C%200.271%2012.254%200.712%2012.437%201.194%2012.342%20C%201.194%2012.342%203.224%2011.98%205.797%2011.52%20L%205.797%2013.513%20C%205.797%2014.126%206.299%2014.625%206.914%2014.625%20L%209.128%2014.625%20L%209.128%2014.773%20C%209.128%2014.724%209.134%2014.673%209.152%2014.625%20L%209.153%2014.625%20C%209.135%2014.672%209.128%2014.724%209.128%2014.773%20L%209.129%2034.556%20C%209.129%2035.353%209.783%2035.999%2010.584%2035.999%20L%2016.525%2035.999%20C%2017.323%2035.999%2017.977%2035.353%2017.977%2034.556%20L%2017.977%2014.772%20L%2017.977%2014.624%20L%2020.192%2014.624%20C%2020.81%2014.624%2021.309%2014.126%2021.309%2013.512%20L%2021.309%208.513%20C%2024.723%207.762%2028.743%206.873%2030.215%206.546%20L%2030.215%2011.241%20L%2026.238%2014.908%20C%2026.215%2014.93%2026.195%2014.952%2026.172%2014.975%20L%2025.889%2014.975%20C%2025.274%2014.975%2024.772%2015.474%2024.772%2016.085%20L%2024.772%2026.007%20C%2024.772%2026.618%2025.274%2027.116%2025.889%2027.116%20L%2035.883%2027.116%20C%2036.497%2027.116%2036.999%2026.618%2036.999%2026.007%20L%2036.999%2016.084%20C%2037%2015.473%2036.497%2014.974%2035.883%2014.974%20Z%20M%2013.555%201.431%20L%2015.125%203.57%20L%2011.982%203.57%20L%2013.555%201.431%20Z%20M%2013.555%2023.953%20L%2010.514%2021.368%20L%2013.555%2018.784%20L%2016.592%2021.368%20L%2013.555%2023.953%20Z%20M%2013.555%2025.376%20L%2016.595%2027.964%20L%2013.555%2030.548%20L%2010.512%2027.964%20L%2013.555%2025.376%20Z%20M%2010.34%2014.624%20L%2016.767%2014.624%20L%2013.555%2017.357%20L%2010.34%2014.624%20Z%20M%2010.22%2015.947%20L%2012.715%2018.072%20L%2010.22%2020.192%20L%2010.22%2015.947%20Z%20M%2010.22%2022.544%20L%2012.715%2024.664%20L%2010.22%2026.787%20L%2010.22%2022.544%20Z%20M%2010.22%2029.136%20L%2012.715%2031.259%20L%2010.22%2033.38%20L%2010.22%2029.136%20Z%20M%2016.525%2034.918%20L%2010.584%2034.918%20C%2010.456%2034.918%2010.345%2034.853%2010.278%2034.756%20L%2013.555%2031.971%20L%2016.829%2034.756%20C%2016.76%2034.855%2016.65%2034.918%2016.525%2034.918%20Z%20M%2016.886%2033.38%20L%2014.392%2031.259%20L%2016.886%2029.136%20L%2016.886%2033.38%20Z%20M%2016.886%2026.788%20L%2014.392%2024.665%20L%2016.886%2022.545%20L%2016.886%2026.788%20Z%20M%2016.886%2020.192%20L%2014.392%2018.073%20L%2016.886%2015.948%20L%2016.886%2020.192%20Z%20M%2017.856%2027.625%20C%2017.853%2027.62%2017.851%2027.616%2017.847%2027.611%20C%2017.853%2027.618%2017.855%2027.623%2017.858%2027.627%20C%2017.858%2027.626%2017.857%2027.625%2017.856%2027.625%20Z%20M%2017.856%2021.029%20C%2017.853%2021.024%2017.851%2021.018%2017.847%2021.015%20C%2017.853%2021.019%2017.855%2021.026%2017.858%2021.031%20C%2017.858%2021.03%2017.857%2021.029%2017.856%2021.029%20Z%20M%2018.546%209.045%20C%2018.546%209.071%2018.544%209.097%2018.537%209.123%20C%2018.502%209.299%2018.344%209.433%2018.155%209.433%20L%2012.335%209.433%20C%2012.119%209.433%2011.943%209.258%2011.943%209.044%20L%2011.943%206.461%20C%2011.943%206.249%2012.119%206.075%2012.335%206.075%20L%2018.155%206.075%20C%2018.351%206.075%2018.514%206.217%2018.54%206.404%20C%2018.544%206.423%2018.546%206.44%2018.546%206.462%20L%2018.546%209.045%20Z%20M%2030.215%2014.974%20L%2028.209%2014.974%20L%2030.215%2013.129%20L%2030.215%2014.974%20Z%20M%2031.556%2014.974%20L%2031.556%2013.127%20L%2033.563%2014.974%20L%2031.556%2014.974%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236.999%22%20height%3D%2235.999%22%20viewBox%3D%220%200%2036.999%2035.999%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2035.883%2014.974%20L%2035.6%2014.974%20C%2035.579%2014.952%2035.559%2014.929%2035.534%2014.907%20L%2031.556%2011.238%20L%2031.556%205.901%20C%2031.556%205.866%2031.552%205.832%2031.547%205.8%20C%2031.547%205.797%2031.547%205.797%2031.547%205.797%20C%2031.549%205.753%2031.549%205.707%2031.54%205.663%20L%2031.341%204.687%20C%2031.276%204.366%2030.834%204.183%2030.355%204.278%20C%2030.355%204.278%2025.504%205.145%2021.308%205.901%20L%2021.308%204.679%20C%2021.308%204.066%2020.809%203.57%2020.192%203.57%20L%2016.448%203.57%20L%2014%200.24%20L%2013.986%200.217%20C%2013.839%200.02%2013.58%20-0.05%2013.358%200.037%20C%2013.324%200.049%2013.29%200.066%2013.26%200.087%20C%2013.251%200.089%2013.245%200.095%2013.236%200.1%20C%2013.183%200.142%2013.14%200.187%2013.104%200.24%20L%2010.656%203.57%20L%206.914%203.57%20C%206.298%203.57%205.797%204.066%205.797%204.68%20L%205.797%209.086%20C%203.027%209.697%200.758%2010.2%200.758%2010.2%20C%200.28%2010.299%20-0.059%2010.635%200.008%2010.957%20L%200.207%2011.933%20C%200.271%2012.254%200.712%2012.437%201.194%2012.342%20C%201.194%2012.342%203.224%2011.98%205.797%2011.52%20L%205.797%2013.513%20C%205.797%2014.126%206.299%2014.625%206.914%2014.625%20L%209.128%2014.625%20L%209.128%2014.773%20C%209.128%2014.724%209.134%2014.673%209.152%2014.625%20L%209.153%2014.625%20C%209.135%2014.672%209.128%2014.724%209.128%2014.773%20L%209.129%2034.556%20C%209.129%2035.353%209.783%2035.999%2010.584%2035.999%20L%2016.525%2035.999%20C%2017.323%2035.999%2017.977%2035.353%2017.977%2034.556%20L%2017.977%2014.772%20L%2017.977%2014.624%20L%2020.192%2014.624%20C%2020.81%2014.624%2021.309%2014.126%2021.309%2013.512%20L%2021.309%208.513%20C%2024.723%207.762%2028.743%206.873%2030.215%206.546%20L%2030.215%2011.241%20L%2026.238%2014.908%20C%2026.215%2014.93%2026.195%2014.952%2026.172%2014.975%20L%2025.889%2014.975%20C%2025.274%2014.975%2024.772%2015.474%2024.772%2016.085%20L%2024.772%2026.007%20C%2024.772%2026.618%2025.274%2027.116%2025.889%2027.116%20L%2035.883%2027.116%20C%2036.497%2027.116%2036.999%2026.618%2036.999%2026.007%20L%2036.999%2016.084%20C%2037%2015.473%2036.497%2014.974%2035.883%2014.974%20Z%20M%2013.555%201.431%20L%2015.125%203.57%20L%2011.982%203.57%20L%2013.555%201.431%20Z%20M%2013.555%2023.953%20L%2010.514%2021.368%20L%2013.555%2018.784%20L%2016.592%2021.368%20L%2013.555%2023.953%20Z%20M%2013.555%2025.376%20L%2016.595%2027.964%20L%2013.555%2030.548%20L%2010.512%2027.964%20L%2013.555%2025.376%20Z%20M%2010.34%2014.624%20L%2016.767%2014.624%20L%2013.555%2017.357%20L%2010.34%2014.624%20Z%20M%2010.22%2015.947%20L%2012.715%2018.072%20L%2010.22%2020.192%20L%2010.22%2015.947%20Z%20M%2010.22%2022.544%20L%2012.715%2024.664%20L%2010.22%2026.787%20L%2010.22%2022.544%20Z%20M%2010.22%2029.136%20L%2012.715%2031.259%20L%2010.22%2033.38%20L%2010.22%2029.136%20Z%20M%2016.525%2034.918%20L%2010.584%2034.918%20C%2010.456%2034.918%2010.345%2034.853%2010.278%2034.756%20L%2013.555%2031.971%20L%2016.829%2034.756%20C%2016.76%2034.855%2016.65%2034.918%2016.525%2034.918%20Z%20M%2016.886%2033.38%20L%2014.392%2031.259%20L%2016.886%2029.136%20L%2016.886%2033.38%20Z%20M%2016.886%2026.788%20L%2014.392%2024.665%20L%2016.886%2022.545%20L%2016.886%2026.788%20Z%20M%2016.886%2020.192%20L%2014.392%2018.073%20L%2016.886%2015.948%20L%2016.886%2020.192%20Z%20M%2017.856%2027.625%20C%2017.853%2027.62%2017.851%2027.616%2017.847%2027.611%20C%2017.853%2027.618%2017.855%2027.623%2017.858%2027.627%20C%2017.858%2027.626%2017.857%2027.625%2017.856%2027.625%20Z%20M%2017.856%2021.029%20C%2017.853%2021.024%2017.851%2021.018%2017.847%2021.015%20C%2017.853%2021.019%2017.855%2021.026%2017.858%2021.031%20C%2017.858%2021.03%2017.857%2021.029%2017.856%2021.029%20Z%20M%2018.546%209.045%20C%2018.546%209.071%2018.544%209.097%2018.537%209.123%20C%2018.502%209.299%2018.344%209.433%2018.155%209.433%20L%2012.335%209.433%20C%2012.119%209.433%2011.943%209.258%2011.943%209.044%20L%2011.943%206.461%20C%2011.943%206.249%2012.119%206.075%2012.335%206.075%20L%2018.155%206.075%20C%2018.351%206.075%2018.514%206.217%2018.54%206.404%20C%2018.544%206.423%2018.546%206.44%2018.546%206.462%20L%2018.546%209.045%20Z%20M%2030.215%2014.974%20L%2028.209%2014.974%20L%2030.215%2013.129%20L%2030.215%2014.974%20Z%20M%2031.556%2014.974%20L%2031.556%2013.127%20L%2033.563%2014.974%20L%2031.556%2014.974%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
}

.icon--badge {
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240.370%22%20height%3D%2256%22%20viewBox%3D%220%200%2040.370%2056%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2029.295%2041.845%20L%2029.295%2050.486%20L%2033.435%2052.209%20L%2033.435%2039.581%20C%2032.134%2040.473%2030.747%2041.232%2029.295%2041.845%20Z%20M%206.935%2039.581%20L%206.935%2052.123%20L%2011.075%2050.4%20L%2011.075%2041.845%20C%209.622%2041.232%208.235%2040.473%206.935%2039.581%20Z%20M%2020.185%2043.684%20C%2018.23%2043.685%2016.283%2043.441%2014.388%2042.959%20L%2014.388%2056%20L%2020.185%2053.588%20L%2025.981%2056%20L%2025.981%2042.959%20C%2024.087%2043.441%2022.14%2043.685%2020.185%2043.684%20Z%20M%2020.185%200%20C%209.055%200%200%209.055%200%2020.185%20C%200%2031.315%209.055%2040.37%2020.185%2040.37%20C%2031.315%2040.37%2040.37%2031.315%2040.37%2020.185%20C%2040.37%209.055%2031.315%200%2020.185%200%20Z%20M%2020.185%2036.105%20C%2011.361%2036.105%204.183%2028.926%204.183%2020.102%20C%204.183%2011.279%2011.361%204.1%2020.185%204.1%20C%2029.008%204.1%2036.187%2011.279%2036.187%2020.102%20C%2036.187%2028.926%2029.009%2036.105%2020.185%2036.105%20Z%20M%2020.185%207.414%20C%2013.188%207.414%207.496%2013.106%207.496%2020.102%20C%207.496%2027.099%2013.188%2032.791%2020.185%2032.791%20C%2027.181%2032.791%2032.874%2027.099%2032.874%2020.102%20C%2032.874%2013.106%2027.181%207.414%2020.185%207.414%20Z%20M%2025.4%2027.508%20L%2020.185%2024.766%20L%2014.97%2027.508%20L%2015.966%2021.701%20L%2011.747%2017.588%20L%2017.578%2016.741%20L%2020.185%2011.458%20L%2022.792%2016.741%20L%2028.623%2017.588%20L%2024.404%2021.701%20L%2025.4%2027.508%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240.370%22%20height%3D%2256%22%20viewBox%3D%220%200%2040.370%2056%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M%2029.295%2041.845%20L%2029.295%2050.486%20L%2033.435%2052.209%20L%2033.435%2039.581%20C%2032.134%2040.473%2030.747%2041.232%2029.295%2041.845%20Z%20M%206.935%2039.581%20L%206.935%2052.123%20L%2011.075%2050.4%20L%2011.075%2041.845%20C%209.622%2041.232%208.235%2040.473%206.935%2039.581%20Z%20M%2020.185%2043.684%20C%2018.23%2043.685%2016.283%2043.441%2014.388%2042.959%20L%2014.388%2056%20L%2020.185%2053.588%20L%2025.981%2056%20L%2025.981%2042.959%20C%2024.087%2043.441%2022.14%2043.685%2020.185%2043.684%20Z%20M%2020.185%200%20C%209.055%200%200%209.055%200%2020.185%20C%200%2031.315%209.055%2040.37%2020.185%2040.37%20C%2031.315%2040.37%2040.37%2031.315%2040.37%2020.185%20C%2040.37%209.055%2031.315%200%2020.185%200%20Z%20M%2020.185%2036.105%20C%2011.361%2036.105%204.183%2028.926%204.183%2020.102%20C%204.183%2011.279%2011.361%204.1%2020.185%204.1%20C%2029.008%204.1%2036.187%2011.279%2036.187%2020.102%20C%2036.187%2028.926%2029.009%2036.105%2020.185%2036.105%20Z%20M%2020.185%207.414%20C%2013.188%207.414%207.496%2013.106%207.496%2020.102%20C%207.496%2027.099%2013.188%2032.791%2020.185%2032.791%20C%2027.181%2032.791%2032.874%2027.099%2032.874%2020.102%20C%2032.874%2013.106%2027.181%207.414%2020.185%207.414%20Z%20M%2025.4%2027.508%20L%2020.185%2024.766%20L%2014.97%2027.508%20L%2015.966%2021.701%20L%2011.747%2017.588%20L%2017.578%2016.741%20L%2020.185%2011.458%20L%2022.792%2016.741%20L%2028.623%2017.588%20L%2024.404%2021.701%20L%2025.4%2027.508%20Z%22%20fill%3D%22currentColor%22%20fill-rule%3D%22nonzero%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E");
}

.icon--flex {
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036%2036%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M18%201.5C8.887%201.5%201.5%208.887%201.5%2018S8.887%2034.5%2018%2034.5%2034.5%2027.113%2034.5%2018%2027.113%201.5%2018%201.5Zm0%2030.4C10.32%2031.9%204.1%2025.68%204.1%2018S10.32%204.1%2018%204.1%2031.9%2010.32%2031.9%2018%2025.68%2031.9%2018%2031.9Z%22%20fill%3D%22currentColor%22%2F%3E%3Cpath%20d%3D%22M19.3%209.2h-2.6v9.34l6.53%206.53%201.84-1.84-5.77-5.77V9.2Z%22%20fill%3D%22currentColor%22%2F%3E%3Cpath%20d%3D%22M18%200h2.2v3H18Z%22%20fill%3D%22currentColor%22%20opacity%3D%220%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036%2036%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M18%201.5C8.887%201.5%201.5%208.887%201.5%2018S8.887%2034.5%2018%2034.5%2034.5%2027.113%2034.5%2018%2027.113%201.5%2018%201.5Zm0%2030.4C10.32%2031.9%204.1%2025.68%204.1%2018S10.32%204.1%2018%204.1%2031.9%2010.32%2031.9%2018%2025.68%2031.9%2018%2031.9Z%22%20fill%3D%22currentColor%22%2F%3E%3Cpath%20d%3D%22M19.3%209.2h-2.6v9.34l6.53%206.53%201.84-1.84-5.77-5.77V9.2Z%22%20fill%3D%22currentColor%22%2F%3E%3Cpath%20d%3D%22M18%200h2.2v3H18Z%22%20fill%3D%22currentColor%22%20opacity%3D%220%22%2F%3E%3C%2Fsvg%3E");
}

/* Contact info + social
--------------------------------------------- */
/*--------------------------------------------------------------
# Contact info rows + social links
--------------------------------------------------------------*/
.info {
  display: flex;
  align-items: center;
  gap: 0.6875rem;
}
.info > span {
  min-width: 0;
}
.info__icon {
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  flex: none;
  background: var(--primary-10);
}
.info__icon .icon {
  width: 0.875rem;
  height: 0.875rem;
  background: var(--primary-color);
}
.info__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--white);
}
.info__value {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--white);
  overflow-wrap: anywhere;
}
.info__value--address {
  font-weight: 400;
}
.info a.info__value:hover,
.info a.info__value:focus {
  color: var(--primary-color);
}

.social {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.social__link {
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background: var(--primary-color);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: opacity var(--transition);
}
.social__link:hover, .social__link:focus {
  opacity: 0.7;
}
.social__link--facebook {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.883' height='39.115' viewBox='0 0 21.883 39.115'%3E%3Cpath d='M20.148 22.45 21.494 15.115H13.655V12.521c0-3.875 1.521-5.366 5.456-5.366 1.222 0 2.206.03 2.772.089V.596C20.81.298 18.186 0 16.666 0 8.646 0 4.949 3.786 4.949 11.955v3.16H0v7.335h4.949v15.959A20.5 20.5 0 0 0 10.746 39.115c.984 0 1.955-.06 2.908-.175V22.45h6.493Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.883' height='39.115' viewBox='0 0 21.883 39.115'%3E%3Cpath d='M20.148 22.45 21.494 15.115H13.655V12.521c0-3.875 1.521-5.366 5.456-5.366 1.222 0 2.206.03 2.772.089V.596C20.81.298 18.186 0 16.666 0 8.646 0 4.949 3.786 4.949 11.955v3.16H0v7.335h4.949v15.959A20.5 20.5 0 0 0 10.746 39.115c.984 0 1.955-.06 2.908-.175V22.45h6.493Z'/%3E%3C/svg%3E");
}
.social__link--instagram {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm0 2.4A4.6 4.6 0 0 0 2.4 7v10A4.6 4.6 0 0 0 7 21.6h10a4.6 4.6 0 0 0 4.6-4.6V7A4.6 4.6 0 0 0 17 2.4H7Z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5.8a6.2 6.2 0 1 1 0 12.4 6.2 6.2 0 0 1 0-12.4Zm0 2.4a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 0 0 0-7.6Z'/%3E%3Ccircle cx='18.4' cy='5.6' r='1.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 0h10a7 7 0 0 1 7 7v10a7 7 0 0 1-7 7H7a7 7 0 0 1-7-7V7a7 7 0 0 1 7-7Zm0 2.4A4.6 4.6 0 0 0 2.4 7v10A4.6 4.6 0 0 0 7 21.6h10a4.6 4.6 0 0 0 4.6-4.6V7A4.6 4.6 0 0 0 17 2.4H7Z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5.8a6.2 6.2 0 1 1 0 12.4 6.2 6.2 0 0 1 0-12.4Zm0 2.4a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 0 0 0-7.6Z'/%3E%3Ccircle cx='18.4' cy='5.6' r='1.5'/%3E%3C/svg%3E");
}

/* Page banner (interior-page hero)
--------------------------------------------- */
/*--------------------------------------------------------------
# Page banner (interior-page hero)

Ported from `.banner` / `.banner--center` in design/about-us.html.
Fluid — no media queries: the title rides `--fs-display` (32 → 56px) and
the height is a clamp, so it resolves at every width.
--------------------------------------------------------------*/
.page-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(23.75rem, 17rem + 18vw, 32.1875rem);
  background: var(--dark-alt-color);
  overflow: hidden;
}
.page-hero__img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--dark-50);
}
.page-hero__inner {
  position: relative;
  z-index: 2;
}
.page-hero__title {
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: var(--lh-tight);
  color: var(--white);
}
.page-hero__excerpt {
  max-width: 55ch;
  margin-top: var(--space-2);
  font-size: var(--fs-lead);
  font-weight: 500;
  line-height: 1.3;
  color: var(--white);
}
.page-hero--center {
  align-items: flex-end;
  padding-bottom: var(--space-4);
  text-align: center;
}
.page-hero--center .page-hero__excerpt {
  margin-inline: auto;
}

/* Header
--------------------------------------------- */
/*--------------------------------------------------------------
# Site header
--------------------------------------------------------------*/
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--body-color);
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  transition: box-shadow 0.25s ease;
}
.site-header__inner {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  max-width: var(--container-width);
  min-height: var(--header-height);
  margin-inline: auto;
  padding-inline: var(--gutter);
  transition: min-height 0.25s ease;
}
.site-header.is-scrolled {
  box-shadow: 0 0.375rem 1.125rem rgba(0, 0, 0, 0.35);
}
.site-header.is-scrolled .site-header__inner {
  min-height: 4.625rem;
}
.site-header.is-scrolled .custom-logo {
  transform: scale(0.88);
  transform-origin: left center;
}
.site-header__branding {
  flex: none;
}
.site-header__nav {
  margin-inline: auto;
}
.site-header__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: var(--lh-heading);
}
.site-header__title a {
  color: var(--white);
  text-decoration: none;
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: none;
}
.site-header .custom-logo {
  display: block;
  width: 8.3125rem;
  height: auto;
  transition: transform 0.25s ease;
}

@media (max-width: 68.75rem) {
  .site-header__inner {
    gap: var(--space-2) var(--space-3);
  }
  .site-header__branding {
    margin-right: auto;
  }
  .site-header__actions {
    order: 2;
  }
  .site-header__nav {
    order: 3;
    margin-inline: 0;
  }
  .site-header__actions .btn {
    min-width: 0;
    padding-inline: 1rem;
  }
}
@media (max-width: 40rem) {
  .site-header__actions .btn--outline {
    display: none;
  }
}
@media (max-width: 32.5rem) {
  .site-header__inner {
    gap: var(--space-1);
  }
  .site-header__actions {
    gap: 0.5rem;
    min-width: 0;
  }
  .site-header__actions .btn--solid {
    min-width: 0;
    padding: 0.75rem 0.875rem;
    font-size: 0.9375rem;
    line-height: 1rem;
    white-space: nowrap;
  }
  .custom-logo {
    width: 6.5rem;
  }
  .site-header__title {
    font-size: 1rem;
  }
}
@media (max-width: 23.75rem) {
  .site-header__actions .btn--solid {
    padding: 0.75rem;
    font-size: 0;
    gap: 0;
    min-height: 2.9rem;
  }
  .site-header__actions .btn--solid .btn__icon {
    width: 1.125rem;
    height: 1.125rem;
  }
  .custom-logo {
    width: 5.75rem;
  }
}
/* Navigation
--------------------------------------------- */
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
.main-navigation {
  display: flex;
  align-items: center;
}
.main-navigation .nav-menu {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  position: relative;
  display: block;
  padding-block: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: var(--white);
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--transition);
}
.main-navigation a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.375rem;
  width: 100%;
  height: 2px;
  background: var(--primary-color);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_ancestor > a {
  color: var(--primary-color);
}
.main-navigation a:hover::after,
.main-navigation a:focus::after,
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after {
  transform: scaleX(1);
  transform-origin: left center;
}

@media (prefers-reduced-motion: reduce) {
  .main-navigation a::after {
    transition: none;
  }
}
.menu-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  color: var(--white);
  cursor: pointer;
}
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after {
  display: block;
  width: 1.25rem;
  height: 2px;
  margin-inline: auto;
  background: currentColor;
}
.menu-toggle__icon {
  position: relative;
}
.menu-toggle__icon::before, .menu-toggle__icon::after {
  content: "";
  position: absolute;
  left: 0;
}
.menu-toggle__icon::before {
  top: -0.4375rem;
}
.menu-toggle__icon::after {
  top: 0.4375rem;
}

@media (max-width: 68.75rem) {
  .menu-toggle {
    display: grid;
    place-items: center;
  }
  .main-navigation .nav-menu {
    display: none;
  }
  .main-navigation.toggled .nav-menu {
    position: absolute;
    inset: 100% 0 auto 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.125rem;
    width: 100%;
    padding: var(--space-3) var(--gutter);
    background: var(--body-color);
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.35);
  }
  .main-navigation.toggled .nav-menu a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
  }
}
/* Comment / fallback post navigation (prev–next links).
   The single-post prev/next card is styled in components/blog/_blog.scss;
   the blog / archive listing uses the numbered `.pagination` below. */
.site-main .comment-navigation,
.site-main .posts-navigation {
  margin: var(--space-4) 0 0;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links {
  display: flex;
  gap: var(--space-3);
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous {
  flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next {
  flex: 1 0 50%;
  text-align: end;
}
.comment-navigation a,
.posts-navigation a {
  font-weight: 700;
  color: var(--white);
}
.comment-navigation a:hover,
.posts-navigation a:hover {
  color: var(--primary-color);
}

/* Numbered pagination — blog, archive, search (`the_posts_pagination()`) */
.pagination {
  margin-top: var(--space-5);
}
.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.pagination .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0 0.5rem;
  border: 1px solid var(--border-color);
  font-weight: 700;
  color: var(--white);
  transition: color var(--transition), border-color var(--transition), background-color var(--transition);
}
.pagination .page-numbers:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}
.pagination .page-numbers.current {
  border-color: var(--primary-color);
  background: var(--primary-color);
  color: var(--white);
}
.pagination .page-numbers.dots {
  border-color: transparent;
}
.pagination .page-numbers.dots:hover {
  color: var(--white);
}

/* Footer
--------------------------------------------- */
/*--------------------------------------------------------------
# Site footer
--------------------------------------------------------------*/
.footer {
  background: var(--grey-footer-color);
  color: var(--white);
}
.footer address {
  font-style: italic;
}
.footer__inner, .footer__bar {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.footer__inner {
  display: grid;
  grid-template-columns: 16.5rem 1fr 1fr 11.4375rem;
  gap: var(--space-4);
  padding-block: 5.3125rem var(--space-4);
}
.footer__brand {
  align-self: start;
}
.footer__logo {
  display: block;
}
.footer__logo img {
  width: 100%;
  max-width: 16.5rem;
  height: auto;
}
.footer__col > * + * {
  margin-top: var(--space-2);
}
.footer__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--white);
}
.footer__text {
  font-size: var(--fs-text-sm);
  line-height: var(--lh-body);
}
.footer__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}
.footer__col--contact {
  font-style: normal;
}
.footer__col--contact > * + * {
  margin-top: 0.875rem;
}
.footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.footer__links a {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  text-decoration: none;
  transition: color var(--transition);
}
.footer__links a:hover, .footer__links a:focus {
  color: var(--primary-color);
}
.footer__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding-block: var(--space-2);
  border-top: 1px solid var(--border-color);
  font-size: 0.75rem;
  line-height: 1.5;
}
.footer__copyright {
  margin: 0;
}

@media (max-width: 68.75rem) {
  .footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  .footer__inner {
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--space-5) var(--space-3);
  }
  .footer__logo img {
    margin-inline: auto;
  }
}
/* Homepage sections
--------------------------------------------- */
/*--------------------------------------------------------------
# Homepage sections
--------------------------------------------------------------*/
/* Hero -------------------------------------------------------- */
.hero {
  position: relative;
  min-height: clamp(23.75rem, 62vh, 65.5rem);
  background: var(--dark-alt-color);
  overflow: hidden;
}
.hero__poster, .hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__video {
  z-index: 1;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, var(--dark-50) 0%, rgba(20, 26, 31, 0.12) 45%, rgba(20, 26, 31, 0.55) 100%);
}

@media (min-width: 60rem) {
  .hero {
    min-height: 100vh;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero__video {
    display: none;
  }
}
/* Shared display type ---------------------------------------- */
.h1,
.h2 {
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--heading-color);
}
.h1--white,
.h2--white {
  color: var(--white);
}

.eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  line-height: 1;
  color: var(--white);
}
.eyebrow--sm {
  font-size: var(--fs-eyebrow-sm);
}

.lead {
  font-size: var(--fs-lead);
  font-weight: 500;
  line-height: 1.3;
  color: var(--white);
}

.text {
  font-size: var(--fs-text);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--white);
}
.text--sm {
  font-size: var(--fs-text-sm);
}
.text--center {
  text-align: center;
}

/* Introduction (front-page editor content) ------------------- */
.home-intro__content > * {
  margin-bottom: 0;
}
.home-intro__content > * + * {
  margin-top: var(--space-2);
}
.home-intro__content .wp-block-columns {
  gap: var(--space-6);
}
.home-intro__content .wp-block-column > * + * {
  margin-top: var(--space-2);
}
.home-intro__content h2 {
  font-size: var(--fs-display);
  line-height: var(--lh-heading);
}
.home-intro__content p {
  max-width: 65ch;
  font-size: var(--fs-text);
  line-height: var(--lh-body);
}
.home-intro__content .wp-block-column:first-child > p:first-child {
  max-width: none;
  font-size: var(--fs-lead);
  font-weight: 400;
  line-height: 1.3;
}
.home-intro__content a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-weight: 700;
  color: var(--white);
  border-bottom: 1px solid var(--primary-color);
  transition: gap var(--transition), color var(--transition);
}
.home-intro__content a::after {
  content: "";
  width: 1.1875rem;
  height: 0.5rem;
  flex: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -4 19.5 8'%3E%3Cpath d='M19.354.354a.5.5 0 0 0 0-.708L16.172-3.536a.5.5 0 1 0-.708.708L18.293 0l-2.829 2.828a.5.5 0 0 0 .708.708L19.354.354ZM0 0v.5h19v-1H0V0Z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -4 19.5 8'%3E%3Cpath d='M19.354.354a.5.5 0 0 0 0-.708L16.172-3.536a.5.5 0 1 0-.708.708L18.293 0l-2.829 2.828a.5.5 0 0 0 .708.708L19.354.354ZM0 0v.5h19v-1H0V0Z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.home-intro__content a:hover, .home-intro__content a:focus {
  gap: 1.125rem;
  color: var(--white);
}

@media (prefers-reduced-motion: reduce) {
  .home-intro__content a {
    transition: color var(--transition);
  }
}
/* Section head --------------------------------------------------- */
.section-head {
  max-width: 51.25rem;
  margin: 0 auto var(--space-5);
  text-align: center;
}
.section-head .eyebrow {
  display: block;
  margin-bottom: var(--space-1);
}
.section-head__title {
  font-size: var(--fs-display);
  line-height: var(--lh-heading);
}
.section-head__title--white {
  color: var(--white);
}
.section-head__text {
  margin-top: 0.875rem;
  font-size: var(--fs-text);
  line-height: var(--lh-body);
}

/* Stats band -------------------------------------------------- */
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  min-height: 15.6875rem;
  margin: 0;
  padding-block: var(--space-4);
  background: var(--primary-color);
  color: var(--white);
  text-align: left;
}

.stat {
  padding-inline: var(--space-4);
}
.stat + .stat {
  border-left: 1px solid var(--border-color);
}
.stat__value {
  font-size: var(--fs-stat);
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--white);
}
.stat__label {
  margin-top: 0.875rem;
  font-size: var(--fs-text-sm);
  font-weight: 400;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--white);
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 60rem) {
  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) 0;
  }
  .stat:nth-child(odd) {
    border-left: 0;
  }
}
@media (max-width: 40rem) {
  .stats {
    gap: var(--space-4) var(--space-2);
  }
  .stat {
    padding-inline: var(--space-2);
  }
  .stat + .stat {
    border-left: 0;
  }
}
/* Cards (What We Do) ---------------------------------------------- */
.cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4) 0;
}

.card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  margin-left: -1px;
  padding: 0.75rem 0.75rem 1.875rem;
  border: 1px solid var(--grey-line-color);
  background: var(--white);
}
.card:first-child {
  margin-left: 0;
}
.card__media {
  aspect-ratio: 295/186;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card__title {
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  color: var(--dark-color);
}
.card__text {
  padding-inline: 1.125rem;
  font-size: var(--fs-text-sm);
  line-height: 1.375;
  text-align: center;
  color: var(--grey-body-color);
}
.card__foot {
  display: flex;
  justify-content: center;
  margin-top: auto;
  padding-top: var(--space-2);
}

@media (max-width: 68.75rem) {
  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card {
    margin-left: 0;
  }
}
@media (max-width: 40rem) {
  .cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}
.home-partnership .feature__body {
  padding-block: 5.5rem;
}

/* Why Choose Us (benefits panel) ---------------------------- */
.benefits {
  position: relative;
  padding-block: var(--space-6);
  background: var(--body-color);
}
.benefits::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(50% + 21.5625rem);
  background: var(--primary-color);
}
.benefits__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38.4375rem;
  gap: var(--space-3);
  align-items: center;
}
.benefits__body > * + * {
  margin-top: var(--space-2);
}
.benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-2);
  margin-top: var(--space-5);
}
.benefits__media {
  position: relative;
  min-height: 30.75rem;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.benefits__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.benefit__head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.benefit__num {
  display: block;
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  line-height: 1.1;
  color: var(--white);
}
.benefit__name {
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1;
  color: var(--white);
}
.benefit__text {
  margin-top: 0.875rem;
  font-size: var(--fs-text-sm);
  line-height: 1.25;
  color: var(--white);
}

.icon-box {
  display: grid;
  place-items: center;
  width: 3.8125rem;
  height: 3.8125rem;
  flex: none;
  background: var(--white-05);
  box-shadow: inset 0 0 0 1px var(--white-50);
}
.icon-box .icon {
  width: 2.25rem;
  height: 2.25rem;
  background: var(--white);
}

.benefits--full {
  padding-block: var(--space-7);
}
.benefits--full::before {
  width: 100%;
}
.benefits--full .benefits__inner {
  grid-template-columns: minmax(0, 1fr);
}
.benefits--full .benefits__head {
  max-width: 56.25rem;
  margin: 0 auto var(--space-5);
  text-align: center;
}
.benefits--full .benefits__head .lead {
  margin-top: var(--space-1);
  font-size: var(--fs-lead-sm);
  font-weight: 400;
  line-height: 1.4;
}
.benefits--full .benefits__grid {
  margin-top: 0;
  gap: var(--space-5) var(--space-6);
}

@media (max-width: 85rem) {
  .benefits__inner {
    grid-template-columns: minmax(0, 1fr) 28.75rem;
  }
  .benefits::before {
    width: calc(50% + 15rem);
  }
}
@media (max-width: 60rem) {
  .benefits::before {
    width: 100%;
  }
  .benefits__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .benefits__media {
    order: -1;
    min-height: 20rem;
  }
}
@media (max-width: 60rem) {
  .benefits--full .benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 40rem) {
  .benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Accreditation -------------------------------------------------- */
.accred {
  display: grid;
  grid-template-columns: 25.3125rem 1fr;
  gap: var(--space-6);
  align-items: start;
}
.accred__mark {
  display: grid;
  place-items: center;
  margin: 0;
  padding: var(--space-3);
  background: var(--dark-alt-color);
}
.accred__mark img {
  width: 100%;
  max-width: 13.75rem;
  height: auto;
}
.accred__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}
.accred__title {
  margin-top: var(--space-1);
}
.accred__badge {
  display: grid;
  place-items: center;
  width: 5.125rem;
  height: 5.125rem;
  flex: none;
  background: var(--white-05);
  box-shadow: inset 0 0 0 1px var(--white-50);
}
.accred__badge .icon {
  width: 3.5rem;
  height: 3.5rem;
  background: var(--white);
}
.accred__body > * + *, .accred__intro {
  margin-top: var(--space-2);
}
.accred__intro {
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--white);
}
.accred__closing {
  max-width: 50rem;
  margin: var(--space-6) auto 0;
  text-align: center;
}

.iso {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
}
.iso__item {
  padding-top: var(--space-3);
  border-top: 1px solid var(--white);
}
.iso__name {
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1.25;
  color: var(--white);
}
.iso__text {
  margin-top: 0.5rem;
  font-size: var(--fs-text-sm);
  line-height: 1.25;
  color: var(--white);
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 60rem) {
  .accred {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  .accred__mark {
    max-width: 21.25rem;
  }
  .iso {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  .iso {
    grid-template-columns: minmax(0, 1fr);
  }
  .accred__head {
    flex-wrap: wrap;
    gap: var(--space-3);
  }
  .accred__badge {
    width: 4rem;
    height: 4rem;
  }
  .accred__badge .icon {
    width: 2.75rem;
    height: 2.75rem;
  }
  .home-intro__content .wp-block-columns {
    gap: var(--space-4);
  }
}
/* Motion & hover ------------------------------------------------- */
.hero__poster,
.hero__video {
  transform: scale(1.08);
  transition: transform 0.1s linear;
}

.card {
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s ease;
}
.card__img {
  transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.card__title {
  transition: color var(--transition);
}
.card:hover {
  transform: translateY(-0.375rem);
  box-shadow: 0 1.125rem 2.375rem rgba(20, 26, 31, 0.16);
}
.card:hover .card__img {
  transform: scale(1.07);
}
.card:hover .card__title {
  color: var(--primary-color);
}

.stat {
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.stat:hover {
  transform: translateY(-0.25rem);
}

.iso__item {
  transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.iso__item:hover {
  border-top-color: var(--primary-color);
  transform: translateY(-0.1875rem);
}

@media (prefers-reduced-motion: reduce) {
  .hero__poster,
  .hero__video,
  .card,
  .card__img,
  .stat,
  .iso__item {
    transition: none;
    transform: none;
  }
}
/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
  margin-bottom: 1.5em;
}

.entry-content > :last-child {
  margin-bottom: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Blog — listing, single, archive, search, 404
--------------------------------------------- */
/*--------------------------------------------------------------
# Blog — listing, single post, archive, search, 404

No dedicated design page covers these views, so the layout is assembled
from the site's own language: the interior `.page-hero` banner, `.section`
rhythm, `.container`, square corners, orange headings, and the white
hairline cards used for "What We Do" on the homepage.

  - Listings (blog / archive / search) sit on the dark `.section`, with
    white `.post-card`s — same treatment as the homepage `.cards`.
  - The single post reads on `.section--light` (white, dark body text).
--------------------------------------------------------------*/
/* Breadcrumbs — Yoast output, styled only (CLAUDE.md §7) ------- */
.breadcrumbs-bar {
  background: var(--dark-alt-color);
  box-shadow: inset 0 -1px 0 var(--white-05);
}

.breadcrumbs {
  padding-block: var(--space-2);
  font-size: var(--fs-text-sm);
  color: var(--white);
}
.breadcrumbs a {
  color: var(--white);
}
.breadcrumbs a:hover {
  color: var(--primary-color);
}
.breadcrumbs .breadcrumb_last {
  font-weight: 700;
  color: var(--primary-color);
}

/* Listing grid ----------------------------------------------- */
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4) var(--space-3);
}

@media (max-width: 68.75rem) {
  .post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  .post-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }
}
/* Post card ------------------------------------------------- */
.post-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  background: var(--white);
  border: 1px solid var(--grey-line-color);
}
.post-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: var(--dark-alt-color);
}
.post-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition);
}
.post-card:hover .post-card__img {
  transform: scale(1.04);
}
.post-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
}
.post-card__kicker {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--primary-color);
}
.post-card__title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.2;
}
.post-card__title a {
  color: var(--heading-color);
}
.post-card__title a:hover {
  color: var(--secondary-color);
}
.post-card__excerpt {
  flex: 1;
  font-size: var(--fs-text-sm);
  line-height: var(--lh-body);
  color: var(--grey-body-color);
}
.post-card .arrow-link {
  align-self: flex-start;
  margin-top: auto;
}
.post-card--compact .post-card__body {
  padding: var(--space-3) var(--space-4);
}

/* Byline — date · category · reading time ------------------- */
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.3;
  color: var(--grey-body-color);
}
.entry-meta__cat {
  font-weight: 700;
  color: var(--primary-color);
}
.entry-meta__cat:hover {
  color: var(--secondary-color);
}
.entry-meta__sep {
  color: var(--grey-line-color);
}
.entry-meta--single {
  margin-top: var(--space-2);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--grey-line-color);
}

/* Search results summary ------------------------------------ */
.search-summary {
  margin-bottom: var(--space-3);
  font-size: var(--fs-text-sm);
  color: var(--white);
}

/* Single post --------------------------------------------- */
.post-layout .container {
  max-width: calc(var(--measure) + var(--gutter) * 2);
}

.post-single {
  margin: 0;
}
.post-single__header {
  margin-bottom: var(--space-3);
}
.post-single__title {
  font-size: var(--fs-display);
  line-height: var(--lh-heading);
  color: var(--heading-color);
}
.post-single .entry-content {
  margin-top: var(--space-3);
  font-size: var(--fs-text);
  line-height: 1.7;
  color: var(--grey-body-color);
}
.post-single .entry-content > * {
  margin-bottom: 0;
}
.post-single .entry-content > * + * {
  margin-top: 1.4em;
}
.post-single .entry-content h2,
.post-single .entry-content h3,
.post-single .entry-content h4 {
  margin-top: 1.8em;
  line-height: var(--lh-heading);
}
.post-single .entry-content h2 {
  font-size: var(--fs-about-h2);
}
.post-single .entry-content h3 {
  font-size: var(--fs-h3);
}
.post-single .entry-content > :first-child {
  margin-top: 0;
}
.post-single .entry-content a {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.post-single .entry-content a:hover {
  color: var(--secondary-color);
}
.post-single .entry-content img,
.post-single .entry-content figure {
  margin-block: 1.8em;
}
.post-single .entry-content figcaption {
  margin-top: 0.5rem;
  font-size: var(--fs-text-sm);
  color: var(--grey-footer-color);
}
.post-single .entry-content ul,
.post-single .entry-content ol {
  padding-left: 1.4em;
}
.post-single .entry-content ul {
  list-style: disc;
}
.post-single .entry-content ol {
  list-style: decimal;
}
.post-single .entry-content li + li {
  margin-top: 0.4em;
}
.post-single .entry-content blockquote {
  margin-inline: 0;
  padding: var(--space-2) var(--space-3);
  border-left: 0.1875rem solid var(--primary-color);
  background: var(--primary-10);
  font-size: var(--fs-lead-sm);
  font-style: italic;
}
.post-single .entry-content code {
  padding: 0.15em 0.4em;
  background: var(--primary-10);
  font-size: 0.9em;
}
.post-single .entry-content pre {
  overflow-x: auto;
  padding: var(--space-2);
  background: var(--dark-color);
  color: var(--white);
}
.post-single .entry-content pre code {
  padding: 0;
  background: none;
}

.post-single .entry-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--grey-line-color);
}
.post-single .entry-footer__label {
  font-weight: 700;
  color: var(--heading-color);
}

.entry-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.entry-tags a {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  background: var(--primary-10);
  font-size: 0.875rem;
  color: var(--primary-color);
}
.entry-tags a:hover {
  background: var(--primary-color);
  color: var(--white);
}

/* Prev / next post ---------------------------------------- */
.post-navigation {
  margin: var(--space-5) 0 0;
}
.post-navigation .nav-links {
  display: flex;
  gap: var(--space-3);
}
.post-navigation .nav-previous,
.post-navigation .nav-next {
  flex: 1 1 50%;
}
.post-navigation .nav-next {
  text-align: end;
}
.post-navigation a {
  display: block;
  height: 100%;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--grey-line-color);
  color: var(--grey-body-color);
}
.post-navigation a:hover {
  border-color: var(--primary-color);
}

.post-nav__label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--primary-color);
}

.post-nav__title {
  font-weight: 700;
  color: var(--heading-color);
}

@media (max-width: 40rem) {
  .post-navigation .nav-links {
    flex-direction: column;
  }
  .post-navigation .nav-next {
    text-align: start;
  }
}
/* Empty state (no posts / no results) --------------------- */
.empty-state {
  max-width: var(--measure);
  margin-inline: auto;
  padding-block: var(--space-4);
  text-align: center;
}
.empty-state__title {
  font-size: var(--fs-about-h2);
  line-height: var(--lh-heading);
}
.empty-state__text {
  margin-top: var(--space-2);
  color: var(--white);
}
.empty-state__text a {
  color: var(--primary-color);
  text-decoration: underline;
}
.empty-state .search-form, .empty-state__back {
  margin-top: var(--space-3);
}

/* 404 ---------------------------------------------------- */
.error-404__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}

.error-404__code {
  font-family: var(--heading-font);
  font-size: var(--fs-stat);
  font-weight: 700;
  line-height: 1;
  color: var(--primary-color);
}

.error-404__lead {
  max-width: 42ch;
  margin-top: var(--space-3);
  font-size: var(--fs-lead);
  line-height: 1.4;
  color: var(--white);
}

.error-404__links {
  margin-top: var(--space-5);
}

.error-404__links-title {
  margin-bottom: var(--space-2);
  font-size: var(--fs-h3);
}

.error-404__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.error-404__menu a {
  display: inline-block;
  padding: 0.25rem 0;
  font-weight: 700;
  color: var(--white);
}
.error-404__menu a:hover {
  color: var(--primary-color);
}

.error-404__back {
  margin-top: var(--space-5);
}

/* Search form (404, empty state) -------------------------- */
.search-form {
  display: flex;
  gap: 0.5rem;
  max-width: 26rem;
  margin-inline: auto;
}
.search-form .search-field {
  flex: 1;
  min-width: 0;
  padding: 0.875rem 1rem;
  border: 0;
  background: var(--white);
  color: var(--dark-color);
  font-family: var(--body-font);
  font-size: var(--fs-text-sm);
}
.search-form .search-field::placeholder {
  color: var(--input-placeholder);
  opacity: 1;
}
.search-form .search-submit {
  flex: none;
  padding: 0.875rem 1.5rem;
  border: 0;
  background: var(--primary-color);
  color: var(--white);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--transition);
}
.search-form .search-submit:hover {
  background: var(--secondary-color);
}

.section--light .search-form .search-field {
  border: 1px solid var(--grey-line-color);
}

/* About Us page
--------------------------------------------- */
/*--------------------------------------------------------------
# About Us page — design/about-us.html
--------------------------------------------------------------*/
/* Shared About typography ----------------------------------- */
.about-h2 {
  font-size: var(--fs-about-h2);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--heading-color);
}

.about-lead {
  font-size: var(--fs-lead-sm);
  font-weight: 400;
  line-height: 1.4;
  color: var(--white);
}

.about-note {
  font-size: var(--fs-text-sm);
  font-weight: 400;
  line-height: 1.375;
  color: var(--white);
}

.h3 {
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: var(--lh-heading);
  color: var(--heading-color);
}

/* Intro — editor content beside the image mosaic ------------ */
.about-split {
  display: grid;
  grid-template-columns: minmax(0, 38.8125rem) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.about-split__body {
  margin: 0;
}
.about-split__body > p,
.about-split__body > ul,
.about-split__body > ol {
  margin-bottom: 0;
}
.about-split__body > * + * {
  margin-top: var(--space-2);
}

.about-intro > .container:not(.about-split) .about-split__body {
  max-width: 51.25rem;
}

/* Image mosaic --------------------------------------------------- */
.about-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  align-items: start;
}
.about-mosaic__col {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.about-mosaic__item {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.about-mosaic__col--a .about-mosaic__item:first-child, .about-mosaic__col--b .about-mosaic__item:last-child {
  aspect-ratio: 271/357;
}
.about-mosaic__col--a .about-mosaic__item:last-child, .about-mosaic__col--b .about-mosaic__item:first-child {
  aspect-ratio: 271/229;
}
.about-mosaic__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.about-mosaic__item:hover .about-mosaic__img {
  transform: scale(1.07);
}

@media (max-width: 60rem) {
  .about-split {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-mosaic__img {
    transition: none;
  }
}
/* Statement — centred prose over a photo -------------------------- */
.statement {
  max-width: 45.5rem;
  margin-inline: auto;
  text-align: center;
}
.statement > * + * {
  margin-top: var(--space-3);
}
.statement__quote {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.2;
  color: var(--primary-color);
}
.statement__rule {
  width: 1px;
  height: 7.5rem;
  margin: var(--space-4) auto 0;
  background: var(--primary-color);
  border: 0;
}

@media (max-width: 60rem) {
  .statement__rule {
    height: 4.5rem;
  }
}
/* Our Team — text + contained photo ----------------------------- */
.about-split--team {
  align-items: center;
  gap: var(--space-6);
}

.about-split__media {
  position: relative;
  min-height: 35rem;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.about-split__media--contain {
  background: none;
}

.about-split__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-split__media--contain .about-split__img {
  object-fit: contain;
  object-position: bottom center;
}

.about-split--team .about-split__media {
  min-height: 0;
  height: 23.75rem;
}

.about-split__link {
  margin-top: var(--space-4);
}

@media (max-width: 60rem) {
  .about-split--team {
    gap: var(--space-4);
  }
  .about-split__media {
    min-height: 20rem;
  }
  .about-split--team .about-split__media {
    height: 18.75rem;
  }
}
@media (max-width: 40rem) {
  .about-split--team {
    gap: var(--space-3);
  }
  .about-split--team .about-split__media {
    height: 15rem;
  }
}
/* `.split` two-column intro (Key Industries + Our Services)
--------------------------------------------- */
/*--------------------------------------------------------------
# `.split` — two-column intro layout

Shared by the Key Industries and Our Services page intros: a heading
column beside a body-copy column. Stacks at `$bp__stack`.
--------------------------------------------------------------*/
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: start;
}
.split__body > p, .split__body > ul, .split__body > ol {
  margin-bottom: 0;
}
.split__body > * + * {
  margin-top: var(--space-2);
}
.split__link {
  margin-top: var(--space-4);
}

@media (max-width: 60rem) {
  .split {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}
/* Key Industries page
--------------------------------------------- */
/*--------------------------------------------------------------
# Key Industries page — design/key-industries.html

The `.split` intro layout it shares with Our Services lives in
sass/components/split/_split.scss.
--------------------------------------------------------------*/
/* Industry cards ---------------------------------------------------- */
.industries {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.industry {
  display: flex;
  flex-direction: column;
}
.industry__media {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  aspect-ratio: 320/500;
  padding: var(--space-3) var(--space-2);
  overflow: hidden;
  background: var(--dark-alt-color);
}
.industry__img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.industry__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  height: 55%;
  background: linear-gradient(180deg, rgba(20, 26, 31, 0) 0%, rgba(20, 26, 31, 0.35) 40%, rgba(20, 26, 31, 0.85) 100%);
}
.industry__title {
  position: relative;
  z-index: 2;
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-tight);
  text-align: center;
  color: var(--white);
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), color var(--transition);
}
.industry__label {
  margin-top: 1.625rem;
  font-size: var(--fs-text-sm);
  font-weight: 400;
  line-height: 1;
  color: var(--white);
}
.industry__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 1.125rem 0 0;
  padding: 0 var(--space-2) 0 0;
  list-style: none;
}
.industry__list .bullet {
  align-items: flex-start;
  line-height: 1.25;
}
.industry__list .bullet::before {
  margin-top: 0.375rem;
}
.industry:hover .industry__img {
  transform: scale(1.07);
}
.industry:hover .industry__title {
  transform: translateY(-0.25rem);
  color: var(--primary-color);
}

@media (max-width: 60rem) {
  .industries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4) var(--gutter);
  }
}
@media (max-width: 40rem) {
  .industries {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .industry__img,
  .industry__title {
    transition: none;
  }
}
/* Our Services page
--------------------------------------------- */
/*--------------------------------------------------------------
# Our Services page — design/our-services.html
--------------------------------------------------------------*/
/* Hero image (wide photo under the banner) ---------------------- */
.hero-shot {
  aspect-ratio: 1272/680;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.hero-shot__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Crane Hire / Heavy Lifting — two media cards ----------------- */
.duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
}
.duo__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  text-align: center;
}
.duo__media {
  position: relative;
  aspect-ratio: 637/490;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.duo__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.duo__col:hover .duo__img {
  transform: scale(1.05);
}
.duo__title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-tight);
  color: var(--white);
}
.duo__line {
  font-size: var(--fs-text);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--white);
}
.duo__line--sm {
  font-size: var(--fs-text-sm);
  line-height: 1.375;
}

@media (max-width: 60rem) {
  .duo {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Our fleet band --------------------------------------------------- */
.fleet {
  padding-block: var(--space-4);
  background: var(--primary-color);
}
.fleet__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: var(--space-4);
  align-items: center;
}
.fleet__title {
  font-size: var(--fs-about-h2);
  font-weight: 400;
  line-height: var(--lh-heading);
  color: var(--white);
}
.fleet__title strong {
  font-weight: 700;
}
.fleet__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.875rem var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.fleet__list .bullet {
  font-size: 1.375rem;
}
.fleet__list .bullet::before {
  background: var(--white);
}

@media (max-width: 60rem) {
  .fleet__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .fleet__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 40rem) {
  .fleet__list {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Modern, Maintained, Project-Ready — prose beside an image ---- */
.prose-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
}
.prose-split__body {
  padding: var(--space-7) var(--space-5) var(--space-7) max(var(--gutter), (100vw - var(--container-width)) / 2 + var(--gutter));
}
.prose-split__media {
  align-self: center;
  width: 50.9375rem;
  max-width: 100%;
  height: 35.8125rem;
  overflow: hidden;
  background: var(--grey-line-color);
}
.prose-split__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prose {
  max-width: 40rem;
}
.prose > * + * {
  margin-top: var(--space-2);
}
.prose__title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--primary-color);
}
.prose__sub {
  font-size: var(--fs-text);
  font-weight: 700;
  line-height: 1.35;
  color: var(--primary-color);
}
.prose__note {
  font-size: var(--fs-text-sm);
  font-weight: 400;
  line-height: 1.4;
}
.prose--lg .prose__title {
  font-size: var(--fs-about-h2);
}
.prose--lg .prose__sub {
  font-size: var(--fs-lead-sm);
}
.prose--lg .prose__note {
  font-size: var(--fs-text);
  line-height: var(--lh-body);
}

@media (max-width: 60rem) {
  .prose-split {
    grid-template-columns: minmax(0, 1fr);
  }
  .prose-split__body {
    padding: var(--space-6) var(--gutter);
  }
  .prose-split__media {
    width: auto;
    height: 18.75rem;
  }
}
/* Two-column bullet list (Modern Equipment, Our Market) -------- */
.list-2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem var(--space-2);
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 0;
  list-style: none;
}
.list-2col .bullet {
  align-items: flex-start;
  line-height: 1.25;
}
.list-2col .bullet::before {
  margin-top: 0.375rem;
}

@media (max-width: 40rem) {
  .list-2col {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Training — body + tall media + a stacked side column --------- */
.training {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 29.5625rem 30rem;
  background: var(--primary-color);
}
.training__body {
  padding: var(--space-6) var(--space-5) var(--space-6) max(var(--gutter), (100vw - var(--container-width)) / 2 + var(--gutter));
}
.training__body > * + * {
  margin-top: var(--space-2);
}
.training__title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--white);
}
.training__media {
  position: relative;
  overflow: hidden;
  background: var(--dark-alt-color);
}
.training__media--tall {
  min-height: 38.75rem;
}
.training__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.training__side {
  display: grid;
  grid-template-rows: 19.375rem 1fr;
}
.training__logo {
  display: grid;
  place-items: center;
  padding: var(--space-4);
  background: var(--primary-color);
}
.training__logo img {
  width: 16.875rem;
  max-width: 100%;
  height: auto;
}

@media (max-width: 85rem) {
  .training {
    grid-template-columns: minmax(0, 1fr);
  }
  .training__body {
    padding: var(--space-6) var(--gutter);
  }
  .training__media--tall {
    min-height: 20rem;
  }
  .training__side {
    grid-template-rows: auto auto;
  }
  .training__side .training__media {
    min-height: 20rem;
  }
  .training__logo {
    padding: var(--space-5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .duo__img {
    transition: none;
  }
}
/* Equipment & Sales (dry hire) page
--------------------------------------------- */
/*--------------------------------------------------------------
# Equipment & Sales (dry hire) page — design/dry-hire.html
--------------------------------------------------------------*/
.center-title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
  text-align: center;
  color: var(--primary-color);
}

/* Crane Hire — fleet image on a white panel + label row -------- */
.white-panel {
  margin-top: var(--space-3);
  padding: var(--space-4);
  background: var(--white);
}
.white-panel img {
  display: block;
  width: 100%;
  height: auto;
}

.label-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.label-row li {
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: var(--white);
}

/* Equipment Hire — five item cards --------------------------------- */
.equip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.equip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}
.equip__media {
  display: grid;
  place-items: center;
  width: 100%;
  height: 10rem;
}
.equip__media img {
  max-width: 100%;
  max-height: 10rem;
  width: auto;
  height: auto;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.equip__name {
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: var(--white);
  transition: color var(--transition);
}
.equip__item:hover .equip__media img {
  transform: scale(1.07) translateY(-0.1875rem);
}
.equip__item:hover .equip__name {
  color: var(--primary-color);
}

/* Advantages — copy + a 2×2 benefit grid over a photo --------- */
.advantages {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: var(--space-6);
  align-items: center;
}
.advantages__title {
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--primary-color);
}
.advantages__sub {
  margin-top: var(--space-1);
  font-size: var(--fs-lead-sm);
  font-weight: 400;
  line-height: 1.4;
  color: var(--white);
}
.advantages__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}

.advantage__name {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1.25;
  color: var(--white);
}
.advantage__name::before {
  content: "✓";
  display: inline-block;
  color: var(--primary-color);
  transition: transform 0.25s ease;
}
.advantage__name:hover::before {
  transform: scale(1.25);
}
.advantage__text {
  margin-top: 0.375rem;
  font-size: var(--fs-text-sm);
  font-weight: 400;
  line-height: 1.3;
  color: var(--white);
}

.closing {
  max-width: 58.75rem;
  margin: var(--space-6) auto 0;
  font-size: var(--fs-lead-sm);
  font-weight: 400;
  line-height: var(--lh-body);
  text-align: center;
  color: var(--white);
}

@media (max-width: 60rem) {
  .label-row,
  .equip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .advantages {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}
@media (max-width: 40rem) {
  .label-row,
  .equip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .advantages__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .equip__media {
    height: 7.5rem;
  }
  .equip__media img {
    max-height: 7.5rem;
  }
}
@media (max-width: 25rem) {
  .label-row,
  .equip {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  .equip__media img,
  .advantage__name::before {
    transition: none;
  }
}
/* Contact page
--------------------------------------------- */
/*--------------------------------------------------------------
# Contact page — design/contact.html

The form is Gravity Forms (its own stylesheet is disabled, see
inc/gravityforms.php); everything below styles its markup to match the
design's `.form`.
--------------------------------------------------------------*/
.contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: var(--space-6);
  align-items: start;
}
.contact__body > * {
  margin-bottom: 0;
}
.contact__body > * + * {
  margin-top: var(--space-2);
}
.contact__info {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-top: var(--space-4);
}

@media (max-width: 60rem) {
  .contact {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
}
/* Map ------------------------------------------------------------- */
.map-embed {
  display: block;
  width: 100%;
  height: clamp(20rem, 40vw, 38.75rem);
  border: 0;
}

/* Gravity Forms — styled to match the design ------------------- */
.contact .gform_wrapper {
  max-width: 100%;
}
.contact .gform_wrapper form {
  margin: 0;
}
.contact .gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.contact .gform_wrapper .gfield {
  grid-column: 1/-1;
  margin: 0;
}
.contact .gform_wrapper .gfield--width-half,
.contact .gform_wrapper .gfield.gf_left_half,
.contact .gform_wrapper .gfield.gf_right_half {
  grid-column: span 1;
}
.contact .gform_wrapper .gfield_label,
.contact .gform_wrapper .gform_required_legend {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.contact .gform_wrapper .ginput_container {
  margin: 0;
}
.contact .gform_wrapper input[type=text],
.contact .gform_wrapper input[type=email],
.contact .gform_wrapper input[type=tel],
.contact .gform_wrapper input[type=number],
.contact .gform_wrapper textarea {
  width: 100%;
  padding: 1.25rem 1.375rem;
  background: var(--white);
  border: 0;
  border-radius: 0;
  color: var(--dark-color);
  font-family: var(--body-font);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
}
.contact .gform_wrapper textarea {
  min-height: 10.625rem;
  resize: vertical;
}
.contact .gform_wrapper ::placeholder {
  color: var(--input-placeholder);
  opacity: 1;
}
.contact .gform_wrapper input:focus,
.contact .gform_wrapper textarea:focus {
  outline: 2px solid var(--primary-color);
  outline-offset: -2px;
}
.contact .gform_wrapper .gform_footer {
  grid-column: 1/-1;
  margin: var(--space-2) 0 0;
  padding: 0;
}
.contact .gform_wrapper .gform_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14.25rem;
  min-height: 3.875rem;
  padding: 1.25rem 1.875rem;
  background: var(--primary-color);
  border: 0;
  border-radius: 0;
  color: var(--white);
  font-family: var(--body-font);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--transition), transform var(--transition);
}
.contact .gform_wrapper .gform_button:hover, .contact .gform_wrapper .gform_button:focus {
  background: var(--secondary-color);
  transform: translateY(-2px);
}
.contact .gform_wrapper .gform_button:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
}
.contact .gform_wrapper .gfield_description.validation_message,
.contact .gform_wrapper .gfield_validation_message {
  margin-top: 0.375rem;
  font-size: var(--fs-text-sm);
  color: var(--primary-color);
}
.contact .gform_wrapper .gform_validation_errors,
.contact .gform_wrapper .gform_confirmation_message {
  grid-column: 1/-1;
  margin-bottom: var(--space-2);
  padding: var(--space-2);
  background: var(--white-05);
  box-shadow: inset 0 0 0 1px var(--white-50);
  color: var(--white);
}

@media (max-width: 40rem) {
  .contact .gform_wrapper .gform_fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact .gform_wrapper .gfield--width-half,
  .contact .gform_wrapper .gfield.gf_left_half,
  .contact .gform_wrapper .gfield.gf_right_half {
    grid-column: 1/-1;
  }
}
/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Comments — single post (`.section--light` ground)
--------------------------------------------------------------*/
.comments-area {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--grey-line-color);
}

.comments-title,
.comment-reply-title {
  margin-bottom: var(--space-3);
  font-size: var(--fs-about-h2);
  line-height: var(--lh-heading);
}

.comment-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.comment-list .children {
  margin: 0;
  padding-left: var(--space-3);
  list-style: none;
}
.comment-list li article {
  margin-top: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--grey-line-color);
}

.comment-author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
}
.comment-author .fn {
  color: var(--heading-color);
}
.comment-author .avatar {
  border-radius: 50%;
}

.comment-metadata {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--grey-footer-color);
}
.comment-metadata a {
  color: inherit;
}

.comment-content {
  margin-top: var(--space-2);
  color: var(--grey-body-color);
}
.comment-content > * + * {
  margin-top: 1em;
}

.reply {
  margin-top: var(--space-1);
}
.reply a {
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--primary-color);
}

.comment-respond {
  margin-top: var(--space-4);
}

.comment-form {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.comment-form p {
  margin: 0;
}
.comment-form label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 700;
  color: var(--heading-color);
}
.comment-form input:not([type=submit]):not([type=checkbox]),
.comment-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--grey-line-color);
  background: var(--white);
  color: var(--dark-color);
  font-family: var(--body-font);
  font-size: var(--fs-text-sm);
}
.comment-form textarea {
  min-height: 9rem;
  resize: vertical;
}

.comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.comment-form-cookies-consent label {
  margin: 0;
  font-weight: 400;
}

.form-submit {
  margin: 0;
}
.form-submit input {
  padding: 0.875rem 1.75rem;
  border: 0;
  background: var(--primary-color);
  color: var(--white);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--transition);
}
.form-submit input:hover {
  background: var(--secondary-color);
}

.no-comments {
  color: var(--grey-body-color);
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}
.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/* Popup
--------------------------------------------- */
.freshdi-popup,
.freshdi-popup *,
.freshdi-popup *::before,
.freshdi-popup *::after {
  box-sizing: border-box;
}

.freshdi-popup {
  display: grid;
  inset: 0;
  padding: 1.5rem;
  place-items: center;
  position: fixed;
  z-index: 999;
}

.freshdi-popup[hidden] {
  display: none;
}

.freshdi-popup__backdrop {
  background: rgba(0, 0, 0, 0.6);
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.2s ease;
}

.freshdi-popup__dialog {
  background: #fff;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
  max-height: min(85vh, 100%);
  max-width: 40rem;
  opacity: 0;
  overflow: auto;
  padding: 2rem;
  position: relative;
  transform: scale(0.96);
  transition: opacity 0.2s ease, transform 0.2s ease;
  width: 100%;
}

.freshdi-popup__content img {
  height: auto;
  max-width: 100%;
}
.freshdi-popup__content > :last-child {
  margin-bottom: 0;
}

.freshdi-popup.is-open .freshdi-popup__backdrop {
  opacity: 1;
}

.freshdi-popup.is-open .freshdi-popup__dialog {
  opacity: 1;
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .freshdi-popup__backdrop,
  .freshdi-popup__dialog {
    transition: none;
  }
}
.freshdi-popup__close {
  align-items: center;
  appearance: none;
  background: none;
  border: 0;
  border-radius: 50%;
  color: #404040;
  cursor: pointer;
  display: flex;
  font-size: 1.75rem;
  height: 44px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
}

.freshdi-popup__close:hover,
.freshdi-popup__close:focus-visible {
  background: rgba(0, 0, 0, 0.05);
}

.freshdi-popup__close:focus-visible {
  outline: 2px solid #ccc;
  outline-offset: 2px;
}

/* Body scroll lock while a popup is open. */
html.popup-open {
  overflow: hidden;
}

@media (max-width: 47.99em) {
  .freshdi-popup {
    padding: 0;
  }
  .freshdi-popup__dialog {
    inset: 0.75rem;
    max-width: none;
    max-height: none;
    position: absolute;
    width: auto;
  }
}
/* Floating actions (back-to-top + quote CTA)
--------------------------------------------- */
/*--------------------------------------------------------------
# Floating actions — design/assets/css/styles.css §25

A fixed bottom-right stack: a "back to top" arrow and a pill-shaped
"Get a Quote" CTA whose label slides out on hover / focus. Both fade in
once the visitor has scrolled past the hero (js/floaties.js); markup is
in footer.php.
--------------------------------------------------------------*/
.floaties {
  position: fixed;
  right: var(--space-2);
  bottom: var(--space-2);
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  pointer-events: none;
}

.floaty {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 0;
  border-radius: 50%;
  color: var(--white);
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  transform: translateY(0.75rem) scale(0.9);
  transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1), background-color var(--transition), box-shadow var(--transition);
}
.floaty.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.floaty:hover {
  transform: translateY(-0.1875rem);
}
.floaty:active {
  transform: translateY(0);
}
.floaty:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
}

/* Quote CTA — collapsed to a circle, expands to a pill on hover -- */
.floaty--quote {
  width: 3.25rem;
  padding: 0;
  gap: 0;
  grid-auto-flow: column;
  justify-content: start;
  overflow: hidden;
  border-radius: 1.625rem;
  background: var(--secondary-color);
  font-size: var(--fs-text-sm);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 0.625rem 1.625rem rgba(0, 0, 0, 0.28);
  transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1), width 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), background-color var(--transition), box-shadow var(--transition);
}
.floaty--quote .floaty__icon {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  flex: none;
}
.floaty--quote .icon {
  width: 1.125rem;
  height: 1.125rem;
  background: var(--white);
}
.floaty--quote .floaty__label {
  padding-right: 1.375rem;
  color: var(--white);
  opacity: 0;
  transform: translateX(-0.375rem);
  transition: opacity 0.2s ease 0.06s, transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1) 0.04s;
}
.floaty--quote:hover, .floaty--quote:focus-visible {
  width: 11rem;
  background: var(--primary-color);
  box-shadow: 0 0.875rem 2rem rgba(228, 116, 35, 0.42);
}
.floaty--quote:hover .floaty__label, .floaty--quote:focus-visible .floaty__label {
  opacity: 1;
  transform: none;
}

/* Back to top ------------------------------------------------- */
.floaty--top {
  background: var(--dark-color);
  box-shadow: 0 0.5rem 1.375rem rgba(0, 0, 0, 0.26);
}
.floaty--top svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: var(--white);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke var(--transition);
}
.floaty--top:hover {
  background: var(--primary-color);
  box-shadow: 0 0.625rem 1.5rem rgba(228, 116, 35, 0.4);
}

@media (max-width: 40rem) {
  .floaties {
    right: 0.875rem;
    bottom: 0.875rem;
    gap: var(--space-1);
  }
  .floaty,
  .floaty--quote,
  .floaty--quote .floaty__icon {
    width: 3rem;
    height: 3rem;
  }
  .floaty--quote:hover,
  .floaty--quote:focus-visible {
    width: 10.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .floaty,
  .floaty--quote,
  .floaty__label {
    transition-property: opacity;
  }
  .floaty,
  .floaty.is-visible,
  .floaty:hover,
  .floaty:active,
  .floaty__label {
    transform: none;
  }
}
/* Section edit link (logged-in editors, front end)
--------------------------------------------- */
/*--------------------------------------------------------------
# Section edit link

A small "Edit" chip printed over each `section` entry on the front end for
logged-in users who can edit it (freshdi_section_edit_link()). Invisible to
visitors — the PHP prints nothing for them.
--------------------------------------------------------------*/
.stat,
.card,
.benefit,
.iso__item,
.feature__body {
  position: relative;
}

.section-edit-link {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.55rem;
  background: var(--dark-color);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);
  opacity: 0.5;
  transition: opacity var(--transition), background-color var(--transition), color var(--transition);
}
.section-edit-link:hover, .section-edit-link:focus-visible {
  opacity: 1;
  background: var(--primary-color);
  color: var(--white);
}
.section-edit-link:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
}
.section-edit-link__icon {
  width: 0.875rem;
  height: 0.875rem;
  flex: none;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Animate
--------------------------------------------- */
/* Animate — scroll-reveal (js/animate-on-scroll.js)
---------------------------------------------

`.animate`  fades + slides its element in once, when it scrolls into view.
`.animate--fade`  fades only (no slide) — for full-bleed media, where a
translate would briefly expose the section background above it.

The pre-reveal transform is scoped to `:not(.is-visible)` so that once an
element has appeared it no longer constrains `transform`, and hover
lifts / zooms on cards, stats, etc. keep working.
--------------------------------------------- */
.animate {
  opacity: 0;
  transition: opacity var(--animate-duration, 0.6s) ease, transform var(--animate-duration, 0.6s) ease;
  transition-delay: var(--animate-delay, 0s);
  will-change: opacity, transform;
}

.animate:not(.is-visible) {
  transform: translateY(1.5rem);
}

.animate--fade:not(.is-visible) {
  transform: none;
}

.animate.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .animate {
    opacity: 1;
    transition: none;
    will-change: auto;
  }
  .animate:not(.is-visible) {
    transform: none;
  }
}
/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}
