/*!
Theme Name: PPAI
Theme URI: http://underscores.me/
Author: Yes&
Author URI: http://underscores.me/
Description: Custom WordPress theme for PPAI by Yes&.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ppai
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.

PPAI 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
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/**
 * Design tokens as CSS custom properties.
 *
 * Single source of truth, emitted twice:
 *   - front end : `:root` (see base/_root.scss)
 *   - editor    : `.editor-styles-wrapper` (see sass/editor.scss)
 *
 * The editor never emits these on `:root`, so nothing can reach the admin UI.
 */
/*--------------------------------------------------------------
# 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
--------------------------------------------------------------*/
/* Design tokens (CSS custom properties)
--------------------------------------------- */
/**
 * Design tokens on the document root (front end only).
 *
 * The editor gets the identical tokens scoped to `.editor-styles-wrapper`
 * (see sass/editor.scss), so nothing here can reach the WordPress admin UI.
 * Both consume the same `ppai-tokens` mixin.
 */
:root {
  --color-dark-gray: #1c211d;
  --color-cream: #f3f0e6;
  --color-lime-green: #e0fe83;
  --color-forest-green: #084633;
  --color-mint: #c6ffab;
  --color-navy: #222c75;
  --color-sky: #a1e4ff;
  --color-dark-purple: #351c4e;
  --color-violet: #edc8fe;
  --color-maroon: #65103d;
  --color-peach: #fec8c8;
  --color-black: #000;
  --color-white: #fff;
  --color-plum: #65103d;
  --color-royal-blue: #222c75;
  --color-dark-green: #1c211d;
  --color-offwhite: #f3f0e6;
  --font-display: freight-sans-condensed-pro, Freight Sans Condensed, Arial Narrow, sans-serif;
  --font-body: freight-sans-pro, Freight Sans, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, sans-serif;
  --font-accent: New Spirit, Georgia, Times New Roman, serif;
  --font-size-h1: 60px;
  --font-size-h2: 45px;
  --font-size-h3: 38px;
  --font-size-h4: 25px;
  --font-size-h4-alt: 24px;
  --font-size-list-lg: 24px;
  --font-size-body-lg: 18px;
  --font-size-info-title: 16px;
  --font-size-body-sm: 14px;
  --font-size-eyebrow: 13px;
  --letter-spacing-tight: 0;
  --letter-spacing-wide: 1px;
  --letter-spacing-wider: 2px;
  --font-weight-black: 900;
  --font-weight-bold: 700;
  --font-weight-medium: 500;
  --font-weight-book: 400;
  --line-height-h1: 0.9;
  --line-height-display: 0.84;
  --line-height-body: 1.3;
  --line-height-eyebrow: 0.94;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 80px;
  --space-section: 96px;
  --space-med-sm: 20px;
  --space-2lg: 40px;
  --space-margin-xlg: 175px;
}

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.3;
  font-variant-numeric: lining-nums;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  line-height: 0.84;
}

p {
  margin-bottom: 1.5em;
}

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: rgba(8, 70, 51, 0.06);
  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 rgba(8, 70, 51, 0.5);
  cursor: help;
}

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

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
  margin: 0;
}

hr {
  background-color: rgba(8, 70, 51, 0.2);
  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: #084633;
}
a:visited {
  color: #65103d;
}
a:hover, a:focus, a:active {
  color: #65103d;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #1c211d;
  border-radius: 3px;
  background: #1c211d;
  color: #f3f0e6;
  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: #65103d;
}
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: #65103d;
}

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: #084633;
  border: 1px solid rgba(8, 70, 51, 0.3);
  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: #000;
}

select {
  border: 1px solid rgba(8, 70, 51, 0.3);
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}
@media (max-width: 600px) {
  .comment-navigation .nav-links,
  .posts-navigation .nav-links,
  .post-navigation .nav-links {
    flex-direction: column;
    gap: 16px;
  }
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}
@media (max-width: 600px) {
  .comment-navigation .nav-previous,
  .posts-navigation .nav-previous,
  .post-navigation .nav-previous {
    flex: 0 0 auto;
  }
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}
@media (max-width: 600px) {
  .comment-navigation .nav-next,
  .posts-navigation .nav-next,
  .post-navigation .nav-next {
    flex: 0 0 auto;
    text-align: start;
  }
}

/* Site header (site-header pattern)
--------------------------------------------- */
/**
 * Site header (the "ppai/site-header" block pattern).
 *
 * Chrome CSS for a pattern built from core blocks: lime-green bar, MerchMovesUs
 * logo left, Navigation + Search right. Colors come from block attributes
 * (palette slugs); this handles bar dimensions, the search pill, and the
 * two type treatments the design uses (Freight Sans Bold nav, Freight Sans
 * Condensed search).
 */
.wp-site-blocks > header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 100;
}

.merch-header {
  height: 139px;
  padding-block: 16px;
  padding-inline: max(24px, (100% - 1312px) / 2);
  border-bottom: 1px solid rgba(8, 70, 51, 0.2);
}
.merch-header__logo {
  align-self: flex-start;
  position: relative;
  z-index: 1;
  margin: 0;
}
.merch-header__logo img,
.merch-header__logo .custom-logo,
.merch-header__logo svg {
  width: 216.065px;
  height: auto;
  display: block;
  margin-top: -3px;
  overflow: visible;
  transition: scale 0.2s ease, filter 0.2s ease;
}
.merch-header__logo svg > path {
  stroke: #1c211d;
  stroke-width: 11.6;
  stroke-linejoin: round;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header__logo:hover img, .merch-header__logo:hover .custom-logo, .merch-header__logo:hover svg {
    scale: 1.05;
    filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.22));
    animation: merch-logo-rattle 0.45s ease;
  }
}
.merch-header__logo a:focus-visible svg > path,
.merch-header__logo a:active svg > path {
  fill: #e0fe83;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header__logo a:active svg {
    scale: 0.96;
  }
}
.merch-header .merch-lang {
  position: relative;
}
.merch-header .merch-lang__flag {
  position: relative;
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #f3f0e6;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__flag {
    transition: transform 0.15s ease-in-out;
  }
}
.merch-header .merch-lang__flag::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}
@media (forced-colors: active) {
  .merch-header .merch-lang__flag::after {
    box-shadow: none;
    border: 1px solid CanvasText;
  }
}
.merch-header .merch-lang__flag--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #cdd3cf;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: uppercase;
}
.merch-header .merch-lang__flag--globe {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #084633;
}
.merch-header .merch-lang__flag--globe .merch-lang__globe {
  width: 20px;
  height: 20px;
}
.merch-header .merch-lang__flag-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: none;
}
.merch-header .merch-lang__globe {
  display: block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22%20%2F%3E%3Cpath%20d%3D%22M2%2012h20%22%20%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22%20%2F%3E%3Cpath%20d%3D%22M2%2012h20%22%20%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
@media (forced-colors: active) {
  .merch-header .merch-lang__globe {
    background-color: ButtonText;
  }
}
.merch-header .merch-lang__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__toggle {
    transition: color 0.15s ease-in-out, scale 0.15s ease;
  }
  .merch-header .merch-lang__toggle:active {
    scale: 0.96;
  }
}
.merch-header .merch-lang__toggle:hover, .merch-header .merch-lang__toggle:focus-visible {
  color: #e0fe83;
}
@media (forced-colors: active) {
  .merch-header .merch-lang__toggle:hover .merch-lang__globe, .merch-header .merch-lang__toggle:focus-visible .merch-lang__globe {
    background-color: Highlight;
  }
}
.merch-header .merch-lang__menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 101;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px;
  list-style: none;
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__menu {
    transition: visibility 0s linear 0.28s;
  }
}
.merch-header .merch-lang__menu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #f3f0e6;
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
  opacity: 0;
  transform-origin: top center;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__menu::before {
    transform: translateY(-6px) scaleY(0.55);
    transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.18s ease;
  }
}
@media (forced-colors: active) {
  .merch-header .merch-lang__menu::before {
    border: 1px solid CanvasText;
  }
}
.merch-header .merch-lang__option {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  appearance: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__option {
    transform: translateY(-6px) scale(0.7);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
  }
}
.merch-header .merch-lang__option:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
}
.merch-header .merch-lang__option:focus:not(:focus-visible) {
  outline: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__option:hover .merch-lang__flag, .merch-header .merch-lang__option:focus-visible .merch-lang__flag {
    transform: scale(1.08);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__option:active .merch-lang__flag {
    transform: scale(0.96);
  }
}
.merch-header .merch-lang__option.is-current .merch-lang__flag::after {
  box-shadow: inset 0 0 0 2px #e0fe83;
}
@media (forced-colors: active) {
  .merch-header .merch-lang__option.is-current .merch-lang__flag::after {
    box-shadow: none;
    border: 2px solid Highlight;
  }
}
.merch-header .merch-lang.is-open .merch-lang__menu, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__menu, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__menu {
  visibility: visible;
  pointer-events: auto;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang.is-open .merch-lang__menu, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__menu, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__menu {
    transition: visibility 0s linear 0s;
  }
}
.merch-header .merch-lang.is-open .merch-lang__menu::before, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__menu::before, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__menu::before {
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang.is-open .merch-lang__menu::before, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__menu::before, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__menu::before {
    transform: translateY(0) scaleY(1);
  }
}
.merch-header .merch-lang.is-open .merch-lang__option, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__option, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__option {
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang.is-open .merch-lang__option, .merch-header .merch-lang:not(.is-enhanced):hover .merch-lang__option, .merch-header .merch-lang:not(.is-enhanced):focus-within .merch-lang__option {
    transform: none;
    transition-delay: calc(var(--i, 0) * 45ms);
  }
}
.merch-header__right {
  gap: clamp(16px, 2.5vw, 40px);
}
.merch-header .wp-block-navigation {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}
.merch-header .wp-block-navigation .wp-block-navigation-item__label {
  letter-spacing: 0;
}
.merch-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:hover,
.merch-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:focus-within {
  color: #e0fe83;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child > .wp-block-navigation-item__content {
    transition: color 0.15s ease-in-out;
  }
}
.merch-header .wp-block-navigation .wp-block-navigation__submenu-icon {
  display: inline-block;
  width: 16px;
  height: 11px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2%202L8%208L14%202%22%20stroke%3D%22%23084633%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/16px 11px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2%202L8%208L14%202%22%20stroke%3D%22%23084633%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/16px 11px no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .wp-block-navigation .wp-block-navigation__submenu-icon {
    transition: transform 0.2s ease-in-out, background-color 0.15s ease-in-out;
  }
}
.merch-header .wp-block-navigation .wp-block-navigation__submenu-icon svg {
  display: none;
}
@media (forced-colors: active) {
  .merch-header .wp-block-navigation .wp-block-navigation__submenu-icon {
    -webkit-mask: none;
    mask: none;
    background-color: transparent;
  }
  .merch-header .wp-block-navigation .wp-block-navigation__submenu-icon svg {
    display: block;
  }
}
.merch-header .wp-block-navigation .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-icon {
  transform: scaleY(-1);
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .wp-block-navigation .wp-block-navigation-submenu__toggle {
    transition: scale 0.15s ease;
  }
  .merch-header .wp-block-navigation .wp-block-navigation-submenu__toggle:active {
    scale: 0.96;
  }
}
.merch-header .wp-block-navigation.merch-header__nav .has-child .wp-block-navigation__submenu-container {
  width: 355px;
  padding: 20px;
  border: 0;
  border-radius: 10px;
  background-color: #f3f0e6;
  right: auto;
  left: -20px;
  top: calc(100% + 24px);
}
.merch-header .wp-block-navigation.merch-header__nav .has-child .wp-block-navigation__submenu-container::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 24px;
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item + .wp-block-navigation-item {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  padding: 0 30px 0 0;
  color: #1c211d;
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: transparent;
  transition: background-color 0.15s ease;
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2214.8651%22%20height%3D%2214.8651%22%20viewBox%3D%220%200%2014.8651%2014.8651%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.5625%200.870073L13.125%207.43257L6.5625%2013.9951%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.46094%22%2F%3E%3Cpath%20d%3D%22M13.1244%207.39839L0.875%207.39839%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.46094%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2214.8651%22%20height%3D%2214.8651%22%20viewBox%3D%220%200%2014.8651%2014.8651%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.5625%200.870073L13.125%207.43257L6.5625%2013.9951%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.46094%22%2F%3E%3Cpath%20d%3D%22M13.1244%207.39839L0.875%207.39839%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.46094%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
@media (forced-colors: active) {
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
    background-color: LinkText;
  }
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::before, .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::before {
  background-color: #e0fe83;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    transition: scale 0.15s ease;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:active {
    scale: 0.96;
  }
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
  font-size: 16px;
  font-weight: 900;
  line-height: 0.94;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
  display: block;
  max-width: 270px;
  color: #000;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation__submenu-container {
  height: auto;
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
}
.merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    opacity: 1;
    transform: translateY(0);
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(1) {
    transition-delay: 0s;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(2) {
    transition-delay: 0.05s;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3) {
    transition-delay: 0.1s;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(4) {
    transition-delay: 0.15s;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(5) {
    transition-delay: 0.2s;
  }
  .merch-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(6) {
    transition-delay: 0.25s;
  }
}
.merch-header__search {
  position: relative;
  z-index: 3;
}
.merch-header__search .wp-block-search__inside-wrapper {
  min-width: 223px;
  padding: 12px 20px 13px;
  border: 0;
  border-radius: 10px;
  background: #fff;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-header__search .wp-block-search__inside-wrapper {
    transition: background-color 0.15s ease-in-out;
  }
}
.merch-header__search .wp-block-search__inside-wrapper:hover {
  background-color: #f3f0e6;
}
@media (forced-colors: active) {
  .merch-header__search .wp-block-search__inside-wrapper:hover {
    outline: 2px solid Highlight;
    outline-offset: -2px;
  }
}
.merch-header__search .wp-block-search__inside-wrapper:focus-within {
  background-color: #f3f0e6;
  outline: 2px solid #084633;
  outline-offset: 2px;
}
.merch-header__search .wp-block-search__input {
  border: 0;
  padding: 0;
  background: transparent;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}
.merch-header__search .wp-block-search__input::placeholder {
  color: #1c211d;
  opacity: 1;
}
.merch-header__search .wp-block-search__input:focus {
  outline: 0;
}
.merch-header__search .wp-block-search__button {
  width: 33.6px;
  height: 33.6px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #084633;
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2034%2034%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.4004%2022.4004C19.2664%2022.4004%2022.4004%2019.2664%2022.4004%2015.4004C22.4004%2011.5344%2019.2664%208.40039%2015.4004%208.40039C11.5344%208.40039%208.40039%2011.5344%208.40039%2015.4004C8.40039%2019.2664%2011.5344%2022.4004%2015.4004%2022.4004Z%22%20stroke%3D%22%23084633%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M25.2%2025.2L21%2021%22%20stroke%3D%22%23084633%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/33.6px no-repeat;
}
.merch-header__search .wp-block-search__button:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
  border-radius: 4px;
}
.merch-header__search .wp-block-search__button svg {
  display: none;
}
@media (forced-colors: active) {
  .merch-header__search .wp-block-search__button {
    background-image: none;
  }
  .merch-header__search .wp-block-search__button svg {
    display: block;
  }
}
@media (min-width: 891px) and (max-width: 900px) {
  .merch-header__logo img, .merch-header__logo .custom-logo, .merch-header__logo svg {
    width: 160px;
  }
  .merch-header__search .wp-block-search__inside-wrapper {
    min-width: 0;
  }
}
@media (max-width: 890px) {
  .merch-header {
    height: 80px;
    padding-inline: 16px;
  }
  .merch-header__logo img, .merch-header__logo .custom-logo, .merch-header__logo svg {
    width: 112px;
  }
  .merch-header__search .wp-block-search__inside-wrapper {
    min-width: 0;
  }
  .merch-header .merch-lang {
    display: flex;
    justify-content: center;
  }
  .merch-header .merch-lang__toggle,
  .merch-header .merch-lang__option--none {
    display: none;
  }
  .merch-header .merch-lang__menu {
    position: static;
    transform: none;
    visibility: visible;
    pointer-events: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
  }
  .merch-header .merch-lang__menu::before {
    content: none;
  }
  .merch-header .merch-lang__option {
    opacity: 1;
  }
}
@media (max-width: 890px) and (prefers-reduced-motion: no-preference) {
  .merch-header .merch-lang__option {
    transform: none;
  }
}
@media (max-width: 890px) {
  .merch-header__right {
    flex-wrap: wrap;
    row-gap: 16px;
  }
  .merch-header__right > .merch-lang {
    order: 99;
    flex-basis: 100%;
  }
  .merch-header .wp-block-navigation.merch-header__nav .has-child .wp-block-navigation__submenu-container {
    width: auto;
    left: auto;
    top: auto;
  }
  .merch-header .wp-block-navigation.merch-header__nav .has-child .wp-block-navigation__submenu-container::before {
    content: none;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2232%22%20height%3D%2220%22%20viewBox%3D%220%200%2032%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2232%22%20height%3D%223%22%20y%3D%220%22%20fill%3D%22%23ffffff%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%223%22%20y%3D%228.5%22%20fill%3D%22%23ffffff%22%2F%3E%3Crect%20width%3D%2232%22%20height%3D%223%22%20y%3D%2217%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 32px 20px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open svg {
    display: none;
  }
}
@media (max-width: 890px) and (forced-colors: active) {
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open {
    background-image: none;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open svg {
    display: block;
  }
}
@media (max-width: 890px) {
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container-open:focus-visible {
    outline: 2px solid #e0fe83;
    outline-offset: 2px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
    background-color: #1c211d;
    padding: 16px 16px 48px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay),
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container {
    --navigation-layout-justification-setting: flex-start;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close:focus-visible {
    outline: 2px solid #e0fe83;
    outline-offset: 2px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content,
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon {
    display: none;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container,
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item.has-child,
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover, .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
    color: #e0fe83;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container {
    padding: 16px 0 0 16px;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    color: #fff;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after, .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after {
    background-color: #1c211d;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    color: #fff;
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
    color: rgba(255, 255, 255, 0.72);
  }
  .merch-header .wp-block-navigation.merch-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container > .wp-block-navigation-item + .wp-block-navigation-item {
    border-top-color: rgba(255, 255, 255, 0.3);
  }
}
@media (max-width: 400px) {
  .merch-header {
    padding-inline: 12px;
  }
  .merch-header__right {
    gap: 8px;
  }
  .merch-header__search .wp-block-search__inside-wrapper {
    padding: 8px 12px;
  }
  .merch-header__search .wp-block-search__button {
    width: 24px;
    height: 24px;
    background-size: 24px;
  }
  .merch-header__search .wp-block-search__input {
    font-size: 16px;
  }
}

.home .merch-header {
  border-bottom-color: transparent;
}

@keyframes merch-logo-rattle {
  0%, 100% {
    rotate: 0deg;
  }
  22% {
    rotate: -4deg;
  }
  45% {
    rotate: 3deg;
  }
  68% {
    rotate: -1.75deg;
  }
  85% {
    rotate: 0.75deg;
  }
}
.merch-header__mobile-extras {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  margin-top: 48px;
  width: 100%;
}
.merch-header__mobile-extras .merch-header__search {
  width: 100%;
  max-width: none;
}
.merch-header__mobile-extras .merch-lang {
  align-self: stretch;
}

/* Site footer (site-footer pattern)
--------------------------------------------- */
/**
 * Site footer (the "ppai/site-footer" block pattern).
 *
 * Chrome CSS for a pattern built from core blocks: forest-green band, MerchMovesUs
 * logo, Navigation (links) and Social Links (socials) as three subdivisions,
 * then copyright + privacy policy below.
 *
 * All values measured from Figma node 1236:10952 (Footer R2, 1440x284):
 * bg #12633E, logo 123x83, links Freight Sans Book 18 / lime #DFF48B / lh 1.3,
 * socials 4x 20x20 gap 20, copyright + privacy Freight Sans Book 14 / lime
 * #DFF48B / lh 1.3. R2 inverts the R1 colorway (was lime bg + forest text);
 * the container flexes column with a 64px gap and 64px padding on all sides,
 * which is what carries the band from R1's 217px to R2's 284px.
 */
.wp-site-blocks > footer {
  background-color: #000 !important;
}

.merch-footer {
  min-height: 284px;
  padding-block: 64px;
  padding-inline: 64px;
  --merch-footer-offset: 100px;
  margin-block-end: 0;
}
.merch-footer__logo {
  margin: 0;
}
.merch-footer__logo a {
  position: relative;
  display: block;
}
.merch-footer__logo img,
.merch-footer__logo .custom-logo {
  width: 123px;
  height: auto;
  display: block;
  clip-path: inset(0 0 0 0);
}
.merch-footer__logo a:hover img,
.merch-footer__logo a:hover .custom-logo,
.merch-footer__logo a:focus-visible img,
.merch-footer__logo a:focus-visible .custom-logo {
  clip-path: inset(0 0 0 100%);
}
@media (prefers-reduced-motion: no-preference) {
  .merch-footer__logo img,
  .merch-footer__logo .custom-logo {
    transition: clip-path 420ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}
.merch-footer__logo a::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #e0fe83;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20863.5%20632.1%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M581.6%2C89.7l48.8-15.3c.5-.2%2C1%2C0%2C1.2.7l15%2C60.8c0%2C.5.6.8%2C1.1.7l44.4-10.8c.5%2C0%2C.8-.6.7-1.1l-17.3-63.4c0-.5%2C0-1%2C.6-1.1l61.9-19.3c.5%2C0%2C1%2C0%2C1.1.6l67.9%2C207.3h-.2c.2.6-.2%2C1.1-.8%2C1.2l-76.5%2C7.4-22-79.3c0-.5-.6-.7-1-.7l-46.7%2C8.6c-.5%2C0-.8.6-.7%2C1.1l18.1%2C74.2c0%2C.6-.2%2C1.1-.8%2C1.1l-58.1%2C5.6c-.5%2C0-.9-.3-1-.7l-36.3-176.5c0-.5.2-.9.6-1.1ZM530.1%2C101.3h.2c14.5-4.6%2C29.1-4.9%2C42-2.4.5%2C0%2C.8.5.7%2C1l-3.4%2C46.3c0%2C.6-.7%2C1-1.3.8-9-4-19.8-5.3-28.1-3.1-16.4%2C4.5-21.5%2C21.7-19.1%2C46.9%2C3.9%2C26.6%2C14.6%2C42.1%2C33.4%2C39.2%2C10.7-1.6%2C19.8-7.7%2C27.9-17%2C.5-.5%2C1.3-.4%2C1.5.3l18%2C42.3c0%2C.4%2C0%2C.8-.2%2C1-9.8%2C8.7-22.1%2C19.5-44.6%2C22-41.9%2C3.8-69.9-23.4-76.5-78.5-5.8-48.4%2C11.6-86.4%2C49.5-98.8h0ZM389.5%2C149.4h0l37.1-11.4c25.6-8.2%2C42.4%2C8.9%2C45.6%2C37.7%2C1.9%2C16.6-.2%2C36.6-12.3%2C47.8-.3.3-.4.7-.2%2C1.1l29%2C55.1c.3.6%2C0%2C1.3-.7%2C1.3l-37.6%2C3.6-19.5-43.8c-.2-.4-.7-.6-1.1-.5l-3.5%2C1.1c-.4%2C0-.7.5-.6%2C1l3.4%2C43.4c0%2C.5-.3.9-.8%2C1l-30.1%2C2.8c-.5%2C0-1-.4-1-.9l-8.3-138.4c0-.4.2-.8.6-.9h0ZM280.9%2C440.4h0c0%2C.5-.4.9-.9.9l-56.1%2C2.3c-.7%2C0-.7-.8-.7-.8l3.8-104.2-26.4%2C104.5c0%2C.4-.4.7-.8.7l-59.3%2C2.6c-.5%2C0-.8-.3-.9-.7l-22.4-114-4.9%2C116.2c0%2C.5-.4.9-.9.9l-67.8%2C3.2c-.6%2C0-1-.4-1-1l14.8-191.9c0-.5.5-.9%2C1-.8l96%2C11.9c.4%2C0%2C.7.4.8.8l18.3%2C109.2%2C25-103.5c.1-.5.6-.8%2C1-.7l27.8%2C3.5c.5%2C0%2C1-.3%2C1-.8l6.4-80.1c0-.4.3-.7.6-.8l27.7-8.7c.6-.2%2C1.1.2%2C1.2.8l7.1%2C66.3%2C9.8-72.2c0-.4.3-.6.6-.8l33.6-10.6c.6-.2%2C1.2.2%2C1.2.8l2.7%2C122.9c0%2C.5-.3.9-.8%2C1l-25.1%2C2.4.3-76.6-11.3%2C75.2v-10c0%2C17.5-1.4%2C152.1-1.4%2C152.1h0ZM352.7%2C440.9c-36.4%2C1.8-66.4-23-64.3-76.3%2C1.4-35.6%2C18.3-59.3%2C41.1-68.3h-1.3l-3.1-126.5c0-.4.3-.8.7-.9l54.5-15.6c.6-.2%2C1.2.2%2C1.2.8l1.7%2C33c0%2C.4-.3.8-.7.9l-30.9%2C8c-.4%2C0-.7.5-.7.9l.5%2C14.3c0%2C.6.6%2C1%2C1.1.9l23.6-5.3c.6-.1%2C1.1.3%2C1.1.8l1.4%2C30.4c0%2C.5-.3.9-.8%2C1l-24.8%2C4.3c-.4%2C0-.8.5-.8.9l.5%2C15.8c0%2C.6.5%2C1%2C1.1.9l31.8-4.7c.5%2C0%2C1%2C.3%2C1.1.9l1.7%2C33c0%2C.5-.4.9-.8%2C1l-26.2%2C2.2c32%2C5.3%2C54%2C30.7%2C52.2%2C75.3h0c-1.7%2C42.9-27.6%2C70.6-61%2C72.3h0ZM508.1%2C316.2l-28.6%2C114.4c0%2C.4-.4.7-.8.7l-45%2C2.2c-.5%2C0-.9-.3-1-.8l-20.3-127c0-.6.4-1.1%2C1-1.1l37.1%2C3.9c.4%2C0%2C.8.4.8.8l8.4%2C76.8%2C15.8-73.8c0-.5.5-.8%2C1-.7l30.8%2C3.5c.6%2C0%2C.9.6.8%2C1.1h0ZM659%2C499h0c-3.5%2C31.6-26%2C42.1-58.4%2C34.1-24.9-5.7-39.7-21.4-39-49.4l-.5-55.3c0-.5-.4-.9-1-.9l-48.8%2C2.4h-.2l-1.6-.3c-.4%2C0-.8-.5-.7-.9l4.3-111.9c0-.5.5-.9%2C1-.9l54.2%2C6.9c.5%2C0%2C.8.5.8%2C1l-.2-.2-.9%2C23.8c0%2C.5-.5.9-1%2C.9l-27.9-2.3-.6%2C14.4%2C22.1%2C1.3c.5%2C0%2C.9.5.9%2C1l-.9%2C24c0%2C.5-.4.9-.9.9l-22.1-.4-.6%2C14.7h32.9c.5%2C0%2C.9.3.9.8l.4%2C18.3%2C4.4-25.8c0-.7%2C1-1%2C1.5-.5%2C5.7%2C5%2C12.5%2C9.1%2C19%2C9.1s7.8-2.2%2C7.9-6.4c.2-4.7-7.3-7.1-13.4-10.3-8.6-4.4-19.4-12.5-18.6-33.1.8-20.2%2C9.7-31.6%2C26-29.6%2C9.8%2C1.3%2C16.8%2C5.9%2C21.7%2C10.9.2.2.3.5.3.8l-3.5%2C22.1c0%2C.7-1%2C1-1.6.5-5.2-5.1-11.5-9.3-16.6-9.8-3.3-.3-5.2%2C1.3-5.4%2C5.3-.2%2C4.5%2C4.6%2C8.1%2C9.7%2C11%2C8.7%2C4.8%2C22.7%2C12.1%2C22%2C30.2-.7%2C18.7-10.9%2C31.7-26.8%2C33-.5%2C0-.8.4-.8.9v48.7c0%2C20.3%2C5%2C22.7%2C10.3%2C23.6%2C6.7%2C1.2%2C11.3-2.8%2C11-15.4l-1.3-60.1c0-.5.4-.9.9-.9l41.9-1.6c.5%2C0%2C1%2C.4%2C1%2C.9l-1.8%2C74.5h0ZM730.7%2C571.3h0c-25.9-6.6-48-17.4-60.5-26.7-.3-.2-.4-.6-.3-.9l6.6-32.8c0-.6.8-.9%2C1.4-.6%2C14.2%2C9.1%2C40.2%2C20.3%2C58.4%2C23.6%2C11.2%2C2%2C18%2C2.6%2C17.7-3.7-.3-7.3-22.7-15.7-40.4-22.6-22.2-8.7-44.1-20-45.1-46s16.6-42.2%2C58.5-44.4c30.9-1.7%2C45.4%2C1.3%2C65.8%2C8.4.4.1.7.6.6%2C1.1l-9.1%2C39.1c0%2C.6-.8.9-1.3.6-20.8-9.4-29.2-11.6-46-11.9-9.5-.2-14.4%2C2.3-14.2%2C8%2C.3%2C6.5%2C7.7%2C9.1%2C23.6%2C14%2C30.4%2C9.3%2C67.1%2C26.8%2C68.4%2C59.6%2C1.3%2C34.5-30.5%2C48.8-84%2C35.2h0ZM423.5%2C209.4h0l7.7-2h.1c7.9-3.2%2C10.7-9.1%2C9.6-20.7h.2c-.8-9.6-7.1-13.2-15.4-11.6l-2%2C.5-3.1.8c-.4%2C0-.7.5-.7%2C1l2.5%2C31.2c0%2C.6.6%2C1%2C1.1.8h0ZM248.6%2C281.5c0%2C.5.3.9.8%2C1%2C0-.1%2C7%2C.8%2C7%2C.8.6%2C0%2C1.1-.4%2C1-1l-5.9-51.2-2.9%2C50.4h0ZM356.7%2C327.9c-14.2-1.4-21.9%2C14.3-22.8%2C37.5-.9%2C23.9%2C6%2C40.5%2C20.3%2C40.4%2C13.6-.1%2C20.9-15.8%2C21.7-37.8s-5.4-38.9-19.2-40.1Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20863.5%20632.1%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M581.6%2C89.7l48.8-15.3c.5-.2%2C1%2C0%2C1.2.7l15%2C60.8c0%2C.5.6.8%2C1.1.7l44.4-10.8c.5%2C0%2C.8-.6.7-1.1l-17.3-63.4c0-.5%2C0-1%2C.6-1.1l61.9-19.3c.5%2C0%2C1%2C0%2C1.1.6l67.9%2C207.3h-.2c.2.6-.2%2C1.1-.8%2C1.2l-76.5%2C7.4-22-79.3c0-.5-.6-.7-1-.7l-46.7%2C8.6c-.5%2C0-.8.6-.7%2C1.1l18.1%2C74.2c0%2C.6-.2%2C1.1-.8%2C1.1l-58.1%2C5.6c-.5%2C0-.9-.3-1-.7l-36.3-176.5c0-.5.2-.9.6-1.1ZM530.1%2C101.3h.2c14.5-4.6%2C29.1-4.9%2C42-2.4.5%2C0%2C.8.5.7%2C1l-3.4%2C46.3c0%2C.6-.7%2C1-1.3.8-9-4-19.8-5.3-28.1-3.1-16.4%2C4.5-21.5%2C21.7-19.1%2C46.9%2C3.9%2C26.6%2C14.6%2C42.1%2C33.4%2C39.2%2C10.7-1.6%2C19.8-7.7%2C27.9-17%2C.5-.5%2C1.3-.4%2C1.5.3l18%2C42.3c0%2C.4%2C0%2C.8-.2%2C1-9.8%2C8.7-22.1%2C19.5-44.6%2C22-41.9%2C3.8-69.9-23.4-76.5-78.5-5.8-48.4%2C11.6-86.4%2C49.5-98.8h0ZM389.5%2C149.4h0l37.1-11.4c25.6-8.2%2C42.4%2C8.9%2C45.6%2C37.7%2C1.9%2C16.6-.2%2C36.6-12.3%2C47.8-.3.3-.4.7-.2%2C1.1l29%2C55.1c.3.6%2C0%2C1.3-.7%2C1.3l-37.6%2C3.6-19.5-43.8c-.2-.4-.7-.6-1.1-.5l-3.5%2C1.1c-.4%2C0-.7.5-.6%2C1l3.4%2C43.4c0%2C.5-.3.9-.8%2C1l-30.1%2C2.8c-.5%2C0-1-.4-1-.9l-8.3-138.4c0-.4.2-.8.6-.9h0ZM280.9%2C440.4h0c0%2C.5-.4.9-.9.9l-56.1%2C2.3c-.7%2C0-.7-.8-.7-.8l3.8-104.2-26.4%2C104.5c0%2C.4-.4.7-.8.7l-59.3%2C2.6c-.5%2C0-.8-.3-.9-.7l-22.4-114-4.9%2C116.2c0%2C.5-.4.9-.9.9l-67.8%2C3.2c-.6%2C0-1-.4-1-1l14.8-191.9c0-.5.5-.9%2C1-.8l96%2C11.9c.4%2C0%2C.7.4.8.8l18.3%2C109.2%2C25-103.5c.1-.5.6-.8%2C1-.7l27.8%2C3.5c.5%2C0%2C1-.3%2C1-.8l6.4-80.1c0-.4.3-.7.6-.8l27.7-8.7c.6-.2%2C1.1.2%2C1.2.8l7.1%2C66.3%2C9.8-72.2c0-.4.3-.6.6-.8l33.6-10.6c.6-.2%2C1.2.2%2C1.2.8l2.7%2C122.9c0%2C.5-.3.9-.8%2C1l-25.1%2C2.4.3-76.6-11.3%2C75.2v-10c0%2C17.5-1.4%2C152.1-1.4%2C152.1h0ZM352.7%2C440.9c-36.4%2C1.8-66.4-23-64.3-76.3%2C1.4-35.6%2C18.3-59.3%2C41.1-68.3h-1.3l-3.1-126.5c0-.4.3-.8.7-.9l54.5-15.6c.6-.2%2C1.2.2%2C1.2.8l1.7%2C33c0%2C.4-.3.8-.7.9l-30.9%2C8c-.4%2C0-.7.5-.7.9l.5%2C14.3c0%2C.6.6%2C1%2C1.1.9l23.6-5.3c.6-.1%2C1.1.3%2C1.1.8l1.4%2C30.4c0%2C.5-.3.9-.8%2C1l-24.8%2C4.3c-.4%2C0-.8.5-.8.9l.5%2C15.8c0%2C.6.5%2C1%2C1.1.9l31.8-4.7c.5%2C0%2C1%2C.3%2C1.1.9l1.7%2C33c0%2C.5-.4.9-.8%2C1l-26.2%2C2.2c32%2C5.3%2C54%2C30.7%2C52.2%2C75.3h0c-1.7%2C42.9-27.6%2C70.6-61%2C72.3h0ZM508.1%2C316.2l-28.6%2C114.4c0%2C.4-.4.7-.8.7l-45%2C2.2c-.5%2C0-.9-.3-1-.8l-20.3-127c0-.6.4-1.1%2C1-1.1l37.1%2C3.9c.4%2C0%2C.8.4.8.8l8.4%2C76.8%2C15.8-73.8c0-.5.5-.8%2C1-.7l30.8%2C3.5c.6%2C0%2C.9.6.8%2C1.1h0ZM659%2C499h0c-3.5%2C31.6-26%2C42.1-58.4%2C34.1-24.9-5.7-39.7-21.4-39-49.4l-.5-55.3c0-.5-.4-.9-1-.9l-48.8%2C2.4h-.2l-1.6-.3c-.4%2C0-.8-.5-.7-.9l4.3-111.9c0-.5.5-.9%2C1-.9l54.2%2C6.9c.5%2C0%2C.8.5.8%2C1l-.2-.2-.9%2C23.8c0%2C.5-.5.9-1%2C.9l-27.9-2.3-.6%2C14.4%2C22.1%2C1.3c.5%2C0%2C.9.5.9%2C1l-.9%2C24c0%2C.5-.4.9-.9.9l-22.1-.4-.6%2C14.7h32.9c.5%2C0%2C.9.3.9.8l.4%2C18.3%2C4.4-25.8c0-.7%2C1-1%2C1.5-.5%2C5.7%2C5%2C12.5%2C9.1%2C19%2C9.1s7.8-2.2%2C7.9-6.4c.2-4.7-7.3-7.1-13.4-10.3-8.6-4.4-19.4-12.5-18.6-33.1.8-20.2%2C9.7-31.6%2C26-29.6%2C9.8%2C1.3%2C16.8%2C5.9%2C21.7%2C10.9.2.2.3.5.3.8l-3.5%2C22.1c0%2C.7-1%2C1-1.6.5-5.2-5.1-11.5-9.3-16.6-9.8-3.3-.3-5.2%2C1.3-5.4%2C5.3-.2%2C4.5%2C4.6%2C8.1%2C9.7%2C11%2C8.7%2C4.8%2C22.7%2C12.1%2C22%2C30.2-.7%2C18.7-10.9%2C31.7-26.8%2C33-.5%2C0-.8.4-.8.9v48.7c0%2C20.3%2C5%2C22.7%2C10.3%2C23.6%2C6.7%2C1.2%2C11.3-2.8%2C11-15.4l-1.3-60.1c0-.5.4-.9.9-.9l41.9-1.6c.5%2C0%2C1%2C.4%2C1%2C.9l-1.8%2C74.5h0ZM730.7%2C571.3h0c-25.9-6.6-48-17.4-60.5-26.7-.3-.2-.4-.6-.3-.9l6.6-32.8c0-.6.8-.9%2C1.4-.6%2C14.2%2C9.1%2C40.2%2C20.3%2C58.4%2C23.6%2C11.2%2C2%2C18%2C2.6%2C17.7-3.7-.3-7.3-22.7-15.7-40.4-22.6-22.2-8.7-44.1-20-45.1-46s16.6-42.2%2C58.5-44.4c30.9-1.7%2C45.4%2C1.3%2C65.8%2C8.4.4.1.7.6.6%2C1.1l-9.1%2C39.1c0%2C.6-.8.9-1.3.6-20.8-9.4-29.2-11.6-46-11.9-9.5-.2-14.4%2C2.3-14.2%2C8%2C.3%2C6.5%2C7.7%2C9.1%2C23.6%2C14%2C30.4%2C9.3%2C67.1%2C26.8%2C68.4%2C59.6%2C1.3%2C34.5-30.5%2C48.8-84%2C35.2h0ZM423.5%2C209.4h0l7.7-2h.1c7.9-3.2%2C10.7-9.1%2C9.6-20.7h.2c-.8-9.6-7.1-13.2-15.4-11.6l-2%2C.5-3.1.8c-.4%2C0-.7.5-.7%2C1l2.5%2C31.2c0%2C.6.6%2C1%2C1.1.8h0ZM248.6%2C281.5c0%2C.5.3.9.8%2C1%2C0-.1%2C7%2C.8%2C7%2C.8.6%2C0%2C1.1-.4%2C1-1l-5.9-51.2-2.9%2C50.4h0ZM356.7%2C327.9c-14.2-1.4-21.9%2C14.3-22.8%2C37.5-.9%2C23.9%2C6%2C40.5%2C20.3%2C40.4%2C13.6-.1%2C20.9-15.8%2C21.7-37.8s-5.4-38.9-19.2-40.1Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  clip-path: inset(0 100% 0 0);
  pointer-events: none;
}
.merch-footer__logo a:hover::after,
.merch-footer__logo a:focus-visible::after {
  clip-path: inset(0 0% 0 0);
}
@media (prefers-reduced-motion: no-preference) {
  .merch-footer__logo a::after {
    transition: clip-path 420ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media (forced-colors: active) {
  .merch-footer__logo img,
  .merch-footer__logo .custom-logo {
    visibility: hidden;
  }
  .merch-footer__logo a::after {
    background-color: CanvasText;
    clip-path: inset(0 0% 0 0);
  }
}
.merch-footer__links {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}
.merch-footer__links .wp-block-navigation__container {
  gap: 32px;
}
.merch-footer__links a {
  color: #fff;
  text-decoration: none;
}
.merch-footer__links a:hover, .merch-footer__links a:focus-visible {
  text-decoration: underline;
}
.merch-footer__links .wp-block-navigation-item:hover,
.merch-footer__links .wp-block-navigation-item:focus-within {
  color: #e0fe83;
}
.merch-footer__socials {
  gap: 20px;
  margin: 0;
  padding: 0;
}
.merch-footer__socials .wp-social-link {
  width: 20px;
  height: 20px;
  padding: 0;
  background-color: transparent;
}
.merch-footer__socials .wp-social-link svg {
  display: none;
}
.merch-footer__socials .wp-social-link .wp-block-social-link-anchor {
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}
.merch-footer__socials .wp-social-link:focus-within {
  outline: 2px solid #e0fe83;
  outline-offset: 3px;
}
.merch-footer__socials .wp-social-link-facebook svg {
  display: block;
  width: 20px;
  height: 20px;
}
.merch-footer__socials .wp-social-link-facebook {
  color: #fff;
}
.merch-footer__socials .wp-social-link-facebook:hover, .merch-footer__socials .wp-social-link-facebook:focus-within {
  color: #e0fe83;
}
.merch-footer__socials .wp-social-link-youtube .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20youtube%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M18.7835%205.34992C18.6845%204.95443%2018.4829%204.59206%2018.199%204.29942C17.9152%204.00679%2017.5591%203.79424%2017.1668%203.68325C15.7335%203.33325%2010.0002%203.33325%2010.0002%203.33325C10.0002%203.33325%204.26682%203.33325%202.83348%203.71659C2.44119%203.82757%202.08513%204.04012%201.80127%204.33276C1.51741%204.6254%201.31581%204.98776%201.21682%205.38325C0.954496%206.83788%200.826181%208.31351%200.833484%209.79158C0.824134%2011.2808%200.952457%2012.7677%201.21682%2014.2333C1.32595%2014.6165%201.53207%2014.965%201.81527%2015.2453C2.09847%2015.5256%202.44917%2015.7281%202.83348%2015.8333C4.26682%2016.2166%2010.0002%2016.2166%2010.0002%2016.2166C10.0002%2016.2166%2015.7335%2016.2166%2017.1668%2015.8333C17.5591%2015.7223%2017.9152%2015.5097%2018.199%2015.2171C18.4829%2014.9244%2018.6845%2014.5621%2018.7835%2014.1666C19.0438%2012.7229%2019.1721%2011.2585%2019.1668%209.79158C19.1762%208.30238%2019.0478%206.8155%2018.7835%205.34992Z%22%20fill%3D%22%23ffffff%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M8.125%2012.5167L12.9167%209.79165L8.125%207.06665V12.5167Z%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-youtube:hover .wp-block-social-link-anchor, .merch-footer__socials .wp-social-link-youtube:focus-within .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20youtube%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M18.7835%205.34992C18.6845%204.95443%2018.4829%204.59206%2018.199%204.29942C17.9152%204.00679%2017.5591%203.79424%2017.1668%203.68325C15.7335%203.33325%2010.0002%203.33325%2010.0002%203.33325C10.0002%203.33325%204.26682%203.33325%202.83348%203.71659C2.44119%203.82757%202.08513%204.04012%201.80127%204.33276C1.51741%204.6254%201.31581%204.98776%201.21682%205.38325C0.954496%206.83788%200.826181%208.31351%200.833484%209.79158C0.824134%2011.2808%200.952457%2012.7677%201.21682%2014.2333C1.32595%2014.6165%201.53207%2014.965%201.81527%2015.2453C2.09847%2015.5256%202.44917%2015.7281%202.83348%2015.8333C4.26682%2016.2166%2010.0002%2016.2166%2010.0002%2016.2166C10.0002%2016.2166%2015.7335%2016.2166%2017.1668%2015.8333C17.5591%2015.7223%2017.9152%2015.5097%2018.199%2015.2171C18.4829%2014.9244%2018.6845%2014.5621%2018.7835%2014.1666C19.0438%2012.7229%2019.1721%2011.2585%2019.1668%209.79158C19.1762%208.30238%2019.0478%206.8155%2018.7835%205.34992Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M8.125%2012.5167L12.9167%209.79165L8.125%207.06665V12.5167Z%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-instagram .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20instagram%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M14.167%201.66675H5.83366C3.53247%201.66675%201.66699%203.53223%201.66699%205.83341V14.1667C1.66699%2016.4679%203.53247%2018.3334%205.83366%2018.3334H14.167C16.4682%2018.3334%2018.3337%2016.4679%2018.3337%2014.1667V5.83341C18.3337%203.53223%2016.4682%201.66675%2014.167%201.66675Z%22%20fill%3D%22%23ffffff%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.3337%209.47501C13.4366%2010.1685%2013.3181%2010.8769%2012.9952%2011.4992C12.6723%2012.1215%2012.1614%2012.6262%2011.5351%2012.9414C10.9088%2013.2566%2010.1991%2013.3663%209.5069%2013.255C8.81468%2013.1436%208.17521%2012.8167%207.67944%2012.321C7.18367%2011.8252%206.85685%2011.1857%206.74546%2010.4935C6.63408%209.8013%206.74379%209.09159%207.05901%208.46532C7.37423%207.83905%207.8789%207.32812%208.50123%207.00521C9.12356%206.68229%209.83187%206.56383%2010.5254%206.66667C11.2328%206.77158%2011.8878%207.10123%2012.3935%207.60693C12.8992%208.11263%2013.2288%208.76757%2013.3337%209.47501Z%22%20fill%3D%22%23000000%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M14.583%205.41675H14.5913%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-instagram:hover .wp-block-social-link-anchor, .merch-footer__socials .wp-social-link-instagram:focus-within .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20instagram%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M14.167%201.66675H5.83366C3.53247%201.66675%201.66699%203.53223%201.66699%205.83341V14.1667C1.66699%2016.4679%203.53247%2018.3334%205.83366%2018.3334H14.167C16.4682%2018.3334%2018.3337%2016.4679%2018.3337%2014.1667V5.83341C18.3337%203.53223%2016.4682%201.66675%2014.167%201.66675Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.3337%209.47501C13.4366%2010.1685%2013.3181%2010.8769%2012.9952%2011.4992C12.6723%2012.1215%2012.1614%2012.6262%2011.5351%2012.9414C10.9088%2013.2566%2010.1991%2013.3663%209.5069%2013.255C8.81468%2013.1436%208.17521%2012.8167%207.67944%2012.321C7.18367%2011.8252%206.85685%2011.1857%206.74546%2010.4935C6.63408%209.8013%206.74379%209.09159%207.05901%208.46532C7.37423%207.83905%207.8789%207.32812%208.50123%207.00521C9.12356%206.68229%209.83187%206.56383%2010.5254%206.66667C11.2328%206.77158%2011.8878%207.10123%2012.3935%207.60693C12.8992%208.11263%2013.2288%208.76757%2013.3337%209.47501Z%22%20fill%3D%22%23000000%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M14.583%205.41675H14.5913%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-twitter .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20twitter%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M19.1663%202.50008C18.3683%203.06298%2017.4848%203.4935%2016.5497%203.77508C16.0478%203.198%2015.3808%202.78899%2014.6389%202.60335C13.897%202.41771%2013.1159%202.46441%2012.4014%202.73712C11.6869%203.00984%2011.0734%203.49541%2010.6438%204.12818C10.2143%204.76094%209.98942%205.51036%209.99967%206.27508V7.10841C8.5352%207.14639%207.08407%206.82159%205.77552%206.16295C4.46696%205.50431%203.34161%204.53228%202.49967%203.33341C2.49967%203.33341%20-0.833659%2010.8334%206.66634%2014.1667C4.95011%2015.3317%202.90564%2015.9159%200.833008%2015.8334C8.33301%2020.0001%2017.4997%2015.8334%2017.4997%206.25008C17.4989%206.01796%2017.4766%205.78641%2017.433%205.55841C18.2835%204.71966%2018.8837%203.66067%2019.1663%202.50008Z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-twitter:hover .wp-block-social-link-anchor, .merch-footer__socials .wp-social-link-twitter:focus-within .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20twitter%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M19.1663%202.50008C18.3683%203.06298%2017.4848%203.4935%2016.5497%203.77508C16.0478%203.198%2015.3808%202.78899%2014.6389%202.60335C13.897%202.41771%2013.1159%202.46441%2012.4014%202.73712C11.6869%203.00984%2011.0734%203.49541%2010.6438%204.12818C10.2143%204.76094%209.98942%205.51036%209.99967%206.27508V7.10841C8.5352%207.14639%207.08407%206.82159%205.77552%206.16295C4.46696%205.50431%203.34161%204.53228%202.49967%203.33341C2.49967%203.33341%20-0.833659%2010.8334%206.66634%2014.1667C4.95011%2015.3317%202.90564%2015.9159%200.833008%2015.8334C8.33301%2020.0001%2017.4997%2015.8334%2017.4997%206.25008C17.4989%206.01796%2017.4766%205.78641%2017.433%205.55841C18.2835%204.71966%2018.8837%203.66067%2019.1663%202.50008Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-linkedin .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20linkedin%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.333%206.66675C14.6591%206.66675%2015.9309%207.19353%2016.8685%208.13121C17.8062%209.0689%2018.333%2010.3407%2018.333%2011.6667V17.5001H14.9997V11.6667C14.9997%2011.2247%2014.8241%2010.8008%2014.5115%2010.4882C14.199%2010.1757%2013.775%2010.0001%2013.333%2010.0001C12.891%2010.0001%2012.4671%2010.1757%2012.1545%2010.4882C11.8419%2010.8008%2011.6663%2011.2247%2011.6663%2011.6667V17.5001H8.33301V11.6667C8.33301%2010.3407%208.85979%209.0689%209.79747%208.13121C10.7352%207.19353%2012.0069%206.66675%2013.333%206.66675Z%22%20fill%3D%22%23ffffff%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M5.00033%207.5H1.66699V17.5H5.00033V7.5Z%22%20fill%3D%22%23ffffff%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M3.33366%205.00008C4.25413%205.00008%205.00033%204.25389%205.00033%203.33341C5.00033%202.41294%204.25413%201.66675%203.33366%201.66675C2.41318%201.66675%201.66699%202.41294%201.66699%203.33341C1.66699%204.25389%202.41318%205.00008%203.33366%205.00008Z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.merch-footer__socials .wp-social-link-linkedin:hover .wp-block-social-link-anchor, .merch-footer__socials .wp-social-link-linkedin:focus-within .wp-block-social-link-anchor {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Footer%22%3E%3Cg%20id%3D%22icon%20%2F%20outlined%20%2F%20brand%20and%20logo%20%2F%20linkedin%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.333%206.66675C14.6591%206.66675%2015.9309%207.19353%2016.8685%208.13121C17.8062%209.0689%2018.333%2010.3407%2018.333%2011.6667V17.5001H14.9997V11.6667C14.9997%2011.2247%2014.8241%2010.8008%2014.5115%2010.4882C14.199%2010.1757%2013.775%2010.0001%2013.333%2010.0001C12.891%2010.0001%2012.4671%2010.1757%2012.1545%2010.4882C11.8419%2010.8008%2011.6663%2011.2247%2011.6663%2011.6667V17.5001H8.33301V11.6667C8.33301%2010.3407%208.85979%209.0689%209.79747%208.13121C10.7352%207.19353%2012.0069%206.66675%2013.333%206.66675Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M5.00033%207.5H1.66699V17.5H5.00033V7.5Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M3.33366%205.00008C4.25413%205.00008%205.00033%204.25389%205.00033%203.33341C5.00033%202.41294%204.25413%201.66675%203.33366%201.66675C2.41318%201.66675%201.66699%202.41294%201.66699%203.33341C1.66699%204.25389%202.41318%205.00008%203.33366%205.00008Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media (forced-colors: active) {
  .merch-footer__socials .wp-social-link.wp-social-link svg {
    display: block;
  }
  .merch-footer__socials .wp-social-link.wp-social-link.wp-social-link .wp-block-social-link-anchor {
    background-image: none;
  }
}
.merch-footer__top, .merch-footer__bottom {
  max-width: 1312px;
  margin-inline: auto;
}
.merch-footer__bottom {
  margin-top: 64px;
}
.merch-footer__copyright, .merch-footer__privacy {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
}
.merch-footer__copyright a, .merch-footer__privacy a {
  color: inherit;
  text-decoration: none;
}
.merch-footer__copyright a:hover, .merch-footer__copyright a:focus-visible, .merch-footer__privacy a:hover, .merch-footer__privacy a:focus-visible {
  text-decoration: underline;
}
@media (max-width: 900px) {
  .merch-footer {
    padding-inline: 24px;
  }
  .merch-footer__top.wp-block-group, .merch-footer__bottom.wp-block-group {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
  .merch-footer__top {
    gap: 32px;
  }
  .merch-footer__links .wp-block-navigation__container {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 16px;
  }
  .merch-footer__bottom {
    gap: 8px;
    margin-top: 48px;
  }
}
@media (max-width: 600px) {
  .merch-footer {
    padding-block: 40px;
    padding-inline: 16px;
  }
  .merch-footer__top {
    gap: 24px;
  }
  .merch-footer__bottom {
    margin-top: 32px;
  }
  .merch-footer__links .wp-block-navigation__container {
    column-gap: 24px;
    row-gap: 8px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root .merch-footer {
    animation: merch-footer-settle linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 90%;
  }
  :root .wp-block-template-part:has(> .merch-footer) {
    overflow: clip;
  }
}
@keyframes merch-footer-settle {
  from {
    transform: translateY(var(--merch-footer-offset, 100px));
  }
  to {
    transform: translateY(0);
  }
}
/* Homepage hero (homepage-hero pattern)
--------------------------------------------- */
/**
 * Homepage hero (the "ppai/homepage-hero" block pattern).
 *
 * Core Cover block + an offset headline. R2 RE-MEASURE off Figma Home hero
 * node 1236:10929 (superseding R1 node 858:12904). R2 deltas applied here:
 * image 1312x600 (was 650), radius 32 (was 20), bar radius 8 (was 10),
 * headline 104px (was 105.414). R1's per-line bar-box mechanism, min-widths,
 * offsets and animations are KEPT - the composition is unchanged, only the
 * measured values moved. Original R1 measurements retained below for context:
 *   image frame  858:12905  1312 x 650, radius 20px, clipped
 *   overlay      858:12909  offset left 44.74px / top 445.59px from the image
 *                           top-left, 283.07px tall -> overhangs the image bottom
 *   bars         858:12910/11/12  #12633E, radius 10px, height 100.717px,
 *                           tops 0 / 91.72 / 182.35 (they overlap ~9-10px, so the
 *                           stack reads continuous with stepped right edges)
 *   headline     858:12913  Freight Sans Condensed Black, 105.414px, line-height
 *                           0.84, uppercase, #DFF48B, text inset 14.34px from the
 *                           bar's left edge, cap top 19.05px below the bar top.
 *
 * Why explicit per-line boxes and not `box-decoration-break: clone`:
 * an inline background paints the font's CONTENT AREA (ascent+descent), which for
 * Freight Sans Condensed at 105.414px is ~144.5px. No padding can shrink that to
 * Figma's 100.717px bar. Each line therefore gets its own inline-block whose
 * height is driven by line-height and whose width is pinned to Figma's rect.
 *
 * Why container units and not vw:
 * every length here is Figma's px expressed against the 1312px design width as
 * (px / 1312 * 100)cqw, so at the design width 1cqw = 13.12px and each value
 * resolves to its exact Figma px. The hero is frequently NOT the full viewport -
 * the block-editor canvas, a classic scrollbar, or a padded column all shrink it -
 * and vw would size the bars against a box the hero does not occupy. cqw measures
 * the hero itself, so the composition holds its Figma proportions at every width
 * and needs no media query.
 */
.merch-hero-band {
  padding-bottom: 136px;
  background-color: #1c211d !important;
}
@media (max-width: 900px) {
  .merch-hero-band {
    padding-bottom: 72px;
  }
}
@media (max-width: 600px) {
  .merch-hero-band {
    padding-bottom: 40px;
  }
}

.merch-hero {
  container-type: inline-size;
  margin-inline: auto;
  padding: 0;
}
.merch-hero.alignwide {
  max-width: 1312px;
}
.merch-hero.wp-block-cover {
  min-height: 0;
  aspect-ratio: 1312 / 600;
}
@media (max-width: 600px) {
  .merch-hero.wp-block-cover {
    min-height: 280px;
    aspect-ratio: auto;
    max-width: 100%;
  }
}
.merch-hero {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
  z-index: 1;
}
.merch-hero .wp-block-cover__image-background,
.merch-hero .wp-block-cover__background {
  border-radius: 32px;
}
.merch-hero .wp-block-cover__inner-container {
  position: static;
  width: 100%;
}
.merch-hero__headline {
  position: absolute;
  z-index: 2;
  top: 33.3079cqw;
  left: 3.0488cqw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 7.9268cqw;
  text-transform: uppercase;
  color: #1c211d;
}
@media (min-width: 901px) {
  .merch-hero__headline--compact {
    font-size: 7cqw;
  }
}
@media (max-width: 900px) {
  .merch-hero__headline {
    top: auto;
    bottom: -2.5rem;
    left: 24px;
    font-size: clamp(34px, 7.9vw, 72px);
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  :lang(de) .merch-hero__headline, :lang(fr) .merch-hero__headline {
    max-width: calc(100% - 24px);
  }
}
@media (max-width: 600px) {
  .merch-hero__headline {
    bottom: -1.5rem;
    left: 16px;
    max-width: calc(100% - 32px);
    font-size: clamp(23px, 6vw, 32px);
  }
}
.merch-hero__line {
  display: inline-block;
  padding-inline: 1.093cqw;
  line-height: 7.6766cqw;
  white-space: nowrap;
  background-color: #e0fe83;
  border-radius: 0.6098cqw;
}
@media (max-width: 900px) {
  .merch-hero__line {
    padding-inline: 0.138em;
    line-height: 0.968;
    border-radius: 8px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  :lang(de) .merch-hero__line, :lang(fr) .merch-hero__line {
    white-space: normal;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 600px) {
  .merch-hero__line {
    white-space: normal;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
.merch-hero__line:nth-child(1) {
  min-width: 53.4962cqw;
}
@media (max-width: 600px) {
  .merch-hero__line:nth-child(1) {
    min-width: 0;
  }
}
.merch-hero__line:nth-child(2) {
  min-width: 56.029cqw;
}
@media (max-width: 600px) {
  .merch-hero__line:nth-child(2) {
    min-width: 0;
  }
}
.merch-hero__line:nth-child(n+2) {
  margin-top: -0.6858cqw;
}
@media (max-width: 900px) {
  .merch-hero__line:nth-child(n+2) {
    margin-top: -0.0865em;
  }
}
.merch-hero__line:nth-child(3) {
  min-width: 70.1776cqw;
  margin-top: -0.7688cqw;
}
@media (max-width: 900px) {
  .merch-hero__line:nth-child(3) {
    margin-top: -0.097em;
  }
}
@media (max-width: 600px) {
  .merch-hero__line:nth-child(3) {
    min-width: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .merch-hero {
    opacity: 0;
    transform: scale(1.06);
    transform-origin: center;
  }
  html.ppai-js-loader .merch-hero__headline {
    overflow-x: clip;
  }
  html.ppai-js-loader .merch-hero__line {
    transform: translateX(-105%);
  }
  html.ppai-loaded .merch-hero {
    animation: merch-hero-zoom-fade 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both;
  }
  html.ppai-loaded .merch-hero__line {
    animation: merch-hero-line-slide-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.95s both;
  }
  html.ppai-loaded .merch-hero__line:nth-child(2) {
    animation-delay: 1.07s;
  }
  html.ppai-loaded .merch-hero__line:nth-child(3) {
    animation-delay: 1.19s;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 600px) {
  html.ppai-js-loader .merch-hero, html.ppai-loaded .merch-hero {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.ppai-js-loader .merch-hero__headline {
    overflow-x: visible;
  }
  html.ppai-js-loader .merch-hero__line, html.ppai-loaded .merch-hero__line {
    transform: none;
    animation: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root .merch-hero .wp-block-cover__image-background {
    animation: merch-hero-scroll-zoom linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 100vh;
  }
}
@keyframes merch-hero-zoom-fade {
  from {
    opacity: 0;
    transform: scale(1.06);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes merch-hero-line-slide-in {
  from {
    transform: translateX(-105%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes merch-hero-scroll-zoom {
  from {
    transform: scale(1);
    clip-path: inset(0% round 32px);
  }
  to {
    transform: scale(1.18);
    clip-path: inset(7.6271% round 27.1186px);
  }
}
/* Homepage resource cards (homepage-resource-cards pattern)
--------------------------------------------- */
/**
 * Homepage resource carousel (the "ppai/homepage-resource-cards" block pattern).
 *
 * R2 REBUILD off Figma "All Pages R2" node 1236:10930 (superseding R1 node
 * 858:12914). R1 was two plum cards that overhung the hero's lime band; R2 is a
 * white section of dark-green cards in a horizontal CAROUSEL, with a lime band
 * bleeding across the section's top 128px (the visual continuation of the lime
 * hero above) and prev/next circles centered below.
 *
 * The scroller mechanics + the round button shell come from the SHARED carousel
 * primitive (_carousel.scss + carousel.js): `.merch-carousel > __track` is the
 * native scroll-snap scroller, `.merch-carousel__nav > __prev/__next` are the
 * 56px lime circles. This file is the resource SKIN only - the section frame,
 * the lime bleed, the dark-green card, and the two nav overrides (centered, 20px
 * gap, dropped below the track).
 *
 * Figma node 1236:10930 (1440 wide, frame-local px):
 *   section        bg #FFFFFF, flex row gap 24, px 64 (SiteMargin/margin-default),
 *                  py 40 (padding/large). A lime band #DFF48B, 1440 x 128, sits at
 *                  top:0 (the hero's lime bleeding into the white section).
 *   card           644 x 264, bg #073108 (Dark Green), radius 10 (radius/radius-10),
 *                  overflow clip, flex row items-center. gap between cards 24.
 *     image        220 x 264 (5:6), object-fit cover, flush left (card clip rounds it)
 *     content      p 24 (padding/medium), flex-col gap 16 (padding/small),
 *                  items-end (the round CTA aligns right), justify-end (bottom)
 *       title      Freight Sans Condensed Black 38 (h3) / 0.84, uppercase, #FFFFFF
 *       body       Freight Sans Book 18 (body/large) / 1.3, #FFFFFF
 *       CTA        56px lime circle, forest arrow (icon-only-button, p 20 + 16 icon)
 *   card 2 image   a #146842 tile with the folded-map graphic centered (~102.5 x 105.3)
 *   pagination     two 56px lime circles below the cards, centered, gap 20, prev
 *                  is the next arrow mirrored (the primitive already owns the shell)
 *
 * Units: the theme's cqw poster model (decision_2026-07-09_container-units-figma-scaling).
 * The card is its OWN inline-size container, and every length inside it is Figma's
 * px against the 644 card as (px / 644 * 100)cqw - so at the design width 1cqw =
 * 6.44px and each value resolves to its exact Figma px (the fidelity gate measures
 * there), while the whole card scales as one unit at any width. The card WIDTH
 * itself is `(100% - gap) / 2` of the track (capped at 644), so two cards fill the
 * 1312 content column at the design width and shrink together below it; on mobile
 * they go one-up and full-width. A third+ card overflows the track and the prev/next
 * buttons page it. See decision_2026-07-16_r2-foundations-architecture (revisit-when:
 * the first section rebuild reveals the primitive contracts).
 */
.merch-resource-carousel {
  position: relative;
  background-color: #fff;
  padding-block: 40px;
  overflow-x: clip;
}
.merch-resource-carousel::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  height: 128px;
  background-color: #1c211d;
}

.merch-resource-carousel .merch-carousel {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 64px;
}
@media (max-width: 900px) {
  .merch-resource-carousel .merch-carousel {
    padding-inline: 32px;
  }
}

.merch-resource-carousel .merch-carousel__track {
  align-items: stretch;
}

.merch-resource-card {
  container-type: inline-size;
  width: calc((100% - 24px) / 2);
  max-width: 644px;
  display: flex;
  align-items: stretch;
  overflow: clip;
  background-color: #f3f0e6;
  border-radius: 10px;
}
@media (max-width: 600px) {
  .merch-resource-card {
    flex-direction: column;
    aspect-ratio: auto;
    align-self: stretch;
  }
}
.merch-resource-card__media {
  position: relative;
  flex: 0 0 auto;
  width: 34.1615cqw;
  margin: 0;
}
@media (max-width: 600px) {
  .merch-resource-card__media {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
  }
}
.merch-resource-card__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.merch-resource-card__media--tile {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #222c75;
}
.merch-resource-card__media--tile .merch-resource-card__map {
  margin: 0;
  line-height: 0;
}
.merch-resource-card__media--tile img {
  position: static;
  width: 15.9193cqw;
  height: 16.3525cqw;
  object-fit: contain;
}
@media (max-width: 900px) {
  .merch-resource-card__media--tile img {
    width: max(76px, 15.9193cqw);
    height: max(78px, 16.3525cqw);
  }
}
.merch-resource-card__content {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 2.4845cqw;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 3.7267cqw;
}
@media (max-width: 900px) {
  .merch-resource-card__content {
    gap: max(16px, 2.4845cqw);
    padding: max(16px, 3.7267cqw);
  }
}
.merch-resource-card__title, .merch-resource-card__body {
  width: 100%;
  margin: 0;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  overflow-wrap: break-word;
}
.merch-resource-card__title {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 4.8cqw;
  line-height: 0.84;
  text-transform: uppercase;
}
:lang(de) .merch-resource-card__title {
  hyphens: auto;
}
.merch-resource-card__title {
  text-wrap: balance;
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-resource-card__title {
    font-size: max(24px, 4.8cqw);
  }
}
@media (max-width: 600px) {
  .merch-resource-card__title {
    font-size: clamp(20px, 4.5vw, 30px);
  }
}
.merch-resource-card__body {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 2.795cqw;
  line-height: 1.3;
  padding-top: 15px;
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-resource-card__body {
    font-size: max(16px, 2.795cqw);
  }
}
@media (max-width: 600px) {
  .merch-resource-card__body {
    font-size: clamp(16px, 2.6vw, 18px);
  }
}
.merch-resource-card__actions {
  display: flex;
  margin: 0;
  margin-top: auto;
  justify-content: flex-end;
  width: 100%;
}
.merch-resource-card__cta .wp-block-button__link {
  display: block;
  width: 8.6957cqw;
  height: 8.6957cqw;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-color: #1c211d;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2217%22%20viewBox%3D%220%200%2016%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.5%200.994141L14%208.49414L6.5%2015.9941%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222.8125%22%2F%3E%3Cpath%20d%3D%22M13.9993%208.45508L0%208.45508%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222.8125%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4845cqw 2.4845cqw;
  border: 0;
  border-radius: 40px;
  transition: background-position 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 900px) {
  .merch-resource-card__cta .wp-block-button__link {
    width: max(48px, 8.6957cqw);
    height: max(48px, 8.6957cqw);
    background-size: max(16px, 2.4845cqw) max(16px, 2.4845cqw);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .merch-resource-card:hover .merch-resource-card__cta .wp-block-button__link {
    background-position: 64% center;
  }
}
@media (max-width: 900px) {
  .merch-resource-carousel .merch-carousel.is-carousel .merch-resource-card {
    width: 100%;
  }
}
@media (min-width: 782px) and (max-width: 900px) {
  .merch-resource-carousel .merch-carousel.is-static .merch-resource-card {
    flex-direction: column;
    aspect-ratio: auto;
    align-self: stretch;
  }
  .merch-resource-carousel .merch-carousel.is-static .merch-resource-card__media {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
  }
}
@media (max-width: 781px) {
  .merch-resource-carousel .merch-carousel {
    padding-inline: 24px;
  }
  .merch-resource-carousel .merch-carousel.is-static .merch-resource-card {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 400px) {
  .merch-resource-carousel .merch-carousel {
    padding-inline: 16px;
  }
}
.merch-resource-carousel .merch-carousel__nav {
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.merch-resource-carousel .merch-carousel__prev,
.merch-resource-carousel .merch-carousel__next {
  background-color: transparent;
  border: 3px solid #1c211d;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016.9887%2016.9887%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5%200.994369L15%208.49437L7.5%2015.9944%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.8125%22%2F%3E%3Cpath%20d%3D%22M14.9993%208.45531L1%208.45531%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.8125%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-resource-carousel .merch-carousel__prev,
  .merch-resource-carousel .merch-carousel__next {
    transition: scale 0.2s ease, background-position 0.2s ease;
  }
  .merch-resource-carousel .merch-carousel__prev:hover,
  .merch-resource-carousel .merch-carousel__next:hover {
    scale: 1.08;
    background-position: 62% center;
  }
  .merch-resource-carousel .merch-carousel__prev:active,
  .merch-resource-carousel .merch-carousel__next:active {
    scale: 0.96;
  }
}

.merch-resource-carousel .merch-carousel__prev {
  transform: scaleX(-1);
}

@media (prefers-reduced-motion: no-preference) {
  .merch-resource-carousel.is-motion-ready .merch-resource-card {
    opacity: 0;
    transform: scale(0.96);
  }
  .merch-resource-carousel.is-revealed .merch-resource-card {
    opacity: 1;
    transform: none;
    animation: merch-resource-card-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.1s);
  }
}
@keyframes merch-resource-card-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.merch-resource-card {
  position: relative;
}
.merch-resource-card:hover .merch-resource-card__title {
  text-decoration: underline;
}
.merch-resource-card:focus-within {
  outline: 2px solid #1c211d;
  outline-offset: -2px;
}
.merch-resource-card .merch-resource-card__cta .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.merch-resource-carousel .merch-carousel.is-static .merch-carousel__track {
  overflow: visible;
}

.merch-resource-carousel .merch-carousel.is-carousel .merch-carousel__track {
  padding-block: 10px;
  margin-block: -10px;
}

/* Homepage intro (homepage-intro pattern)
--------------------------------------------- */
/**
 * Homepage intro (the "ppai/homepage-intro" block pattern).
 *
 * A standalone two-column intro that sits below the hero band and below the
 * resource cards that overhang it: heading at left, body copy at right.
 *
 * Figma Homepage, Frame 755 (frame-local coordinates):
 *   lime band     858:12872   bottom 1053.673
 *   card row      858:12914   bottom 1204.060
 *   Stats Module  858:12935   y 1304.060
 *     Frame 711   858:12936   x 175.635 (abs), 1089 x 90, flex, gap 24, centred
 *       heading   858:12937   310 x 90, 45px/0.84 black condensed, +0.1px tracking,
 *                             uppercase, #12633E
 *       body      858:12938   755 wide, 18px/1.3 book, #000000
 *
 * Derived:
 *   row top    = 1304.060 - 1053.673 = 250.387 below the lime band's bottom.
 *     The cards overhang that band by 150.387 and take no space in flow, so the
 *     visible gap between the cards' bottom edge and this row is 250.387 -
 *     150.387 = 100px, which is exactly 1304.060 - 1204.060.
 *   width      = 310 + 24 + 755 = 1089, centred inside the 1312 content column
 *     (111.5 inset each side: 1312 - 2*111.5 = 1089).
 *   Figma's 16.5px offset on the body copy is NOT an offset - it is the result
 *     of centring a 57px-tall paragraph inside the 90px row: (90 - 57) / 2.
 *     `align-items: center` reproduces it, and it keeps holding when the copy
 *     changes length.
 *
 * Units: `.merch-intro` is the 1089px container, so each length is
 * (figma_px / 1089 * 100)cqw and 1cqw = 10.89px at the design width. See
 * decision_2026-07-09_container-units-figma-scaling. The offsets live on the ROW,
 * not on the container, because an element cannot consume its own container units.
 */
.merch-intro {
  container-type: inline-size;
  max-width: 1089px;
  margin-inline: auto;
  position: relative;
}
.merch-intro.alignwide {
  max-width: 1089px;
}
@media (max-width: 1180px) {
  .merch-intro {
    padding-inline: 32px;
  }
}
@media (max-width: 600px) {
  .merch-intro {
    padding-inline: 20px;
  }
}
.merch-intro__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2.2039cqw;
  min-height: 8.2645cqw;
  margin-top: 9.1827cqw;
  padding: 0;
}
@media (max-width: 900px) {
  .merch-intro__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    min-height: 0;
    margin-top: 40px;
  }
}
@media (max-width: 600px) {
  .merch-intro__row {
    gap: 16px;
    margin-top: 32px;
  }
}
.merch-intro__heading, .merch-intro__text {
  margin: 0;
}
.merch-intro__text {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-intro__heading {
  flex: 0 0 28.4665cqw;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 4.1322cqw;
  line-height: 0.84;
  letter-spacing: 0.002222em;
  text-transform: uppercase;
  color: #1c211d;
}
@media (max-width: 900px) {
  .merch-intro__heading {
    flex: 0 0 auto;
    max-width: none;
    font-size: clamp(30px, 6.6vw, 40px);
  }
}
@media (max-width: 600px) {
  .merch-intro__heading {
    font-size: clamp(30px, 7.5vw, 40px);
  }
}
.merch-intro__text {
  flex: 0 0 69.3297cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1.6529cqw;
  line-height: 1.3;
  color: #000;
}
@media (max-width: 900px) {
  .merch-intro__text {
    flex: 0 0 auto;
    width: 100%;
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .merch-intro__text {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-intro.is-motion-ready .merch-intro__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-intro.is-motion-ready .merch-intro__text,
  .merch-intro.is-motion-ready .merch-intro__text ~ * {
    opacity: 0;
  }
  .merch-intro.is-revealed .merch-intro__word {
    opacity: 1;
    transform: none;
    animation: merch-intro-word-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--word-index, 0) * 0.07s, 1.4s);
  }
  .merch-intro.is-revealed .merch-intro__text {
    opacity: 1;
    animation: merch-intro-fade 0.6s ease both;
    animation-delay: var(--intro-mid-delay, 0.3s);
  }
  .merch-intro.is-revealed .merch-intro__text ~ * {
    opacity: 1;
    animation: merch-intro-fade 0.6s ease both;
    animation-delay: calc(var(--intro-mid-delay, 0.3s) + 0.68s);
  }
}
@keyframes merch-intro-word-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-intro-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Homepage stat cards (homepage-stat-cards pattern)
--------------------------------------------- */
/**
 * Homepage stat cards (the "ppai/homepage-stat-cards" block pattern).
 *
 * A row of up to four lime stat cards under the intro copy. Each card carries an
 * icon that overhangs its top edge, a big number, and a label underneath. The
 * cards never wrap: whatever their count, they divide the full row width.
 *
 * CURRENT spec = the R4 "Stat card" component, shared by the homepage stat layout
 * (1725:19231 > cards 1725:19235, four 309x178) and the article template stat block
 * (1725:14027 > 1733:33208, three 309x178). The card-level numbers below are R4; the
 * older 858 board (309x200, y84.5/y154, disc=bg) is SUPERSEDED - its 200px height and
 * disc colouring were the stale values this partial carried until 2026-08-10.
 *   card    309 x 178, radius 10
 *   icon    56 x 56, top -28 (overhangs the card's top edge); disc = TEXT colour,
 *           glyph = BG colour (R4 flip of the old bg-disc / text-glyph)
 *   number  80px/0.84 Freight Sans Black, colourway text colour, centred,
 *           box CENTRE at y 73.5 (box y40 h67), side insets 24
 *   label   16px/0.84 Freight Sans Medium, +1% tracking, uppercase, colourway text
 *           colour, centred, box CENTRE at y 132.5 (box y127 h11)
 *
 * Figma Homepage, Stats Module 858:12935 > cards 858:12939 (frame-local, SUPERSEDED):
 *   intro row   858:12936   y 0 .. 90
 *   cards       858:12939   y 170, four cards 309 x 200
 *
 * Derived:
 *   row top = 170 - 90 = 80px below the intro row's bottom. The icons overhang
 *     upward out of flow, so they eat into that gap visually (53px clear) without
 *     changing it.
 *   ROW WIDTH: Figma's `cards` frame is drawn 1310 wide and card 4 hangs 2px past
 *     its right edge, but 4*309 + 26 + 25 + 25 = 1312 - the content column, same
 *     as the hero. The 1310 is the drift, not the spec. So: 1312 wide, four equal
 *     cards, equal gaps of (1312 - 4*309) / 3 = 25.3333. That is also the only
 *     reading under which 2 or 3 cards still span the full width.
 *
 * Units: `.merch-stats` is the 1312px container (1cqw = 13.12px), so every length
 * resolves to its exact Figma px at the design width. Crucially the type and the
 * icon are sized against the ROW, not against each card - a card is wider when
 * there are two of them, and an 80px number must stay an 80px number.
 * See decision_2026-07-09_container-units-figma-scaling.
 */
.merch-stats {
  container-type: inline-size;
  max-width: 1312px;
  margin-inline: auto;
  position: relative;
}
.merch-stats.alignwide {
  max-width: 1312px;
}
.merch-stats {
  overflow: visible;
}
@media (max-width: 1312px) {
  .merch-stats {
    padding-inline: 32px;
  }
}
@media (max-width: 600px) {
  .merch-stats {
    padding-inline: 20px;
  }
}
.merch-stats__row {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.9309cqw;
  margin-top: 6.0976cqw;
  padding: 0;
}
@media (max-width: 900px) {
  .merch-stats__row {
    flex-wrap: wrap;
    gap: 64px 24px;
    margin-top: 40px;
  }
}
@media (max-width: 600px) {
  .merch-stats__row {
    gap: 40px;
    margin-top: 32px;
  }
}

.merch-stat {
  position: relative;
  flex: 1 1 0;
  height: 13.5671cqw;
  margin: 0;
  padding: 0;
  background-color: #222c75;
  border-radius: 0.7622cqw;
}
@media (max-width: 900px) {
  .merch-stat {
    border-radius: 10px;
  }
}
@media (max-width: 900px) {
  .merch-stat {
    flex: 0 1 calc(50% - 12px);
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 16px 32px;
  }
}
@media (max-width: 600px) {
  .merch-stat {
    flex-basis: 100%;
  }
}
.merch-stat {
  color: #a1e4ff;
}
.merch-stat__icon {
  position: absolute;
  top: -2.1341cqw;
  left: 50%;
  width: 4.2683cqw;
  height: 4.2683cqw;
  margin: 0;
  transform: translateX(-50%);
  border-radius: 50%;
  background-color: currentColor;
}
.merch-stat__icon img {
  display: none;
}
.merch-stat__icon::after {
  content: "";
  position: absolute;
  inset: 0.6098cqw;
  background-color: var(--merch-stat-disc, #222c75);
  -webkit-mask-image: var(--merch-stat-icon-url);
  mask-image: var(--merch-stat-icon-url);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media (max-width: 900px) {
  .merch-stat__icon {
    top: -28px;
    width: 56px;
    height: 56px;
  }
  .merch-stat__icon::after {
    inset: 8px;
  }
}
.merch-stat .merch-stat__number, .merch-stat .merch-stat__label {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0;
  color: inherit;
  text-align: center;
  text-transform: uppercase;
  transform: translateY(-50%);
}
@media (max-width: 900px) {
  .merch-stat .merch-stat__number, .merch-stat .merch-stat__label {
    position: static;
    transform: none;
  }
}
.merch-stat .merch-stat__number {
  top: 5.6021cqw;
  padding-inline: 1.8293cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 6.0976cqw;
  line-height: 0.84;
}
@media (max-width: 900px) {
  .merch-stat .merch-stat__number {
    padding-inline: 0;
    font-size: clamp(44px, 10vw, 60px);
  }
}
@media (max-width: 600px) {
  .merch-stat .merch-stat__number {
    font-size: clamp(44px, 12vw, 60px);
  }
}
.merch-stat .merch-stat__label {
  top: 10.8613cqw;
  padding-inline: 1.2195cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: 1.2195cqw;
  line-height: 0.95;
  letter-spacing: 0.01em;
}
@media (max-width: 900px) {
  .merch-stat .merch-stat__label {
    font-size: 14px;
    line-height: 1.2;
  }
}

.merch-stats__row > .merch-stat:nth-child(1) {
  background-color: #222c75;
  color: #a1e4ff;
  --merch-stat-disc: #222c75;
}
.merch-stats__row > .merch-stat:nth-child(2) {
  background-color: #edc8fe;
  color: #351c4e;
  --merch-stat-disc: #edc8fe;
}
.merch-stats__row > .merch-stat:nth-child(3) {
  background-color: #084633;
  color: #c6ffab;
  --merch-stat-disc: #084633;
}
.merch-stats__row > .merch-stat:nth-child(4) {
  background-color: #65103d;
  color: #fec8c8;
  --merch-stat-disc: #65103d;
}

@media (min-width: 901px) {
  .merch-stats__row:has(> .merch-stat:nth-child(5):last-child) {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 64px;
  }
  .merch-stats__row:has(> .merch-stat:nth-child(5):last-child) > .merch-stat {
    flex: 0 1 calc((100% - 3.8618cqw) / 3);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .merch-stats.is-motion-ready .merch-stat {
    opacity: 0;
    transform: scale(0.92);
  }
  .merch-stats.is-motion-ready .merch-stat__icon {
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
  }
  .merch-stats.is-motion-ready .merch-stat__label {
    opacity: 0;
  }
  .merch-stats.is-revealed .merch-stat {
    opacity: 1;
    transform: none;
    animation: merch-stat-card-zoom 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.12s);
  }
  .merch-stats.is-revealed .merch-stat__icon {
    opacity: 1;
    transform: translateX(-50%);
    animation: merch-stat-icon-zoom 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.12s + 0.15s);
  }
  .merch-stats.is-revealed .merch-stat__label {
    opacity: 1;
    animation: merch-stat-fade 0.6s ease both;
    animation-delay: calc(var(--card-index, 0) * 0.12s + 0.35s);
  }
}
@keyframes merch-stat-card-zoom {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes merch-stat-icon-zoom {
  from {
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
}
@keyframes merch-stat-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Homepage quick links (homepage-quick-links pattern)
--------------------------------------------- */
/**
 * Homepage quick links (the "ppai/homepage-quick-links" block pattern).
 *
 * R2 layout, Figma "Quick Links" 1236:10932 (1440 x 542, Offwhite #F5F4FF):
 *   Section    1236:10932   flex-col, px 64 / py 80, bg #F5F4FF.
 *     Row      988:2413     flex row, gap 24 (padding/medium), items-start.
 *       Intro  1242:11710   flex-col gap 30, width 310 (heading + body).
 *         heading 988:2516  60px/0.9 Freight Sans Condensed Black, #073108,
 *                           uppercase, cap-trimmed, 310 wide.
 *         body    1242:11692 18px/1.3 Freight Sans Book, #000000, 310 wide.
 *       Links  988:2515     flex-1, gap 40 (padding/large), items-start.
 *         col  988:2417 / 1023:5436   flex-1, flex-col, gap 24, items-start.
 *           text link list 1023:4693  flex-col gap 16 (padding/small), 461 wide:
 *             row    1023:4627   flex gap 20 (padding/med-sm), items-center.
 *               text 1023:4628   24px/1.2 Freight Sans Medium, #000000, flex-1.
 *               arrow 1073:9849  rounded-40, p-8, a 14px Royal Blue #0C22AE glyph.
 *             divider 1023:4658  a WHITE (#FFFFFF) hairline, full width.
 *
 * Every px is measured from that node (get_design_context + get_variable_defs);
 * the divider colour was pixel-measured off the 1:1 Figma render (255,255,255 on
 * the 245,244,255 offwhite - a subtle white separator, NOT the grey R1 used).
 *
 * The live question TEXT is the client's real curated content (twelve questions,
 * six per column), intentionally different from Figma's eight placeholders. Only
 * the LAYOUT + STYLING is built to spec; the strings are the site's own.
 *
 * Units: `.merch-quick-links__inner` is the 1312px content column (1cqw =
 * 13.12px), the same scaling denominator as every other homepage section, so
 * every cqw length below resolves to its exact Figma px at the design width and
 * the whole page scales as one poster. See
 * decision_2026-07-09_container-units-figma-scaling. The band itself is
 * full-bleed and cannot be the container - its cqw would be vw.
 */
.merch-quick-links {
  background-color: #f3f0e6;
  position: relative;
  margin-top: 100px;
  --merch-quick-links-offset: 100px;
}
@media (max-width: 900px) {
  .merch-quick-links {
    margin-top: 64px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links {
    margin-top: 40px;
    --merch-quick-links-offset: 48px;
  }
}
.merch-quick-links__inner {
  container-type: inline-size;
  --merch-quick-links-inset: 128px;
  max-width: min(1312px, 100% - var(--merch-quick-links-inset));
  margin-inline: auto;
}
@media (max-width: 1180px) {
  .merch-quick-links__inner {
    --merch-quick-links-inset: 64px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links__inner {
    --merch-quick-links-inset: 40px;
  }
}
.merch-quick-links__row {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 1.8293cqw;
  padding-block: 6.0976cqw;
  padding-inline: 0;
  margin: 0;
}
@media (max-width: 900px) {
  .merch-quick-links__row {
    flex-direction: column;
    gap: 40px;
    padding-block: 64px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links__row {
    gap: 32px;
    padding-block: 40px;
  }
}
.merch-quick-links__intro {
  flex: 0 0 23.628cqw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.2866cqw;
  margin: 0;
}
@media (max-width: 900px) {
  .merch-quick-links__intro {
    flex: 0 0 auto;
    width: 100%;
    gap: 16px;
  }
}
.merch-quick-links__heading {
  margin: 0;
  max-width: 23.628cqw;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 4.5732cqw;
  line-height: 0.9;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-transform: uppercase;
  color: #1c211d;
}
@media (max-width: 900px) {
  .merch-quick-links__heading {
    max-width: none;
    font-size: clamp(34px, 8vw, 48px);
  }
}
@media (max-width: 600px) {
  .merch-quick-links__heading {
    font-size: clamp(34px, 9vw, 48px);
  }
}
.merch-quick-links__body {
  margin: 0;
  max-width: 23.628cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1.372cqw;
  line-height: 1.3;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  color: #000;
}
@media (max-width: 900px) {
  .merch-quick-links__body {
    max-width: none;
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links__body {
    font-size: 16px;
  }
}
.merch-quick-links__links {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 3.0488cqw;
}
@media (max-width: 900px) {
  .merch-quick-links__links {
    flex: 0 0 auto;
    width: 100%;
    gap: 32px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links__links {
    flex-direction: column;
    gap: 24px;
  }
}
.merch-quick-links__col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.8293cqw;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 900px) {
  .merch-quick-links__col {
    gap: 24px;
  }
}
.merch-quick-links__col {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: 1.8293cqw;
  line-height: 1.2;
  color: #000;
}
@media (max-width: 900px) {
  .merch-quick-links__col {
    font-size: 20px;
  }
}
@media (max-width: 600px) {
  .merch-quick-links__col {
    flex: 0 0 auto;
    width: 100%;
    font-size: 18px;
  }
}
.merch-quick-links__col > li {
  width: 35.1372cqw;
  display: flex;
  flex-direction: column;
  gap: 1.2195cqw;
  position: relative;
  min-height: 2.9em;
}
@media (max-width: 600px) {
  .merch-quick-links__col > li {
    min-height: 0;
  }
}
@media (max-width: 900px) {
  .merch-quick-links__col > li {
    width: 100%;
    gap: 8px;
  }
}
.merch-quick-links__col > li::after {
  content: "";
  height: 0;
  margin-top: auto;
  border-top: 2px solid #fff;
}
.merch-quick-links__col > li::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 2px;
  background-color: #222c75;
  transform: scaleX(0);
  transform-origin: left center;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-quick-links__col > li::before {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
.merch-quick-links__col > li:has(> a:hover)::before, .merch-quick-links__col > li:has(> a:focus-visible)::before, .merch-quick-links__col > li:has(> div > a:hover)::before, .merch-quick-links__col > li:has(> div > a:focus-visible)::before {
  transform: scaleX(1);
}
.merch-quick-links__col > li > a,
.merch-quick-links__col > li > div > a {
  display: block;
  position: relative;
  padding-inline-end: 3.811cqw;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease-in-out;
}
.merch-quick-links__col > li > a::after,
.merch-quick-links__col > li > div > a::after {
  content: "";
  position: absolute;
  top: 50%;
  inset-inline-end: 0;
  width: 2.2866cqw;
  height: 2.2866cqw;
  transform: translateY(-50%);
  border-radius: 40px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2215%22%20viewBox%3D%220%200%2014%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.6875%200.86914L12.25%207.43164L5.6875%2013.9941%22%20stroke%3D%22%23222c75%22%20stroke-width%3D%222.46094%22%2F%3E%3Cpath%20d%3D%22M12.2494%207.39844L0%207.39844%22%20stroke%3D%22%23222c75%22%20stroke-width%3D%222.46094%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.0671cqw 1.1433cqw;
  transition: transform 0.15s ease-in-out;
}
.merch-quick-links__col > li > a:hover, .merch-quick-links__col > li > a:focus-visible,
.merch-quick-links__col > li > div > a:hover,
.merch-quick-links__col > li > div > a:focus-visible {
  color: #222c75;
}
.merch-quick-links__col > li > a:hover::after, .merch-quick-links__col > li > a:focus-visible::after,
.merch-quick-links__col > li > div > a:hover::after,
.merch-quick-links__col > li > div > a:focus-visible::after {
  transform: translateY(-50%) translateX(0.3049cqw);
}
@media (max-width: 900px) {
  .merch-quick-links__col > li > a,
  .merch-quick-links__col > li > div > a {
    padding-inline-end: 50px;
  }
  .merch-quick-links__col > li > a::after,
  .merch-quick-links__col > li > div > a::after {
    width: 30px;
    height: 30px;
    background-size: 14px 15px;
  }
  .merch-quick-links__col > li > a:hover::after, .merch-quick-links__col > li > a:focus-visible::after,
  .merch-quick-links__col > li > div > a:hover::after,
  .merch-quick-links__col > li > div > a:focus-visible::after {
    transform: translateY(-50%) translateX(4px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root .merch-quick-links {
    animation: merch-quick-links-settle linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 90%;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-quick-links.is-motion-ready .merch-quick-links__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-quick-links.is-motion-ready .merch-quick-links__body {
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-quick-links.is-motion-ready .merch-quick-links__col {
    opacity: 0;
    transform: translateY(-1.5rem);
  }
  .merch-quick-links.is-revealed .merch-quick-links__word {
    opacity: 1;
    transform: none;
    animation: merch-quick-links-word-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--word-index, 0) * 0.07s, 1.4s);
  }
  .merch-quick-links.is-revealed .merch-quick-links__body {
    opacity: 1;
    transform: none;
    animation: merch-quick-links-word-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--quick-links-mid-delay, 0.3s);
  }
  .merch-quick-links.is-revealed .merch-quick-links__col {
    opacity: 1;
    transform: none;
    animation: merch-quick-links-col-drop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--quick-links-mid-delay, 0.3s) + var(--col-index, 0) * 0.12s);
  }
}
@keyframes merch-quick-links-settle {
  from {
    transform: translateY(var(--merch-quick-links-offset, 100px));
  }
  to {
    transform: translateY(0);
  }
}
@keyframes merch-quick-links-word-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-quick-links-col-drop {
  from {
    opacity: 0;
    transform: translateY(-1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Homepage text + image (homepage-text-image pattern)
--------------------------------------------- */
/**
 * Homepage text + image (the "ppai/homepage-text-image" block pattern).
 *
 * A full-bleed white band holding a case-study teaser: title, body copy and a
 * Learn More button at left, a rounded photograph at right. Built on
 * core/media-text so the client keeps every native affordance.
 *
 * Figma Homepage, Frame 753 858:13071 > Case Study 01 858:13072 (frame-local):
 *   band        858:13072   1440.27 x 415, #FFFFFF, padding-inline 176 (the .27
 *                           is drift; the artboard is 1440, so 1440 - 2*176 = 1088)
 *   Frame 708   858:13073   1088 x 415, flex, gap 24, align-items center
 *     Group 80  858:13074   422 x 340 at y 37.5 == (415 - 340) / 2
 *       title   858:13076   422 x 146, 60px/0.9 condensed black, uppercase,
 *                           #12633E, letter-spacing 0, cap-trimmed
 *       body    858:13077   307 x 80 at x 3, y 215.5 - 18px/1.3 book, #000000,
 *                           cap-trimmed
 *       button  858:13078   135 x 42 at y 335.5, #12633E, radius 6,
 *                           padding 14 / 24 / 12 / 24
 *         label 858:13079   87 x 16, 16px condensed bold, +0.32px tracking,
 *                           uppercase, #DFF48B
 *     image     858:13080   642 x 415 at x 446, radius 30
 *
 * Derived:
 *   422 + 24 + 642 = 1088. The media track is 642 / 1088 = 59.0074%, which the
 *     block itself emits from its `mediaWidth` attribute as an inline
 *     `grid-template-columns: auto 59.0074%`. The `auto` track is stretched to
 *     the remaining 40.9926% (446px) by grid's "stretch auto tracks" step, and
 *     Figma's 24px gap is that track's right padding - exactly how core models
 *     the gutter (it ships `padding: 0 8%` on the content column).
 *   Vertical rhythm inside the 340px text column: 146 + 32 + 80 + 40 + 42 = 340.
 *     Those two gaps are CAP-BOX to CAP-BOX, not line-box to line-box, which is
 *     why both text blocks are trimmed to their cap heights. The column's height
 *     is therefore never declared - it falls out of the content, and
 *     `is-vertically-aligned-center` re-derives Figma's 37.5px offset for any
 *     copy length.
 *
 * Units: `.merch-textimage__row` is the 1088px container, so every descendant
 * length is (figma_px / 1088 * 100)cqw and 1cqw = 10.88px at the design width.
 * See decision_2026-07-09_container-units-figma-scaling. Nothing on the row
 * itself may be expressed in cqw - an element cannot consume its own container
 * units, so its `max-width` stays in px and the column split stays a percentage
 * (percentages on `grid-template-columns` resolve against the grid container's
 * own inline size, which is exactly the box we want them measured against).
 */
.merch-textimage {
  margin-block: 100px;
}
@media (max-width: 900px) {
  .merch-textimage {
    margin-block: 64px;
  }
}
@media (max-width: 600px) {
  .merch-textimage {
    margin-block: 40px;
  }
}

.merch-textimage__row {
  container-type: inline-size;
  max-width: 1088px;
  margin-inline: auto;
}
@media (max-width: 1180px) {
  .merch-textimage__row.wp-block-media-text {
    padding-inline: 32px;
  }
}
@media (max-width: 900px) {
  .merch-textimage__row.wp-block-media-text {
    grid-template-columns: 100% !important;
    row-gap: 32px;
    padding-inline: 24px;
  }
  .merch-textimage__row.wp-block-media-text > .wp-block-media-text__media {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .merch-textimage__row.wp-block-media-text > .wp-block-media-text__content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-right: 0;
  }
}
@media (max-width: 400px) {
  .merch-textimage__row.wp-block-media-text {
    padding-inline: 16px;
  }
}
.merch-textimage__row > .wp-block-media-text__content {
  min-width: 0;
  padding: 0 2.2059cqw 0 0;
}
.merch-textimage__row > .wp-block-media-text__media {
  overflow: hidden;
  border-radius: 2.7574cqw;
}
@media (max-width: 900px) {
  .merch-textimage__row > .wp-block-media-text__media {
    border-radius: 4.673cqw;
  }
}
.merch-textimage__row > .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 642/415;
  object-fit: cover;
  border-radius: 2.7574cqw;
}
@media (max-width: 900px) {
  .merch-textimage__row > .wp-block-media-text__media img {
    border-radius: 4.673cqw;
  }
}

.merch-textimage__row .wp-block-media-text__content .merch-textimage__title,
.merch-textimage__row .wp-block-media-text__content .merch-textimage__text {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-textimage__row .wp-block-media-text__content .merch-textimage__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 5.5147cqw;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1c211d;
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-textimage__row .wp-block-media-text__content .merch-textimage__title {
    font-size: clamp(40px, 5.3vw, 48px);
  }
}
@media (max-width: 600px) {
  .merch-textimage__row .wp-block-media-text__content .merch-textimage__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
}
.merch-textimage__row .wp-block-media-text__content .merch-textimage__text {
  margin: 2.9412cqw 0 0 0.2757cqw;
  max-width: 28.2169cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1.6544cqw;
  line-height: 1.3;
  color: #000;
}
@media (max-width: 900px) {
  .merch-textimage__row .wp-block-media-text__content .merch-textimage__text {
    max-width: none;
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .merch-textimage__row .wp-block-media-text__content .merch-textimage__text {
    margin: 24px 0 0;
    font-size: 16px;
  }
}
.merch-textimage__row .wp-block-media-text__content .merch-textimage__actions {
  margin: 3.6765cqw 0 0;
}
@media (max-width: 600px) {
  .merch-textimage__row .wp-block-media-text__content .merch-textimage__actions {
    margin-top: 24px;
  }
}

.merch-textimage__button .wp-block-button__link {
  display: inline-block;
  padding: 1.2868cqw 2.2059cqw 1.1029cqw;
  border: 0;
  border-radius: 0.5515cqw;
  background-color: #e0fe83;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.4706cqw;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}
.merch-textimage__button .wp-block-button__link:hover, .merch-textimage__button .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-textimage__button .wp-block-button__link:focus {
  outline: 0;
}
.merch-textimage__button .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .merch-textimage__button .wp-block-button__link {
    padding: 14px 24px 12px;
    border-radius: 6px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-textimage.is-motion-ready .wp-block-media-text__content > * {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  .merch-textimage.is-motion-ready .wp-block-media-text__media {
    opacity: 0;
    transform: scale(0.94);
  }
  .merch-textimage.is-revealed .wp-block-media-text__content > * {
    opacity: 1;
    transform: none;
    animation: merch-textimage-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--ti-index, 0) * 0.08s, 0.8s);
  }
  .merch-textimage.is-revealed .wp-block-media-text__media {
    opacity: 1;
    transform: none;
    animation: merch-textimage-fade-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--ti-image-delay, 0.33s);
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root .merch-textimage__row > .wp-block-media-text__media img {
    animation: merch-textimage-scroll-zoom linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
  }
}
@keyframes merch-textimage-rise {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-textimage-fade-zoom {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes merch-textimage-scroll-zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.14);
  }
}
/* Homepage text + image, reversed + masked (homepage-text-image-alt pattern)
--------------------------------------------- */
/**
 * Homepage text + image, REVERSED variant
 * (the "ppai/homepage-text-image-alt" block pattern).
 *
 * A case-study teaser with the media at LEFT and the copy at right - the mirror
 * of `_text-image.scss` (Case Study 01), but it is NOT that component with a
 * modifier. Two things differ structurally: there are two photographs, the upper
 * one floating on a royal-blue card that overhangs the lower one at its right
 * edge, and the large photograph has a stepped notch bitten from its top-right
 * corner (a CSS mask) where that card nestles in. See the __photo note below.
 *
 * Figma All Pages R2, "50 50" 1236:10934 (the full node map lives in the pattern
 * PHP; the key spec, frame-local):
 *   band        1236:10934  1440 x 477, `bg-white` == the artboard, padding 80/64/175
 *   layout      1010:1541   flex, gap 64, align-items center
 *     collage   1010:1551   flex-1 (527), justify-between, overflow-clip
 *       photo   1010:1552   393.049 x 333.355, plain rounded rect, radius 24
 *       card    1010:1555   168 x 225 radius 32 #0c22ae, overhangs the photo's
 *                           right edge by 36 (photo margin-right -36); product
 *                           120 x 176.6 inset 24
 *     content   1010:1543   max-w 501, gap 40 (content group -> button)
 *       title   1010:1544   60px/0.9 condensed black uppercase #073108, cap-trimmed
 *       body    1010:1544   18px/1.3 book #000000, full width, cap-trimmed
 *       button  1010:1547   lime #DFF48B bg, forest #12633E label, radius 6,
 *                           padding 16/24, label 16px condensed bold, +0.32px
 *
 * Derived:
 *   527 + 64 + 501 = 1092 (2px slack on the 1090 content box), so the media column
 *     is 48.2601%, the text column 45.8791%, and the 64px gutter the remaining
 *     5.8608% - carried by `column-gap` so it scales with the row.
 *   The card's right edge sits at the media column's edge, so it is pinned with
 *     `right: 0` rather than a magic left offset.
 *   The card's height is never declared: 24 + 176.6 + 24 = 224.6 falls out of the
 *     product shot plus its padding, so it survives a taller product image.
 *
 * Units: `.merch-textimagealt__row` is the 1092px container, so every DESCENDANT
 * length is (figma_px / 1092 * 100)cqw and 1cqw = 10.92px at the design width.
 * See decision_2026-07-09_container-units-figma-scaling. Nothing on the row
 * itself may be expressed in cqw - an element cannot consume its own container
 * units. Its `max-width` therefore stays in px, and the 64px gutter is a
 * PERCENTAGE (`column-gap`), which resolves against the row's own content box
 * and so scales identically to cqw without the self-reference.
 *
 * Why core/columns and not core/media-text (which Case Study 01 uses):
 *   `core/media-text`'s save() has exactly ONE InnerBlocks area, its content
 *   half. The media half is a hard-coded <figure> filled by a closed
 *   `mediaTypeRenderers` map of `image | video`. It physically cannot hold a
 *   second, overlapping image. `core/columns` gives each half an InnerBlocks
 *   area, so the media column can hold the photograph AND the royal-blue card, and
 *   the client keeps a width control on both columns.
 */
.merch-textimagealt {
  margin-block: 100px;
}
@media (max-width: 900px) {
  .merch-textimagealt {
    margin-block: 64px;
  }
}
@media (max-width: 600px) {
  .merch-textimagealt {
    margin-block: 40px;
  }
}

.merch-textimagealt__row {
  container-type: inline-size;
  max-width: 1092px;
  margin-inline: auto;
  margin-block: 0;
}

.merch-textimagealt .merch-textimagealt__row {
  column-gap: 5.8608%;
}
@media (max-width: 1180px) {
  .merch-textimagealt .merch-textimagealt__row.wp-block-columns {
    padding-inline: 32px;
  }
}
@media (max-width: 900px) {
  .merch-textimagealt .merch-textimagealt__row.wp-block-columns {
    flex-wrap: wrap !important;
    row-gap: 32px;
    padding-inline: 24px;
  }
  .merch-textimagealt .merch-textimagealt__row.wp-block-columns > .merch-textimagealt__media,
  .merch-textimagealt .merch-textimagealt__row.wp-block-columns > .merch-textimagealt__text-col {
    flex-basis: 100% !important;
  }
}
@media (max-width: 400px) {
  .merch-textimagealt .merch-textimagealt__row.wp-block-columns {
    padding-inline: 16px;
  }
}

.merch-textimagealt__media {
  position: relative;
}

.merch-textimagealt__row .merch-textimagealt__photo {
  margin: 0;
  width: 35.9935cqw;
  overflow: hidden;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 393.049 333.355' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M212.417 47.851C212.417 65.524 226.744 79.851 244.417 79.851H361.049C378.722 79.851 393.049 94.177 393.049 111.851V301.355C393.049 319.029 378.722 333.355 361.049 333.355H32C14.327 333.355 0 319.029 0 301.355V32C0 14.3269 14.327 0 32 0H180.417C198.09 0 212.417 14.3269 212.417 32V47.851Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 393.049 333.355' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M212.417 47.851C212.417 65.524 226.744 79.851 244.417 79.851H361.049C378.722 79.851 393.049 94.177 393.049 111.851V301.355C393.049 319.029 378.722 333.355 361.049 333.355H32C14.327 333.355 0 319.029 0 301.355V32C0 14.3269 14.327 0 32 0H180.417C198.09 0 212.417 14.3269 212.417 32V47.851Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 900px) {
  .merch-textimagealt__row .merch-textimagealt__photo {
    width: 74.58%;
  }
}
.merch-textimagealt__row .merch-textimagealt__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 393.049/333.355;
  object-fit: cover;
}
.merch-textimagealt__row .merch-textimagealt__card {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 0;
  width: 15.3846cqw;
  padding: 2.1978cqw;
  border-radius: 2.9304cqw;
}
@media (max-width: 900px) {
  .merch-textimagealt__row .merch-textimagealt__card {
    width: 31.88%;
    padding: 16px;
    border-radius: 6.074cqw;
  }
}
@media (max-width: 400px) {
  .merch-textimagealt__row .merch-textimagealt__card {
    padding: 8px;
  }
}
.merch-textimagealt__row .merch-textimagealt__product {
  margin: 0;
}
.merch-textimagealt__row .merch-textimagealt__product img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 120/176.6;
  object-fit: contain;
}

.merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__title,
.merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__text {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 5.4945cqw;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1c211d;
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__title {
    font-size: clamp(40px, 5.3vw, 48px);
  }
}
@media (max-width: 600px) {
  .merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
}
.merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__text {
  margin: 2.1978cqw 0 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1.6484cqw;
  line-height: 1.3;
  color: #000;
}
@media (max-width: 900px) {
  .merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__text {
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__text {
    margin-top: 16px;
    font-size: 16px;
  }
}
.merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__actions {
  margin: 3.663cqw 0 0;
}
@media (max-width: 600px) {
  .merch-textimagealt__row .merch-textimagealt__text-col .merch-textimagealt__actions {
    margin-top: 24px;
  }
}

.merch-textimagealt__actions .wp-block-button__link {
  display: inline-block;
  padding: 1.4652cqw 2.1978cqw;
  border: 0;
  border-radius: 0.5495cqw;
  background-color: #e0fe83;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.4652cqw;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}
.merch-textimagealt__actions .wp-block-button__link:hover, .merch-textimagealt__actions .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-textimagealt__actions .wp-block-button__link:focus {
  outline: 0;
}
.merch-textimagealt__actions .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .merch-textimagealt__actions .wp-block-button__link {
    padding: 16px 24px;
    border-radius: 6px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-textimagealt.is-motion-ready .merch-textimagealt__text-col > * {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  .merch-textimagealt.is-motion-ready .merch-textimagealt__media {
    opacity: 0;
    transform: scale(0.94);
  }
  .merch-textimagealt.is-revealed .merch-textimagealt__text-col > * {
    opacity: 1;
    transform: none;
    animation: merch-textimagealt-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--ti-index, 0) * 0.08s, 0.8s);
  }
  .merch-textimagealt.is-revealed .merch-textimagealt__media {
    opacity: 1;
    transform: none;
    animation: merch-textimagealt-fade-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--ti-image-delay, 0.33s);
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root .merch-textimagealt__photo img {
    animation: merch-textimagealt-scroll-zoom linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
  }
}
@keyframes merch-textimagealt-rise {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-textimagealt-fade-zoom {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes merch-textimagealt-scroll-zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.14);
  }
}
/* Homepage large CTA (homepage-large-cta + homepage-large-cta-alt patterns)
--------------------------------------------- */
/**
 * Homepage Large CTA (the "ppai/homepage-large-cta" and
 * "ppai/homepage-large-cta-alt" block patterns).
 *
 * Figma Homepage, Frame 755:
 *   Large CTA     858:13096   "View all Case Studies" + a 56px arrow disc
 *   Large CTA     858:13139   "Catchy CTA Headline here" + two buttons
 *
 * Both are the same shell: a 1312 x 142 forest-green card, radius 30, inset
 * 64px from the 1440 artboard (1440 - 2*64 = 1312).
 *
 *   card     858:13097 / 858:13140   1312 x 142, #12633E, radius 30
 *   title    858:13098 / 858:13141   45px / 0.84 Freight Sans Condensed Black,
 *                                    uppercase, #DFF48B, +0.1px tracking,
 *                                    cap-trimmed
 *   arrow    858:13100 (A)           56 x 56 at left 1169, top 43
 *   buttons  858:13142 / 858:13144   162.247 x 42 at top 50, radius 6
 *
 * THE SECTION PAINTS NOTHING. The forest green is a rounded CARD inset from the
 * artboard, not a band. Sampled from the artboard, the pixels either side of the
 * card are the page's own background, so a section fill would invent a colour
 * that appears nowhere in the design. Only a fill that DIFFERS from the artboard
 * is a band (see session_2026-07-09_composition-not-components).
 *
 * EVERY VERTICAL OFFSET IS CENTRING, NOT A LITERAL. The card is 142 tall and:
 *
 *   title A   28 tall -> (142 - 28) / 2 = 57   = Figma's `top: 57`
 *   title B   30 tall -> (142 - 30) / 2 = 56   = Figma's `top: 56`
 *   arrow     56 tall -> (142 - 56) / 2 = 43   = Figma's `top: 43`
 *   buttons   42 tall -> (142 - 42) / 2 = 50   = Figma's `top: 50`
 *
 * All four resolve to a centre of 71px, the card's own midline. Encoding any of
 * them as a literal `top` would be recording a coincidence that breaks the
 * moment the client edits the copy. `align-items: center` re-derives all four.
 *
 * Units: `.merch-largecta` is the 1312px container, so every DESCENDANT length is
 * (figma_px / 1312 * 100)cqw and 1cqw = 13.12px at the design width. See
 * decision_2026-07-09_container-units-figma-scaling.
 *
 * The container is the SECTION rather than the card, deliberately. An element
 * cannot consume its own container units - `cqw` on the element carrying
 * `container-type` resolves against the nearest ANCESTOR container, which here
 * would be the viewport. The card's own `border-radius`, `min-height` and
 * `padding-inline` all have to hold Figma's proportions, so the card must be a
 * DESCENDANT of the container. Hence the section measures and the card paints.
 * The section's own `max-width` therefore stays in px, as the hero's does.
 *
 * Border widths stay in px (1px and 3px are the design's own literals, and the
 * two buttons are told apart by them). Everything else that must hold Figma's
 * proportions is cqw.
 */
.merch-largecta {
  container-type: inline-size;
  margin-block: 100px;
  margin-inline: auto;
  --merch-largecta-inset: 128px;
}
.merch-largecta.alignwide {
  max-width: min(1312px, 100% - var(--merch-largecta-inset));
}
@media (max-width: 1180px) {
  .merch-largecta {
    --merch-largecta-inset: 64px;
  }
}
@media (max-width: 900px) {
  .merch-largecta {
    margin-block: 64px;
  }
}
@media (max-width: 600px) {
  .merch-largecta {
    --merch-largecta-inset: 40px;
    margin-block: 40px;
  }
}

.merch-largecta__card {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  min-height: 10.8232cqw;
  padding-inline: 6.4787cqw 6.6311cqw;
  border-radius: 2.439cqw;
  background-color: #e0fe83;
}
@media (max-width: 900px) {
  .merch-largecta__card {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    min-height: 0;
    padding-block: 32px;
    padding-inline: 32px;
    border-radius: 32px;
  }
}
@media (max-width: 600px) {
  .merch-largecta__card {
    gap: 16px;
    padding-block: 24px;
    padding-inline: 24px;
    border-radius: 20px;
  }
}

.merch-largecta--alt .merch-largecta__card {
  padding-inline: 6.4885cqw 6.3359cqw;
}
@media (max-width: 900px) {
  .merch-largecta--alt .merch-largecta__card {
    padding-inline: 32px;
  }
}
@media (max-width: 600px) {
  .merch-largecta--alt .merch-largecta__card {
    padding-inline: 24px;
  }
}

.merch-largecta__card:has(.merch-largecta__arrow) {
  position: relative;
  cursor: pointer;
}
.merch-largecta__card:has(.merch-largecta__arrow) .merch-largecta__arrow .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.merch-largecta__card:has(.merch-largecta__arrow) .merch-largecta__title {
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-largecta__card:has(.merch-largecta__arrow) {
    transition: scale 0.2s ease;
  }
  .merch-largecta__card:has(.merch-largecta__arrow):hover {
    scale: 1.05;
  }
  .merch-largecta__card:has(.merch-largecta__arrow):active {
    scale: 0.96;
  }
}

.merch-largecta__title {
  min-width: 0;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 3.4299cqw;
  line-height: 0.84;
  letter-spacing: 0.0022222em;
  text-transform: uppercase;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
@media (max-width: 900px) {
  .merch-largecta__title {
    font-size: clamp(30px, 6.6vw, 40px);
  }
}
@media (max-width: 600px) {
  .merch-largecta__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
}

.merch-largecta__actions {
  flex-shrink: 0;
  margin: 0;
}
@media (max-width: 900px) {
  .merch-largecta__actions {
    width: 100%;
  }
}

.merch-largecta__arrow .wp-block-button__link {
  display: block;
  width: 4.2683cqw;
  height: 4.2683cqw;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-decoration: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%231c211d%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23e0fe83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 50%;
}
.merch-largecta__arrow .wp-block-button__link:focus {
  outline: 0;
}
.merch-largecta__arrow .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .merch-largecta__arrow .wp-block-button__link {
    width: 48px;
    height: 48px;
  }
}

.merch-largecta__arrow.is-selected .wp-block-button__link {
  width: auto;
  min-width: 4.2683cqw;
  height: auto;
  padding: 0.8384cqw 1.6006cqw 0.686cqw;
  background-image: none;
  background-color: #1c211d;
  color: #e0fe83;
  border-radius: 0.4573cqw;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.2195cqw;
  line-height: 1;
}
@media (max-width: 900px) {
  .merch-largecta__arrow.is-selected .wp-block-button__link {
    min-width: 48px;
    padding: 11px 21px 9px;
    border-radius: 6px;
    font-size: 16px;
  }
}

.merch-largecta--alt .merch-largecta__actions {
  flex-wrap: nowrap;
  gap: 1.5286cqw;
}
@media (max-width: 900px) {
  .merch-largecta--alt .merch-largecta__actions {
    gap: 16px;
  }
}
@media (max-width: 600px) {
  .merch-largecta--alt .merch-largecta__actions {
    flex-direction: column;
    gap: 12px;
  }
}

.merch-largecta--alt .merch-largecta__actions .wp-block-button__link {
  display: inline-block;
  min-width: 12.3664cqw;
  text-align: center;
  white-space: nowrap;
  border-radius: 0.4573cqw;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.2195cqw;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1;
  transition: background-color 150ms ease, color 150ms ease;
  padding: 0.8384cqw 1.6006cqw 0.686cqw;
  border: 3px solid #1c211d;
  background-color: transparent;
  color: #1c211d;
}
.merch-largecta--alt .merch-largecta__actions .wp-block-button__link:hover, .merch-largecta--alt .merch-largecta__actions .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-largecta--alt .merch-largecta__actions .wp-block-button__link:focus {
  outline: 0;
}
.merch-largecta--alt .merch-largecta__actions .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .merch-largecta--alt .merch-largecta__actions .wp-block-button__link {
    min-width: 162px;
    padding: 11px 21px 9px;
    font-size: 16px;
    border-radius: 6px;
  }
}
@media (max-width: 600px) {
  .merch-largecta--alt .merch-largecta__actions .wp-block-button__link {
    display: block;
    width: 100%;
    min-width: 0;
  }
}

.merch-largecta--alt .merch-largecta__button--primary .wp-block-button__link {
  padding: 0.8384cqw 1.6006cqw 0.686cqw;
}
@media (max-width: 900px) {
  .merch-largecta--alt .merch-largecta__button--primary .wp-block-button__link {
    padding: 11px 21px 9px;
  }
}
.merch-largecta--alt .merch-largecta__button--primary .wp-block-button__link {
  border: 3px solid #1c211d;
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-largecta--alt .merch-largecta__button--primary .wp-block-button__link:hover, .merch-largecta--alt .merch-largecta__button--primary .wp-block-button__link:focus-visible {
  background-color: #e0fe83;
  border-color: #1c211d;
  color: #1c211d;
}

@media (prefers-reduced-motion: no-preference) {
  .merch-largecta.is-motion-ready .merch-largecta__card {
    position: relative;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-largecta.is-motion-ready .merch-largecta__card {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  .merch-largecta.is-motion-ready .merch-largecta__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-largecta.is-motion-ready .merch-largecta__follow {
    opacity: 0;
  }
  .merch-largecta.is-motion-ready .merch-largecta__actions {
    opacity: 0;
    transform: translateX(-2rem);
  }
  .merch-largecta.is-motion-ready.is-revealed .merch-largecta__card {
    animation: merch-largecta-card-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .merch-largecta.is-motion-ready.is-revealed .merch-largecta__word {
    animation: merch-largecta-word-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(0.12s + var(--word-index, 0) * 0.07s);
  }
  .merch-largecta.is-motion-ready.is-revealed .merch-largecta__follow {
    animation: merch-largecta-fade-in 0.5s ease both;
    animation-delay: var(--largecta-mid-delay, 0.4s);
  }
  .merch-largecta.is-motion-ready.is-revealed .merch-largecta__actions {
    animation: merch-largecta-actions-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--largecta-actions-delay, 0.9s);
  }
}
@keyframes merch-largecta-card-in {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-largecta-word-in {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-largecta-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes merch-largecta-actions-in {
  from {
    opacity: 0;
    transform: translateX(-2rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* Homepage UGC feature (homepage-ugc pattern)
--------------------------------------------- */
/**
 * Homepage UGC feature (the "ppai/homepage-ugc" block pattern).
 *
 * A full-bleed plum band: headline, body copy and a Learn More button at left,
 * a square photograph at right with a white "#Merchmovedme" pill overhanging
 * its top-left corner.
 *
 * Figma Homepage, Frame 755 > Case Study 3 858:13102
 * (1440.27 x 612, fill #93008C, padding 100 / 175 / 90 - the frame is 0.27px
 *  wider than the 1440 artboard, so the band is full-bleed):
 *   Frame 712  858:13103  x 175, y 100, 1090 x 422. Flex row, gap 136,
 *                         align-items center.
 *     Frame 708  858:13104  532 x 317 at y 52.5 == (422 - 317) / 2, centred
 *       Group 80   858:13105  527 x 317  (5px of trailing slack; see below)
 *         Group 17   858:13106  527 x 235
 *           headline   858:13107  527 x 146, 60px/0.9 Freight Sans Condensed
 *                                 Black, uppercase, #FFD1C8, letter-spacing 0,
 *                                 cap-trimmed
 *           body       858:13108  521.9 x 57 at x 1.0996, y 178, 18px/1.3
 *                                 Freight Sans Book, #FFFFFF, cap-trimmed
 *         button     858:13109  135 x 42 at y 275, #DFF48B, radius 6,
 *                               padding 14 / 24 / 12 / 24
 *           label      858:13110  87 x 16, 16px FreightSansCndPro Bold,
 *                                 +0.32px, uppercase, #12633E
 *     photo      858:13111  422 x 422 at x 668, radius 10. Image fill, CROPPED.
 *     Group 121  858:13112  232 x 50 at (689.9736, 21), positioned against the
 *                           ROW, so it overlaps the photograph's top-left corner
 *       rect       858:13113  232 x 50, #FFFFFF, radius 4
 *       label      858:13114  195 x 21 at (707.9736, 37), 25px/0.84 Freight Sans
 *                             Condensed Bold, +0.25px, uppercase, #93008C
 *
 * Derived:
 *   ROW ARITHMETIC: 532 + 136 + 422 = 1090, and 1440 - 2*175 = 1090. Both close
 *     exactly on the round artboard width, so 1090 is the container and the .27
 *     on the band is drift - the same call Case Study 02 made for 1440.27.
 *   THE 5px OF SLACK: Frame 708 is 532 wide but Group 80, which holds everything,
 *     is 527. The text column therefore takes the 532 flex basis (it is what the
 *     gap and the photograph are measured against) and its contents are capped at
 *     527. Identical in kind to Quick Links' 22px of dead trailing space.
 *   VERTICAL RHYTHM inside the 317px text column: headline 146, +32, body 57,
 *     +40, button 42 = 317. Figma states the body's y as 178 from the HEADLINE'S
 *     TOP, and the headline's cap box is 146 tall, so the gap between the two
 *     boxes is 178 - 146 = 32. Likewise the button's y is 275 and the body's box
 *     ends at 235, so that gap is 40. Both are CAP-BOX to CAP-BOX gaps, which is
 *     why the two text blocks are `text-box-trim`med.
 *   THE PILL relative to the photograph: 689.9736 - 668 = 21.9736 from its left
 *     edge, and the photograph's top is the row's top, so 21 from its top.
 *
 * Units: `.merch-ugc__row` is the 1090px container, so every DESCENDANT length is
 * (figma_px / 1090 * 100)cqw and 1cqw = 10.90px at the design width. See
 * decision_2026-07-09_container-units-figma-scaling. Nothing on the row itself
 * may be expressed in cqw - an element cannot consume its own container units -
 * so its `max-width` stays in px, the 136px gutter is a PERCENTAGE (`column-gap`,
 * which resolves against the row's own content box), and the band's padding stays
 * in px because it lives OUTSIDE the container.
 *
 * The band itself cannot be the container: it is full-bleed, so its `cqw` would
 * be `vw`, and `vw` ignores the scrollbar. Same reason Quick Links puts the
 * container on its inner row.
 */
.merch-ugc {
  background-color: #f3f0e6;
  position: relative;
  --merch-ugc-offset: 100px;
}
@media (max-width: 600px) {
  .merch-ugc {
    --merch-ugc-offset: 48px;
  }
}
.merch-ugc {
  padding: 80px 175px;
}
@media (max-width: 900px) {
  .merch-ugc {
    padding: 64px 32px;
  }
}
@media (max-width: 600px) {
  .merch-ugc {
    padding: 40px 20px;
  }
}

.merch-ugc__row {
  container-type: inline-size;
  max-width: 1090px;
  margin-inline: auto;
  margin-block: 0;
}

.merch-ugc .merch-ugc__row {
  column-gap: 12.4771%;
}
@media (max-width: 900px) {
  .merch-ugc .merch-ugc__row {
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: 40px;
  }
}
@media (max-width: 600px) {
  .merch-ugc .merch-ugc__row {
    row-gap: 32px;
  }
}

.merch-ugc__media {
  position: relative;
}
@media (max-width: 900px) {
  .merch-ugc__media {
    flex-basis: 100%;
    max-width: 480px;
  }
}

.merch-ugc__row .merch-ugc__photo {
  margin: 0;
}
.merch-ugc__row .merch-ugc__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: 50% 69.4997%;
  border-radius: 2.9358cqw;
}
@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__photo img {
    max-width: 100%;
    border-radius: 24px;
  }
}
.merch-ugc__row .merch-ugc__pill {
  box-sizing: border-box;
  position: absolute;
  top: 2.2018cqw;
  left: 2.0183cqw;
  margin: 0;
  max-width: 34.6789cqw;
  overflow-wrap: anywhere;
  padding: 1.4679cqw;
  border-radius: 0.7339cqw;
  background-color: #fff;
  color: #65103d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 2.2936cqw;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__pill {
    top: 16px;
    left: 16px;
    max-width: calc(100% - 32px);
    padding: 12px;
    border-radius: 8px;
    font-size: 20px;
  }
}
@media (max-width: 600px) {
  .merch-ugc__row .merch-ugc__pill {
    font-size: 18px;
  }
}

@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__text-col {
    flex-basis: 100%;
  }
}
.merch-ugc__row .merch-ugc__text-col .merch-ugc__headline,
.merch-ugc__row .merch-ugc__text-col .merch-ugc__text {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-ugc__row .merch-ugc__text-col .merch-ugc__headline {
  margin: 0;
  max-width: 48.3486cqw;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 5.5046cqw;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1c211d;
}
@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__headline {
    max-width: none;
    font-size: clamp(34px, 8vw, 48px);
  }
}
@media (max-width: 600px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__headline {
    font-size: clamp(34px, 9vw, 48px);
  }
}
.merch-ugc__row .merch-ugc__text-col .merch-ugc__text {
  margin: 2.2018cqw 0 0;
  max-width: 47.8807cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 1.6514cqw;
  line-height: 1.3;
  color: #1c211d;
}
@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__text {
    max-width: none;
    margin-top: 24px;
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__text {
    margin-top: 16px;
    font-size: 16px;
  }
}
.merch-ugc__row .merch-ugc__text-col .merch-ugc__actions {
  margin: 3.6697cqw 0 0;
}
@media (max-width: 900px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__actions {
    margin-top: 32px;
  }
}
@media (max-width: 600px) {
  .merch-ugc__row .merch-ugc__text-col .merch-ugc__actions {
    margin-top: 24px;
  }
}

.merch-ugc__actions .wp-block-button__link {
  display: inline-block;
  padding: 1.1927cqw 1.9266cqw;
  border: 3px solid #1c211d;
  border-radius: 0.5505cqw;
  background-color: transparent;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.4679cqw;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}
.merch-ugc__actions .wp-block-button__link:hover, .merch-ugc__actions .wp-block-button__link:focus-visible {
  background-color: #e0fe83;
  color: #1c211d;
}
.merch-ugc__actions .wp-block-button__link:focus {
  outline: 0;
}
.merch-ugc__actions .wp-block-button__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .merch-ugc__actions .wp-block-button__link {
    padding: 13px 21px;
    border-radius: 6px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root .merch-ugc {
    animation: merch-ugc-settle linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 90%;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-ugc.is-motion-ready .merch-ugc__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-ugc.is-motion-ready .merch-ugc__item {
    opacity: 0;
    transform: translateY(1rem);
  }
  .merch-ugc.is-motion-ready .merch-ugc__media {
    opacity: 0;
  }
  .merch-ugc.is-revealed .merch-ugc__word {
    opacity: 1;
    transform: none;
    animation: merch-ugc-word-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--word-index, 0) * 0.07s, 1.4s);
  }
  .merch-ugc.is-revealed .merch-ugc__item {
    opacity: 1;
    transform: none;
    animation: merch-ugc-item-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--ugc-mid-delay, 0.3s) + var(--ugc-item-index, 0) * 0.12s);
  }
  .merch-ugc.is-revealed .merch-ugc__media {
    opacity: 1;
    animation: merch-ugc-media-fade 0.8s ease-out both;
    animation-delay: var(--ugc-mid-delay, 0.3s);
  }
}
@keyframes merch-ugc-settle {
  from {
    transform: translateY(var(--merch-ugc-offset, 100px));
  }
  to {
    transform: translateY(0);
  }
}
@keyframes merch-ugc-word-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-ugc-item-rise {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-ugc-media-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Shared carousel primitive (resource-card + social carousels)
--------------------------------------------- */
/*
 * Shared carousel primitive (All Pages R2).
 *
 * One mechanism, two skins: the resource-card carousel puts its nav below and
 * centered; the social carousel puts its nav top-right and bleeds off both edges.
 * The track is a NATIVE scroller - scroll-snap does the paging, JS only drives the
 * buttons. Touch, trackpad and keyboard therefore work with no JS at all.
 *
 * Placement and slide sizing belong to the CONSUMER, not here. This file owns the
 * scroller mechanics and the button shape only, so a skin never has to fight it.
 *
 * ON data-lenis-prevent - MEASURED, and NOT what the plan assumed. The standing
 * note (decision_2026-07-16_r2-foundations-architecture) says Lenis silently eats
 * horizontal wheel inside a child scroller unless the track carries
 * `data-lenis-prevent`. That is TRUE of a stock Lenis; it is FALSE of the instance
 * this theme constructs, and it was tested by removing the attribute and wheeling
 * for real, with Lenis proven live (lenis.min.js + smooth-scroll.js both 200,
 * prefers-reduced-motion false). Horizontal wheel scrolled the track IDENTICALLY
 * with and without it. Two independent guards in js/smooth-scroll.js explain why:
 *   1. gestureOrientation defaults to 'vertical' (derived from orientation), and
 *      Lenis early-returns on a wheel whose deltaY is 0 - before it ever reaches
 *      the data-lenis-prevent check.
 *   2. allowNestedScroll: true makes Lenis hand the event back for any child that
 *      can still scroll in the wheel's direction; hasNestedScroll is axis-aware.
 * The attribute is NOT applied to the track, and must not be: this theme ships
 * Lenis's upstream CSS (sass/vendor/_lenis.scss), which styles
 * `.lenis [data-lenis-prevent] { overscroll-behavior: contain }`. On a horizontal-
 * only scroller that contains the VERTICAL overscroll too, so a vertical wheel over
 * the track stops chaining to the document and page scroll freezes over the
 * carousel. It was briefly stamped by carousel.js and caused exactly that; removed.
 * See carousel.js for the full note.
 */
.merch-carousel {
  position: relative;
}

.merch-carousel__track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
}
@media (max-width: 600px) {
  .merch-carousel__track {
    gap: 16px;
  }
}
.merch-carousel__track {
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.merch-carousel__track::-webkit-scrollbar {
  display: none;
}
.merch-carousel__track > * {
  flex: 0 0 auto;
  scroll-snap-align: start;
}
@media (max-width: 600px) {
  .merch-carousel__track > * {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .merch-carousel__track {
    scroll-behavior: auto;
  }
}
@media (max-width: 781px) {
  .merch-carousel.is-static .merch-carousel__track {
    flex-direction: column;
  }
}
.merch-carousel__nav {
  display: flex;
  gap: 8px;
}

.merch-carousel__prev,
.merch-carousel__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #e0fe83;
  color: #1c211d;
  cursor: pointer;
}
.merch-carousel__prev:disabled,
.merch-carousel__next:disabled {
  opacity: 0.4;
  cursor: default;
}
.merch-carousel__prev:focus-visible,
.merch-carousel__next:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .merch-carousel__prev,
  .merch-carousel__next {
    width: 48px;
    height: 48px;
  }
}

/* Homepage social carousel (homepage-social pattern)
--------------------------------------------- */
/**
 * Homepage Social carousel (the "ppai/homepage-social" block pattern).
 *
 * NEW in R2 (Figma "All Pages R2" node 1236:10950). It is the MIDDLE third of the
 * shared Dark Green region - _dark-band.scss paints #073108 on the `.merch-darkband`
 * wrapper that holds UGC + social + closing CTA - so this section paints NOTHING and
 * its dark backdrop comes from the wrapper.
 *
 * The scroller mechanics and the round nav buttons come from the SHARED carousel
 * primitive (_carousel.scss + carousel.js): `.merch-carousel > __track` is the
 * native scroll-snap scroller, `.merch-carousel__nav > __prev/__next` are the 56px
 * lime circles. This file is the social SKIN only - the two differences from the
 * resource carousel are (1) the nav sits in a TOP-RIGHT pagination row beside the
 * heading rather than centred below the track, and (2) the track is FULL-BLEED so
 * the cards run edge to edge rather than being held in the 1312 content column.
 *
 * ON THE RESTING BLEED: the board draws the strip centred, bleeding off BOTH edges. As
 * an interactive native scroll-snap scroller, at rest the first card is flush to the
 * viewport's left edge (prev disabled) and the strip bleeds off the RIGHT; scrolling
 * reveals the bleed on both sides. That is the standard scroller reading; a
 * both-edges-at-rest bleed would need a JS initial-scroll offset that starts the reader
 * mid-content with prev already live. Deliberate deviation, flagged - not a both-edge match.
 *
 * Figma node 1236:10950 (1440 wide, frame-local px):
 *   section        bg #073108 (from the wrapper), flex-col gap 40 (padding/large),
 *                  py 64 (padding/xxlarge). Full width.
 *   pagination     flex row gap 40, items-center, px 64 (SiteMargin/margin-default)
 *     heading      "See Us On Social", flex-1, Freight Sans Condensed Black 45 (h2)
 *                  / 0.84, uppercase, #FFFFFF, +0.1px tracking, cap-trimmed
 *     prev/next    two 56px lime circles (icon-only-button: p 20 + 16 icon), the
 *                  forest arrow (assets/img/social-arrow.svg); prev is the same glyph
 *                  mirrored. 40px apart (the pagination row's own gap).
 *   posts          flex row gap 24 (padding/medium), the cards full-bleed (see the
 *                  resting-bleed note above)
 *     card         309 x 546, radius 10 (radius/radius-10), overflow clip, image
 *                  fill (object-cover). The #MerchMovedMe pill is baked INTO each
 *                  placeholder photo, not a separate element (the client swaps the
 *                  whole image for a real social post).
 *
 * Units: the cards are a fixed-size SCROLLER, not a poster that scales with the
 * viewport (that is the resource carousel's model, where two cards fill a column).
 * A scroller keeps its slide size and pages horizontally, so the card's 309x546 is
 * fixed px and the fidelity gate measures it there directly.
 */
.merch-social {
  background-color: #f3f0e6;
  position: relative;
  container-type: inline-size;
  padding-block: 64px;
  overflow-x: clip;
}
@media (max-width: 600px) {
  .merch-social {
    padding-block: 40px;
  }
}

.merch-social .merch-carousel {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 600px) {
  .merch-social .merch-carousel {
    gap: 24px;
  }
}

.merch-social__head {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 64px;
}

.merch-social__heading {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.84;
  letter-spacing: 0.1px;
  text-transform: uppercase;
  white-space: nowrap;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.merch-social .merch-carousel__nav {
  gap: 40px;
}

.merch-social .merch-carousel__prev,
.merch-social .merch-carousel__next {
  background-color: transparent;
  border: 3px solid #1c211d;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016.9887%2016.9887%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5%200.994369L15%208.49437L7.5%2015.9944%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.8125%22%2F%3E%3Cpath%20d%3D%22M14.9993%208.45531L1%208.45531%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222.8125%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-social .merch-carousel__prev,
  .merch-social .merch-carousel__next {
    transition: scale 0.2s ease, background-position 0.2s ease;
  }
  .merch-social .merch-carousel__prev:hover,
  .merch-social .merch-carousel__next:hover {
    scale: 1.08;
    background-position: 62% center;
  }
  .merch-social .merch-carousel__prev:active,
  .merch-social .merch-carousel__next:active {
    scale: 0.96;
  }
}

.merch-social .merch-carousel__prev {
  transform: scaleX(-1);
}

.merch-social .merch-carousel__track {
  max-width: none;
  width: 100%;
  gap: 1.6667cqw;
}
@media (max-width: 900px) {
  .merch-social .merch-carousel__track {
    gap: 24px;
  }
}
.merch-social .merch-carousel__track {
  scroll-snap-type: none;
}
.merch-social .merch-carousel__track > * {
  scroll-snap-align: none;
}

.merch-social__card {
  width: 21.4583cqw;
  aspect-ratio: 309/546;
  margin: 0;
  overflow: clip;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .merch-social__card {
    width: 309px;
    aspect-ratio: auto;
    height: 546px;
  }
}
.merch-social__card img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}
@media (max-width: 400px) {
  .merch-social__card {
    width: 260px;
    height: 459px;
  }
}

@media (max-width: 781px) {
  .merch-social__head {
    padding-inline: 24px;
    gap: 16px;
  }
  .merch-social__heading {
    font-size: 28px;
    white-space: normal;
  }
  .merch-social .merch-carousel__nav {
    gap: 16px;
  }
}
@media (max-width: 400px) {
  .merch-social__head {
    padding-inline: 16px;
  }
  .merch-social__heading {
    font-size: 22px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .merch-social.is-motion-ready .merch-social__card {
    opacity: 0;
    transform: scale(0.96);
  }
  .merch-social.is-revealed .merch-social__card {
    opacity: 1;
    transform: none;
    animation: merch-social-card-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.1s);
  }
}
@keyframes merch-social-card-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* "See Us on Social" block (ppai/social-feed): LinkedIn-ready editable slideshow.
   MUST come after "social": it reuses the social skin and only adds the linked
   card's anchor fill. */
/**
 * "See Us on Social" block (ppai/social-feed) - front-end.
 *
 * The block reuses the social carousel skin (_social.scss) wholesale: its cards
 * are `.merch-social__card`, its wrapper is `.merch-social`, so the cream band,
 * the 309x546 card, the looping eased pager (js/carousel.js) and the staggered
 * reveal (js/social-reveal.js) all apply with nothing added here.
 *
 * This file exists for ONE case the static pattern never had: a LINKED card. On
 * the live LinkedIn path each card image is wrapped in an anchor to the post, so
 * the anchor has to become the card's block-level fill or the image loses the
 * definite height its `object-fit: cover` needs. The editable fallback cards are
 * plain (unlinked) core/image blocks and need none of this.
 */
.merch-social__card-link {
  display: block;
  width: 100%;
  height: 100%;
}
.merch-social__card-link img {
  display: block;
  width: 100%;
  height: 100%;
}

/* Homepage Dark Green band wrapper (UGC + social + closing CTA)
--------------------------------------------- */
/**
 * The Dark Green band (the "ppai/homepage-dark-band" wrapper).
 *
 * R2 (Figma "All Pages R2") gives the bottom of the homepage a continuous Dark Green
 * region behind THREE stacked sections: the UGC feature (node 1236:10949), the social
 * carousel (1236:10950) and the closing two-button CTA (1236:10951). On the board
 * those are three CONTIGUOUS full-bleed instances, each filled #073108 with no gap
 * between them - they read as one band. There is no wrapper FRAME in Figma; the band
 * is an emergent property of three touching dark sections.
 *
 * It is built here as ONE shared wrapper rather than three separately-painted
 * sections for two reasons: a single background can never seam at a fractional-pixel
 * section boundary, and the UGC's scroll-scrubbed entrance (it rests 100px low and
 * settles up) needs dark green to sit ABOVE it as it slides - which the wrapper
 * supplies for free. So the wrapper paints #073108 and the three sections inside it
 * paint nothing.
 *
 * The board's vertical rhythm is reproduced by each section owning its own padding,
 * which stacks with no page background between:
 *   UGC        py 80 (padding/xxxlarge)   -> _ugc.scss
 *   social     py 64 (padding/xxlarge)    -> _social.scss
 *   closing CTA py 64 (padding/xxlarge)   -> below (the section's R1 100px margin is
 *                                            replaced by the band's 64px padding)
 * giving 80+64 = 144 between UGC and social and 64+64 = 128 between social and the
 * CTA, exactly the contiguous dark region the board draws.
 *
 * The FIRST large CTA (node 1236:10948, "View all Case Studies", on WHITE) is NOT in
 * this band - it sits above it on the page background and keeps its own treatment.
 */
.merch-darkband {
  background-color: transparent;
}

.merch-darkband__cta {
  background-color: #1c211d;
}

.merch-darkband .merch-largecta--alt {
  margin-block: 0;
  padding-block: 64px;
}
@media (max-width: 900px) {
  .merch-darkband .merch-largecta--alt {
    padding-block: 40px;
  }
}
@media (max-width: 600px) {
  .merch-darkband .merch-largecta--alt {
    padding-block: 32px;
  }
}

/* Internal-navigation outbound fade (pairs with inc/page-loader.php .is-nav) */
/* ==========================================================================
   Page transition - outbound fade (js/page-transition.js)
   ==========================================================================

   The OUTBOUND half of the internal-navigation transition. When a same-site
   link is clicked, page-transition.js appends #ppai-page-fade and toggles
   .is-active; this white overlay fades in over the departing page so it
   dissolves to the white page background before the browser navigates. The
   INBOUND half (a matching white cover on the arriving page) lives inline in
   inc/page-loader.php as the loader's `.is-nav` state, since it must paint at
   first frame. Kept white to match that background and hand off seamlessly.

   z-index sits just below the loader (99999) so the two never fight; in
   practice they live on different page loads. */
#ppai-page-fade {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease;
}
#ppai-page-fade.is-active {
  opacity: 1;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  #ppai-page-fade {
    transition: none;
  }
}
/* The nav is the ONE element that persists through a navigation: it must not fade
   or shift while the rest of the page transitions. Lift the sticky header above
   the outbound fade overlay (99998) and the inbound white cover (99999) for the
   duration of the transition only - `ppai-nav-out` is set by page-transition.js on
   the departing page, `ppai-nav-in` by inc/page-loader.php on the arriving page.
   Scoped this way so the branded direct-load loader still covers the header. The
   header carries its own solid background, so it stays fully legible over white. */
html.ppai-nav-out .wp-site-blocks > header.wp-block-template-part,
html.ppai-nav-in .wp-site-blocks > header.wp-block-template-part {
  z-index: 100000;
}

/* Interior content-section rise+fade reveal (js/content-reveal.js) */
/* ==========================================================================
   Content-page section reveal (js/content-reveal.js)
   ==========================================================================

   The rise + fade entrance for interior content sections (case study, tool,
   article). content-reveal.js adds `is-reveal-ready` to each target section to
   apply the pre-state, then `is-revealed` when it scrolls into view.

   Gated two ways so a section is NEVER stranded invisible: the pre-state only
   applies (a) under prefers-reduced-motion:no-preference and (b) when the script
   has added `is-reveal-ready`. A missing script, reduced motion, or no
   IntersectionObserver all leave content fully visible. Transitions (not
   both-fill animations) mean an interrupted entrance always settles visible. */
@media (prefers-reduced-motion: no-preference) {
  .is-reveal-ready {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
  }
  .is-reveal-ready.is-revealed {
    opacity: 1;
    transform: none;
  }
}
/* Resources hub load choreography (banner -> H1 zoom -> featured stagger) */
/* ==========================================================================
   Resources hub load choreography
   ==========================================================================

   The sequenced entrance for the resources hub, played once the page is ready:

     1. the hero banner fades in,
     2. the H1 badge zoom-fades in,
     3. the featured 50/50 staggers in - the image first, then the copy
        (eyebrow, title, excerpt, CTA) one after another.

   It is driven entirely by the loader classes on <html>, exactly like the
   homepage hero (_homepage-hero.scss): the hidden pre-state is gated on
   `.ppai-js-loader` (added synchronously by inc/page-loader.php at first paint),
   and the reveal fires when `.ppai-loaded` is added - after the lime loader on a
   DIRECT load, or as the white nav-cover clears on an INTERNAL navigation. So the
   choreography plays however the hub is reached, with no extra JS.

   Uses transitions (not both-fill animations) so an interrupted entrance always
   settles at the visible end state - no freeze-on-`from`. Everything is inside
   prefers-reduced-motion:no-preference and gated on `.ppai-js-loader`, so reduced
   motion and a no-JS page leave the hub fully visible with no pre-state.

   Global per pattern: keyed off the hub hero / featured classes, so any page that
   renders these blocks gets the same entrance. */
@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .merch-hub-hero {
    opacity: 0;
  }
  html.ppai-js-loader .merch-hub-hero__badge {
    opacity: 0;
    transform: scale(0.9);
  }
  html.ppai-js-loader .merch-featured__media {
    opacity: 0;
  }
  html.ppai-js-loader .merch-featured__text > * {
    opacity: 0;
    transform: translateY(18px);
  }
  .merch-hub-hero {
    transition: opacity 0.6s ease 0.1s;
  }
  .merch-hub-hero__badge {
    transform-origin: center;
    transition: opacity 0.55s ease 0.55s, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.55s;
    will-change: opacity, transform;
  }
  .merch-featured__media {
    transition: opacity 0.6s ease 1.05s;
    will-change: opacity;
  }
  .merch-featured__text > * {
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
  }
  html.ppai-loaded .merch-hub-hero {
    opacity: 1;
  }
  html.ppai-loaded .merch-hub-hero__badge {
    opacity: 1;
    transform: none;
  }
  html.ppai-loaded .merch-featured__media {
    opacity: 1;
  }
  html.ppai-loaded .merch-featured__text > * {
    opacity: 1;
    transform: none;
  }
  html.ppai-loaded .merch-featured__text > *:nth-child(1) {
    transition-delay: 1.3s;
  }
  html.ppai-loaded .merch-featured__text > *:nth-child(2) {
    transition-delay: 1.42s;
  }
  html.ppai-loaded .merch-featured__text > *:nth-child(3) {
    transition-delay: 1.54s;
  }
  html.ppai-loaded .merch-featured__text > *:nth-child(4) {
    transition-delay: 1.66s;
  }
}
/* core/button brand style variation (.is-style-merch-cta), registered in
   inc/block-styles.php. Compiles into both style.css and editor-style.css. */
@media (prefers-reduced-motion: no-preference) {
  :root .wp-element-button:active,
  :root .wp-block-button__link:active {
    scale: 0.96;
  }
}
.wp-block-button.is-style-merch-cta > .wp-block-button__link {
  display: inline-block;
  border-radius: 6px;
  padding: 11px 21px 9px;
  border: 3px solid #1c211d;
  background-color: #1c211d;
  color: #e0fe83;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}
.wp-block-button.is-style-merch-cta > .wp-block-button__link:hover, .wp-block-button.is-style-merch-cta > .wp-block-button__link:focus-visible {
  background-color: #e0fe83;
  border-color: #1c211d;
  color: #1c211d;
}
.wp-block-button.is-style-merch-cta > .wp-block-button__link:focus {
  outline: 0;
}
.wp-block-button.is-style-merch-cta > .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

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

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

.home .entry-content {
  margin-top: 0;
}

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

/* R2 content-hub post types (case_study/article/tool/video/research archive+single) */
.ct-case-study {
  background-color: #fff;
}
.ct-case-study__hero {
  background-color: #f3f0e6;
  padding: 0 0 64px;
}
.ct-case-study__hero-media {
  position: relative;
  overflow: visible;
  height: 500px;
  background-color: #084633;
}
.ct-case-study__hero-media .wp-block-post-featured-image {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
}
.ct-case-study__hero-media .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-case-study__hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28, 33, 29, 0) 43.8%, rgba(28, 33, 29, 0.4) 100%);
  pointer-events: none;
}
.ct-case-study__hero-heading {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 48px);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: max-content;
  max-width: 100%;
}
.ct-case-study__tag {
  margin: 0;
  display: inline-flex;
  align-items: center;
  padding: 6px 9px;
  border-radius: 3px;
  background-color: #f3f0e6;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 13px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ct-case-study__title {
  margin: 0;
  padding: 15px 20px;
  border-radius: 10px;
  background-color: #9dd9ff;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-align: center;
  text-transform: uppercase;
}
.ct-case-study__hero-foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  max-width: 1440px;
  margin: 90px auto 0;
  padding-inline: 64px;
}
.ct-case-study__lede {
  max-width: 647px;
  margin: 0;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
}
.ct-case-study__lede .wp-block-post-excerpt__excerpt {
  margin: 0;
}
.ct-case-study__actions {
  display: flex;
  align-items: center;
  gap: 46px;
  flex-wrap: wrap;
  justify-content: center;
}
.ct-case-study__download.wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 6px;
  background-color: #1c211d;
  color: #e0fe83;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ct-case-study__download.wp-block-button .wp-block-button__link::after {
  content: "";
  flex: 0 0 auto;
  width: 11px;
  height: 14px;
  background: center/contain no-repeat url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%2214%22%20viewBox%3D%220%200%2011%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.10643%204.94118H7.85714V0.823529C7.85714%200.370588%207.50357%200%207.07143%200H3.92857C3.49643%200%203.14286%200.370588%203.14286%200.823529V4.94118H1.89357C1.19429%204.94118%200.840714%205.83059%201.33571%206.34941L4.94214%2010.1294C5.24857%2010.4506%205.74357%2010.4506%206.05%2010.1294L9.65643%206.34941C10.1514%205.83059%209.80571%204.94118%209.10643%204.94118ZM0%2013.1765C0%2013.6294%200.353571%2014%200.785714%2014H10.2143C10.6464%2014%2011%2013.6294%2011%2013.1765C11%2012.7235%2010.6464%2012.3529%2010.2143%2012.3529H0.785714C0.353571%2012.3529%200%2012.7235%200%2013.1765Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3C%2Fsvg%3E");
}
.ct-case-study__divider {
  flex: 0 0 auto;
  width: 1px;
  height: 46px;
  background-color: rgba(28, 33, 29, 0.35);
}
.ct-case-study__share {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ct-case-study__share p {
  margin: 0;
}
.ct-case-study__socials.wp-block-social-links {
  gap: 12px;
  margin: 0;
}
.ct-case-study__socials.wp-block-social-links .wp-social-link {
  padding: 0;
}
.ct-case-study__socials.wp-block-social-links .wp-social-link .wp-block-social-link-anchor {
  padding: 5px;
  transition: color 0.15s ease;
}
.ct-case-study__socials.wp-block-social-links .wp-social-link svg {
  width: 15px;
  height: 15px;
}
.ct-case-study__socials.wp-block-social-links .wp-social-link:active .wp-block-social-link-anchor, .ct-case-study__socials.wp-block-social-links .wp-social-link:active .wp-block-social-link-anchor svg {
  color: #e0fe83;
  fill: #e0fe83;
}
@media (prefers-reduced-motion: no-preference) {
  .ct-case-study__socials.wp-block-social-links .wp-social-link {
    transition: scale 0.15s ease;
  }
  .ct-case-study__socials.wp-block-social-links .wp-social-link:active {
    scale: 0.96;
  }
}
.ct-case-study__socials.wp-block-social-links.has-icon-background-color .wp-social-link {
  border-radius: 3px;
}
.ct-case-study__logo {
  width: 80px;
  max-width: 80px;
  margin: 0 auto;
}
.ct-case-study__logo img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.ct-case-study__body {
  --wp--style--global--content-size: 867px;
  margin: 108px 0 0;
}
.ct-case-study__body > * {
  margin-block: 0;
}
.ct-case-study__body > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 30px;
}
.ct-case-study__body > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 80px;
}
.ct-case-study__body > :is(h1, h2, h3, h4, h5, h6) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 40px;
}
.ct-case-study__body > * + :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons),
.ct-case-study__body > :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons) + * {
  margin-top: 80px;
}
.ct-case-study__body > .wp-block-spacer,
.ct-case-study__body > .wp-block-spacer + * {
  margin-top: 0;
}
.ct-case-study__body > :first-child {
  margin-top: 0;
}
.ct-case-study__body > :is(.ct-cs-results, .ct-cs-quote) + :is(.ct-cs-results, .ct-cs-quote) {
  margin-top: 0;
}
.ct-case-study__body > .ct-cs-feature + .ct-cs-feature {
  margin-top: 48px;
}
.ct-case-study__body > h2 {
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
}
.ct-case-study__body > h3 {
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.84;
  text-transform: uppercase;
}
.ct-case-study__body > p {
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}
.ct-case-study__body .alignwide {
  max-width: 1090px;
}
.ct-case-study__body .wp-block-image img {
  border-radius: 30px;
}
.ct-case-study__cta {
  background-color: #1c211d;
  padding: 48px 64px 64px;
  margin-top: -1px;
}
.ct-case-study__cta-card {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  min-height: 142px;
  max-width: 1312px;
  margin-inline: auto;
  padding: 40px;
  border-radius: 32px;
  background-color: #e0fe83;
}
.ct-case-study__cta-heading {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.84;
  letter-spacing: 0.1px;
  text-transform: uppercase;
}
.ct-case-study__cta-actions.wp-block-buttons {
  gap: 24px;
}
.ct-case-study__cta-actions.wp-block-buttons .wp-block-button__link {
  padding: 16px 24px;
  border-radius: 6px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: no-preference) {
  .ct-case-study__cta-actions.wp-block-buttons .wp-block-button__link {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, scale 0.2s ease;
  }
  .ct-case-study__cta-actions.wp-block-buttons .wp-block-button__link:active {
    scale: 0.96;
  }
}
.ct-case-study__cta-actions.wp-block-buttons .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  border: 3px solid #1c211d;
  background-color: #1c211d;
  color: #e0fe83;
}
.ct-case-study__cta-actions.wp-block-buttons .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, .ct-case-study__cta-actions.wp-block-buttons .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  background-color: #e0fe83;
  border-color: #1c211d;
  color: #1c211d;
}
.ct-case-study__cta-actions.wp-block-buttons .is-style-outline .wp-block-button__link {
  border: 3px solid #1c211d;
  background-color: transparent;
  color: #1c211d;
}
.ct-case-study__cta-actions.wp-block-buttons .is-style-outline .wp-block-button__link:hover, .ct-case-study__cta-actions.wp-block-buttons .is-style-outline .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}

@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .ct-case-study__hero {
    opacity: 0;
  }
  html.ppai-js-loader .ct-case-study__hero-media {
    opacity: 0;
  }
  html.ppai-js-loader .ct-case-study__hero-media .wp-block-post-featured-image img {
    transform: scale(1.06);
  }
  html.ppai-js-loader .ct-case-study__tag,
  html.ppai-js-loader .ct-case-study__title,
  html.ppai-js-loader .ct-case-study__lede {
    opacity: 0;
    transform: translateY(0.6em);
  }
  html.ppai-js-loader .ct-case-study__logo,
  html.ppai-js-loader .ct-case-study__actions {
    opacity: 0;
  }
  html.ppai-loaded .ct-case-study__hero {
    animation: ct-cs-hero-fade 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both;
  }
  html.ppai-loaded .ct-case-study__hero-media {
    animation: ct-cs-hero-fade 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both;
  }
  html.ppai-loaded .ct-case-study__hero-media .wp-block-post-featured-image img {
    animation: ct-cs-hero-media-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both;
  }
  html.ppai-loaded .ct-case-study__tag {
    animation: ct-cs-hero-text-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.65s both;
  }
  html.ppai-loaded .ct-case-study__title {
    animation: ct-cs-hero-text-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.77s both;
  }
  html.ppai-loaded .ct-case-study__lede {
    animation: ct-cs-hero-text-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.89s both;
  }
  html.ppai-loaded .ct-case-study__logo,
  html.ppai-loaded .ct-case-study__actions {
    animation: ct-cs-hero-fade 0.5s ease 1.45s both;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 600px) {
  html.ppai-js-loader .ct-case-study__hero,
  html.ppai-js-loader .ct-case-study__hero-media,
  html.ppai-js-loader .ct-case-study__hero-media .wp-block-post-featured-image img,
  html.ppai-js-loader .ct-case-study__tag,
  html.ppai-js-loader .ct-case-study__title,
  html.ppai-js-loader .ct-case-study__lede,
  html.ppai-js-loader .ct-case-study__logo,
  html.ppai-js-loader .ct-case-study__actions,
  html.ppai-loaded .ct-case-study__hero,
  html.ppai-loaded .ct-case-study__hero-media,
  html.ppai-loaded .ct-case-study__hero-media .wp-block-post-featured-image img,
  html.ppai-loaded .ct-case-study__tag,
  html.ppai-loaded .ct-case-study__title,
  html.ppai-loaded .ct-case-study__lede,
  html.ppai-loaded .ct-case-study__logo,
  html.ppai-loaded .ct-case-study__actions {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@keyframes ct-cs-hero-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ct-cs-hero-media-zoom {
  from {
    transform: scale(1.06);
  }
  to {
    transform: scale(1);
  }
}
@keyframes ct-cs-hero-text-in {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ct-case-study__cta-card.is-motion-ready {
    position: relative;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .ct-case-study__cta-card.is-motion-ready {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  .ct-case-study__cta-card.is-motion-ready .ct-case-study__cta-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .ct-case-study__cta-card.is-motion-ready .ct-case-study__cta-actions {
    opacity: 0;
    transform: translateX(-2rem);
  }
  .ct-case-study__cta-card.is-motion-ready.is-revealed {
    animation: ct-cs-cta-card-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .ct-case-study__cta-card.is-motion-ready.is-revealed .ct-case-study__cta-word {
    animation: ct-cs-cta-word-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(0.12s + var(--word-index, 0) * 0.07s);
  }
  .ct-case-study__cta-card.is-motion-ready.is-revealed .ct-case-study__cta-actions {
    animation: ct-cs-cta-actions-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--ct-cs-cta-actions-delay, 0.9s);
  }
}
@keyframes ct-cs-cta-card-in {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ct-cs-cta-word-in {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ct-cs-cta-actions-in {
  from {
    opacity: 0;
    transform: translateX(-2rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.ct-cs-stats {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 900px) {
  .ct-cs-stats {
    flex-wrap: nowrap;
  }
}

.ct-cs-stat {
  position: relative;
  flex: 1 1 261px;
  max-width: 309px;
}
@media (min-width: 900px) {
  .ct-cs-stat {
    flex: 1 1 0;
    max-width: none;
  }
}
.ct-cs-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 40px 24px;
  border-radius: 10px;
  text-align: center;
}
.ct-cs-stat::before, .ct-cs-stat::after {
  content: "";
  position: absolute;
  top: -28px;
  left: 50%;
  width: 56px;
  height: 56px;
  transform: translateX(-50%);
}
.ct-cs-stat::before {
  border-radius: 50%;
  background-color: var(--ct-cs-disc);
}
.ct-cs-stat::after {
  background-color: var(--ct-cs-glyph);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: var(--ct-cs-glyph-size, contain);
  mask-size: var(--ct-cs-glyph-size, contain);
}
.ct-cs-stat__num {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 80px;
  line-height: 0.84;
  text-transform: uppercase;
}
.ct-cs-stat__label {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.ct-cs-stat:nth-child(1) {
  background-color: #222c75;
  --ct-cs-disc: #222c75;
  --ct-cs-glyph: #a1e4ff;
}
.ct-cs-stat:nth-child(1) .ct-cs-stat__num,
.ct-cs-stat:nth-child(1) .ct-cs-stat__label {
  color: #a1e4ff;
}
.ct-cs-stat:nth-child(1)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.94%2028.7L21.42%2026.18C20.58%2025.34%2019.6%2024.9424%2018.48%2024.9872C17.36%2025.032%2016.38%2025.4763%2015.54%2026.32C14.7%2027.1637%2014.28%2028.1437%2014.28%2029.26C14.28%2030.3763%2014.7%2031.3563%2015.54%2032.2L20.02%2036.68C21.14%2037.8%2022.4467%2038.36%2023.94%2038.36C25.4333%2038.36%2026.74%2037.8%2027.86%2036.68L40.46%2024.22C41.3%2023.38%2041.72%2022.4%2041.72%2021.28C41.72%2020.16%2041.3%2019.18%2040.46%2018.34C39.62%2017.5%2038.64%2017.1043%2037.52%2017.1528C36.4%2017.2013%2035.42%2017.5971%2034.58%2018.34L23.94%2028.7ZM8.1928%2047.8128C2.73093%2042.3509%200%2035.7467%200%2028C0%2020.2533%202.73093%2013.6509%208.1928%208.1928C13.6547%202.73467%2020.2571%200.00373715%2028%203.82253e-06C35.7429%20-0.00372951%2042.3472%202.7272%2047.8128%208.1928C53.2784%2013.6584%2056.0075%2020.2608%2056%2028C55.9925%2035.7392%2053.2616%2042.3434%2047.8072%2047.8128C42.3528%2053.2821%2035.7504%2056.0112%2028%2056C20.2496%2055.9888%2013.6472%2053.2634%208.1928%2047.8128Z%22%20fill%3D%22%23351C4E%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.94%2028.7L21.42%2026.18C20.58%2025.34%2019.6%2024.9424%2018.48%2024.9872C17.36%2025.032%2016.38%2025.4763%2015.54%2026.32C14.7%2027.1637%2014.28%2028.1437%2014.28%2029.26C14.28%2030.3763%2014.7%2031.3563%2015.54%2032.2L20.02%2036.68C21.14%2037.8%2022.4467%2038.36%2023.94%2038.36C25.4333%2038.36%2026.74%2037.8%2027.86%2036.68L40.46%2024.22C41.3%2023.38%2041.72%2022.4%2041.72%2021.28C41.72%2020.16%2041.3%2019.18%2040.46%2018.34C39.62%2017.5%2038.64%2017.1043%2037.52%2017.1528C36.4%2017.2013%2035.42%2017.5971%2034.58%2018.34L23.94%2028.7ZM8.1928%2047.8128C2.73093%2042.3509%200%2035.7467%200%2028C0%2020.2533%202.73093%2013.6509%208.1928%208.1928C13.6547%202.73467%2020.2571%200.00373715%2028%203.82253e-06C35.7429%20-0.00372951%2042.3472%202.7272%2047.8128%208.1928C53.2784%2013.6584%2056.0075%2020.2608%2056%2028C55.9925%2035.7392%2053.2616%2042.3434%2047.8072%2047.8128C42.3528%2053.2821%2035.7504%2056.0112%2028%2056C20.2496%2055.9888%2013.6472%2053.2634%208.1928%2047.8128Z%22%20fill%3D%22%23351C4E%22%2F%3E%3C%2Fsvg%3E");
}
.ct-cs-stat:nth-child(2) {
  background-color: #edc8fe;
  --ct-cs-disc: #edc8fe;
  --ct-cs-glyph: #351c4e;
}
.ct-cs-stat:nth-child(2) .ct-cs-stat__num,
.ct-cs-stat:nth-child(2) .ct-cs-stat__label {
  color: #351c4e;
}
.ct-cs-stat:nth-child(2)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M30.6476%2045.2449C31.3942%2044.5376%2031.8277%2043.6561%2031.948%2042.6004H24.052C24.1723%2043.6561%2024.6058%2044.5376%2025.3524%2045.2449C26.0991%2045.9521%2026.9816%2046.3058%2028%2046.3058C29.0184%2046.3058%2029.9009%2045.9532%2030.6476%2045.248M14.8369%2037.8124H41.1631V33.9827H38.052V25.536C38.052%2022.8916%2037.3551%2020.4887%2035.9613%2018.3276C34.5676%2016.1684%2032.6314%2014.8058%2030.1529%2014.2396V11.7258C30.1529%2011.0828%2029.9548%2010.5436%2029.5587%2010.108C29.1625%209.67244%2028.643%209.45467%2028%209.45467C27.357%209.45467%2026.8375%209.67244%2026.4413%2010.108C26.0452%2010.5436%2025.8471%2011.0828%2025.8471%2011.7258V14.2396C23.3707%2014.8058%2021.4345%2016.1487%2020.0387%2018.2684C18.6449%2020.3881%2017.948%2022.7702%2017.948%2025.4147V33.9827H14.8369V37.8124ZM28.0093%2056C24.1391%2056%2020.4991%2055.2658%2017.0893%2053.7973C13.6816%2052.3268%2010.7167%2050.3316%208.19467%2047.8116C5.67259%2045.2916%203.6763%2042.3298%202.20578%2038.9262C0.73526%2035.5227%200%2031.8837%200%2028.0093C0%2024.135%200.73526%2020.495%202.20578%2017.0893C3.67422%2013.6816%205.66637%2010.7167%208.18222%208.19467C10.6981%205.67259%2013.6609%203.6763%2017.0707%202.20578C20.4804%200.73526%2024.1204%200%2027.9907%200C31.8609%200%2035.5009%200.73526%2038.9107%202.20578C42.3184%203.67422%2045.2833%205.66741%2047.8053%208.18533C50.3274%2010.7033%2052.3237%2013.6661%2053.7942%2017.0738C55.2647%2020.4815%2056%2024.1204%2056%2027.9907C56%2031.8609%2055.2658%2035.5009%2053.7973%2038.9107C52.3289%2042.3204%2050.3336%2045.2853%2047.8116%2047.8053C45.2895%2050.3253%2042.3277%2052.3216%2038.9262%2053.7942C35.5247%2055.2668%2031.8858%2056.0021%2028.0093%2056Z%22%20fill%3D%22%23C6FFAB%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M30.6476%2045.2449C31.3942%2044.5376%2031.8277%2043.6561%2031.948%2042.6004H24.052C24.1723%2043.6561%2024.6058%2044.5376%2025.3524%2045.2449C26.0991%2045.9521%2026.9816%2046.3058%2028%2046.3058C29.0184%2046.3058%2029.9009%2045.9532%2030.6476%2045.248M14.8369%2037.8124H41.1631V33.9827H38.052V25.536C38.052%2022.8916%2037.3551%2020.4887%2035.9613%2018.3276C34.5676%2016.1684%2032.6314%2014.8058%2030.1529%2014.2396V11.7258C30.1529%2011.0828%2029.9548%2010.5436%2029.5587%2010.108C29.1625%209.67244%2028.643%209.45467%2028%209.45467C27.357%209.45467%2026.8375%209.67244%2026.4413%2010.108C26.0452%2010.5436%2025.8471%2011.0828%2025.8471%2011.7258V14.2396C23.3707%2014.8058%2021.4345%2016.1487%2020.0387%2018.2684C18.6449%2020.3881%2017.948%2022.7702%2017.948%2025.4147V33.9827H14.8369V37.8124ZM28.0093%2056C24.1391%2056%2020.4991%2055.2658%2017.0893%2053.7973C13.6816%2052.3268%2010.7167%2050.3316%208.19467%2047.8116C5.67259%2045.2916%203.6763%2042.3298%202.20578%2038.9262C0.73526%2035.5227%200%2031.8837%200%2028.0093C0%2024.135%200.73526%2020.495%202.20578%2017.0893C3.67422%2013.6816%205.66637%2010.7167%208.18222%208.19467C10.6981%205.67259%2013.6609%203.6763%2017.0707%202.20578C20.4804%200.73526%2024.1204%200%2027.9907%200C31.8609%200%2035.5009%200.73526%2038.9107%202.20578C42.3184%203.67422%2045.2833%205.66741%2047.8053%208.18533C50.3274%2010.7033%2052.3237%2013.6661%2053.7942%2017.0738C55.2647%2020.4815%2056%2024.1204%2056%2027.9907C56%2031.8609%2055.2658%2035.5009%2053.7973%2038.9107C52.3289%2042.3204%2050.3336%2045.2853%2047.8116%2047.8053C45.2895%2050.3253%2042.3277%2052.3216%2038.9262%2053.7942C35.5247%2055.2668%2031.8858%2056.0021%2028.0093%2056Z%22%20fill%3D%22%23C6FFAB%22%2F%3E%3C%2Fsvg%3E");
}
.ct-cs-stat:nth-child(3) {
  background-color: #084633;
  --ct-cs-disc: #c6ffab;
  --ct-cs-glyph: #084633;
  --ct-cs-glyph-size: 40%;
}
.ct-cs-stat:nth-child(3) .ct-cs-stat__num,
.ct-cs-stat:nth-child(3) .ct-cs-stat__label {
  color: #c6ffab;
}
.ct-cs-stat:nth-child(3)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2229.6678%22%20height%3D%2229.3537%22%20viewBox%3D%220%200%2029.6678%2029.3537%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.3281%200.0520849C12.4745%20-0.234421%2013.5%200.700813%2013.5%201.88251V27.4712C13.5%2028.6529%2012.4745%2029.5881%2011.3281%2029.3016C4.77%2027.6627%200%2021.7201%200%2014.6768C0%207.63354%204.77001%201.69101%2011.3281%200.0520849ZM18.6843%200.0617916C17.5335%20-0.226973%2016.5%200.709459%2016.5%201.896V11.1768C16.5%2012.2814%2017.3954%2013.1768%2018.5%2013.1768H27.7808C28.9674%2013.1768%2029.9038%2012.1434%2029.615%2010.9925C28.2582%205.58482%2024.092%201.41865%2018.6843%200.0617916ZM18.5%2016.1768C17.3954%2016.1768%2016.5%2017.0723%2016.5%2018.1768V27.4528C16.5%2028.6411%2017.5364%2029.5776%2018.6872%2029.2816C24.0029%2027.9139%2028.2369%2023.7548%2029.6109%2018.3603C29.9038%2017.2105%2028.9674%2016.1768%2027.7808%2016.1768H18.5Z%22%20fill%3D%22%23222C75%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2229.6678%22%20height%3D%2229.3537%22%20viewBox%3D%220%200%2029.6678%2029.3537%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.3281%200.0520849C12.4745%20-0.234421%2013.5%200.700813%2013.5%201.88251V27.4712C13.5%2028.6529%2012.4745%2029.5881%2011.3281%2029.3016C4.77%2027.6627%200%2021.7201%200%2014.6768C0%207.63354%204.77001%201.69101%2011.3281%200.0520849ZM18.6843%200.0617916C17.5335%20-0.226973%2016.5%200.709459%2016.5%201.896V11.1768C16.5%2012.2814%2017.3954%2013.1768%2018.5%2013.1768H27.7808C28.9674%2013.1768%2029.9038%2012.1434%2029.615%2010.9925C28.2582%205.58482%2024.092%201.41865%2018.6843%200.0617916ZM18.5%2016.1768C17.3954%2016.1768%2016.5%2017.0723%2016.5%2018.1768V27.4528C16.5%2028.6411%2017.5364%2029.5776%2018.6872%2029.2816C24.0029%2027.9139%2028.2369%2023.7548%2029.6109%2018.3603C29.9038%2017.2105%2028.9674%2016.1768%2027.7808%2016.1768H18.5Z%22%20fill%3D%22%23222C75%22%2F%3E%3C%2Fsvg%3E");
}
.ct-cs-stat:nth-child(4) {
  background-color: #65103d;
  --ct-cs-disc: #65103d;
  --ct-cs-glyph: #fec8c8;
}
.ct-cs-stat:nth-child(4) .ct-cs-stat__num,
.ct-cs-stat:nth-child(4) .ct-cs-stat__label {
  color: #fec8c8;
}
.ct-cs-stat:nth-child(4)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.94%2028.7L21.42%2026.18C20.58%2025.34%2019.6%2024.9424%2018.48%2024.9872C17.36%2025.032%2016.38%2025.4763%2015.54%2026.32C14.7%2027.1637%2014.28%2028.1437%2014.28%2029.26C14.28%2030.3763%2014.7%2031.3563%2015.54%2032.2L20.02%2036.68C21.14%2037.8%2022.4467%2038.36%2023.94%2038.36C25.4333%2038.36%2026.74%2037.8%2027.86%2036.68L40.46%2024.22C41.3%2023.38%2041.72%2022.4%2041.72%2021.28C41.72%2020.16%2041.3%2019.18%2040.46%2018.34C39.62%2017.5%2038.64%2017.1043%2037.52%2017.1528C36.4%2017.2013%2035.42%2017.5971%2034.58%2018.34L23.94%2028.7ZM8.1928%2047.8128C2.73093%2042.3509%200%2035.7467%200%2028C0%2020.2533%202.73093%2013.6509%208.1928%208.1928C13.6547%202.73467%2020.2571%200.00373715%2028%203.82253e-06C35.7429%20-0.00372951%2042.3472%202.7272%2047.8128%208.1928C53.2784%2013.6584%2056.0075%2020.2608%2056%2028C55.9925%2035.7392%2053.2616%2042.3434%2047.8072%2047.8128C42.3528%2053.2821%2035.7504%2056.0112%2028%2056C20.2496%2055.9888%2013.6472%2053.2634%208.1928%2047.8128Z%22%20fill%3D%22%23351C4E%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.94%2028.7L21.42%2026.18C20.58%2025.34%2019.6%2024.9424%2018.48%2024.9872C17.36%2025.032%2016.38%2025.4763%2015.54%2026.32C14.7%2027.1637%2014.28%2028.1437%2014.28%2029.26C14.28%2030.3763%2014.7%2031.3563%2015.54%2032.2L20.02%2036.68C21.14%2037.8%2022.4467%2038.36%2023.94%2038.36C25.4333%2038.36%2026.74%2037.8%2027.86%2036.68L40.46%2024.22C41.3%2023.38%2041.72%2022.4%2041.72%2021.28C41.72%2020.16%2041.3%2019.18%2040.46%2018.34C39.62%2017.5%2038.64%2017.1043%2037.52%2017.1528C36.4%2017.2013%2035.42%2017.5971%2034.58%2018.34L23.94%2028.7ZM8.1928%2047.8128C2.73093%2042.3509%200%2035.7467%200%2028C0%2020.2533%202.73093%2013.6509%208.1928%208.1928C13.6547%202.73467%2020.2571%200.00373715%2028%203.82253e-06C35.7429%20-0.00372951%2042.3472%202.7272%2047.8128%208.1928C53.2784%2013.6584%2056.0075%2020.2608%2056%2028C55.9925%2035.7392%2053.2616%2042.3434%2047.8072%2047.8128C42.3528%2053.2821%2035.7504%2056.0112%2028%2056C20.2496%2055.9888%2013.6472%2053.2634%208.1928%2047.8128Z%22%20fill%3D%22%23351C4E%22%2F%3E%3C%2Fsvg%3E");
}

@media (prefers-reduced-motion: no-preference) {
  .ct-cs-stats.is-motion-ready .ct-cs-stat {
    opacity: 0;
    transform: scale(0.92);
  }
  .ct-cs-stats.is-motion-ready .ct-cs-stat::before {
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
  }
  .ct-cs-stats.is-motion-ready .ct-cs-stat .ct-cs-stat__label {
    opacity: 0;
  }
  .ct-cs-stats.is-revealed .ct-cs-stat {
    opacity: 1;
    transform: none;
    animation: ct-cs-stat-card-zoom 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.12s);
  }
  .ct-cs-stats.is-revealed .ct-cs-stat::before {
    opacity: 1;
    transform: translateX(-50%);
    animation: ct-cs-stat-icon-zoom 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.12s + 0.15s);
  }
  .ct-cs-stats.is-revealed .ct-cs-stat .ct-cs-stat__label {
    opacity: 1;
    animation: ct-cs-stat-fade 0.6s ease both;
    animation-delay: calc(var(--card-index, 0) * 0.12s + 0.35s);
  }
}
@keyframes ct-cs-stat-card-zoom {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes ct-cs-stat-icon-zoom {
  from {
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
}
@keyframes ct-cs-stat-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.ct-cs-results {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  padding: 80px 64px 48px;
  background-color: #1c211d;
}

.ct-cs-result {
  flex: 0 1 335px;
  min-height: 200px;
  padding: 31px 40px;
  border-radius: 10px;
  background-color: #e0fe83;
}
.ct-cs-result__label {
  margin: 0 0 15px;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 13px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ct-cs-result__num {
  margin: 0 0 30px;
  color: #084633;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
}
.ct-cs-result__body {
  margin: 0;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}

@media (prefers-reduced-motion: no-preference) {
  .ct-cs-results.is-motion-ready .ct-cs-result {
    opacity: 0;
    transform: scale(0.96);
  }
  .ct-cs-results.is-motion-ready .ct-cs-result > * {
    opacity: 0;
    transform: translateY(0.8rem);
  }
  .ct-cs-results.is-revealed .ct-cs-result {
    opacity: 1;
    transform: none;
    animation: ct-cs-result-card-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.18s);
  }
  .ct-cs-results.is-revealed .ct-cs-result > * {
    opacity: 1;
    transform: none;
    animation: ct-cs-result-item-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--card-index, 0) * 0.18s + var(--item-index, 0) * 0.08s);
  }
}
@keyframes ct-cs-result-card-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes ct-cs-result-item-rise {
  from {
    opacity: 0;
    transform: translateY(0.8rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ct-cs-quote {
  display: flex;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 48px 104px;
  background-color: #1c211d;
}
.ct-cs-quote__media {
  flex: 0 0 auto;
  width: 410px;
  max-width: 100%;
  aspect-ratio: 1;
  border-radius: 10px;
  background-color: #084633;
  overflow: hidden;
}
.ct-cs-quote__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-cs-quote__text {
  flex: 1 1 500px;
  max-width: 619px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.ct-cs-quote__body {
  margin: 0;
  color: #fff;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 38px;
  line-height: 0.84;
  text-transform: uppercase;
}
.ct-cs-quote__cite {
  color: #e0fe83;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 15px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  font-style: normal;
}

.ct-cs-media {
  position: relative;
  aspect-ratio: 1090/560;
  border-radius: 30px;
  background-color: #fff;
  overflow: hidden;
}
.ct-cs-media .wp-block-image {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}
.ct-cs-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-cs-media iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.ct-cs-media .wp-block-embed {
  margin: 0;
  height: 100%;
}
.ct-cs-media .wp-block-embed__wrapper {
  height: 100%;
}
.ct-cs-media .wp-block-embed__wrapper::before {
  content: none;
}
.ct-cs-media .ct-cs-media__player {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
}

.ct-cs-media__player {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.ct-cs-media__poster,
.ct-cs-media__player iframe,
.ct-cs-media__player video,
.ct-cs-media__noscript iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.ct-cs-media__poster {
  object-fit: cover;
}

.ct-cs-media__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 60px;
  height: 60px;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2260%22%20viewBox%3D%220%200%2060%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2260%22%20height%3D%2260%22%20rx%3D%2230%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M36.2%2029.8L26%2037L26%2022.6L36.2%2029.8Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.ct-cs-media__play:hover, .ct-cs-media__play:focus-visible {
  transform: translate(-50%, -50%) scale(1.08);
}
.ct-cs-media__play:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .ct-cs-media__play {
    transition: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ct-cs-media.is-reveal-ready {
    transform: scale(0.92);
  }
  .ct-cs-media.is-reveal-ready.is-revealed {
    transform: none;
  }
}
.ct-cs-feature {
  display: flex;
  align-items: center;
  gap: 136px;
  row-gap: 0;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 862px;
  margin: 0 auto;
}
.ct-cs-feature.alignwide {
  max-width: 862px;
}
.ct-cs-feature--flip {
  flex-direction: row-reverse;
}
.ct-cs-feature__text {
  flex: 0 1 310px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.ct-cs-feature__heading {
  margin: 0;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.9;
  text-transform: uppercase;
}
.ct-cs-feature__body {
  margin: 0;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}
.ct-cs-feature__media {
  flex: 0 1 415px;
  max-width: 415px;
  aspect-ratio: 1;
  border-radius: 10px;
  background-color: #084633;
  overflow: hidden;
}
.ct-cs-feature__media:has(img) {
  background-color: #f3f0e6;
}
.ct-cs-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-cs-feature__media .wp-block-image {
  margin: 0;
  height: 100%;
}
.ct-cs-feature__media .ct-cs-feature__media--whole img {
  object-fit: contain;
}
.ct-cs-feature__media:has(.ct-cs-feature__media--whole) {
  background-color: #fff;
}

@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .ct-cs-feature.is-motion-ready .ct-cs-feature__text > * {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  .ct-cs-feature.is-motion-ready .ct-cs-feature__media {
    opacity: 0;
    transform: scale(0.94);
  }
  .ct-cs-feature.is-revealed .ct-cs-feature__text > * {
    opacity: 1;
    transform: none;
    animation: ct-cs-lockup-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--ti-index, 0) * 0.08s, 0.8s);
  }
  .ct-cs-feature.is-revealed .ct-cs-feature__media {
    opacity: 1;
    transform: none;
    animation: ct-cs-lockup-fade-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--ti-image-delay, 0.33s);
  }
  .ct-cs-quote.is-motion-ready .ct-cs-quote__text > * {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  .ct-cs-quote.is-motion-ready .ct-cs-quote__media {
    opacity: 0;
    transform: scale(0.94);
  }
  .ct-cs-quote.is-revealed .ct-cs-quote__text > * {
    opacity: 1;
    transform: none;
    animation: ct-cs-lockup-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--ti-index, 0) * 0.08s, 0.8s);
  }
  .ct-cs-quote.is-revealed .ct-cs-quote__media {
    opacity: 1;
    transform: none;
    animation: ct-cs-lockup-fade-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--ti-image-delay, 0.33s);
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root .ct-cs-feature__media img,
  :root .ct-cs-quote__media img {
    animation: ct-cs-lockup-scroll-zoom linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
  }
  :root .ct-cs-feature__media .ct-cs-feature__media--whole img {
    animation: none;
    transform: none;
  }
}
@keyframes ct-cs-lockup-rise {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ct-cs-lockup-fade-zoom {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes ct-cs-lockup-scroll-zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.14);
  }
}
.ct-case-study-archive {
  background-color: #fff;
}
.ct-case-study-archive__header {
  background-color: #e0fe83;
}
.ct-case-study-archive__keyart {
  position: relative;
  height: 245px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #cdd3cf;
}
.ct-case-study-archive__keyart img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-case-study-archive__title {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 15px 20px;
  border-radius: 10px;
  background-color: #084633;
  color: #e0fe83;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 80px;
  line-height: 0.9;
  text-align: center;
  text-transform: uppercase;
}
.ct-case-study-archive__filters {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1440px;
  margin: 64px auto 0;
  padding: 0 64px;
}
.ct-case-study-archive__filter {
  flex: 1 1 240px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 56px;
  padding: 10px 20px 12px;
  border: 2px solid rgba(8, 70, 51, 0.2);
  border-radius: 10px;
  background-color: #fff;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.ct-case-study-archive__filter::after {
  content: "";
  width: 12px;
  height: 6px;
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2%202L8%208L14%202%22%20stroke%3D%22%23084633%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  flex: 0 0 auto;
}
.ct-case-study-archive__grid {
  max-width: 1440px;
  margin: 50px auto 0;
  padding: 0 64px;
}
.ct-case-study-archive__grid .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 25px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ct-case-study-archive__pagination {
  max-width: 1440px;
  margin: 50px auto 0;
  padding: 0 64px;
  justify-content: center;
  gap: 24px;
  align-items: center;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.ct-case-study-archive__pagination .wp-block-query-pagination-numbers,
.ct-case-study-archive__pagination .page-numbers {
  color: #1c211d;
}
.ct-case-study-archive__pagination .wp-block-query-pagination-numbers .current {
  opacity: 1;
}
.ct-case-study-archive__pagination a.page-numbers {
  opacity: 0.5;
}

.ct-case-study-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ct-case-study-card__media {
  position: relative;
  aspect-ratio: 420/233;
  border-radius: 10px;
  overflow: hidden;
  background-color: #084633;
}
.ct-case-study-card__media .wp-block-post-featured-image {
  position: absolute;
  inset: 0;
  margin: 0;
  height: 100%;
}
.ct-case-study-card__media .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ct-case-study-card__tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  margin: 0;
  padding: 6px 9px;
  border-radius: 3px;
  background-color: #f3f0e6;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 13px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.ct-case-study-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 30px;
}
.ct-case-study-card__title {
  margin: 0;
}
.ct-case-study-card__title a {
  color: #1c211d;
  text-decoration: none;
}
.ct-case-study-card__title {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.ct-case-study-card__excerpt {
  margin: 0;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}
.ct-case-study-card__excerpt .wp-block-post-excerpt__excerpt {
  margin: 0;
}
.ct-case-study-card__arrow {
  display: inline-block;
  margin-top: auto;
  padding-top: 6px;
  width: 40px;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  background-origin: content-box;
}

@media (max-width: 782px) {
  .ct-case-study__hero {
    padding: 0 0 40px;
  }
  .ct-case-study__title {
    font-size: 40px;
  }
  .ct-case-study__hero-foot {
    margin-top: 60px;
    padding-inline: 20px;
  }
  .ct-case-study__body {
    margin: 48px 0 0;
  }
  .ct-case-study__body > h2 {
    font-size: 40px;
  }
  .ct-case-study__body > h3 {
    font-size: 32px;
  }
  .ct-case-study__body > h2,
  .ct-case-study__body > h3,
  .ct-case-study__body > p {
    padding-inline: 20px;
  }
  .ct-case-study__cta {
    padding: 32px 20px;
  }
  .ct-case-study__cta-heading {
    font-size: 32px;
  }
  .ct-cs-stat__num {
    font-size: 56px;
  }
  .ct-cs-results {
    padding: 48px 20px;
  }
  .ct-cs-quote {
    padding: 32px 20px;
  }
  .ct-cs-quote__body {
    font-size: 28px;
  }
  .ct-cs-feature {
    gap: 32px;
    padding: 0 20px;
  }
  .ct-cs-feature__heading {
    font-size: 32px;
  }
  .ct-cs-media {
    margin: 0 20px;
  }
  .ct-case-study-archive__title {
    font-size: 44px;
  }
  .ct-case-study-archive__filters, .ct-case-study-archive__grid, .ct-case-study-archive__pagination {
    padding: 0 20px;
  }
  .ct-case-study-archive__grid .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1440px) {
  .ct-case-study__hero-media {
    height: auto;
    aspect-ratio: 1440/500;
  }
}
@media (max-width: 900px) {
  .ct-case-study__hero-foot {
    padding-inline: 32px;
  }
  .ct-case-study__cta {
    padding-inline: 32px;
  }
  .ct-cs-feature {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .ct-cs-feature--flip {
    flex-direction: column;
  }
  .ct-cs-feature__media {
    flex: 0 0 auto;
    width: 100%;
    max-width: 415px;
    align-self: center;
  }
  .ct-cs-quote {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
    padding: 48px 32px;
  }
  .ct-cs-quote__media {
    width: 100%;
  }
  .ct-cs-quote__text {
    max-width: 100%;
    gap: 32px;
  }
  .ct-cs-results {
    padding-inline: 32px;
  }
  .ct-cs-stats {
    gap: 56px 24px;
  }
  .ct-case-study-archive__grid .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .ct-case-study__title {
    font-size: clamp(40px, 5.5vw, 50px);
  }
  .ct-case-study__body {
    margin-top: 64px;
  }
  .ct-case-study__body > h2 {
    font-size: clamp(40px, 5.5vw, 50px);
  }
  .ct-case-study__body > h3 {
    font-size: clamp(32px, 4.2vw, 38px);
  }
  .ct-case-study__cta-heading {
    font-size: clamp(32px, 4.2vw, 38px);
  }
  .ct-cs-feature__heading {
    font-size: clamp(32px, 4.2vw, 38px);
  }
  .ct-cs-stat__num {
    font-size: clamp(56px, 7vw, 64px);
  }
  .ct-cs-result__num {
    font-size: clamp(48px, 6vw, 56px);
  }
  .ct-cs-quote__body {
    font-size: clamp(28px, 3.6vw, 34px);
  }
  .ct-case-study-archive__title {
    font-size: clamp(48px, 7vw, 62px);
  }
}
@media (max-width: 600px) {
  .ct-case-study__hero-foot {
    padding-inline: 20px;
  }
  .ct-case-study__hero-media {
    aspect-ratio: 16/9;
  }
  .ct-case-study__title {
    font-size: clamp(34px, 9vw, 40px);
  }
  .ct-case-study__actions {
    gap: 24px;
  }
  .ct-case-study__body > h2 {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .ct-case-study__body > h3 {
    font-size: clamp(26px, 6.5vw, 32px);
  }
  .ct-cs-stat {
    max-width: 100%;
    padding: 40px 16px;
  }
  .ct-cs-stat__num {
    font-size: clamp(44px, 12vw, 56px);
  }
  .ct-cs-result {
    flex: 1 1 100%;
    min-height: 0;
    padding: 24px 20px;
  }
  .ct-cs-result__num {
    font-size: clamp(44px, 12vw, 48px);
  }
  .ct-cs-quote__body {
    font-size: clamp(24px, 6vw, 28px);
  }
  .ct-cs-results {
    gap: 24px;
    padding: 40px 20px;
  }
  .ct-cs-quote {
    gap: 24px;
    padding: 32px 20px;
  }
  .ct-cs-quote__text {
    gap: 24px;
  }
  .ct-cs-feature__text {
    gap: 24px;
  }
  .ct-case-study__cta {
    padding-inline: 20px;
  }
  .ct-case-study__cta-card {
    gap: 16px;
    min-height: 0;
    padding: 24px;
  }
  .ct-case-study-archive__keyart {
    height: 180px;
  }
  .ct-case-study-archive__title {
    padding: 10px 14px;
    font-size: clamp(34px, 9vw, 44px);
  }
  .ct-case-study-archive__filters {
    gap: 16px;
    margin-top: 40px;
  }
  .ct-case-study-archive__filter {
    flex: 1 1 100%;
  }
  .ct-case-study-archive__grid {
    margin-top: 40px;
  }
  .ct-case-study-archive__grid .wp-block-post-template {
    grid-template-columns: 1fr;
  }
  .ct-case-study-archive__pagination {
    margin-top: 40px;
    gap: 16px;
    font-size: 20px;
  }
  .ct-case-study-card__title {
    font-size: 22px;
  }
  .ct-case-study-card__body {
    gap: 16px;
    margin-top: 24px;
  }
}
@media (max-width: 400px) {
  .ct-case-study__hero-foot {
    padding-inline: 16px;
  }
  .ct-case-study__body > h2,
  .ct-case-study__body > h3,
  .ct-case-study__body > p {
    padding-inline: 16px;
  }
  .ct-case-study__cta,
  .ct-cs-results,
  .ct-cs-quote,
  .ct-cs-feature {
    padding-inline: 16px;
  }
  .ct-cs-media {
    margin-inline: 16px;
  }
  .ct-case-study-archive__filters,
  .ct-case-study-archive__grid,
  .ct-case-study-archive__pagination {
    padding-inline: 16px;
  }
  .ct-case-study-archive__filter {
    gap: 16px;
    padding-inline: 16px;
    font-size: 18px;
  }
}
.ct-case-study__cta .merch-largecta__card {
  max-width: 1312px;
  margin-inline: auto;
}

/**
 * R2 content-hub: Article archive + single.
 *
 * Built off Figma "All Pages R2":
 *   - Single Article  node 1286:22078 (hero content 1286:22642, armed + measured)
 *   - Resource Card   node 1286:22553 (armed + measured; the SHARED hub card used
 *                     by BOTH the archive grid and the single's "Related" strip)
 *   - Archive         adapts the shared "Resources" hub (node 1242:11987); there is
 *                     NO article-specific archive frame on the board. The featured
 *                     band, the TYPE/INDUSTRY/USE-CASE filter bar and the newsletter
 *                     band are shared-hub chrome (need faceted-search infra + shared
 *                     ownership) and are deliberately NOT duplicated per post type -
 *                     flagged to the lead.
 *
 * Type sizes are the absolute R2 tokens (60/25/18/13px), left fixed rather than
 * expressed in cqw: the hub cards live in a 3-up -> 1-up responsive grid, so a cqw
 * poster model would GROW the type as the column widens on mobile - the opposite of
 * what the design wants. Card WIDTH is fluid (grid cell); card TYPE is the token.
 * The eyebrow tracking is 0.02em (the board's "letterSpacing: 2" is 2%, not 2px -
 * see _typography.scss / _site-header.scss).
 */
.merch-article {
  background-color: #fff;
}

.merch-article-hero {
  padding-block: 80px;
}
.merch-article-hero__inner {
  max-width: 1312px;
  margin-inline: auto;
  padding-inline: 64px;
  column-gap: 80px;
}
.merch-article-hero__text {
  max-width: 641px;
  row-gap: 30px;
}
.merch-article-hero__tag {
  align-self: flex-start;
  margin: 0;
  padding: 6px 9px;
  border-radius: 3px;
  background-color: #1c211d;
  color: #f3f0e6;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.merch-article-hero__title {
  margin: 0;
  max-width: 641px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 60px;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: 0;
  color: #1c211d;
  text-transform: uppercase;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.merch-article-hero__dek {
  margin: 0;
  max-width: 631px;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: #000;
}
.merch-article-hero__byline {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: #1c211d;
}
.merch-article-hero__byline-name {
  font-weight: 700;
}
.merch-article-hero__share {
  column-gap: 24px;
  margin-top: 4px;
}
.merch-article-hero__share-label {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-article-hero__socials.wp-block-social-links {
  gap: 12px;
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link {
  padding: 0;
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link .wp-block-social-link-anchor {
  padding: 5px;
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link svg {
  width: 15px;
  height: 15px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-article-hero__socials.wp-block-social-links .wp-social-link {
    transition: scale 0.15s ease;
  }
  .merch-article-hero__socials.wp-block-social-links .wp-social-link:active {
    scale: 0.96;
  }
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link .wp-block-social-link-anchor:focus {
  color: #e0fe83;
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link .wp-block-social-link-anchor:focus svg {
  fill: #e0fe83;
}
.merch-article-hero__socials.wp-block-social-links .wp-social-link .wp-block-social-link-anchor:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 3px;
}
.merch-article-hero__socials.wp-block-social-links.has-icon-background-color .wp-social-link {
  border-radius: 3px;
}
.merch-article-hero__media {
  flex-shrink: 0;
  width: 556px;
  max-width: 43%;
}
.merch-article-hero__media img {
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
}

.merch-article__body {
  --wp--style--global--content-size: 867px;
  --wp--style--global--wide-size: 1090px;
  padding-block: 108px 80px;
  padding-inline: 64px;
  max-width: 1218px;
  margin-inline: auto;
}
.merch-article__body > .entry-content {
  margin-block: 0;
}
.merch-article__body > .entry-content > * {
  margin-block: 0;
}
.merch-article__body > .entry-content > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 30px;
}
.merch-article__body > .entry-content > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 60px;
}
.merch-article__body > .entry-content > :is(h1, h2, h3, h4, h5, h6) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 40px;
}
.merch-article__body > .entry-content > * + :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons),
.merch-article__body > .entry-content > :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons) + * {
  margin-top: 80px;
}
.merch-article__body > .entry-content > .wp-block-spacer,
.merch-article__body > .entry-content > .wp-block-spacer + * {
  margin-top: 0;
}
.merch-article__body > .entry-content > :first-child {
  margin-top: 0;
}
.merch-article__body .entry-content .wp-block-buttons {
  margin-top: 30px;
  margin-bottom: 30px;
}
.merch-article__body .entry-content .wp-block-buttons + * {
  margin-top: 30px;
}
.merch-article__body :where(h2, h3) {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  line-height: 0.84;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-article__body :where(h2) {
  font-size: 45px;
}
.merch-article__body :where(h3) {
  font-size: 38px;
}
.merch-article__body h2:has(+ .ct-tool-faqs__list) {
  text-transform: none;
}
.merch-article__body :where(p, li) {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  line-height: 1.3;
  color: #1c211d;
}
.merch-article__body :where(.wp-block-image img) {
  border-radius: 10px;
}
.merch-article__body :where(.wp-block-quote, .wp-block-pullquote) {
  margin-block: 48px;
  padding: 80px 64px;
  border: 0;
  border-radius: 20px;
  background-color: #a1e4ff;
}
.merch-article__body :where(.wp-block-quote, .wp-block-pullquote) p {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 0.84;
  color: #222c75;
  text-transform: uppercase;
}
.merch-article__body :where(.wp-block-quote, .wp-block-pullquote) cite {
  display: block;
  margin-top: 50px;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0.02em;
  font-style: normal;
  color: #222c75;
  text-transform: uppercase;
}
@media (min-width: 1360px) {
  .merch-article__body .merch-stats {
    width: 1312px;
    max-width: 1312px;
    margin-inline: calc((100% - 1312px) / 2) !important;
  }
}

.merch-hub-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.merch-hub-card__media {
  margin: 0 0 30px;
  aspect-ratio: 420/233;
  overflow: hidden;
  border-radius: 10px;
}
.merch-hub-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-card__media img {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
.merch-hub-card__media--tool img {
  object-position: top;
}
.merch-hub-card__media--video {
  position: relative;
}
.merch-hub-card__media--video::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 56px;
  height: 56px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2260%22%20viewBox%3D%220%200%2060%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2260%22%20height%3D%2260%22%20rx%3D%2230%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M36.2%2029.8L26%2037L26%2022.6L36.2%2029.8Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
.merch-hub-card__media--placeholder {
  position: relative;
  background-color: #cdd3cf;
}
.merch-hub-card__media--placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Nav%22%3E%3Cg%20id%3D%22Group%2088%22%3E%3Cg%20id%3D%22Working%20logo%22%3E%3Cg%20id%3D%22Group%201%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M24.2351%2054.8413L24.7439%2040.6311L21.1842%2054.6205L13.0326%2054.983L10.0008%2039.6996L9.34139%2055.5424L0%2055.9817L2.00446%2029.7412L15.0943%2031.3857L17.5599%2046.2586L21.0145%2032.13L31.0989%2033.3952L30.9245%2054.5244L24.2374%2054.8389L24.2351%2054.8413Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M42.1338%2054.455C37.2529%2054.7047%2033.2344%2051.346%2033.5116%2044.134C33.772%2037.3854%2038.1225%2033.7963%2042.9653%2034.4253C47.4448%2035.0063%2050.5602%2038.4682%2050.3213%2044.6694C50.0967%2050.4721%2046.6206%2054.2245%2042.1338%2054.455ZM42.724%2039.1596C40.7721%2038.9892%2039.7161%2041.1042%2039.5942%2044.2445C39.47%2047.4783%2040.4185%2049.7302%2042.3751%2049.7134C44.2386%2049.6966%2045.2421%2047.5719%2045.3567%2044.5926C45.4714%2041.6132%2044.6113%2039.3229%2042.724%2039.1596Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M59.5778%2053.1751L54.1713%2053.4296L50.8887%2035.8799L55.6525%2036.4777L57.184%2047.25L59.4512%2036.9554L63.4673%2037.4596L59.5778%2053.1751Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M63.8613%2052.974L64.4538%2037.585L71.6283%2038.4853L71.4945%2041.9496L67.6265%2041.6279L67.5525%2043.5725L70.6344%2043.7598L70.5006%2047.2553L67.4139%2047.2001L67.3375%2049.1903L71.2174%2049.1711L71.0836%2052.633L63.8613%2052.974Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M75.2755%2052.7579C73.9567%2052.8252%2072.7072%2052.3354%2071.957%2051.6752L72.5782%2048.0716C73.3762%2048.8063%2074.3533%2049.4593%2075.2874%2049.4497C75.8035%2049.4449%2076.1547%2049.1448%2076.1762%2048.5902C76.2001%2047.9516%2075.7462%2047.6251%2074.9243%2047.2025C73.7775%2046.6095%2072.3202%2045.5172%2072.4277%2042.7203C72.5328%2039.9906%2073.7297%2038.4373%2075.9182%2038.7206C77.2632%2038.8958%2078.2093%2039.5392%2078.8783%2040.2427L78.3527%2043.5341C77.624%2042.7707%2076.6946%2042.1009%2075.9492%2042.0361C75.5049%2041.9976%2075.2516%2042.2137%2075.2301%2042.7539C75.2062%2043.3589%2075.8513%2043.8534%2076.5298%2044.2376C77.6933%2044.893%2078.8353%2045.8773%2078.7397%2048.3261C78.6394%2050.8973%2077.4759%2052.6403%2075.2779%2052.7531L75.2755%2052.7579Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M73.7998%2065.5453C70.6509%2064.8178%2068.6489%2062.9644%2068.9666%2059.3897L69.6069%2052.221L73.4629%2052.0625L72.8131%2059.3489C72.6602%2061.0726%2073.0472%2061.9465%2074.151%2062.1242C75.2356%2062.2994%2075.7803%2061.6992%2075.95%2059.7978L76.6524%2051.9305L81.8391%2051.7168L81.0603%2060.4364C80.6469%2065.0723%2077.5101%2066.4072%2073.7974%2065.5477L73.7998%2065.5453Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M90.4168%2069.3845C86.9383%2068.5803%2084.0642%2067.2646%2082.5137%2066.1387L83.8731%2062.2782C85.6243%2063.3874%2087.9775%2064.5685%2090.4813%2064.9791C91.9769%2065.224%2093.0496%2064.9863%2093.1165%2064.2276C93.1953%2063.3514%2091.8144%2062.7319%2089.5018%2061.9061C86.6014%2060.8665%2083.3809%2059.3324%2083.6604%2056.2162C83.94%2053.1%2086.611%2051.1578%2092.3639%2050.8865C96.6667%2050.6824%20100.148%2051.3066%20102.886%2052.1877L100.769%2057.4046C97.9712%2056.2282%2094.7674%2055.3063%2092.4356%2055.2655C91.1431%2055.2439%2090.4264%2055.5368%2090.3666%2056.2306C90.2974%2057.0085%2092.1346%2057.6903%2094.2298%2058.2737C98.2411%2059.3901%20102.816%2061.2195%20102.465%2065.1639C102.095%2069.3077%2097.5101%2071.0242%2090.4192%2069.3845H90.4168Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22Group_3%22%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M34.3628%2035.2986L34.3676%2024.9657L33.2567%2035.1402L30.6908%2035.3995L29.9143%2026.0628L29.6778%2035.7548L27.4512%2035.9709L28.1297%2021.595L31.2737%2020.5747L32.0215%2029.4696L33.0273%2020.0057L36.6803%2018.8221L37.1199%2035.0322L34.3605%2035.301L34.3628%2035.2986Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M38.4432%2034.9027L38.166%2018.3397L45.1231%2016.083L45.3381%2020.2268L41.205%2021.3503L41.2742%2023.535L44.5378%2022.7428L44.7432%2027.1122L41.4056%2027.7364L41.4797%2030.118L45.8159%2029.4409L46.0596%2034.1609L38.4479%2034.9003L38.4432%2034.9027Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_10%22%20d%3D%22M54.7054%2033.3207L52.0416%2027.2948L51.3702%2027.506L51.8481%2033.5992L47.6671%2034.0049L46.5801%2015.6126L51.5685%2013.9944C54.9993%2012.8805%2057.1901%2014.6787%2057.6297%2018.5775C57.8877%2020.8607%2057.4027%2023.3143%2055.7208%2024.8196L59.9304%2032.8118L54.7054%2033.3207ZM51.1289%2018.5631L50.6129%2018.7048L50.9617%2023.1846L51.7549%2022.9782C52.8228%2022.5532%2053.1931%2021.7418%2053.0545%2020.1717C52.9303%2018.7768%2052.376%2018.2198%2051.1289%2018.5607V18.5631Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_11%22%20d%3D%22M69.5667%2032.4893C63.9428%2033.0031%2060.1943%2029.3275%2059.3055%2021.8634C58.5243%2015.3093%2060.8656%2010.4934%2065.9496%208.82001C67.9374%208.1646%2069.9275%208.14539%2071.6978%208.51031L71.22%2014.6443C69.9848%2014.0417%2068.4582%2013.8352%2067.2875%2014.1545C65.0824%2014.7571%2064.0599%2017.1915%2064.5544%2020.5958C65.0776%2024.1898%2066.6783%2026.3001%2069.2132%2025.9064C70.7135%2025.6735%2071.9654%2024.7972%2073.0859%2023.4432L75.6064%2030.1221C74.3139%2031.3273%2071.7026%2032.2924%2069.5667%2032.4893Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_12%22%20d%3D%22M93.5799%2029.5392L90.6006%2018.7045L84.0999%2019.9121L86.5894%2030.2186L78.5429%2031.0013L73.6309%206.83982L80.4111%204.64071L82.4873%2013.2331L88.6798%2011.7134L86.2167%202.7585L94.7219%200L104.001%2028.5261L93.5823%2029.5392H93.5799Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 38% auto;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22UGC%22%3E%3Cg%20id%3D%22Nav%22%3E%3Cg%20id%3D%22Group%2088%22%3E%3Cg%20id%3D%22Working%20logo%22%3E%3Cg%20id%3D%22Group%201%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M24.2351%2054.8413L24.7439%2040.6311L21.1842%2054.6205L13.0326%2054.983L10.0008%2039.6996L9.34139%2055.5424L0%2055.9817L2.00446%2029.7412L15.0943%2031.3857L17.5599%2046.2586L21.0145%2032.13L31.0989%2033.3952L30.9245%2054.5244L24.2374%2054.8389L24.2351%2054.8413Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M42.1338%2054.455C37.2529%2054.7047%2033.2344%2051.346%2033.5116%2044.134C33.772%2037.3854%2038.1225%2033.7963%2042.9653%2034.4253C47.4448%2035.0063%2050.5602%2038.4682%2050.3213%2044.6694C50.0967%2050.4721%2046.6206%2054.2245%2042.1338%2054.455ZM42.724%2039.1596C40.7721%2038.9892%2039.7161%2041.1042%2039.5942%2044.2445C39.47%2047.4783%2040.4185%2049.7302%2042.3751%2049.7134C44.2386%2049.6966%2045.2421%2047.5719%2045.3567%2044.5926C45.4714%2041.6132%2044.6113%2039.3229%2042.724%2039.1596Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M59.5778%2053.1751L54.1713%2053.4296L50.8887%2035.8799L55.6525%2036.4777L57.184%2047.25L59.4512%2036.9554L63.4673%2037.4596L59.5778%2053.1751Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M63.8613%2052.974L64.4538%2037.585L71.6283%2038.4853L71.4945%2041.9496L67.6265%2041.6279L67.5525%2043.5725L70.6344%2043.7598L70.5006%2047.2553L67.4139%2047.2001L67.3375%2049.1903L71.2174%2049.1711L71.0836%2052.633L63.8613%2052.974Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M75.2755%2052.7579C73.9567%2052.8252%2072.7072%2052.3354%2071.957%2051.6752L72.5782%2048.0716C73.3762%2048.8063%2074.3533%2049.4593%2075.2874%2049.4497C75.8035%2049.4449%2076.1547%2049.1448%2076.1762%2048.5902C76.2001%2047.9516%2075.7462%2047.6251%2074.9243%2047.2025C73.7775%2046.6095%2072.3202%2045.5172%2072.4277%2042.7203C72.5328%2039.9906%2073.7297%2038.4373%2075.9182%2038.7206C77.2632%2038.8958%2078.2093%2039.5392%2078.8783%2040.2427L78.3527%2043.5341C77.624%2042.7707%2076.6946%2042.1009%2075.9492%2042.0361C75.5049%2041.9976%2075.2516%2042.2137%2075.2301%2042.7539C75.2062%2043.3589%2075.8513%2043.8534%2076.5298%2044.2376C77.6933%2044.893%2078.8353%2045.8773%2078.7397%2048.3261C78.6394%2050.8973%2077.4759%2052.6403%2075.2779%2052.7531L75.2755%2052.7579Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M73.7998%2065.5453C70.6509%2064.8178%2068.6489%2062.9644%2068.9666%2059.3897L69.6069%2052.221L73.4629%2052.0625L72.8131%2059.3489C72.6602%2061.0726%2073.0472%2061.9465%2074.151%2062.1242C75.2356%2062.2994%2075.7803%2061.6992%2075.95%2059.7978L76.6524%2051.9305L81.8391%2051.7168L81.0603%2060.4364C80.6469%2065.0723%2077.5101%2066.4072%2073.7974%2065.5477L73.7998%2065.5453Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M90.4168%2069.3845C86.9383%2068.5803%2084.0642%2067.2646%2082.5137%2066.1387L83.8731%2062.2782C85.6243%2063.3874%2087.9775%2064.5685%2090.4813%2064.9791C91.9769%2065.224%2093.0496%2064.9863%2093.1165%2064.2276C93.1953%2063.3514%2091.8144%2062.7319%2089.5018%2061.9061C86.6014%2060.8665%2083.3809%2059.3324%2083.6604%2056.2162C83.94%2053.1%2086.611%2051.1578%2092.3639%2050.8865C96.6667%2050.6824%20100.148%2051.3066%20102.886%2052.1877L100.769%2057.4046C97.9712%2056.2282%2094.7674%2055.3063%2092.4356%2055.2655C91.1431%2055.2439%2090.4264%2055.5368%2090.3666%2056.2306C90.2974%2057.0085%2092.1346%2057.6903%2094.2298%2058.2737C98.2411%2059.3901%20102.816%2061.2195%20102.465%2065.1639C102.095%2069.3077%2097.5101%2071.0242%2090.4192%2069.3845H90.4168Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22Group_3%22%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M34.3628%2035.2986L34.3676%2024.9657L33.2567%2035.1402L30.6908%2035.3995L29.9143%2026.0628L29.6778%2035.7548L27.4512%2035.9709L28.1297%2021.595L31.2737%2020.5747L32.0215%2029.4696L33.0273%2020.0057L36.6803%2018.8221L37.1199%2035.0322L34.3605%2035.301L34.3628%2035.2986Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M38.4432%2034.9027L38.166%2018.3397L45.1231%2016.083L45.3381%2020.2268L41.205%2021.3503L41.2742%2023.535L44.5378%2022.7428L44.7432%2027.1122L41.4056%2027.7364L41.4797%2030.118L45.8159%2029.4409L46.0596%2034.1609L38.4479%2034.9003L38.4432%2034.9027Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_10%22%20d%3D%22M54.7054%2033.3207L52.0416%2027.2948L51.3702%2027.506L51.8481%2033.5992L47.6671%2034.0049L46.5801%2015.6126L51.5685%2013.9944C54.9993%2012.8805%2057.1901%2014.6787%2057.6297%2018.5775C57.8877%2020.8607%2057.4027%2023.3143%2055.7208%2024.8196L59.9304%2032.8118L54.7054%2033.3207ZM51.1289%2018.5631L50.6129%2018.7048L50.9617%2023.1846L51.7549%2022.9782C52.8228%2022.5532%2053.1931%2021.7418%2053.0545%2020.1717C52.9303%2018.7768%2052.376%2018.2198%2051.1289%2018.5607V18.5631Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_11%22%20d%3D%22M69.5667%2032.4893C63.9428%2033.0031%2060.1943%2029.3275%2059.3055%2021.8634C58.5243%2015.3093%2060.8656%2010.4934%2065.9496%208.82001C67.9374%208.1646%2069.9275%208.14539%2071.6978%208.51031L71.22%2014.6443C69.9848%2014.0417%2068.4582%2013.8352%2067.2875%2014.1545C65.0824%2014.7571%2064.0599%2017.1915%2064.5544%2020.5958C65.0776%2024.1898%2066.6783%2026.3001%2069.2132%2025.9064C70.7135%2025.6735%2071.9654%2024.7972%2073.0859%2023.4432L75.6064%2030.1221C74.3139%2031.3273%2071.7026%2032.2924%2069.5667%2032.4893Z%22%20fill%3D%22%23084633%22%2F%3E%3Cpath%20id%3D%22Vector_12%22%20d%3D%22M93.5799%2029.5392L90.6006%2018.7045L84.0999%2019.9121L86.5894%2030.2186L78.5429%2031.0013L73.6309%206.83982L80.4111%204.64071L82.4873%2013.2331L88.6798%2011.7134L86.2167%202.7585L94.7219%200L104.001%2028.5261L93.5823%2029.5392H93.5799Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 38% auto;
}
.merch-hub-card__title a::after {
  content: "";
  position: absolute;
  inset: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-card:hover .merch-hub-card__media img, .merch-hub-card:focus-within .merch-hub-card__media img {
    transform: scale(1.06);
  }
  .merch-hub-card:hover .merch-hub-card__cta, .merch-hub-card:focus-within .merch-hub-card__cta {
    transform: translateX(4px) scale(1.08);
  }
}
.merch-hub-card:hover .merch-hub-card__title a, .merch-hub-card:focus-within .merch-hub-card__title a {
  text-decoration: underline;
}
.merch-hub-card__tag:has(a) {
  position: relative;
  z-index: 1;
  transition: background-color 0.15s ease;
}
.merch-hub-card__tag:has(a):hover {
  background-color: #e0fe83;
}
.merch-hub-card__tag:has(a):hover a, .merch-hub-card__tag:has(a):focus-within a {
  text-decoration: underline;
}
.merch-hub-card__tag:has(a):focus-within {
  outline: 2px solid #e0fe83;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-card__tag:has(a) {
    transition: background-color 0.15s ease, scale 0.15s ease;
  }
  .merch-hub-card__tag:has(a):active {
    scale: 0.96;
  }
}
.merch-hub-card__tag {
  order: -1;
  align-self: flex-start;
  margin: 0 0 8px;
  padding: 6px 9px;
  border-radius: 3px;
  background-color: #f3f0e6;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.merch-hub-card__tag a {
  color: inherit;
  text-decoration: none;
}
.merch-hub-card__title {
  margin: 0 0 24px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-hub-card__title a {
  color: inherit;
  text-decoration: none;
}
.merch-hub-card__excerpt {
  margin: 0 0 30px;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  line-height: 1.3;
  color: #000;
}
.merch-hub-card__excerpt p {
  margin: 0;
}
.merch-hub-card__cta.wp-block-read-more {
  display: block;
  width: 40px;
  height: 40px;
  margin-top: auto;
  border: 0;
  padding: 0;
  font-size: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%231c211d%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23e0fe83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-card__cta.wp-block-read-more {
    transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
.merch-hub-card--on-dark .merch-hub-card__title,
.merch-hub-card--on-dark .merch-hub-card__excerpt {
  color: #fff;
}
.merch-hub-card--on-dark .merch-hub-card__cta.wp-block-read-more {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

.merch-hub-grid.wp-block-post-template {
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 64px 40px;
}

.merch-article-related {
  padding-top: 80px;
  padding-bottom: 48px;
}
.merch-article-related__inner {
  max-width: 1312px;
  margin-inline: auto;
  padding-inline: 64px;
  text-align: center;
}
.merch-article-related__title {
  margin: 0 0 64px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 60px;
  font-weight: 900;
  line-height: 0.84;
  color: #fff;
  text-transform: uppercase;
}
.merch-article-related .merch-hub-grid.wp-block-post-template {
  justify-content: center;
  gap: 25px;
  text-align: left;
}
.merch-article-related__cta {
  margin-top: 64px;
}

.merch-article-cta__bar {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 142px;
  padding: 40px;
  background-color: #e0fe83;
  border-radius: 32px;
  text-align: left;
}

.merch-article-cta__bar:has(.merch-article-cta__arrow) {
  cursor: pointer;
}
.merch-article-cta__bar:has(.merch-article-cta__arrow) .merch-article-cta__arrow .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-article-cta__bar:has(.merch-article-cta__arrow) {
    transition: scale 0.2s ease;
  }
  .merch-article-cta__bar:has(.merch-article-cta__arrow):hover {
    scale: 1.05;
  }
  .merch-article-cta__bar:has(.merch-article-cta__arrow):active {
    scale: 0.96;
  }
}

.merch-article-cta__title {
  min-width: 0;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.84;
  letter-spacing: 0.0022222em;
  text-transform: uppercase;
  color: #1c211d;
  pointer-events: none;
}

.merch-article-cta__actions {
  flex-shrink: 0;
  margin: 0;
}

.merch-article-cta__arrow .wp-block-button__link {
  display: block;
  width: 56px;
  height: 56px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%231c211d%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23e0fe83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 50%;
}
.merch-article-cta__arrow .wp-block-button__link:focus {
  outline: 0;
}
.merch-article-cta__arrow .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}

.merch-hub-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 245px;
  padding: 24px;
  background-image: var(--merch-hub-hero-image, url("assets/img/resources-header.jpg"));
  background-size: cover;
  background-position: center;
}
.merch-hub-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 20px;
  border-radius: 10px;
  background-color: #9dd9ff;
}
.merch-hub-hero__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 80px;
  font-weight: 900;
  line-height: 0.9;
  color: #1c211d;
  text-align: center;
  text-transform: uppercase;
}

body.page:not(.home):not(.is-resources-hub) .merch-hub-hero__badge,
body.error404 .merch-hub-hero__badge {
  background-color: #edc8fe;
}

.merch-hub-listing {
  max-width: 1440px;
  margin-inline: auto;
  padding-block: 80px;
  padding-inline: 64px;
}
.merch-hub-listing__pagination.wp-block-query-pagination {
  gap: 16px;
  margin-top: 80px;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers,
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous,
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #1c211d;
}
.merch-hub-listing__pagination.wp-block-query-pagination .current {
  text-decoration: underline;
}
.merch-hub-listing__empty {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  color: #1c211d;
}

@media (max-width: 900px) {
  .merch-article-hero__inner {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 48px;
  }
  .merch-article-hero__media {
    width: 100%;
    max-width: 100%;
  }
  .merch-article-hero__title,
  .merch-hub-hero__title {
    font-size: 45px;
  }
  .merch-hub .merch-hub-grid.wp-block-post-template,
  .merch-article-related .merch-hub-grid.wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
  .merch-article-cta__bar {
    flex-wrap: wrap;
    padding: 24px;
    gap: 24px;
  }
  .merch-article-cta__title {
    font-size: 38px;
  }
}
@media (max-width: 900px) {
  .merch-article-hero__inner,
  .merch-article__body,
  .merch-article-related__inner,
  .merch-hub-listing {
    padding-inline: 32px;
  }
  .merch-article-hero__text,
  .merch-article-hero__title,
  .merch-article-hero__dek {
    max-width: 100%;
  }
  .merch-article-hero__media img {
    max-width: 100%;
    height: auto;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-article-related__title {
    font-size: clamp(48px, 6.5vw, 58px);
  }
}
@media (max-width: 600px) {
  .merch-article-hero {
    padding-block: 40px;
  }
  .merch-article-hero__inner {
    padding-inline: 20px;
  }
  .merch-article-hero__title {
    font-size: clamp(34px, 9vw, 45px);
  }
  .merch-article-hero__text {
    row-gap: 24px;
  }
  .merch-article__body {
    padding-block: 40px;
    padding-inline: 20px;
  }
  .merch-article__body :where(h2) {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .merch-article__body :where(h3) {
    font-size: clamp(26px, 6.5vw, 34px);
  }
  .merch-article__body :where(.wp-block-quote, .wp-block-pullquote) {
    margin-block: 40px;
    padding: 40px 24px;
  }
  .merch-article__body :where(.wp-block-quote, .wp-block-pullquote) p {
    font-size: clamp(26px, 6.5vw, 34px);
  }
  .merch-article__body :where(.wp-block-quote, .wp-block-pullquote) cite {
    margin-top: 32px;
  }
  .merch-hub-card__title {
    font-size: 22px;
  }
  .merch-hub-grid.wp-block-post-template {
    gap: 40px;
  }
  .merch-article-related {
    padding-top: 48px;
    padding-bottom: 32px;
  }
  .merch-article-related__inner {
    padding-inline: 20px;
  }
  .merch-article-related__title {
    margin-bottom: 40px;
    font-size: clamp(34px, 9vw, 48px);
  }
  .merch-article-related__cta {
    margin-top: 40px;
  }
  .merch-article-cta__bar {
    min-height: 0;
  }
  .merch-article-cta__title {
    font-size: clamp(30px, 7.5vw, 38px);
  }
  .merch-article-related .merch-hub-grid.wp-block-post-template {
    gap: 24px;
  }
  .merch-article__body :where(img, iframe, video, table) {
    max-width: 100%;
    height: auto;
  }
  .merch-hub-hero {
    min-height: 180px;
    padding: 20px;
  }
  .merch-hub-hero__badge {
    padding: 10px 14px;
  }
  .merch-hub-hero__title {
    font-size: clamp(34px, 9vw, 45px);
  }
  .merch-hub-listing {
    padding-block: 40px;
    padding-inline: 20px;
  }
  .merch-hub-listing__pagination.wp-block-query-pagination {
    margin-top: 40px;
  }
}
@media (max-width: 400px) {
  .merch-article-hero__inner,
  .merch-article__body,
  .merch-article-related__inner,
  .merch-hub-listing {
    padding-inline: 16px;
  }
  .merch-article-cta__bar {
    padding: 16px;
  }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .merch-article-hero__title {
    font-size: clamp(44px, 5.1vw, 60px);
  }
}
/**
 * R2 content-hub: the "tool" post type (archive-tool.html + single-tool.html).
 *
 * SINGLE off Figma "All Pages R2" node 1290:25143 ("Tool Download"). A tool is a
 * downloadable planning resource, so its single leads with a lime hero carrying
 * the post-type eyebrow, the title, and a preview card whose bottom bar is the
 * Download action. The body (Key Takeaways / Summary / a dark-green pull-quote /
 * an FAQ accordion) is post-content the editor authors; the placeholder tools
 * ship it so the page renders. The closing CTA reuses the homepage-large-cta-alt
 * pattern on a dark-green band, then the shared footer.
 *
 * ARCHIVE: the board ships ONE shared "Resources" listing (node 1242:11987), not
 * a tool-only archive. archive-tool.html renders the tool query in that listing's
 * vertical card grid (media + tag + condensed title + body + a forest arrow
 * disc). The listing's photo hero, faceted filter bar and newsletter band are
 * shared chrome and are flagged for a central decision, not invented here.
 *
 * Units: the hero holds Figma's proportions with the theme's cqw poster model
 * (decision_2026-07-09_container-units-figma-scaling). `.ct-tool-hero__inner` is
 * the 1312 content container (1440 artboard - 2 x 64 gutter), so every hero
 * length is (figma_px / 1312 * 100)cqw and 1cqw = 13.12px at the design width -
 * the fidelity gate measures there. Colours and small fixed radii stay as tokens.
 */
.ct-tool {
  background-color: #fff;
}
.ct-tool > .entry-content {
  margin-block: 0;
  padding-top: 131px;
}
.ct-tool > .entry-content > * {
  margin-block: 0;
}
.ct-tool > .entry-content > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 30px;
}
.ct-tool > .entry-content > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 78px;
}
.ct-tool > .entry-content > :is(h1, h2, h3, h4, h5, h6) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 78px;
}
.ct-tool > .entry-content > * + :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons),
.ct-tool > .entry-content > :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons) + * {
  margin-top: 100px;
}
.ct-tool > .entry-content > .wp-block-spacer,
.ct-tool > .entry-content > .wp-block-spacer + * {
  margin-top: 0;
}

.ct-tool-hero {
  background-color: #f3f0e6;
  min-height: 410px;
  display: flex;
  align-items: stretch;
  position: relative;
  z-index: 1;
  margin-bottom: 56px;
}

.ct-tool-hero__inner {
  container-type: inline-size;
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 64px;
  padding-block: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4.5732cqw;
}

.ct-tool-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.2866cqw;
  min-width: 0;
}

.ct-tool-hero__eyebrow {
  margin: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.4573cqw 0.686cqw;
  border-radius: 3px;
  background-color: #1c211d;
  color: #f3f0e6;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 0.9909cqw;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ct-tool-hero__title {
  margin: 0;
  max-width: 60cqw;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 4.5732cqw;
  line-height: 0.9;
  text-transform: uppercase;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.ct-tool-hero__preview {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  width: 23.628cqw;
  position: relative;
  align-self: flex-end;
  margin-bottom: -40px;
}

.ct-tool-hero__media {
  margin: 0;
  border-radius: 10px 10px 0 0;
  overflow: clip;
}
.ct-tool-hero__media img {
  display: block;
  width: 100%;
}

.ct-tool-hero__download {
  margin: 0;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
.ct-tool-hero__download .wp-block-button {
  width: 100%;
  margin: 0;
}
.ct-tool-hero__download .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6098cqw;
  width: 100%;
  min-height: 3.811cqw;
  padding: 1.2195cqw 1.8293cqw;
  border-radius: 0 0 6px 6px;
  background-color: #1c211d;
  color: #e0fe83;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.2195cqw;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
}
.ct-tool-hero__download .wp-block-button__link::after {
  content: "";
  flex: 0 0 auto;
  width: 0.8384cqw;
  height: 1.0671cqw;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%2214%22%20viewBox%3D%220%200%2011%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.10643%204.94118H7.85714V0.823529C7.85714%200.370588%207.50357%200%207.07143%200H3.92857C3.49643%200%203.14286%200.370588%203.14286%200.823529V4.94118H1.89357C1.19429%204.94118%200.840714%205.83059%201.33571%206.34941L4.94214%2010.1294C5.24857%2010.4506%205.74357%2010.4506%206.05%2010.1294L9.65643%206.34941C10.1514%205.83059%209.80571%204.94118%209.10643%204.94118ZM0%2013.1765C0%2013.6294%200.353571%2014%200.785714%2014H10.2143C10.6464%2014%2011%2013.6294%2011%2013.1765C11%2012.7235%2010.6464%2012.3529%2010.2143%2012.3529H0.785714C0.353571%2012.3529%200%2012.7235%200%2013.1765Z%22%20fill%3D%22%23e0fe83%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.ct-tool-hero__download .wp-block-button__link:focus {
  outline: 0;
}
.ct-tool-hero__download .wp-block-button__link:focus-visible {
  outline: 2px solid #e0fe83;
  outline-offset: 2px;
}
.ct-tool-hero__download .wp-block-button__link:hover {
  background-color: #000;
}

@media (max-width: 781px) {
  .ct-tool-hero {
    margin-bottom: 0;
  }
  .ct-tool-hero__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .ct-tool-hero__preview {
    width: 100%;
    max-width: 360px;
    top: 0;
  }
  .ct-tool-hero__media {
    display: none;
  }
  .ct-tool-hero__download .wp-block-button__link {
    width: 150px;
    border-radius: 6px;
  }
}
.ct-tool-takeaways.alignwide,
.ct-tool-summary.alignwide,
.ct-tool-faqs.alignwide {
  max-width: 867px;
}

.ct-tool-takeaways__heading,
.ct-tool-summary__heading,
.ct-tool-faqs__heading {
  margin: 0 0 40px;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.ct-tool-faqs__heading {
  text-transform: none;
}

.ct-tool-faqs .wp-block-buttons {
  margin-bottom: 64px;
}

.ct-tool-takeaways__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.ct-tool-takeaways__grid + .ct-tool-takeaways__grid {
  margin-top: 40px;
}

.ct-tool-takeaway {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.ct-tool-takeaway__num {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 100px;
  height: 100px;
  border-radius: 10px;
  background-color: #a1e4ff;
  color: #222c75;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.ct-tool-takeaway__body {
  min-width: 0;
}

.ct-tool-takeaway__label {
  margin: 0 0 8px;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.ct-tool-takeaway__text,
.ct-tool-summary__body p {
  margin: 0;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}

.ct-tool-summary__body p + p {
  margin-top: 30px;
}

.ct-tool-summary__body .wp-block-list {
  margin-left: 0;
  padding-left: 20px;
}
.ct-tool-summary__body .wp-block-list strong {
  font-weight: 400;
}

.ct-tool-quote.alignwide {
  max-width: none;
  overflow: visible;
}
.ct-tool-quote.alignwide > .ct-tool-quote__panel {
  width: min(1310px, 100vw - 128px);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.ct-tool-quote__panel {
  display: flex;
  align-items: center;
  gap: 96px;
  padding: 50px;
  border-radius: 30px;
  background-color: #a1e4ff;
}

.ct-tool-quote__media {
  flex: 0 0 auto;
  margin: 0;
  width: 410px;
  max-width: 40%;
  border-radius: 10px;
}
.ct-tool-quote__media img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
}

.ct-tool-quote__text {
  display: flex;
  flex-direction: column;
  gap: 50px;
  min-width: 0;
}

.ct-tool-quote__words {
  margin: 0;
  color: #222c75;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 38px;
  line-height: 0.84;
  text-transform: uppercase;
  text-wrap: balance;
}

.ct-tool-quote__name {
  margin: 0;
  color: #222c75;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 0.94;
  letter-spacing: 0.02em;
}

.ct-tool-faqs__list {
  display: flex;
  flex-direction: column;
  interpolate-size: allow-keywords;
}

.ct-tool-faq {
  border-top: 1px solid rgba(28, 33, 29, 0.2);
  padding-block: 24px;
}
.ct-tool-faq:last-child {
  border-bottom: 1px solid rgba(28, 33, 29, 0.2);
}
.ct-tool-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
  cursor: pointer;
  list-style: none;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.3;
}
.ct-tool-faq summary::-webkit-details-marker {
  display: none;
}
.ct-tool-faq summary::after {
  content: "";
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2212.5%22%20r%3D%2211.5%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M18%2012.5059L7%2012.5059%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M12.4951%2018L12.4951%207%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.ct-tool-faq[open] > summary {
  color: #1c211d;
  font-weight: 700;
}
.ct-tool-faq[open] > summary::after {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2212.5%22%20r%3D%2211.5%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M18%2012.5059L7%2012.5059%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
}
.ct-tool-faq p {
  margin: 24px 0 0;
  max-width: 842px;
  color: #000;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}
.ct-tool-faq p + p {
  margin-top: 20px;
}

@media (prefers-reduced-motion: no-preference) {
  .ct-tool-faq::details-content {
    block-size: 0;
    overflow: hidden;
    transition: block-size 0.35s cubic-bezier(0.22, 1, 0.36, 1), content-visibility 0.35s allow-discrete;
  }
  .ct-tool-faq[open]::details-content {
    block-size: auto;
  }
}
.wp-block-details:last-child {
  margin-bottom: 40px;
}

.ct-tool-cta-band {
  background-color: #1c211d;
  padding-block: 56px;
}
.ct-tool-cta-band > .merch-largecta {
  margin-block: 0;
}

.ct-tool-archive__intro {
  background-color: #f3f0e6;
}

.ct-tool-archive__intro-inner {
  box-sizing: border-box;
  max-width: 1440px;
  margin-inline: auto;
  padding: 96px 64px;
}

.ct-tool-archive__title {
  margin: 0;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
}

.ct-tool-archive__desc {
  margin: 24px 0 0;
  max-width: 640px;
  color: #084633;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  line-height: 1.3;
}

.ct-tool-archive__list {
  box-sizing: border-box;
  max-width: 1440px;
  margin-inline: auto;
  padding: 40px 64px 96px;
  list-style: none;
}

.ct-tool-archive__list .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.ct-tool-card {
  display: flex;
  flex-direction: column;
}

.ct-tool-card__media {
  position: relative;
  margin: 0 0 24px;
  border-radius: 10px;
  overflow: clip;
}
.ct-tool-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 420 / 260;
  object-fit: cover;
}

.ct-tool-card__tag {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 8px 16px;
  background-color: #084633;
  color: #e0fe83;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 13px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ct-tool-card__title {
  margin: 0 0 16px;
  font-size: 25px;
  line-height: 0.84;
}
.ct-tool-card__title a {
  color: #084633;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
}
.ct-tool-card__title a:hover,
.ct-tool-card__title a:focus {
  color: #65103d;
}

.ct-tool-card__excerpt {
  margin: 0 0 24px;
  color: #084633;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3;
}

.ct-tool-card__more.wp-block-read-more {
  display: block;
  width: 40px;
  height: 40px;
  margin-top: auto;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-decoration: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40px 40px;
  border: 0;
  border-radius: 50%;
}
.ct-tool-card__more.wp-block-read-more:focus {
  outline: 0;
}
.ct-tool-card__more.wp-block-read-more:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
}

@media (max-width: 781px) {
  .ct-tool-archive__list .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1180px) {
  .ct-tool-hero__title {
    font-size: clamp(40px, 4.1vw, 60px);
  }
}
@media (max-width: 900px) {
  .ct-tool-hero {
    min-height: 0;
    margin-bottom: 0;
  }
  .ct-tool-hero__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding-inline: 32px;
  }
  .ct-tool-hero__copy {
    gap: 24px;
  }
  .ct-tool-hero__eyebrow {
    padding: 6px 9px;
    font-size: 13px;
  }
  .ct-tool-hero__title {
    max-width: 100%;
  }
  .ct-tool-hero__preview {
    width: 100%;
    max-width: 360px;
    top: 0;
    align-self: auto;
    margin-bottom: 0;
  }
  .ct-tool-hero__download {
    position: static;
  }
  .ct-tool-hero__download .wp-block-button__link {
    gap: 8px;
    min-height: 50px;
    padding: 16px 24px;
    font-size: 16px;
  }
  .ct-tool-hero__download .wp-block-button__link::after {
    width: 11px;
    height: 14px;
  }
  .ct-tool > .entry-content {
    padding-inline: 32px;
  }
  .ct-tool-takeaways__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ct-tool-faq summary {
    gap: 32px;
  }
  .ct-tool-quote__panel {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
    padding: 32px;
  }
  .ct-tool-quote__media {
    width: 100%;
    max-width: 100%;
  }
  .ct-tool-quote__text {
    gap: 32px;
  }
  .ct-tool-archive__list .wp-block-post-template {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .ct-tool-archive__intro-inner,
  .ct-tool-archive__list {
    padding-inline: 32px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .ct-tool-takeaways__heading,
  .ct-tool-summary__heading,
  .ct-tool-faqs__heading,
  .ct-tool-archive__title {
    font-size: clamp(48px, 6.5vw, 58px);
  }
}
@media (max-width: 600px) {
  .ct-tool-hero__inner {
    padding-inline: 20px;
  }
  .ct-tool-hero__title {
    font-size: clamp(34px, 9vw, 40px);
  }
  .ct-tool > .entry-content {
    padding-top: 64px;
    padding-inline: 20px;
  }
  .ct-tool-takeaways__heading,
  .ct-tool-summary__heading,
  .ct-tool-faqs__heading {
    margin-bottom: 24px;
    font-size: clamp(34px, 9vw, 48px);
  }
  .ct-tool-takeaway {
    gap: 16px;
  }
  .ct-tool-takeaway__num {
    width: 80px;
    height: 80px;
    font-size: clamp(44px, 12vw, 60px);
  }
  .ct-tool-takeaway__label {
    font-size: 22px;
  }
  .ct-tool-quote.alignwide > .ct-tool-quote__panel {
    width: calc(100vw - 40px);
  }
  .ct-tool-quote__panel {
    gap: 24px;
    padding: 24px;
  }
  .ct-tool-quote__text {
    gap: 24px;
  }
  .ct-tool-quote__words {
    font-size: clamp(26px, 6.5vw, 34px);
  }
  .ct-tool-faq summary {
    gap: 16px;
    font-size: 20px;
  }
  .ct-tool-cta-band {
    padding-block: 40px;
  }
  .ct-tool-archive__intro-inner {
    padding: 40px 20px;
  }
  .ct-tool-archive__title {
    font-size: clamp(34px, 9vw, 48px);
  }
  .ct-tool-archive__list {
    padding: 24px 20px 48px;
  }
  .ct-tool-archive__list .wp-block-post-template {
    grid-template-columns: 1fr;
  }
  .ct-tool-card__title {
    font-size: 22px;
  }
}
@media (max-width: 400px) {
  .ct-tool-hero__inner,
  .ct-tool > .entry-content {
    padding-inline: 16px;
  }
  .ct-tool-archive__intro-inner,
  .ct-tool-archive__list {
    padding-inline: 16px;
  }
  .ct-tool-quote.alignwide > .ct-tool-quote__panel {
    width: calc(100vw - 32px);
  }
  .ct-tool-quote__panel {
    padding: 16px;
  }
}
.merch-video-single {
  background-color: #fff;
}

.merch-video-hero {
  background-color: #f3f0e6;
  padding-top: 80px;
  padding-bottom: 347px;
  text-align: center;
}

.merch-video-hero__intro {
  max-width: 859px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.merch-video-hero__eyebrow {
  display: inline-block;
  margin: 0;
  padding: 6px 9px;
  background-color: #1c211d;
  border-radius: 3px;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 13px;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #f3f0e6;
}

.merch-video-hero__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.merch-video-hero__lead {
  margin: 6px 0 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
  color: #1c211d;
}
.merch-video-hero__lead p {
  margin: 0;
}
.merch-video-hero__lead .wp-block-post-excerpt__more-link {
  display: none;
}

.merch-video-player {
  container-type: inline-size;
  max-width: 1090px;
  margin: -280px auto 0;
  position: relative;
  z-index: 1;
}

.merch-video-player__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1090 / 560;
  border-radius: 0.9174cqw;
  overflow: hidden;
  background-color: #1c211d;
}
.merch-video-player__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.merch-video-player__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(28, 33, 29, 0.2);
  pointer-events: none;
}

.merch-video-player__poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  height: 100%;
}

.merch-video-player__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 5.5046cqw;
  height: 5.5046cqw;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2260%22%20viewBox%3D%220%200%2060%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2260%22%20height%3D%2260%22%20rx%3D%2230%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M36.2%2029.8L26%2037L26%2022.6L36.2%2029.8Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.merch-video-player__play:hover, .merch-video-player__play:focus-visible {
  transform: translate(-50%, -50%) scale(1.08);
}
.merch-video-player__play:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .merch-video-hero {
    opacity: 0;
  }
  html.ppai-js-loader .merch-video-hero__eyebrow,
  html.ppai-js-loader .merch-video-hero__title,
  html.ppai-js-loader .merch-video-hero__lead {
    opacity: 0;
    transform: translateY(0.6em);
  }
  html.ppai-js-loader .merch-video-player {
    opacity: 0;
    transform: scale(0.92);
  }
  html.ppai-loaded .merch-video-hero {
    animation: merch-video-hero-fade 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both;
  }
  html.ppai-loaded .merch-video-hero__eyebrow {
    animation: merch-video-hero-child-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.95s both;
  }
  html.ppai-loaded .merch-video-hero__title {
    animation: merch-video-hero-child-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.07s both;
  }
  html.ppai-loaded .merch-video-hero__lead {
    animation: merch-video-hero-child-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.19s both;
  }
  html.ppai-loaded .merch-video-player {
    animation: merch-video-player-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1.75s both;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 600px) {
  html.ppai-js-loader .merch-video-hero,
  html.ppai-js-loader .merch-video-hero__eyebrow,
  html.ppai-js-loader .merch-video-hero__title,
  html.ppai-js-loader .merch-video-hero__lead,
  html.ppai-js-loader .merch-video-player,
  html.ppai-loaded .merch-video-hero,
  html.ppai-loaded .merch-video-hero__eyebrow,
  html.ppai-loaded .merch-video-hero__title,
  html.ppai-loaded .merch-video-hero__lead,
  html.ppai-loaded .merch-video-player {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@keyframes merch-video-hero-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes merch-video-hero-child-in {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-video-player-zoom {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.merch-video-lightbox-lock {
  overflow: hidden;
}

.merch-video-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.merch-video-lightbox[hidden] {
  display: none;
}
.merch-video-lightbox.is-open {
  opacity: 1;
}

.merch-video-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(28, 33, 29, 0.92);
  cursor: pointer;
}

.merch-video-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(1090px, 100%);
  max-height: 100%;
}

.merch-video-lightbox__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  background-color: #000;
}
.merch-video-lightbox__media iframe,
.merch-video-lightbox__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.merch-video-lightbox__close {
  position: absolute;
  top: -44px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #fff;
  color: #1c211d;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.merch-video-lightbox__close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.merch-video-lightbox__sentinel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .merch-video-lightbox {
    transition: none;
  }
  .merch-video-player__play {
    transition: none;
  }
}
.merch-video-body {
  padding-block: 100px;
  color: #000;
  margin-block: 0;
}
.merch-video-body > * {
  margin-block: 0;
}
.merch-video-body > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) {
  margin-top: 30px;
}
.merch-video-body > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 78px;
}
.merch-video-body > * + :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons),
.merch-video-body > :is(.wp-block-group,
.wp-block-image,
.wp-block-gallery,
.wp-block-embed,
.wp-block-video,
.wp-block-cover,
.wp-block-columns,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-table,
.wp-block-buttons) + * {
  margin-top: 100px;
}
.merch-video-body > .wp-block-spacer,
.merch-video-body > .wp-block-spacer + * {
  margin-top: 0;
}
.merch-video-body > h1,
.merch-video-body > h2,
.merch-video-body > h3 {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-video-body > p {
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.3;
}

.merch-video-quote {
  container-type: inline-size;
}

.merch-video-quote__box {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 7.3664cqw;
  min-height: 38.9313cqw;
  padding: 3.8168cqw;
  background-color: #a1e4ff;
  border-radius: 30px;
  color: #222c75;
  text-transform: uppercase;
}
.merch-video-quote__box .merch-video-quote__text {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 3.4862cqw;
  line-height: 0.84;
}
.merch-video-quote__box .merch-video-quote__cite {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 1.4679cqw;
  line-height: 0.94;
  letter-spacing: 0.02em;
}

.merch-video-quote__media {
  flex: 0 0 auto;
  width: 31.2977cqw;
  aspect-ratio: 1;
  border-radius: 10px;
  overflow: hidden;
  background-color: #222c75;
}
.merch-video-quote__media .wp-block-image {
  margin: 0;
  width: 100%;
  height: 100%;
}
.merch-video-quote__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.merch-video-quote__content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3.8168cqw;
}

@media (prefers-reduced-motion: no-preference) {
  .merch-video-quote__line {
    display: block;
  }
  .merch-video-quote__box.is-motion-ready {
    opacity: 0;
    transform: scale(0.92);
  }
  .merch-video-quote__box.is-motion-ready .merch-video-quote__line {
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-video-quote__box.is-motion-ready .merch-video-quote__cite {
    opacity: 0;
    transform: translateY(0.4em);
  }
  .merch-video-quote__box.is-revealed {
    opacity: 1;
    transform: none;
    animation: merch-video-quote-zoom 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .merch-video-quote__box.is-revealed .merch-video-quote__line {
    opacity: 1;
    transform: none;
    animation: merch-video-quote-line-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(0.36s + var(--line-index, 0) * 0.09s);
  }
  .merch-video-quote__box.is-revealed .merch-video-quote__cite {
    opacity: 1;
    transform: none;
    animation: merch-video-quote-cite-fade 0.5s ease both;
    animation-delay: var(--cite-delay, 0.6s);
  }
}
@keyframes merch-video-quote-zoom {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes merch-video-quote-line-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-video-quote-cite-fade {
  from {
    opacity: 0;
    transform: translateY(0.4em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.merch-video-cta__bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 142px;
  padding: 40px;
  background-color: #e0fe83;
  border-radius: 32px;
  position: relative;
  cursor: pointer;
}
.merch-video-cta__bar .merch-video-cta__arrow .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-video-cta__bar {
    transition: scale 0.2s ease;
  }
  .merch-video-cta__bar:hover {
    scale: 1.02;
  }
  .merch-video-cta__bar:active {
    scale: 0.96;
  }
}
.merch-video-cta__bar .merch-video-cta__title {
  min-width: 0;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 45px;
  line-height: 0.84;
  letter-spacing: 0.0022222em;
  text-transform: uppercase;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.merch-video-cta__actions {
  flex-shrink: 0;
  margin: 0;
}

.merch-video-cta__arrow .wp-block-button__link {
  display: block;
  width: 56px;
  height: 56px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%231c211d%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23e0fe83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 50%;
}
.merch-video-cta__arrow .wp-block-button__link:focus {
  outline: 0;
}
.merch-video-cta__arrow .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
  .merch-video-cta__bar.is-motion-ready {
    position: relative;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-video-cta__bar.is-motion-ready {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  .merch-video-cta__bar.is-motion-ready .merch-video-cta__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-video-cta__bar.is-motion-ready .merch-video-cta__follow {
    opacity: 0;
  }
  .merch-video-cta__bar.is-motion-ready .merch-video-cta__actions {
    opacity: 0;
    transform: translateX(-2rem);
  }
  .merch-video-cta__bar.is-motion-ready.is-revealed {
    animation: merch-video-cta-bar-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .merch-video-cta__bar.is-motion-ready.is-revealed .merch-video-cta__word {
    animation: merch-video-cta-word-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(0.12s + var(--word-index, 0) * 0.07s);
  }
  .merch-video-cta__bar.is-motion-ready.is-revealed .merch-video-cta__follow {
    animation: merch-video-cta-fade-in 0.5s ease both;
  }
  .merch-video-cta__bar.is-motion-ready.is-revealed .merch-video-cta__actions {
    animation: merch-video-cta-actions-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--videocta-actions-delay, 0.9s);
  }
}
@keyframes merch-video-cta-bar-in {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-video-cta-word-in {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-video-cta-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes merch-video-cta-actions-in {
  from {
    opacity: 0;
    transform: translateX(-2rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.merch-video-related {
  background-color: #1c211d;
  padding-block: 80px 48px;
}

.merch-video-related__title {
  margin: 0 0 64px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.84;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}

.merch-video-related__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  max-width: 1312px;
  margin-inline: auto;
}
@media (max-width: 1312px) {
  .merch-video-related__grid {
    box-sizing: border-box;
    padding-inline: 64px;
  }
}
@media (max-width: 600px) {
  .merch-video-related__grid {
    padding-inline: 20px;
  }
}

.merch-video-related .merch-video-card__title,
.merch-video-related .merch-video-card__excerpt {
  color: #fff;
}

.merch-video-related__cta {
  max-width: 1312px;
  margin: 64px auto 0;
}
@media (max-width: 1312px) {
  .merch-video-related__cta {
    box-sizing: border-box;
    padding-inline: 64px;
  }
}
@media (max-width: 600px) {
  .merch-video-related__cta {
    padding-inline: 20px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .merch-video-related.is-motion-ready {
    position: relative;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 782px) {
  .merch-video-related.is-motion-ready .merch-video-related__word {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em);
  }
  .merch-video-related.is-motion-ready .merch-video-related__card-item {
    opacity: 0;
    transform: translateY(1rem);
  }
  .merch-video-related.is-revealed .merch-video-related__word {
    opacity: 1;
    transform: none;
    animation: merch-video-related-word-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: min(var(--word-index, 0) * 0.07s, 1.4s);
  }
  .merch-video-related.is-revealed .merch-video-related__card-item {
    opacity: 1;
    transform: none;
    animation: merch-video-related-card-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--related-mid-delay, 0.3s) + var(--related-card-index, 0) * 0.12s);
  }
}
@keyframes merch-video-related-word-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes merch-video-related-card-rise {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.merch-video-card {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  width: 420px;
  max-width: 100%;
}

.merch-video-card__tag {
  display: inline-block;
  margin: 0;
  padding: 1.4286cqw 2.1429cqw;
  background-color: #f3f0e6;
  border-radius: 0.7143cqw;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 900;
  font-size: 3.0952cqw;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #1c211d;
}

.merch-video-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 420 / 233;
  border-radius: 10px;
  overflow: hidden;
}
.merch-video-card__media a {
  display: block;
  width: 100%;
  height: 100%;
}
.merch-video-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.merch-video-card__media--tile {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #084633;
}
.merch-video-card__media--tile .merch-video-card__icon {
  width: 26.1905cqw;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.merch-video-card__media--video::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9.5238cqw;
  height: 9.5238cqw;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2260%22%20viewBox%3D%220%200%2060%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2260%22%20height%3D%2260%22%20rx%3D%2230%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M36.2%2029.8L26%2037L26%2022.6L36.2%2029.8Z%22%20fill%3D%22%23084633%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .merch-video-card__media--video.is-reveal-ready {
    transform: scale(0.92);
  }
  .merch-video-card__media--video.is-reveal-ready.is-revealed {
    transform: none;
  }
}
.merch-video-card__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 5.9524cqw;
  line-height: 0.84;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #1c211d;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.merch-video-card__excerpt {
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 4.2857cqw;
  line-height: 1.3;
  color: #000;
}
.merch-video-card__excerpt p {
  margin: 0;
}

.merch-video-card__arrow .wp-block-button__link,
.merch-video-card__arrow.wp-block-read-more {
  display: block;
  width: 9.5238cqw;
  height: 9.5238cqw;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 50%;
  text-decoration: none;
}
.merch-video-card__arrow .wp-block-button__link:focus,
.merch-video-card__arrow.wp-block-read-more:focus {
  outline: 0;
}
.merch-video-card__arrow .wp-block-button__link:focus-visible,
.merch-video-card__arrow.wp-block-read-more:focus-visible {
  outline: 2px solid #e0fe83;
  outline-offset: 2px;
}

.merch-video-archive {
  background-color: #fff;
}

.merch-video-archive__header {
  max-width: 1312px;
  margin-inline: auto;
  padding-block: 80px 48px;
  text-align: center;
}

.merch-video-archive__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 60px;
  line-height: 0.9;
  text-transform: uppercase;
  color: #084633;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

.merch-video-archive__intro {
  max-width: 640px;
  margin: 24px auto 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  line-height: 1.3;
  color: #000;
}

.merch-video-archive__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1312px;
  margin: 0 auto 64px;
  padding-block: 40px;
  border-top: 1px solid rgba(8, 70, 51, 0.15);
}

.merch-video-archive__filter {
  flex: 1 1 200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 20px;
  background-color: #fff;
  border: 1px solid rgba(8, 70, 51, 0.3);
  border-radius: 10px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 24px;
  text-transform: uppercase;
  color: #084633;
}
.merch-video-archive__filter::after {
  content: "";
  width: 12px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2%202L8%208L14%202%22%20stroke%3D%22%23084633%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

.merch-video-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px 25px;
  max-width: 1312px;
  margin-inline: auto;
}

.merch-video-archive__grid .merch-video-card {
  margin-inline: auto;
}

.merch-video-archive__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 1312px;
  margin: 64px auto 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  color: #084633;
}
.merch-video-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding-inline: 8px;
  border-radius: 50%;
  text-decoration: none;
  color: #084633;
}
.merch-video-archive__pagination .page-numbers.current {
  background-color: #e0fe83;
}

.merch-video-archive__newsletter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 1312px;
  margin: 96px auto 0;
  padding: 64px;
  background-color: #e0fe83;
  border-radius: 32px;
}

.merch-video-archive__newsletter-title {
  margin: 0;
  max-width: 420px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: 38px;
  line-height: 0.84;
  text-transform: uppercase;
  color: #084633;
}

.merch-video-archive__newsletter-form {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1 420px;
  max-width: 560px;
  padding: 8px;
  background-color: #fff;
  border-radius: 10px;
}

.merch-video-archive__newsletter-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 16px;
  border: 0;
  background-color: transparent;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  color: #084633;
}
.merch-video-archive__newsletter-input::placeholder {
  color: rgba(8, 70, 51, 0.6);
}
.merch-video-archive__newsletter-input:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
  border-radius: 6px;
}

.merch-video-archive__newsletter-submit {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%231c211d%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23e0fe83%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.merch-video-archive__newsletter-submit:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}

.merch-video-archive__search {
  flex: 1 1 200px;
  margin: 0;
}
.merch-video-archive__search .wp-block-search__inside-wrapper {
  padding: 8px 8px 8px 20px;
  background-color: #fff;
  border: 1px solid rgba(8, 70, 51, 0.3);
  border-radius: 10px;
}
.merch-video-archive__search .wp-block-search__input {
  border: 0;
  background: transparent;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  color: #084633;
}
.merch-video-archive__search .wp-block-search__input::placeholder {
  color: #084633;
}
.merch-video-archive__search .wp-block-search__button {
  background-color: transparent;
  color: #084633;
}
.merch-video-archive__search .wp-block-search__button svg {
  fill: #084633;
}

@media (max-width: 1023px) {
  .merch-video-archive__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 781px) {
  .merch-video-hero {
    padding-bottom: 64px;
  }
  .merch-video-player {
    margin-top: 64px;
  }
  .merch-video-body > h1,
  .merch-video-body > h2,
  .merch-video-body > h3 {
    font-size: 45px;
  }
  .merch-video-archive__grid {
    grid-template-columns: 1fr;
  }
  .merch-video-cta__bar {
    flex-wrap: wrap;
  }
}
@media (max-width: 1180px) {
  .merch-video-hero,
  .merch-video-body,
  .merch-video-related,
  .merch-video-archive__header,
  .merch-video-archive__filters,
  .merch-video-archive__grid,
  .merch-video-archive__pagination,
  .merch-video-archive__newsletter {
    padding-inline: 64px;
    box-sizing: border-box;
  }
  .merch-video-player {
    max-width: calc(100% - 128px);
  }
  .merch-video-quote__box .merch-video-quote__text {
    font-size: clamp(26px, 3.1vw, 38px);
  }
  .merch-video-quote__box .merch-video-quote__cite {
    font-size: 13px;
  }
  .merch-video-player__play {
    width: clamp(44px, 4.9vw, 60px);
    height: clamp(44px, 4.9vw, 60px);
  }
}
@media (max-width: 900px) {
  .merch-video-hero,
  .merch-video-body,
  .merch-video-related,
  .merch-video-archive__header,
  .merch-video-archive__filters,
  .merch-video-archive__grid,
  .merch-video-archive__pagination,
  .merch-video-archive__newsletter {
    padding-inline: 32px;
  }
  .merch-video-player {
    max-width: calc(100% - 64px);
  }
  .merch-video-hero {
    padding-bottom: 64px;
  }
  .merch-video-player {
    margin-top: 64px;
  }
  .merch-video-quote__box {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    min-height: 0;
    padding: 40px 32px;
  }
  .merch-video-quote__media {
    width: clamp(140px, 33vw, 240px);
  }
  .merch-video-cta__bar {
    flex-wrap: wrap;
    gap: 16px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-video-hero__title,
  .merch-video-related__title,
  .merch-video-archive__title {
    font-size: clamp(48px, 6.5vw, 58px);
  }
  .merch-video-body > h1,
  .merch-video-body > h2,
  .merch-video-body > h3 {
    font-size: clamp(45px, 5.5vw, 52px);
  }
}
@media (max-width: 600px) {
  .merch-video-hero,
  .merch-video-body,
  .merch-video-related,
  .merch-video-archive__header,
  .merch-video-archive__filters,
  .merch-video-archive__grid,
  .merch-video-archive__pagination,
  .merch-video-archive__newsletter {
    padding-inline: 20px;
  }
  .merch-video-player {
    max-width: calc(100% - 40px);
  }
  .merch-video-hero {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .merch-video-hero__intro {
    gap: 24px;
  }
  .merch-video-hero__title {
    font-size: clamp(34px, 9vw, 48px);
  }
  .merch-video-player {
    margin-top: 40px;
  }
  .merch-video-body {
    padding-block: 40px;
  }
  .merch-video-body > h1,
  .merch-video-body > h2,
  .merch-video-body > h3 {
    font-size: clamp(34px, 9vw, 45px);
  }
  .merch-video-quote__box {
    padding: 32px 24px;
  }
  .merch-video-cta__bar {
    min-height: 0;
    padding: 24px;
  }
  .merch-video-cta__bar .merch-video-cta__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .merch-video-related {
    padding-block: 48px 32px;
  }
  .merch-video-related__title {
    margin-bottom: 40px;
    font-size: clamp(34px, 9vw, 48px);
  }
  .merch-video-related__cta {
    margin-top: 40px;
  }
  .merch-video-archive__header {
    padding-block: 40px 24px;
  }
  .merch-video-archive__title {
    font-size: clamp(34px, 9vw, 48px);
  }
  .merch-video-archive__filters {
    margin-bottom: 40px;
    padding-block: 24px;
  }
  .merch-video-archive__filter,
  .merch-video-archive__search {
    flex: 1 1 100%;
  }
  .merch-video-archive__filter {
    font-size: 20px;
  }
  .merch-video-archive__newsletter {
    gap: 24px;
    margin-top: 48px;
    padding-block: 32px;
  }
  .merch-video-archive__newsletter-title {
    font-size: clamp(26px, 6.5vw, 34px);
  }
}
@media (max-width: 400px) {
  .merch-video-card__tag {
    padding: 6px 9px;
    font-size: 12px;
  }
  .merch-video-card__title {
    font-size: 20px;
  }
  .merch-video-card__excerpt {
    font-size: 16px;
  }
  .merch-video-card__arrow .wp-block-button__link,
  .merch-video-card__arrow.wp-block-read-more {
    width: 40px;
    height: 40px;
  }
  .merch-video-hero,
  .merch-video-body,
  .merch-video-related,
  .merch-video-archive__header,
  .merch-video-archive__filters,
  .merch-video-archive__grid,
  .merch-video-archive__pagination,
  .merch-video-archive__newsletter {
    padding-inline: 16px;
  }
  .merch-video-player {
    max-width: calc(100% - 32px);
  }
}
/* Shared Resources hub chrome (featured + filter bar + newsletter), node 1242:11987 */
/**
 * R2 shared Resources hub chrome (Figma "All Pages R2", node 1242:11987).
 *
 * The card grid, card, Small-Header hero, listing wrapper and pagination base all
 * live in _ct-article.scss (the SHARED .merch-hub-* primitives). This partial adds
 * the three hub-only sections that were not built per-type:
 *   - Featured resource   node 1283:19252
 *   - Filter bar          node 1286:20730 "Filters" (rendered by [ppai_resource_filters])
 *   - Newsletter band     node 1286:21669
 * plus the pagination arrow-discs and the hub's white backdrop.
 *
 * Hub gutter = 64 (SiteMargin) inside a 1440 max width, so every section's content
 * column aligns to the 1312 listing width. Fixed R2 type tokens (not cqw): the grid
 * is responsive 3-up -> 1-up, so cqw would grow the type as the column widens.
 */
.merch-hub {
  background-color: #fff;
}

.merch-featured {
  padding-block: 100px;
  padding-inline: 64px;
  background-color: #fff;
  border-bottom: 2px solid #f3f0e6;
}
.merch-featured__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 112px;
  max-width: 1312px;
  margin-inline: auto;
}
.merch-featured__text {
  flex: 1 1 420px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  max-width: 641px;
}
.merch-featured__eyebrow {
  align-self: flex-start;
  margin: 0 0 16px;
  padding: 6px 9px;
  border-radius: 3px;
  background-color: #f3f0e6;
  color: #1c211d;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 13px;
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.merch-featured__title {
  margin: 0;
  max-width: 641px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 60px;
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: 0;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-featured__title a {
  color: inherit;
  text-decoration: none;
}
.merch-featured__excerpt {
  margin: 36px 0 0;
  max-width: 641px;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: #000;
}
.merch-featured__excerpt p {
  margin: 0;
}
.merch-featured__cta.wp-block-read-more, .merch-featured__cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  padding: 16px 24px;
  border: 0;
  border-radius: 6px;
  background-color: #1c211d;
  color: #e0fe83;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}
.merch-featured__cta.wp-block-read-more:hover, .merch-featured__cta.wp-block-read-more:focus-visible, .merch-featured__cta .wp-block-button__link:hover, .merch-featured__cta .wp-block-button__link:focus-visible {
  background-color: #e0fe83;
  color: #1c211d;
}
.merch-featured__cta.wp-block-read-more, .merch-featured__cta.wp-block-button {
  margin: 36px 0 0;
}
.merch-featured__text > .merch-featured__excerpt {
  margin: 36px 0 0;
}
.merch-featured__text > .wp-block-buttons {
  margin: 0;
}
.merch-featured__media,
.merch-featured figure.merch-featured__media {
  flex: 0 0 auto;
  width: 556px;
  max-width: 100%;
  margin: 0;
}
.merch-featured__media a,
.merch-featured figure.merch-featured__media a {
  display: block;
}
.merch-featured__media img,
.merch-featured figure.merch-featured__media img {
  width: 100%;
  height: 364px;
  border-radius: 10px;
  object-fit: cover;
}
.merch-featured figcaption,
.merch-featured .wp-element-caption {
  display: none;
}

.merch-hub-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 25px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 80px 64px 0;
  box-sizing: border-box;
}
.merch-hub-filters__field {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  gap: 24px;
  min-width: 230px;
  height: 56px;
  margin: 0;
  padding: 0 20px 0 0;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid #f3f0e6;
  border-radius: 10px;
}
.merch-hub-filters__field:has(:focus-visible) {
  outline: 2px solid #084633;
  outline-offset: 2px;
}
.merch-hub-filters__field--select {
  padding-right: 0;
}
.merch-hub-filters__field--disabled {
  cursor: not-allowed;
}
.merch-hub-filters__select, .merch-hub-filters__input, .merch-hub-filters__toggle {
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 10px 0 12px 20px;
  border: 0;
  background-color: transparent;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
  text-align: start;
}
.merch-hub-filters__select:focus-visible, .merch-hub-filters__input:focus-visible, .merch-hub-filters__toggle:focus-visible {
  outline: none;
}
.merch-hub-filters__select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2210%22%20viewBox%3D%220%200%2015%209.62132%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.5%201.5L7.5%207.5L13.5%201.5%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 12px 7px;
  background-position: right 20px center;
  padding-inline-end: 40px;
}
.merch-hub-filters__select:disabled {
  cursor: not-allowed;
}
.merch-hub-filters__input::placeholder {
  color: #1c211d;
  opacity: 1;
  text-transform: uppercase;
}
.merch-hub-filters input.merch-hub-filters__input {
  border: 0;
  border-radius: 0;
  padding: 10px 0 12px 20px;
}
.merch-hub-filters.is-enhanced .merch-hub-filters__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.merch-hub-filters__toggle {
  display: flex;
  align-items: center;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2210%22%20viewBox%3D%220%200%2015%209.62132%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.5%201.5L7.5%207.5L13.5%201.5%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 12px 7px;
  background-position: right 20px center;
  padding-inline-end: 40px;
}
.merch-hub-filters__list {
  position: absolute;
  z-index: 20;
  top: calc(100% + 2px);
  inset-inline: -2px;
  max-height: 280px;
  margin: 0;
  padding: 4px 0;
  overflow-y: auto;
  list-style: none;
  background-color: #fff;
  border: 2px solid #f3f0e6;
  border-top: 0;
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-start-radius: 10px;
  border-end-end-radius: 10px;
  box-shadow: 0 12px 28px rgba(8, 70, 51, 0.16);
  opacity: 0;
  transform: scaleY(0.96) translateY(-4px);
  transform-origin: top center;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-filters__list {
    transition: opacity 0.16s ease, transform 0.16s ease;
  }
}
.merch-hub-filters__list[hidden] {
  display: none;
}
.merch-hub-filters__field.is-open .merch-hub-filters__list {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.merch-hub-filters__option {
  padding: 10px 20px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
  cursor: pointer;
}
.merch-hub-filters__option:hover, .merch-hub-filters__option:focus {
  background-color: #f3f0e6;
  outline: none;
}
.merch-hub-filters__option[aria-selected=true] {
  background-color: #f3f0e6;
}
.merch-hub-filters__field.is-open {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.merch-hub-filters__field--search {
  gap: 16px;
}
.merch-hub-filters__submit {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017.0001%2016.9985%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.33347%2013.1656C10.5552%2013.1656%2013.1669%2010.5542%2013.1669%207.33279C13.1669%204.11143%2010.5552%201.5%207.33347%201.5C4.11173%201.5%201.5%204.11143%201.5%207.33279C1.5%2010.5542%204.11173%2013.1656%207.33347%2013.1656Z%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5001%2015.4985L12%2011.9988%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}

.merch-hub-listing {
  min-height: 400px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-listing {
    transition: opacity 0.22s ease;
  }
}
.merch-hub-listing.is-swapping {
  opacity: 0;
}

.merch-hub-listing__pagination.wp-block-query-pagination {
  align-items: center;
  gap: 24px;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous,
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next {
  width: 56px;
  height: 56px;
  font-size: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%2254%22%20height%3D%2254%22%20rx%3D%2227%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous {
  transform: scaleX(-1);
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible,
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous,
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next {
    transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next:hover,
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next:focus-visible {
    transform: scale(1.08) translateX(4px);
  }
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible {
    transform: scaleX(-1) scale(1.08) translateX(4px);
  }
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers {
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1c211d;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers {
  color: #1c211d;
  text-decoration: none;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:not(.current) {
  opacity: 0.5;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers.current {
  opacity: 1;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers {
  display: inline-block;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers:hover, .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers:focus-visible {
  opacity: 1;
  text-decoration: underline;
}
.merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers {
    transition: scale 0.15s ease;
  }
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers a.page-numbers:active {
    scale: 0.96;
  }
}

.merch-newsletter {
  padding: 64px;
  background-color: #1c211d;
}
.merch-newsletter__card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 100px;
  row-gap: 40px;
  max-width: 1312px;
  min-height: 320px;
  margin-inline: auto;
  padding: 100px 80px;
  box-sizing: border-box;
  background-color: #e0fe83;
  border-radius: 30px;
}
.merch-newsletter__title {
  flex: 1 1 320px;
  max-width: 422px;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 45px;
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: 0.1px;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-newsletter__signup {
  flex: 1 1 420px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 644px;
}
.merch-newsletter__form {
  margin: 0;
}
.merch-newsletter__field {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 12px 20px;
  background-color: #fff;
  border-radius: 10px;
}
.merch-newsletter__input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-newsletter__input::placeholder {
  color: #1c211d;
  opacity: 1;
  text-transform: uppercase;
}
.merch-newsletter input.merch-newsletter__input {
  border: 0;
  border-radius: 0;
  padding: 0;
}
.merch-newsletter__submit {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%2254%22%20height%3D%2254%22%20rx%3D%2227%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%231c211d%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-newsletter__submit {
    transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .merch-newsletter__submit:hover, .merch-newsletter__submit:focus-visible {
    transform: scale(1.08) translateX(4px);
  }
}
.merch-newsletter__fineprint {
  max-width: 532px;
  margin: 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: #1c211d;
}

@media (max-width: 900px) {
  .merch-featured__inner {
    gap: 48px;
  }
  .merch-featured__title {
    font-size: 45px;
  }
  .merch-featured .merch-featured__media,
  .merch-featured figure.merch-featured__media {
    width: 100%;
  }
  .merch-featured .merch-featured__media img,
  .merch-featured figure.merch-featured__media img {
    height: auto;
    aspect-ratio: 556/364;
  }
  .merch-newsletter__card {
    gap: 48px;
    padding: 80px 48px;
  }
}
@media (max-width: 900px) {
  .merch-featured,
  .merch-hub-filters,
  .merch-newsletter {
    padding-inline: 32px;
  }
  .merch-featured {
    padding-block: 48px;
  }
  .merch-hub-filters {
    gap: 16px;
  }
  .merch-hub-filters__field {
    flex: 1 1 46%;
  }
  .merch-featured__text {
    max-width: 100%;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-newsletter__title {
    font-size: clamp(40px, 4.8vw, 45px);
  }
}
@media (max-width: 600px) {
  .merch-featured,
  .merch-hub-filters,
  .merch-newsletter {
    padding-inline: 20px;
  }
  .merch-featured {
    padding-block: 40px;
  }
  .merch-featured__inner {
    gap: 32px;
  }
  .merch-featured__title {
    font-size: clamp(34px, 9vw, 45px);
  }
  .merch-featured__excerpt,
  .merch-featured__text > .merch-featured__excerpt,
  .merch-featured__cta.wp-block-read-more,
  .merch-featured__cta.wp-block-button {
    margin-top: 24px;
  }
  .merch-hub-filters {
    padding-top: 40px;
  }
  .merch-hub-filters__field {
    flex: 1 1 100%;
    min-width: 0;
  }
  .merch-hub-listing__pagination.wp-block-query-pagination {
    gap: 16px;
  }
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-previous,
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-next {
    width: 44px;
    height: 44px;
  }
  .merch-hub-listing__pagination.wp-block-query-pagination .wp-block-query-pagination-numbers {
    font-size: 20px;
  }
  .merch-newsletter {
    padding-block: 32px;
  }
  .merch-newsletter__card {
    gap: 32px;
    min-height: 0;
    padding: 40px 24px;
  }
  .merch-newsletter__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .merch-newsletter__field {
    gap: 8px;
  }
  .merch-newsletter__input,
  input.merch-newsletter__input {
    font-size: 20px;
  }
  .merch-newsletter__submit {
    width: 44px;
    height: 44px;
  }
}
@media (max-width: 400px) {
  .merch-featured,
  .merch-hub-filters,
  .merch-newsletter {
    padding-inline: 16px;
  }
  .merch-newsletter__card {
    padding: 32px 16px;
  }
  .merch-hub-filters__select,
  .merch-hub-filters__input,
  .merch-hub-filters__toggle,
  input.merch-hub-filters__input,
  .merch-hub-filters__option {
    font-size: 18px;
  }
}
@media (min-width: 901px) and (max-width: 1216px) {
  .merch-featured__inner {
    flex-wrap: nowrap;
    gap: clamp(48px, 20.3vw - 135px, 112px);
  }
  .merch-featured__text {
    flex: 1 1 0;
    max-width: none;
  }
  .merch-featured .merch-featured__media,
  .merch-featured figure.merch-featured__media {
    flex: 0 0 auto;
    width: clamp(300px, 51.1%, 556px);
    min-width: 0;
  }
  .merch-featured .merch-featured__media img,
  .merch-featured figure.merch-featured__media img {
    height: auto;
    aspect-ratio: 556/364;
  }
  .merch-featured__title {
    font-size: clamp(40px, 5vw, 60px);
  }
}
/* Search results page - the hub components plus search's own field/count/empty state.
   MUST come after ct-resources: a few rules here re-point a hub value at equal
   specificity and rely on source order rather than !important. */
/**
 * Search results page (templates/search.html).
 *
 * The page is composed from the SHARED Resources hub components, so almost all of
 * its appearance is already written elsewhere and is NOT restated here:
 *
 *   .merch-hub-hero / __badge / __title   _ct-article.scss  (Small Header band)
 *   .merch-hub-listing                    _ct-article.scss  (1440 / 64 / 80 column)
 *   .merch-hub-grid                       _ct-article.scss  (3-up, 64/40 gaps)
 *   .merch-hub-card + all its parts       _ct-article.scss  (media, pill, title,
 *                                                            excerpt, arrow CTA)
 *   .merch-hub-listing__pagination        _ct-resources.scss (arrow discs, numbers)
 *   .merch-hub background                 _ct-resources.scss (white)
 *   hero fade + badge zoom entrance       _hub-reveal.scss
 *
 * This partial adds ONLY the four things search has that the hub does not: a query
 * title long enough to wrap, an on-page search field, a result count, and a
 * designed empty state. Everything else is inherited on purpose - a search result
 * is a resource card, not a card that resembles one.
 *
 * IMPORT ORDER: after `content/ct-resources` in _components.scss, so the few rules
 * here that intentionally re-point a hub value (the hero title's wrapping) win at
 * equal specificity without `!important`.
 */
.merch-search-hero {
  background-image: url("assets/img/search-header.jpg");
}
.merch-search-hero__badge {
  max-width: 1040px;
}
.merch-search-hero__title {
  font-size: 60px;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.merch-search-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 80px 64px 0;
  box-sizing: border-box;
}
.merch-search-bar__count {
  margin: 0 0 0 auto;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
  text-wrap: pretty;
}

.merch-search-bar__field.wp-block-search, .wp-block-search.merch-404__search {
  flex: 1 1 420px;
  max-width: 644px;
  margin: 0;
}
.merch-search-bar__field.wp-block-search .wp-block-search__inside-wrapper, .wp-block-search.merch-404__search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 8px 0 0;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid rgba(8, 70, 51, 0.2);
  border-radius: 10px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-search-bar__field.wp-block-search .wp-block-search__inside-wrapper, .wp-block-search.merch-404__search .wp-block-search__inside-wrapper {
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  }
}
.merch-search-bar__field.wp-block-search .wp-block-search__inside-wrapper:hover, .wp-block-search.merch-404__search .wp-block-search__inside-wrapper:hover {
  background-color: #f3f0e6;
  border-color: rgba(8, 70, 51, 0.4);
}
@media (forced-colors: active) {
  .merch-search-bar__field.wp-block-search .wp-block-search__inside-wrapper:hover, .wp-block-search.merch-404__search .wp-block-search__inside-wrapper:hover {
    outline: 2px solid Highlight;
    outline-offset: -2px;
  }
}
.merch-search-bar__field.wp-block-search .wp-block-search__inside-wrapper:has(:focus-visible), .wp-block-search.merch-404__search .wp-block-search__inside-wrapper:has(:focus-visible) {
  outline: 2px solid #084633;
  outline-offset: 2px;
}
.merch-search-bar__field.wp-block-search .wp-block-search__input, .wp-block-search.merch-404__search .wp-block-search__input {
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 10px 0 12px 20px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
}
.merch-search-bar__field.wp-block-search .wp-block-search__input::placeholder, .wp-block-search.merch-404__search .wp-block-search__input::placeholder {
  color: #1c211d;
  opacity: 1;
  text-transform: uppercase;
}
.merch-search-bar__field.wp-block-search .wp-block-search__input:focus, .wp-block-search.merch-404__search .wp-block-search__input:focus, .merch-search-bar__field.wp-block-search .wp-block-search__input:focus-visible, .wp-block-search.merch-404__search .wp-block-search__input:focus-visible {
  outline: 0;
}
.merch-search-bar__field.wp-block-search input.wp-block-search__input, .wp-block-search.merch-404__search input.wp-block-search__input {
  border: 0;
  border-radius: 0;
  padding: 10px 0 12px 20px;
}
.merch-search-bar__field.wp-block-search .wp-block-search__button, .wp-block-search.merch-404__search .wp-block-search__button {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #084633;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017.0001%2016.9985%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.33347%2013.1656C10.5552%2013.1656%2013.1669%2010.5542%2013.1669%207.33279C13.1669%204.11143%2010.5552%201.5%207.33347%201.5C4.11173%201.5%201.5%204.11143%201.5%207.33279C1.5%2010.5542%204.11173%2013.1656%207.33347%2013.1656Z%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5001%2015.4985L12%2011.9988%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px 17px;
  border-radius: 6px;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-search-bar__field.wp-block-search .wp-block-search__button, .wp-block-search.merch-404__search .wp-block-search__button {
    transition: background-color 0.15s ease-in-out;
  }
}
.merch-search-bar__field.wp-block-search .wp-block-search__button:hover, .wp-block-search.merch-404__search .wp-block-search__button:hover {
  background-color: rgba(8, 70, 51, 0.08);
}
.merch-search-bar__field.wp-block-search .wp-block-search__button:focus-visible, .wp-block-search.merch-404__search .wp-block-search__button:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-search-bar__field.wp-block-search .wp-block-search__button:active, .wp-block-search.merch-404__search .wp-block-search__button:active {
    transform: scale(0.96);
  }
}
.merch-search-bar__field.wp-block-search .wp-block-search__button svg, .wp-block-search.merch-404__search .wp-block-search__button svg {
  display: none;
}
@media (forced-colors: active) {
  .merch-search-bar__field.wp-block-search .wp-block-search__button, .wp-block-search.merch-404__search .wp-block-search__button {
    background-image: none;
  }
  .merch-search-bar__field.wp-block-search .wp-block-search__button svg, .wp-block-search.merch-404__search .wp-block-search__button svg {
    display: block;
  }
}

.merch-search-empty {
  max-width: 1312px;
  margin-inline: auto;
  padding: 80px 64px;
  box-sizing: border-box;
  background-color: #f3f0e6;
  border-radius: 32px;
}
.merch-search-empty__title {
  max-width: 720px;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 45px;
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: 0.1px;
  color: #1c211d;
  text-transform: uppercase;
  text-wrap: balance;
}
.merch-search-empty__body {
  max-width: 641px;
  margin: 24px 0 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: #000;
  text-wrap: pretty;
}
.merch-search-empty__actions {
  margin-top: 32px;
}

.merch-search-empty__cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 16px 24px;
  border: 0;
  border-radius: 6px;
  background-color: #e0fe83;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-search-empty__cta .wp-block-button__link {
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
  }
}
.merch-search-empty__cta .wp-block-button__link:hover, .merch-search-empty__cta .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-search-empty__cta .wp-block-button__link:focus {
  outline: 0;
}
.merch-search-empty__cta .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-search-empty__cta .wp-block-button__link:active {
    transform: scale(0.96);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .merch-search-bar > * {
    opacity: 0;
    transform: translateY(18px);
  }
  .merch-search-bar > * {
    transition: opacity 0.5s ease 1.05s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.05s;
    will-change: opacity, transform;
  }
  html.ppai-loaded .merch-search-bar > * {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 900px) {
  .merch-search-hero__title {
    font-size: 38px;
  }
  .merch-search-bar {
    padding-inline: 32px;
  }
  .merch-search-empty {
    padding: 48px 32px;
  }
  .merch-search-bar__field.wp-block-search, .wp-block-search.merch-404__search {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .merch-search-bar__count {
    margin-inline-start: 0;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-search-empty__title {
    font-size: clamp(40px, 4.8vw, 45px);
  }
}
@media (max-width: 600px) {
  .merch-search-hero__title {
    font-size: clamp(24px, 7vw, 38px);
  }
  .merch-search-bar {
    gap: 16px;
    padding: 40px 20px 0;
  }
  .merch-search-bar__count {
    font-size: 18px;
  }
  .merch-search-bar__field.wp-block-search .wp-block-search__input, .wp-block-search.merch-404__search .wp-block-search__input,
  .merch-search-bar__field.wp-block-search input.wp-block-search__input {
    font-size: 18px;
    padding-inline-start: 16px;
  }
  .merch-search-empty {
    padding: 40px 24px;
    border-radius: 20px;
  }
  .merch-search-empty__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .merch-search-empty__body {
    margin-top: 16px;
  }
  .merch-search-empty__actions {
    margin-top: 24px;
  }
}
@media (max-width: 400px) {
  .merch-search-bar {
    padding-inline: 16px;
  }
  .merch-search-empty {
    padding: 32px 16px;
  }
}
/* 404 / page not found - the hub components plus the dead end's own stacked hero
   badge, recovery panel and route list. MUST come after both ct-resources and
   ct-search: it re-points the hub badge's flex direction at equal specificity, and
   it wears ct-search's search pill. */
/**
 * 404 / page-not-found (templates/404.html).
 *
 * The page is composed from the SHARED Resources hub components, so most of its
 * appearance is already written elsewhere and is NOT restated here:
 *
 *   .merch-hub                            _ct-resources.scss (white ground)
 *   .merch-hub-hero / __badge / __title   _ct-article.scss   (Small Header band,
 *                                                             photo, light-blue
 *                                                             sticker, 80px display
 *                                                             and its 45 / clamp
 *                                                             responsive staircase)
 *   .merch-search-bar__field              _ct-search.scss    (the search pill, in
 *                                                             full, states and
 *                                                             responsive steps
 *                                                             included - pulled in
 *                                                             by `@extend` below)
 *   hero fade + badge zoom entrance       _hub-reveal.scss
 *
 * This partial adds ONLY what a dead end has and the hub does not: a badge that
 * stacks two lines instead of holding one, an offwhite recovery panel, and a list
 * of routes out. Everything else is inherited on purpose - a 404 is a hub page
 * whose content went missing, not a separate visual language.
 *
 * IMPORT ORDER: after `content/ct-search` in _components.scss. Two reasons, both
 * load-bearing:
 *   - `.merch-hub-hero__badge` is `inline-flex` + `align-items: center` in
 *     _ct-article.scss at 0-1-0. `.merch-404-hero__badge` below is also 0-1-0, so
 *     it only wins the column direction by coming later in the file.
 *   - the search pill is `@extend`ed out of _ct-search.scss, and any delta this
 *     file declares on it has to be able to reach it at equal specificity.
 *
 * THE RESPONSIVE STAIRCASE TRAP (the same one _ct-search.scss documents). Both
 * _ct-article.scss and _ct-search.scss carry `@include below(...)` blocks that
 * re-declare hub selectors at 0-1-0. Because this file is imported AFTER them, a
 * BASE rule here on any inherited selector would beat their MEDIA rules at every
 * width and strand the phone at the desktop value. So: this file never sets a base
 * value on a selector whose responsive steps it wants to keep (notably
 * `.merch-hub-hero__title`, whose 80 -> 45 -> clamp(34,9vw,45) staircase this page
 * inherits untouched), and every value it does own is stepped here in full.
 */
.merch-404-hero__badge {
  flex-direction: column;
  gap: 8px;
}
.merch-404-hero__code {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.merch-404-hero__title {
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.02em;
  color: #1c211d;
  text-align: center;
  text-transform: uppercase;
}

.merch-404__body {
  max-width: 1440px;
  margin-inline: auto;
  padding-block: 80px;
  padding-inline: 64px;
  box-sizing: border-box;
}
.merch-404__panel {
  max-width: 1312px;
  margin-inline: auto;
  padding: 80px 64px;
  box-sizing: border-box;
  background-color: #f3f0e6;
  border-radius: 32px;
}
.merch-404__title {
  max-width: 720px;
  margin: 0;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 45px;
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: 0.1px;
  color: #1c211d;
  text-transform: uppercase;
  text-wrap: balance;
}
.merch-404__lede {
  max-width: 641px;
  margin: 24px 0 0;
  font-family: "freight-sans-pro", "Freight Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  color: #000;
  text-wrap: pretty;
}
.merch-404__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 24px;
  margin-top: 32px;
}
.merch-404__cta {
  flex: 0 0 auto;
  align-items: stretch;
  margin: 0;
}
.merch-404__cta .wp-block-button {
  display: flex;
}

.merch-404__cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  height: 100%;
  min-height: 44px;
  padding: 16px 24px;
  border: 0;
  border-radius: 6px;
  background-color: #e0fe83;
  color: #1c211d;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-404__cta .wp-block-button__link {
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
  }
}
.merch-404__cta .wp-block-button__link:hover, .merch-404__cta .wp-block-button__link:focus-visible {
  background-color: #1c211d;
  color: #e0fe83;
}
.merch-404__cta .wp-block-button__link:focus {
  outline: 0;
}
.merch-404__cta .wp-block-button__link:focus-visible {
  outline: 2px solid #1c211d;
  outline-offset: 2px;
}
@media (forced-colors: active) {
  .merch-404__cta .wp-block-button__link:hover {
    outline: 2px solid Highlight;
    outline-offset: -2px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .merch-404__cta .wp-block-button__link:active {
    transform: scale(0.96);
  }
}

.merch-404__routes {
  max-width: 1312px;
  margin: 64px auto 0;
}

.merch-404__routes-title {
  margin: 0 0 32px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
}

.merch-404__route-list.wp-block-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.merch-404__route-list.wp-block-list > li {
  border-bottom: 2px solid rgba(8, 70, 51, 0.2);
}
.merch-404__route-list.wp-block-list > li > a,
.merch-404__route-list.wp-block-list > li > div > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 44px;
  padding-block: 24px;
  font-family: "freight-sans-condensed-pro", "Freight Sans Condensed", "Arial Narrow", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #1c211d;
  text-transform: uppercase;
  text-decoration: none;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-404__route-list.wp-block-list > li > a,
  .merch-404__route-list.wp-block-list > li > div > a {
    transition: color 0.15s ease-in-out;
  }
}
.merch-404__route-list.wp-block-list > li > a::after,
.merch-404__route-list.wp-block-list > li > div > a::after {
  content: "";
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2228%22%20fill%3D%22%23e0fe83%22%2F%3E%3Cpath%20d%3D%22M28.64%2021.0004L35.84%2028.2004L28.64%2035.4004M35.84%2028.2004L20%2028.2004%22%20stroke%3D%22%23084633%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (prefers-reduced-motion: no-preference) {
  .merch-404__route-list.wp-block-list > li > a::after,
  .merch-404__route-list.wp-block-list > li > div > a::after {
    transition: transform 0.15s ease-in-out;
  }
}
.merch-404__route-list.wp-block-list > li > a:hover, .merch-404__route-list.wp-block-list > li > a:focus-visible,
.merch-404__route-list.wp-block-list > li > div > a:hover,
.merch-404__route-list.wp-block-list > li > div > a:focus-visible {
  color: #084633;
}
.merch-404__route-list.wp-block-list > li > a:hover::after, .merch-404__route-list.wp-block-list > li > a:focus-visible::after,
.merch-404__route-list.wp-block-list > li > div > a:hover::after,
.merch-404__route-list.wp-block-list > li > div > a:focus-visible::after {
  transform: translateX(4px);
}
.merch-404__route-list.wp-block-list > li > a:focus,
.merch-404__route-list.wp-block-list > li > div > a:focus {
  outline: 0;
}
.merch-404__route-list.wp-block-list > li > a:focus-visible,
.merch-404__route-list.wp-block-list > li > div > a:focus-visible {
  outline: 2px solid #084633;
  outline-offset: 2px;
}
@media (forced-colors: active) {
  .merch-404__route-list.wp-block-list > li > a:hover,
  .merch-404__route-list.wp-block-list > li > div > a:hover {
    text-decoration: underline;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .merch-404__route-list.wp-block-list > li > a:active::after,
  .merch-404__route-list.wp-block-list > li > div > a:active::after {
    transform: translateX(4px) scale(0.96);
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.ppai-js-loader .merch-404__panel,
  html.ppai-js-loader .merch-404__routes > * {
    opacity: 0;
    transform: translateY(18px);
  }
  .merch-404__panel {
    transition: opacity 0.5s ease 1.05s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.05s;
  }
  .merch-404__routes > * {
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  html.ppai-loaded .merch-404__panel,
  html.ppai-loaded .merch-404__routes > * {
    opacity: 1;
    transform: none;
  }
  html.ppai-loaded .merch-404__routes > *:nth-child(1) {
    transition-delay: 1.3s;
  }
  html.ppai-loaded .merch-404__routes > *:nth-child(2) {
    transition-delay: 1.42s;
  }
}
@media (max-width: 900px) {
  .merch-404__body {
    padding-inline: 32px;
  }
  .merch-404__panel {
    padding: 48px 32px;
  }
  .merch-404__routes {
    margin-top: 48px;
  }
  .merch-404__route-list.wp-block-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .merch-404-hero__title {
    font-size: 18px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .merch-404__title {
    font-size: clamp(40px, 4.8vw, 45px);
  }
}
@media (max-width: 600px) {
  .merch-404__body {
    padding-block: 40px;
    padding-inline: 20px;
  }
  .merch-404__panel {
    padding: 40px 24px;
    border-radius: 20px;
  }
  .merch-404__title {
    font-size: clamp(30px, 7.5vw, 40px);
  }
  .merch-404__lede {
    margin-top: 16px;
  }
  .merch-404__actions {
    align-items: stretch;
    gap: 16px;
    margin-top: 24px;
  }
  .merch-404__cta {
    flex: 1 1 100%;
  }
  .merch-404__cta .wp-block-button__link,
  .merch-404__cta .wp-block-button {
    width: 100%;
  }
  .merch-404__cta .wp-block-button__link {
    justify-content: center;
  }
  .merch-404__routes {
    margin-top: 40px;
  }
  .merch-404__routes-title {
    margin-bottom: 24px;
    font-size: 20px;
  }
  .merch-404__route-list.wp-block-list > li > a,
  .merch-404__route-list.wp-block-list > li > div > a {
    gap: 16px;
    padding-block: 16px;
    font-size: 20px;
  }
  .merch-404-hero__title {
    font-size: 16px;
  }
  .merch-404-hero__badge {
    gap: 4px;
  }
}
@media (max-width: 400px) {
  .merch-404__body {
    padding-inline: 16px;
  }
  .merch-404__panel {
    padding: 32px 16px;
  }
}
/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* 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;
}

/*--------------------------------------------------------------
# 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;
}

/*--------------------------------------------------------------
# Vendor
--------------------------------------------------------------*/
/* Lenis smooth scroll (support styles for js/vendor/lenis.min.js)
--------------------------------------------- */
/**
 * Lenis v1.3.25 support styles (MIT). The upstream dist/lenis.css, verbatim.
 *
 * Ships as a sass partial rather than a second stylesheet so it compiles into the
 * one style.css the theme already loads - no extra request, no ordering question.
 *
 * Imported from style.scss ONLY, never from components/_components.scss: every
 * selector below is rooted at `html` (Lenis's rootElement), and editor.scss nests
 * the components index under `.editor-styles-wrapper`, which would compile these
 * into `.editor-styles-wrapper html.lenis` - a selector that can never match. The
 * block editor has no Lenis instance anyway.
 *
 * The classes are set by the Lenis instance itself (js/smooth-scroll.js). Under
 * reduced motion Lenis is never constructed, so none of them are ever present and
 * every rule here stays inert.
 */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/*--------------------------------------------------------------
# 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: #084633;
  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;
}

/* prompt-131: the skip link (.skip-link) reuses .screen-reader-text above, so it is
   hidden until focused and then revealed top-left. Its target is #main-content (the
   <main> landmark on every template). Suppress a focus outline on the target if it
   ever takes focus. */
#main-content:focus,
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* 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;
}

/**
 * Print stylesheet.
 *
 * "Download PDF" on a case study opens the browser print dialog (js/case-study-print.js);
 * these rules make what prints a clean, ink-sane, printer-friendly version: site
 * chrome and interactive/decorative elements are hidden, the reveal/motion system is
 * neutralised so no content is left invisible, dark full-bleed bands drop to white so
 * body text stays legible on paper, and the page is black-on-white edge to edge.
 *
 * Global (not case-study only) so any page prints cleanly; the case-study-specific
 * bits are namespaced.
 */
@media print {
  header,
  footer,
  .wp-block-navigation,
  .merch-header__search,
  .merch-lang,
  .merch-video-lightbox,
  .merch-back-to-top,
  .ct-case-study__actions,
  .ct-case-study__cta,
  .merch-large-cta,
  .merch-darkband,
  .wp-block-post-comments-form,
  .wp-block-comments,
  #wpadminbar,
  #ppai-loader {
    display: none !important;
  }
  html,
  body,
  *,
  *::before,
  *::after {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
  }
  html,
  body {
    background: #fff !important;
    color: #000 !important;
  }
  a {
    color: #000 !important;
    text-decoration: underline;
  }
  .ct-case-study__body [class*=darkband],
  .ct-case-study__body [style*=background],
  .ct-cs-stat,
  .ct-cs-results,
  .ct-cs-quote {
    background: #fff !important;
    background-color: #fff !important;
    color: #000 !important;
  }
  .ct-cs-stat *,
  .ct-cs-results *,
  .ct-cs-quote * {
    color: #000 !important;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  h1, h2, h3 {
    page-break-after: avoid;
  }
  .ct-case-study__hero {
    padding: 0 !important;
    background: none !important;
  }
  .ct-case-study__hero-media {
    position: static !important;
    height: auto !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    background: none !important;
  }
  .ct-case-study__hero-media::after {
    display: none !important;
  }
  .ct-case-study__hero-media .wp-block-post-featured-image {
    display: none !important;
  }
  .ct-case-study__logo {
    display: none !important;
  }
  .ct-case-study__hero-heading {
    position: static !important;
    transform: none !important;
    align-items: flex-start !important;
    width: auto !important;
    max-width: 867px !important;
    margin: 0 auto !important;
    gap: 6px !important;
  }
  .ct-case-study__tag {
    padding: 0 !important;
    background: none !important;
    color: #000 !important;
  }
  .ct-case-study__title {
    padding: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: #000 !important;
    text-align: left !important;
  }
  .ct-case-study__hero-foot {
    max-width: 867px !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .ct-case-study__lede {
    max-width: 100% !important;
    text-align: left !important;
    color: #000 !important;
    line-height: 1.4 !important;
    padding-bottom: 4px !important;
    overflow: visible !important;
  }
  .ct-cs-stats {
    flex-wrap: nowrap !important;
    gap: 16px !important;
  }
  .ct-cs-stat {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 26px 12px !important;
  }
  .ct-cs-stat__num {
    font-size: 40px !important;
  }
  .ct-case-study__body {
    margin-top: 20px !important;
  }
  .ct-case-study__body > * {
    margin-top: 20px !important;
  }
  .ct-case-study__body > :first-child {
    margin-top: 0 !important;
  }
  .ct-cs-results {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .ct-cs-quote {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .ct-cs-feature,
  .ct-cs-feature--flip {
    display: block !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    page-break-inside: avoid;
  }
  .ct-cs-feature__text {
    gap: 8px !important;
  }
  .ct-cs-feature__media,
  .ct-cs-media {
    background: none !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 8px !important;
    overflow: visible !important;
  }
  .ct-case-study__body .ct-cs-feature__media img,
  .ct-case-study__body .ct-cs-media img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 300px !important;
    object-fit: contain !important;
    page-break-inside: avoid;
  }
  .ct-cs-results {
    flex-wrap: nowrap !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  .ct-cs-result {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    background: #fff !important;
    border: 1px solid #000 !important;
    border-radius: 6px !important;
  }
  .ct-cs-quote {
    display: block !important;
    page-break-inside: avoid;
  }
  .ct-cs-quote__media {
    width: 180px !important;
    max-width: 180px !important;
    aspect-ratio: auto !important;
    background: none !important;
    border-radius: 0 !important;
    float: left;
    margin: 0 20px 8px 0 !important;
  }
  .ct-cs-quote__media img {
    max-height: 200px !important;
  }
  .ct-cs-quote__text {
    gap: 12px !important;
  }
}
