/*!
Theme Name: ss_theme
Theme URI: https://underscoretw.com/
Author: SmartSites
Author URI: https://www.smartsites.com/
Description: A custom WordPress theme based on _tw
Version: 0.1.0
Tested up to: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ss_theme
Tags:

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

ss_theme is based on _tw https://underscoretw.com/, (C) 2021-2024 Greg Sullivan
_tw is distributed under the terms of the GNU GPL v2 or later.

_tw is based on Underscores https://underscores.me/ and Varia https://github.com/Automattic/themes/tree/master/varia, (C) 2012-2023 Automattic, Inc.
Underscores and Varia are distributed under the terms of the GNU GPL v2 or later.
*/

/**
 * The line above injects the WordPress file header. It needs to be first,
 * before this comment.
 */

/**
 * This injects custom `@font-face` rules.
 */

/**
 * Custom `@font-face` rules
 *
 * These will be added immediately before Tailwind's `base` layer.
 *
 * El Padrino Bail Bonds uses two Google-hosted families, identified from
 * this project's own cached Figma export (_project_data/figma_json/*.json):
 *   - Open Sans  — body copy (font-primary)
 *   - Oswald     — headings / display (font-secondary)
 * They are loaded from Google Fonts by a <link> enqueued in functions.php
 * (ss_theme_scripts), NOT an @import here: an @import is only discovered
 * after style.css itself has downloaded and parsed, so the fonts arrived
 * late and the swap landed after first paint -- the hero heading reflowed
 * and PageSpeed reported ~0.3 CLS on the hero container.
 */

/**
 * Metric-matched fallbacks (CLS).
 *
 * With `display=swap` text first paints in a local font and switches when
 * the web font lands. Oswald is far narrower than Arial, so the raw
 * fallback wrapped the hero heading differently and moved everything
 * around it. These faces re-scale local Arial to Oswald's / Open Sans's
 * average glyph width and vertical metrics, so the swap is (near)
 * invisible and nothing shifts.
 *
 * Values computed from the Google Fonts TTFs (default instance) against
 * Arial with fontTools, using the capsize / next/font letter-frequency
 * method. Recompute if the families change.
 */

@font-face {
  font-family: "Oswald Fallback";

  src: local("Arial"), local("ArialMT"), local("Liberation Sans");

  size-adjust: 81.97%;

  ascent-override: 145.54%;

  descent-override: 35.26%;

  line-gap-override: 0%;
}

@font-face {
  font-family: "Open Sans Fallback";

  src: local("Arial"), local("ArialMT"), local("Liberation Sans");

  size-adjust: 105.99%;

  ascent-override: 100.85%;

  descent-override: 27.64%;

  line-gap-override: 0%;
}

/**
 * NOTE — no icon font.
 *
 * This boilerplate previously shipped a compiled `icomoon` icon font here
 * (an inherited previous client's icon set — delivery-truck, snacks,
 * cold-beverages, sparkling-water-systems, bottle-water-machine, and
 * similar water/beverage-delivery glyphs, alongside a handful of generic
 * UI glyphs). It has been removed entirely (finding F-9): icons in this
 * pipeline are SVG files exported from THIS project's own Figma file, at
 * theme/assets/icons/, listed in icon-manifest.json. No icon font is
 * compiled for this project. See references/icon-system.md.
 *
 * `tailwind/custom/components/slider.css` and `.../forms.css` previously
 * depended on the removed `font-icomoon` utility for slider-arrow and
 * form-field decorative glyphs; both were migrated to the real SVGs in
 * theme/assets/icons/ as part of this change. See design-tokens.md for
 * the two glyphs (calendar, mail) that had no equivalent in this
 * project's Figma file and were left unstyled rather than invented.
 */

/**
 * This injects Tailwind's base styles and any base styles registered by
 * plugins, then adds custom base styles.
 */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

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

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-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;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-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;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

html,
	body {
  height: 100%;
  width: 100%;
}

body {
  margin: 0px;
  min-width: 20rem;
  overflow-x: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(18 21 19 / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1310px) {
  body {
    line-height: 1.625;
  }
}

picture,
	figure {
  margin-bottom: 0.25rem;
  display: block;
  vertical-align: middle;
}

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

.site-wrapper {
  position: relative;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}

.site-content {
  flex-grow: 1;
}

.site-header,
	.site-content,
	.site-footer {
  flex-shrink: 0;
}

p {
  margin-bottom: 0.25rem;
}

a {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

a:hover {
  color: rgb(0 65 41 / 0.8);
}

hr {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

h1,
	.h1,
	h2,
	.h2,
	h3,
	.h3,
	h4,
	.h4,
	h5,
	.h5,
	h6,
	.h6 {
  margin-bottom: 0.125rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(18 21 19 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  h1,
	.h1,
	h2,
	.h2,
	h3,
	.h3,
	h4,
	.h4,
	h5,
	.h5,
	h6,
	.h6 {
    margin-bottom: 0.25rem;
  }
}

h1,
	.h1 {
  font-size: 2.25rem;
  line-height: 2.5rem;
  line-height: 1.25;
}

@media (min-width: 992px) {
  h1,
	.h1 {
    font-size: 3rem;
    line-height: 1;
  }
}

@media (min-width: 1200px) {
  h1,
	.h1 {
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (min-width: 1310px) {
  h1,
	.h1 {
    font-size: 4.5rem;
    line-height: 1;
  }
}

h2,
	.h2 {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

@media (min-width: 992px) {
  h2,
	.h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 1310px) {
  h2,
	.h2 {
    font-size: 3rem;
    line-height: 1;
  }
}

h2,
	.h2 {
  /*
		 * `capitalize` REMOVED. It came from the boilerplate's inherited design
		 * layer and contradicts this project's design, which sets headings in
		 * sentence case: the bands read "Get Help Fast *with* Brownsville Bail
		 * Bonds", "Bail Bond Process *for* South Texas". The rule silently
		 * title-cased every lowercase connective in every h2 site-wide —
		 * "Trusted *By* South Texas", "Here *To* Help 24/7" — and it is
		 * invisible in the markup, so only rendering and looking catches it.
		 * Same class of residue as the inherited icon font removed in Phase 2.
		 */
}

h3,
	.h3 {
  font-size: 1.5rem;
  line-height: 2rem;
}

@media (min-width: 1310px) {
  h3,
	.h3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

h4,
	.h4 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

@media (min-width: 1310px) {
  h4,
	.h4 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

h5,
	.h5 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

@media (min-width: 1310px) {
  h5,
	.h5 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

h6,
	.h6 {
  font-size: 1rem;
  line-height: 1.5rem;
}

@media (min-width: 992px) {
  h6,
	.h6 {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1310px) {
  h6,
	.h6 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

/*
	 * Lists Default Styling — scoped to editor content only.
	 *
	 * This was an unscoped `ul, ol`, which is right for prose typed into the
	 * editor and wrong for every structural <ul> used as a layout container.
	 * 15 of this project's 36 module partials use one, and all 15 inherited
	 * `ml-3`: measured on the built page, `ss_why_choose_us`'s card grid
	 * started at x=92 where `.container` puts content at x=80. Sections built
	 * on a <div> grid started correctly, so adjacent bands on the same page
	 * were misaligned against each other by 12px.
	 *
	 * Scoped rather than fixed per module: adding `list-none m-0` to 15
	 * partials leaves the trap armed for the sixteenth.
	 *
	 * BOTH wrappers are named deliberately. This file compiles into the
	 * frontend stylesheet AND, via `add_editor_style()`, into the block-editor
	 * one — and the two use different wrappers. `.entry-content` is the
	 * frontend's (and what this theme's own `tailwind-editor-extra.css`
	 * already targets); `.editor-styles-wrapper` is the class WordPress core
	 * puts around the editing canvas. Naming only one would have silently
	 * stripped list styling from whichever context it missed, which is exactly
	 * the kind of invisible regression this build keeps producing.
	 */

.entry-content ul,
	.entry-content ol,
	.editor-styles-wrapper ul,
	.editor-styles-wrapper ol {
  margin-bottom: 0.25rem;
  margin-left: 0.75rem;
}

.entry-content ul > :not([hidden]) ~ :not([hidden]),
	.entry-content ol > :not([hidden]) ~ :not([hidden]),
	.editor-styles-wrapper ul > :not([hidden]) ~ :not([hidden]),
	.editor-styles-wrapper ol > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

@media (min-width: 992px) {
  .entry-content ul > :not([hidden]) ~ :not([hidden]),
	.entry-content ol > :not([hidden]) ~ :not([hidden]),
	.editor-styles-wrapper ul > :not([hidden]) ~ :not([hidden]),
	.editor-styles-wrapper ol > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }
}

.entry-content ul,
	.editor-styles-wrapper ul {
  list-style-type: disc;
}

.entry-content ol,
	.editor-styles-wrapper ol {
  list-style-type: decimal;
}

strong,
	b {
  font-weight: 700;
}

/* Table */

table {
  width: 100%;
  border-collapse: collapse;
}

caption {
  margin-bottom: 0.125rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
}

th,
	td {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

dl {
  margin-bottom: 0.25rem;
}

dl dt {
  font-weight: 700;
}

dl dd {
  margin-left: 0.25rem;
}

blockquote {
  margin-bottom: 0.25rem;
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  background-color: rgb(0 65 41 / 0.1);
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.25rem;
  font-style: italic;
}

abbr,
	acronym,
	dfn {
  border-bottom-width: 1px;
  border-style: dashed;
  --tw-border-opacity: 1;
  border-bottom-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

pre {
  margin-bottom: 0.25rem;
  background-color: rgb(0 65 41 / 0.05);
  padding: 0.25rem;
}

code,
	tt {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  padding: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

kbd {
  border-radius: 0.25rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

var,
	samp {
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

address {
  margin-bottom: 0.25rem;
}

/**
 * Custom styles to immediately follow Tailwind's `base` layer
 *
 * "Add things like base typography styles [or] opinionated global resets."
 *
 * — from https://tailwindcss.com/docs/plugins#adding-base-styles
 */

/**
 * This uses the background and foreground colors declared in the
 * `theme.json` file and is applied both to the frontend and in the block
 * editor.
*/

/**
 * This injects Tailwind's component classes and any component classes
 * registered by plugins, then adds custom component classes.
 *
 * The `@import-glob` line imports all CSS files from the `components`
 * directory (except for `components.css`, which is imported on the following
 * line). This is meant to simplify the process of integrating styles from
 * JavaScript components or WordPress plugins.
 */

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

@media (min-width: 576px) {
  .container {
    max-width: 576px;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 768px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 992px;
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
    padding-right: 4rem;
    padding-left: 4rem;
  }
}

@media (min-width: 1440px) {
  .container {
    max-width: 1440px;
    padding-right: 5rem;
    padding-left: 5rem;
  }
}

.prose {
  color: var(--tw-prose-body);
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"], [class~="is-style-lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
  border-bottom: none;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: 17 24 39;
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: 255 255 255;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose :where(blockquote > cite):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-body);
  font-style: normal;
  font-weight: 400;
}

.prose :where(blockquote > cite):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "\2014";
}

.prose :where(table.has-fixed-layout):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  table-layout: fixed;
  width: 100%;
}

.prose-neutral {
  --tw-prose-body: #404040;
  --tw-prose-headings: #171717;
  --tw-prose-lead: #525252;
  --tw-prose-links: #171717;
  --tw-prose-bold: #171717;
  --tw-prose-counters: #737373;
  --tw-prose-bullets: #d4d4d4;
  --tw-prose-hr: #e5e5e5;
  --tw-prose-quotes: #171717;
  --tw-prose-quote-borders: #e5e5e5;
  --tw-prose-captions: #737373;
  --tw-prose-kbd: #171717;
  --tw-prose-kbd-shadows: 23 23 23;
  --tw-prose-code: #171717;
  --tw-prose-pre-code: #e5e5e5;
  --tw-prose-pre-bg: #262626;
  --tw-prose-th-borders: #d4d4d4;
  --tw-prose-td-borders: #e5e5e5;
  --tw-prose-invert-body: #d4d4d4;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #a3a3a3;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #a3a3a3;
  --tw-prose-invert-bullets: #525252;
  --tw-prose-invert-hr: #404040;
  --tw-prose-invert-quotes: #f5f5f5;
  --tw-prose-invert-quote-borders: #404040;
  --tw-prose-invert-captions: #a3a3a3;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: 255 255 255;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d4d4d4;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #525252;
  --tw-prose-invert-td-borders: #404040;
}

.prose .wp-block-table td, .prose .wp-block-table th {
  border: 0;
}

.prose .wp-block-table thead, .prose .wp-block-table tfoot {
  border-color: var(--tw-prose-th-borders);
}

.prose .wp-block-table thead {
  border-bottom-width: 1px;
}

.prose .wp-block-table tfoot {
  border-top-width: 1px;
}

/**
	 * `.ss-affordable-payment-plans__btn` -- the majority "Learn More" /
	 * "Call Now" CTA style measured on every instance EXCEPT TG-14/404:
	 * `background: rgb(250, 248, 243)` (cream-100) with `color: #004129`
	 * (primary) text, confirmed identical (square corners, 8px/32px
	 * padding) in the Home, About, Services Hub, Brownsville, Resources,
	 * Payment Plan and Contact (mobile) JSON exports. TG-14/404 uses the
	 * OPPOSITE fill (`rgb(0, 65, 41)` / primary, white text) -- that one
	 * case reuses the house `.btn-cta` class directly (see
	 * ss_affordable_payment_plans.php's `$cta_dark` branch) rather than a
	 * second component class, since `.btn-cta` already matches it exactly.
	 */

.ss-affordable-payment-plans__btn {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  --tw-bg-opacity: 1;
  background-color: rgb(250 248 243 / var(--tw-bg-opacity, 1));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-affordable-payment-plans__btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 230 220 / var(--tw-bg-opacity, 1));
}

.ss-affordable-payment-plans__btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

html.js-animate .ss-animate {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

html.js-animate .ss-animate[data-animate="fade-in"] {
  /* opacity-only, no transform */
}

html.js-animate .ss-animate[data-animate="fade-up"] {
  transform: translateY(24px);
}

html.js-animate .ss-animate[data-animate="fade-down"] {
  transform: translateY(-24px);
}

html.js-animate .ss-animate[data-animate="slide-left"] {
  transform: translateX(40px);
}

html.js-animate .ss-animate[data-animate="slide-right"] {
  transform: translateX(-40px);
}

html.js-animate .ss-animate[data-animate="zoom-in"] {
  transform: scale(0.92);
}

/* Must stay below every html.js-animate .ss-animate[data-animate="..."]
	   rule above -- see note at top. */

html.js-animate .ss-animate.is-visible {
  opacity: 1;
  transform: none;
}

/* Belt-and-suspenders with ss.animateOnScroll()'s own matchMedia check --
	   covers a user whose preference changes AFTER `html.js-animate` was
	   already added (the JS only reads the media query once, on init). */

@media (prefers-reduced-motion: reduce) {
  html.js-animate .ss-animate {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/**
	 * `.ss-contact-cta__btn-call` -- the primary "Call (956) 440-1111" button, measured from
	 * BOTH confirmed instances (TG-11 Blog Listing, TG-12 Individual Blog): solid PURE white
	 * fill (`rgb(255,255,255)` -- not `cream-100`, a genuine measured difference from every
	 * other CTA-band button in this project), primary-green (`#004129`) text and icon, square
	 * corners, 16px/32px padding (`.btn-cta`'s own scale), 12px icon-to-text gap (`gap-3` --
	 * measured smaller than `.btn-cta`'s own 8px `gap-2`, not a copy/paste drift).
	 */

.ss-contact-cta__btn-call {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  white-space: nowrap;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-contact-cta__btn-call:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 230 220 / var(--tw-bg-opacity, 1));
}

.ss-contact-cta__btn-call svg {
  width: 1.25rem;
  height: 1.25rem;
}

.ss-contact-cta__btn-icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
}

/**
	 * `.ss-contact-cta__btn-outline` -- the secondary "Contact Support" button: no fill,
	 * opaque white 1.5px border (measured `1.5px solid rgb(255,255,255)` -- no `ss-` border
	 * width token exists in `tailwind.config.js` for the exact decimal, so this uses the
	 * default `border` utility, same "nearest default first" precedent already used by
	 * `ss_hero_banner.php`'s own outline button), white text, no icon in either confirmed
	 * instance.
	 */

.ss-contact-cta__btn-outline {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-contact-cta__btn-outline:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.ss-faq-accordion .ss-faq-accordion__question {
  cursor: pointer;
}

/* Required, not decorative -- `misc()`'s click handler in javascript/script.js
	 * tests `e.target` for the exact `.accordionBtn` element with no `.closest()`
	 * fallback (same reasoning already documented in footer.css for its caret). A
	 * click landing on the toggle circle or either of its two inner spans must still
	 * resolve to the button itself. */

.ss-faq-accordion .ss-faq-accordion__toggle {
  pointer-events: none;
}

/* NOT a descendant selector on purpose -- `.ss-faq-accordion__item` and
	 * `.accordion-item`/`.itemActive` all live on the SAME element in
	 * ss_faq_accordion.php (one `<div>` carries all three classes), so this has to
	 * be a compound selector on that one element, not `.itemActive .ss-faq-
	 * accordion__item` (which would only ever match a descendant and silently
	 * never fire -- caught by inspecting the live computed style after a real
	 * click test, not assumed from reading the markup). */

.ss-faq-accordion .accordion-item.itemActive.ss-faq-accordion__item {
  border-color: rgb(255 255 255 / 0.2);
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.ss-faq-accordion .accordion-item.itemActive .ss-faq-accordion__question {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-faq-accordion .accordion-item.itemActive .ss-faq-accordion__toggle {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.ss-faq-accordion .accordion-item.itemActive .ss-faq-accordion__plus {
  opacity: 0;
}

.ss-faq-accordion .accordion-item.itemActive .ss-faq-accordion__minus {
  opacity: 1;
}

.ss-faq-with-categories .ss-faq-with-categories__question {
  cursor: pointer;
}

/* Required, not decorative -- `misc()`'s click handler tests `e.target` for the
	 * exact `.accordionBtn` element with no `.closest()` fallback. A click landing on
	 * the toggle circle or either of its two inner spans must still resolve to the
	 * button itself. */

.ss-faq-with-categories .ss-faq-with-categories__toggle {
  pointer-events: none;
}

/* Compound selector on purpose, not a descendant selector -- `.ss-faq-with-
	 * categories__item` and `.accordion-item`/`.itemActive` all live on the SAME
	 * element in ss_faq_with_categories.php, matching `faq-accordion.css`'s own
	 * already-verified reasoning for this exact shape. */

.ss-faq-with-categories .accordion-item.itemActive.ss-faq-with-categories__item {
  border-color: rgb(255 255 255 / 0.2);
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

@media (min-width: 992px) {
  .ss-faq-with-categories .accordion-item.itemActive.ss-faq-with-categories__item {
    border-color: rgb(250 248 243 / 0.2);
    --tw-bg-opacity: 1;
    background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  }
}

.ss-faq-with-categories .accordion-item.itemActive .ss-faq-with-categories__question {
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.ss-faq-with-categories .accordion-item.itemActive .ss-faq-with-categories__toggle {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.ss-faq-with-categories .accordion-item.itemActive .ss-faq-with-categories__plus {
  opacity: 0;
}

.ss-faq-with-categories .accordion-item.itemActive .ss-faq-with-categories__minus {
  opacity: 1;
}

/*
	 * Desktop footer, Figma Frame 159 / 130. Headings Oswald Regular 24/32
	 * cream (explicit weight + colour: the global h3 rule otherwise makes them
	 * bold white). Links Open Sans 16/24 white/60, 24px apart, each behind an
	 * 8px primary bullet aligned to the first line.
	 */

.site-footer .ss-footer-heading {
  margin: 0px;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(234 230 220 / var(--tw-text-opacity, 1));
}

/* No top margin here: the markup sets it (mt-6 / mt-16) per column. */

.site-footer .ss-footer-list {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 1.5rem;
  padding: 0px;
}

.site-footer .ss-footer-list > li {
  margin: 0px;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
}

.site-footer .ss-footer-list a {
  color: rgb(255 255 255 / 0.6);
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.site-footer .ss-footer-list a:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.site-footer .ss-footer-bullet {
  margin-top: 0.5rem;
  width: 0.5rem;
  height: 0.5rem;
  flex: none;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

/* Rules: faint primary, fading out at both ends (sampled off the frame). */

.site-footer .ss-footer-rule-v {
  width: 1px;
  flex: none;
  align-self: stretch;
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  --tw-gradient-from: rgb(0 65 41 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(0 65 41 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 65 41 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
}

.site-footer .ss-footer-rule-h {
  display: block;
  height: 1px;
  width: 100%;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: rgb(0 65 41 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(0 65 41 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 65 41 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
}

.site-footer .accordion-item .accordionBtn {
  text-align: left;
}

/*
	 * `.footer-accordion-caret` reuses `chevron-right.svg` (see
	 * header.css's `.caret` for the same reasoning) rotated 90deg to point
	 * down by default, flipping to point up when its `.accordion-item` is
	 * active -- mirrors the mobile reference's down/up chevron exactly
	 * without a dedicated chevron-down asset.
	 */

/*
	 * `pointer-events-none` is required, not decorative: `misc()`'s click
	 * handler in javascript/script.js tests `e.target` for the exact
	 * `.accordionBtn` element (`$(e.target).hasClass('accordionBtn')`),
	 * with no `.closest()` fallback. Without this, a tap landing on the
	 * icon (its own child element) would not register as a click on the
	 * button at all, and the accordion would silently fail to open --
	 * exactly the kind of interaction bug a screenshot alone can't catch.
	 */

.site-footer .footer-accordion-caret {
  pointer-events: none;
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex: none;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.site-footer .footer-accordion-caret svg {
  width: 100%;
  height: 100%;
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.site-footer .accordion-item.itemActive .footer-accordion-caret svg {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.site-header {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 50;
  width: 100%;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.site-header.stickyHeader {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.site-header.stickyHeader .header-scrim {
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
}

/**
	 * The header scrim -- El Padrino Bail Bonds
	 *
	 * Every canonical desktop frame (Home, About, Services Hub, Locations
	 * Hub, Bail Bonds FAQ, Contact Us) uses the SAME transparent-over-hero
	 * treatment: a gradient from fully transparent to a near-black green,
	 * measured on `Rectangle 40245` (a sibling of the logo/nav/CTA inside
	 * `Group 30`), NOT a fill on the header frame itself --
	 * `linear-gradient(rgba(13,23,18,0) 14%, rgb(13,23,18) 83%)`. That value
	 * is within a few RGB units of the already-tokenized `secondary`
	 * (`brand-900`, #121513) -- same family, not a new color. There is no
	 * separate solid inner-page header; see shared-chrome.md.
	 *
	 * `.stickyHeader` (added by `ss.nav()` past 60px scroll, see
	 * javascript-guide.md) swaps the scrim for a flat `bg-secondary` so the
	 * nav stays legible over arbitrary scrolled content -- a reasonable
	 * treatment for a state the design itself never draws.
	 */

/*
	 * Direction corrected against the About frame (15784:11113): the
	 * rectangle is rotated 180deg, so the 14%/83% stops read from the
	 * BOTTOM. Rendered, the band is solid at the very top and fully clear
	 * by the bottom of the header -- the hero shows behind the nav, with
	 * no hard edge where the header ends.
	 */

.header-scrim {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  --tw-gradient-from: #121513 var(--tw-gradient-from-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-from-position: 17%;
  --tw-gradient-to: rgb(18 21 19 / 0) var(--tw-gradient-to-position);
  --tw-gradient-to-position: 86%;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.site-nav ul {
  margin: 0px;
  list-style-type: none;
}

.site-header .navbar-brand {
  margin-right: 0.5rem;
  display: inline-block;
  max-width: 20rem;
  flex: none;
  line-height: 1;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

@media (min-width: 576px) {
  .site-header .navbar-brand {
    margin-right: 1.5rem;
    max-width: 24rem;
  }
}

@media (min-width: 1200px) {
  .site-header .navbar-brand {
    max-width: 20rem;
  }
}

.site-header .navbar-brand figure {
  margin-bottom: 0px;
}

/**
	 * Nav item gap measured 60px on `Frame 138` (`gap: 60px` in every
	 * canonical desktop frame) -- already a project token (`ss-60`,
	 * design-tokens.md § Spacing), not the boilerplate's default 24px.
	 *
	 * That 60px only fits from the 1440 canvas up. Between xl (1200) and
	 * 1440 the container is 1072px, leaving the nav 675px -- six links plus
	 * 5 x 60px need 733-783px, so Contact wrapped to a second row on laptop
	 * screens. Below 1440 the gap drops to 32px (593-643px, fits) and the
	 * row never wraps.
	 */

.site-header .navbar-nav {
  row-gap: 0.5rem;
}

.site-header .navbar-nav > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

@media (min-width: 1200px) {
  .site-header .navbar-nav {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}

@media (min-width: 1440px) {
  .site-header .navbar-nav {
    -moz-column-gap: 3.75rem;
         column-gap: 3.75rem;
  }
}

/**
	 * Nav link color -- measured `#C9CFC9` on every plain `TEXT` nav item in
	 * `Frame 138` (Home/About/Services/The Process/Locations/Contact),
	 * exactly `brand-100`. Letter-spacing measured 1.12px (~0.07em) with no
	 * matching `tracking-*` default; `tracking-wider` (0.05em/0.8px) is the
	 * closest token -- see shared-chrome.md for the accepted ±px reasoning
	 * design-system-engineer already applied elsewhere in this file.
	 * Line-height 175%/16px = exactly 28px = `leading-7`.
	 */

.site-header .navbar-nav .nav-link {
  position: relative;
  display: block;
  width: 100%;
  border-bottom-width: 1px;
  border-bottom-color: rgb(255 255 255 / 0.3);
  padding: 0.75rem;
  font-size: 1rem;
  line-height: 1.75rem;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

.site-header .navbar-nav .nav-link::after {
  display: none;
  --tw-content: '';
  content: var(--tw-content);
}

.site-header .navbar-nav .nav-link:hover {
  opacity: 1;
}

@media (min-width: 1200px) {
  .site-header .navbar-nav .nav-link {
    width: auto;
    white-space: nowrap;
    border-bottom-width: 0px;
    padding: 0px;
    --tw-text-opacity: 1;
    color: rgb(201 207 201 / var(--tw-text-opacity, 1));
  }

  .site-header .navbar-nav .nav-link::after {
    margin-top: 0.375rem;
    display: block;
    height: 0.25rem;
    width: 0px;
    --tw-bg-opacity: 1;
    background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    content: var(--tw-content);
    transition-duration: 300ms;
  }

  .site-header .navbar-nav .nav-link:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

  .site-header .navbar-nav .nav-link:hover::after {
    content: var(--tw-content);
    width: 100%;
  }
}

@media (min-width: 1310px) {
  .site-header .navbar-nav .nav-link {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

/*
	 * Hover and active: the green underline grows in; the text stays light
	 * (white), never green (client). A dropdown parent counts as active when
	 * one of its child pages is the current page.
	 */

@media (min-width: 1200px) {
  .site-header .navbar-nav > .current-menu-item > .nav-link,
	.site-header .navbar-nav > .current-menu-parent > .nav-link,
	.site-header .navbar-nav > .current-menu-ancestor > .nav-link {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

  .site-header .navbar-nav > .current-menu-item > .nav-link::after,
	.site-header .navbar-nav > .current-menu-parent > .nav-link::after,
	.site-header .navbar-nav > .current-menu-ancestor > .nav-link::after {
    content: var(--tw-content);
    width: 100%;
  }

  .site-header .navbar-nav > .menu-item-has-children:hover>.caret {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

  .site-header .navbar-nav > .menu-item-has-children:hover>.nav-link:after {
    width: 100%;
  }

  .site-header .navbar-nav > .menu-item-has-children:hover>.nav-link {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }
}

/* navbar collapse */

.site-header .navbar-collapse {
  width: 100%;
  gap: 0.5rem;
}

@media not all and (min-width: 1200px) {
  .site-header .navbar-collapse {
    position: fixed;
    left: -20rem;
    top: 0px;
    bottom: 0px;
    z-index: 50;
    height: auto;
    width: 100%;
    max-width: 20rem;
    overflow-y: auto;
    background-color: rgb(18 21 19 / 0.9);
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
}

@media (min-width: 1200px) {
  .site-header .navbar-collapse {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }
}

.site-header .navbar-collapse ul > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

@media not all and (min-width: 1200px) {
  .site-header .navbar-collapse.show {
    left: 0px;
  }
}

.site-header .menu-item-has-children {
  position: relative;
}

.site-header .menu-item-has-children .nav-link {
  padding-right: 2.75rem;
}

@media (min-width: 1200px) {
  .site-header .menu-item-has-children .nav-link {
    padding-right: 0.875rem;
  }
}

.site-header .current-menu-item > .dropdown-item {
  font-weight: 600;
}

@media not all and (min-width: 1200px) {
  .site-header .current-menu-item > .dropdown-item {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }
}

@media (min-width: 1200px) {
  .site-header .current-menu-item > .dropdown-item {
    font-weight: 500;
  }

  .site-header .navbar-nav > .menu-item-has-children > .caret {
    pointer-events: none;
  }
}

/**
	 * `.caret` -- previously an icon-font glyph (`icon-chevron-down`) from the
	 * `icomoon` font Phase 2 removed entirely (finding F-9). It now renders
	 * `theme/assets/icons/chevron-right.svg` inline (see
	 * `ss-bootstrap-navwalker.php`), rotated with the same transform
	 * mechanics `.navbar-toggler`'s hamburger already uses elsewhere in this
	 * file, rather than a second icon asset design-system-engineer would
	 * have to export. Base = rotated 90deg (right -> down, "has a submenu"
	 * affordance); the nested/flyout caret below re-points it back to right.
	 */

.site-header .menu-item-has-children .caret {
  position: absolute;
  top: 0px;
  right: 0px;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 0s;
}

@media (min-width: 1200px) {
  .site-header .menu-item-has-children .caret {
    top: 0.625rem;
    width: auto;
    height: auto;
    --tw-text-opacity: 1;
    color: rgb(201 207 201 / var(--tw-text-opacity, 1));
  }
}

@media (min-width: 1310px) {
  .site-header .menu-item-has-children .caret {
    top: 0.75rem;
  }
}

.site-header .menu-item-has-children .caret svg {
  width: 0.75rem;
  height: 0.75rem;
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Dropdown-menu */

/*
	 * Desktop dropdown -- Figma "dropdown_v02" green variant (15732:239): a
	 * 308px primary (#004129) panel with a 1px white/30 border; items Oswald
	 * Medium 16/32 white, 16px x 8px padding, white/30 rules between them.
	 * The hovered / current item darkens slightly. Opens 8px under the nav item.
	 */

.site-header .menu-item .dropdown-menu {
  line-height: 1.375;
}

@media not all and (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu {
    display: none;
    border-left-width: 2px;
    --tw-border-opacity: 1;
    border-left-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
    background-color: rgb(255 255 255 / 0.05);
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  }
}

@media (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu {
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: -1rem;
    margin-top: 0.5rem;
    width: 308px;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.3);
    --tw-bg-opacity: 1;
    background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
    font-size: 1.125rem;
    line-height: 1.75rem;
    opacity: 0;
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
  }

  .site-header .menu-item .dropdown-menu::before {
    position: absolute;
    left: 0px;
    right: 0px;
    top: -9px;
    height: 0.5rem;
    --tw-content: '';
    content: var(--tw-content);
  }
}

.site-header .menu-item .dropdown-menu .menu-item:hover > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item:focus-within > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item.current-menu-item > .dropdown-item {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

@media not all and (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .menu-item:hover > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item:focus-within > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item.current-menu-item > .dropdown-item {
    background-color: rgb(255 255 255 / 0.05);
  }
}

@media (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .menu-item:hover > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item:focus-within > .dropdown-item,
	.site-header .menu-item .dropdown-menu .menu-item.current-menu-item > .dropdown-item {
    background-color: rgb(0 0 0 / 0.25);
  }

  .site-header .menu-item-has-children:hover > .dropdown-menu {
    visibility: visible;
    top: 100%;
    opacity: 1;
  }

  .site-header
		.menu-item
		.dropdown-menu
		.menu-item-has-children:hover
		.dropdown-menu {
    top: 0px;
  }
}

.site-header
		.menu-item
		.dropdown-menu
		.menu-item-has-children
		.dropdown-item {
  padding-right: 2.5rem !important;
}

.site-header .menu-item .dropdown-menu .menu-item .dropdown-item {
  display: block;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media not all and (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .menu-item .dropdown-item {
    border-bottom-width: 1px;
    border-bottom-color: rgb(255 255 255 / 0.1);
    background-color: transparent;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: rgb(255 255 255 / 0.8);
  }

  .site-header .menu-item .dropdown-menu .menu-item .dropdown-item:hover {
    background-color: rgb(255 255 255 / 0.05);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }
}

@media (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .menu-item .dropdown-item {
    border-bottom-width: 1px;
    border-bottom-color: rgb(255 255 255 / 0.3);
    background-color: transparent;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-family: Oswald, Oswald Fallback, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 2rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
  }
}

@media not all and (min-width: 1200px) {
  .site-header
		.menu-item
		.dropdown-menu
		.menu-item
		.dropdown-menu
		.dropdown-item {
    padding-left: 0.75rem;
  }
}

@media (min-width: 1200px) {
  .site-header
		.menu-item
		.dropdown-menu
		.menu-item:last-child
		> .dropdown-item {
    border-bottom-width: 0px;
  }

  .site-header
		.menu-item
		.dropdown-menu
		.menu-item-has-children:hover
		.caret {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }
}

.site-header .menu-item .dropdown-menu .caret {
  top: -0.125rem;
  right: 0px;
  --tw-text-opacity: 1;
  color: rgb(18 21 19 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

@media (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .caret {
    top: 0.75rem;
    right: 0.25rem;
  }
}

.site-header .menu-item .dropdown-menu .caret svg {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (min-width: 1200px) {
  .site-header .menu-item .dropdown-menu .caret svg {
    --tw-rotate: 0deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .site-header .menu-item .dropdown-menu .dropdown-menu {
    left: 100%;
    right: auto;
    top: 0.125rem;
  }

  .site-header
		.menu-item
		.dropdown-menu
		.dropdown-menu:nth-last-child(-n + 3) {
    left: 100% !important;
    right: auto !important;
  }
}

/**
	 * Hamburger Menu Icon -- mobile reference (mobile-375.png) shows three
	 * plain brand-green bars directly on the dark header, NOT the
	 * boilerplate's filled green square with white bars. Colors swapped to
	 * match; sizing/animation mechanics kept as-is (structural infra, not a
	 * design value).
	 */

/**
	 * `z-ss-60` is required, not decorative: `.navbar-collapse` is
	 * `max-xl:fixed max-xl:z-50` and, once `.show` is added, spans the full
	 * viewport height at `top-0`/`bottom-0` -- without a higher stacking
	 * context of its own the toggler button is painted UNDER the open
	 * drawer and becomes unclickable, so there is no way to close the menu
	 * again. Confirmed with a real click, not assumed: see
	 * shared-chrome.md "mobile nav actually opens and closes".
	 */

/**
	 * `size-11` (44x44) meets the ≥44px touch-target minimum
	 * (references/html-css-standards.md § 5); the boilerplate's original
	 * w-11/h-10 (44x40) fell 4px short on height.
	 */

.site-header .navbar-toggler {
  position: relative;
  z-index: 60;
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.25rem;
  background-color: transparent;
  padding: 0.75rem;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (min-width: 1200px) {
  .site-header .navbar-toggler {
    display: none;
  }
}

.site-header .navbar-toggler span {
  display: block;
  height: 0.25rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .navbar-toggler span:nth-child(2) {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
  width: calc(100% - 8px);
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .navbar-toggler span:nth-child(3) {
  width: calc(100% - 15px);
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .navbar-toggler.collapsed span:first-child {
  width: 100%;
  --tw-translate-y: 9px;
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition-property: all;
  transition-delay: 300ms;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .navbar-toggler.collapsed span:nth-child(2) {
  visibility: hidden;
  width: 0px;
  opacity: 0;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .navbar-toggler.collapsed span:last-child {
  width: 100%;
  --tw-translate-y: -7px;
  --tw-rotate: 130deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition-property: all;
  transition-delay: 300ms;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/**
	 * `.ss-hero-banner__btn-outline` -- the two secondary hero CTAs
	 * ("Upload Your ID", "Chat with US"). Measured from the Home/About/
	 * Services Hub hero frames: identical square-corner geometry and
	 * padding to the house `.btn-cta`, but transparent with a translucent
	 * cream border instead of a solid `bg-primary` fill.
	 */

.ss-hero-banner__btn-outline {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  border-width: 1px;
  border-color: rgb(250 248 243 / 0.3);
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-hero-banner__btn-outline:hover {
  background-color: rgb(250 248 243 / 0.1);
}

@media (min-width: 992px) {
  .ss-hero-banner__btn-outline {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.ss-hero-banner__btn-outline svg {
  width: 1.25rem;
  height: 1.25rem;
}

/**
	 * `.ss-hero-banner--tall` -- Home only (see ss_hero_banner.php). The 1440
	 * frame is 938px to the stats band = 65.14vw, capped there above the
	 * canvas; copy sits on the bottom edge, 66px under the CTA row. Below
	 * lg the regular padding-driven height is kept.
	 *
	 * Laptops (lg up to the 1440 canvas) also cap it at the viewport height:
	 * the width ratio alone gave 834-890px on 1280x720 / 1366x768 screens,
	 * pushing the stats band well below the fold.
	 */

@media (min-width: 992px) {
  .ss-hero-banner--tall {
    display: flex;
    min-height: min(65.14vw,938px);
    flex-direction: column;
    justify-content: flex-end;
  }

  @media (max-width: 1439.98px) {
    .ss-hero-banner--tall {
      min-height: min(65.14vw,100vh);
    }

    @supports (height:100svh) {
      .ss-hero-banner--tall {
        min-height: min(65.14vw,100svh);
      }
    }
  }

  .ss-hero-banner--tall>.container {
    width: 100%;
    padding-bottom: 3.5rem;
  }
}

@media (min-width: 1200px) {
  .ss-hero-banner--tall>.container {
    padding-bottom: 4rem;
  }
}

/**
	 * Mobile-only "Chat with US" launcher -- a tab stuck to the right edge
	 * of the viewport (fixed, so it stays while scrolling), rounded on the
	 * left side only. Label runs vertically, reading bottom-to-top, with the
	 * upright icon below it (flex-col-reverse: the icon comes first in the
	 * markup). Hidden from md up by `md:hidden` on the element, where the
	 * inline hero CTA takes over. Sits under the header (z-50) so the open
	 * mobile menu covers it.
	 */

.ss-hero-banner__chat-fab {
  position: fixed;
  right: 0px;
  top: 50%;
  z-index: 40;
  display: flex;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.75rem;
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-bottom: 1rem;
  padding-top: 1.25rem;
  text-decoration-line: none;
  --tw-shadow: 0 4px 9px 0 rgba(0, 0, 0, 0.25);
  --tw-shadow-colored: 0 4px 9px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ss-hero-banner__chat-fab-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.ss-hero-banner__chat-fab-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* vertical-rl + 180deg turn = reads bottom-to-top, as in the design. */

.ss-hero-banner__chat-fab-label {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  white-space: nowrap;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
  writing-mode: vertical-rl;
}

.ss-payment-options__slider .slick-track {
  display: flex;
}

/*
	 * The slide must stay `height: auto` -- that is what lets the flex track
	 * stretch it. A percentage height (h-full) on the slide itself switches the
	 * stretch off and every card falls back to its own content height.
	 */

.ss-payment-options__slider .slick-slide {
  height: auto !important;
}

.ss-payment-options__slider .slick-slide > div {
  height: 100%;
}

.ss-payment-options__slider:not(.slick-initialized) {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .ss-payment-options__slider:not(.slick-initialized) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .ss-payment-options__slider:not(.slick-initialized) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ss-case-form .gform_wrapper .gform_fields {
  margin-left: 0px;
  margin-right: 0px;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 1.5rem;
}

@media (min-width: 768px) {
  .ss-case-form .gform_wrapper .gform_fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ss-case-form .gform_wrapper .gfield {
  grid-column: 1 / -1;
  width: auto;
  padding-left: 0px;
  padding-right: 0px;
}

@media (min-width: 768px) {
  .ss-case-form .gform_wrapper .gfield--width-half {
    grid-column: span 1 / span 1;
    width: auto;
  }
}

/* ── Section titles ────────────────────────────────────────────── */

.ss-case-form .gform_wrapper .gsection {
  margin-bottom: 0.5rem;
}

.ss-case-form .gform_wrapper .gsection ~ .gsection {
  margin-top: 1rem;
}

.ss-case-form .gform_wrapper .gsection .gsection_title {
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(234 230 220 / var(--tw-text-opacity, 1));
}

@media (min-width: 992px) {
  .ss-case-form .gform_wrapper .gsection .gsection_title {
    font-size: 2rem;
  }
}

/* ── Labels ────────────────────────────────────────────────────── */

.ss-case-form .gform_wrapper .gfield_label {
  margin-bottom: 0.5rem;
  display: block;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: none;
  line-height: 1.5rem;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(234 230 220 / var(--tw-text-opacity, 1));
}

/* The design shows no required marker; `aria-required` still carries it. */

.ss-case-form .gform_wrapper .gfield_required {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ── Controls ──────────────────────────────────────────────────── */

.ss-case-form .gform_wrapper
		input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="file"]),
	.ss-case-form .gform_wrapper select,
	.ss-case-form .gform_wrapper textarea {
  height: 60px;
  width: 100%;
  border-radius: 0px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(51 68 59 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(25 30 27 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0px;
  padding-bottom: 0px;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-case-form .gform_wrapper
		input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="file"])::-moz-placeholder, .ss-case-form .gform_wrapper select::-moz-placeholder, .ss-case-form .gform_wrapper textarea::-moz-placeholder {
  color: rgb(255 255 255 / 0.6);
}

.ss-case-form .gform_wrapper
		input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="file"])::placeholder,
	.ss-case-form .gform_wrapper select::placeholder,
	.ss-case-form .gform_wrapper textarea::placeholder {
  color: rgb(255 255 255 / 0.6);
}

.ss-case-form .gform_wrapper
		input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="file"]):focus,
	.ss-case-form .gform_wrapper select:focus,
	.ss-case-form .gform_wrapper textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 65 41 / var(--tw-ring-opacity, 1));
}

.ss-case-form .gform_wrapper textarea {
  height: auto;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Select: white 24px chevron at the right edge; placeholder option reads muted. */

.ss-case-form .gform_wrapper select {
  background-size: 24px 24px;
  background-position: right 16px center;
  padding-right: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ss-case-form .gform_wrapper select:has(option.gf_placeholder:checked) {
  color: rgb(255 255 255 / 0.6);
}

.ss-case-form .gform_wrapper select option {
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Date: the design draws no calendar icon; keep GF's trigger but quiet it. */

.ss-case-form .gform_wrapper .ginput_container_date {
  position: relative;
}

.ss-case-form .gform_wrapper .ui-datepicker-trigger {
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 1.25rem;
  height: 1.25rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  opacity: 0.6;
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/* ── Help text ─────────────────────────────────────────────────── */

.ss-case-form .gform_wrapper .gfield_description:not(.gform_fileupload_rules):not(.validation_message) {
  margin-top: 0.875rem;
  padding: 0px;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── File upload ───────────────────────────────────────────────── */

.ss-case-form .gform_wrapper .ginput_container_fileupload {
  position: relative;
}

.ss-case-form .gform_wrapper .gform_fileupload_multifile {
  margin: 0px;
}

.ss-case-form .gform_wrapper .gform_drop_area {
  /* cursor-pointer: the whole box opens the picker (ss.uploadDropAreaClick). */
  display: flex;
  min-height: 191px;
  cursor: pointer;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  justify-content: center;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(51 68 59 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(25 30 27 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 70px;
  padding-top: 2.5rem;
  text-align: center;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  color: rgb(255 255 255 / 0.6);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.ss-case-form .gform_wrapper .gform_drop_area.hover,
	.ss-case-form .gform_wrapper .gform_drop_area:hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
}

/* Cloud icon on its own line, 24px above the text. */

.ss-case-form .gform_wrapper .gform_drop_area::before {
  margin-bottom: 1.5rem;
  display: block;
  height: 33px;
  width: 100%;
  background-color: rgb(255 255 255 / 0.6);
  content: "";
  -webkit-mask: url("assets/icons/cloud-upload.svg") center / 42px 33px no-repeat;
  mask: url("assets/icons/cloud-upload.svg") center / 42px 33px no-repeat;
}

/* "Click to browse" (the button) then " or drag & drop". */

.ss-case-form .gform_wrapper .gform_button_select_files {
  order: 1;
  margin: 0px;
  cursor: pointer;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ss-case-form .gform_wrapper .gform_button_select_files:hover {
  --tw-text-opacity: 1;
  color: rgb(184 208 196 / var(--tw-text-opacity, 1));
}

.ss-case-form .gform_wrapper .gform_drop_instructions {
  order: 2;
  white-space: pre;
}

/* Accepted types sit inside the box, 8px under the instruction line
	   (40 top + 33 icon + 24 gap + 24 line + 8 = 129). */

.ss-case-form .gform_wrapper .gform_fileupload_rules {
  pointer-events: none;
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  top: 129px;
  margin: 0px;
  padding: 0px;
  text-align: center;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  color: rgb(255 255 255 / 0.6);
  opacity: 0.5;
}

.ss-case-form .gform_wrapper .ginput_preview_list {
  margin-top: 0.75rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-case-form .gform_wrapper .ginput_preview_list:empty {
  display: none;
}

.ss-case-form .gform_wrapper .ginput_preview_list .gform_delete_file {
  margin-left: 0.5rem;
  color: rgb(255 255 255 / 0.6);
}

.ss-case-form .gform_wrapper .ginput_preview_list .gform_delete_file:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Validation ────────────────────────────────────────────────── */

.ss-case-form .gform_wrapper .gfield_error
		input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="file"]),
	.ss-case-form .gform_wrapper .gfield_error select {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.ss-case-form .gform_wrapper .validation_message {
  margin-top: 0.5rem;
  padding: 0px;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.ss-case-form .gform_validation_errors {
  margin-bottom: 1.5rem;
  border-width: 1px;
  border-color: rgb(248 113 113 / 0.5);
  background-color: rgb(239 68 68 / 0.1);
  padding: 1rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Submit ────────────────────────────────────────────────────── */

.ss-case-form .gform_footer {
  margin-top: 2.5rem;
  padding: 0px;
}

.ss-case-form .gform_footer input[type="submit"],
	.ss-case-form .gform_footer .gform_button {
  display: flex;
  height: 60px;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0px;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-case-form .gform_footer input[type="submit"]:hover,
	.ss-case-form .gform_footer .gform_button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.ss-case-form .gform_footer input[type="submit"]:focus-visible,
	.ss-case-form .gform_footer .gform_button:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
  outline-color: #fff;
}

.ss-case-form .gform_confirmation_message {
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Cards match the rating card's height: the slider fills the row. */

@media (min-width: 992px) {
  .ss-testimonials-slider,
	.ss-testimonials-slider .slick-list {
    height: 100%;
  }
}

.ss-testimonials-slider .slick-list {
  margin-left: -21.5px;
  margin-right: -21.5px;
}

.ss-testimonials-slider .slick-track {
  display: flex;
}

@media (min-width: 992px) {
  .ss-testimonials-slider .slick-track {
    height: 100%;
  }
}

.ss-testimonials-slider .slick-slide {
  height: auto;
}

.ss-testimonials-slider .slick-slide > div {
  height: 100%;
}

.ss-testimonials__slide {
  height: 100%;
  padding-left: 21.5px;
  padding-right: 21.5px;
}

/* Before slick initialises (and with JS off): same pair, side by side. */

.ss-testimonials-slider:not(.slick-initialized) {
  margin-left: -21.5px;
  margin-right: -21.5px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .ss-testimonials-slider:not(.slick-initialized) {
    flex-direction: row;
    gap: 0px;
  }

  .ss-testimonials-slider:not(.slick-initialized) > .ss-testimonials__slide {
    width: 50%;
  }
}

.ss-testimonials .slick-arrow {
  top: 50%;
  bottom: auto;
  margin: 0px;
  width: 2rem;
  height: 2rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 0px;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ss-testimonials .slick-arrow::before {
  content: var(--tw-content);
  width: 1rem;
  height: 1rem;
}

.ss-testimonials .slick-arrow.slick-disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  opacity: 0.4;
}

.ss-testimonials .slick-arrow:not(.slick-disabled):hover {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(12 122 84 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ss-testimonials .slick-prev {
  left: -0.75rem;
  right: auto;
}

@media (min-width: 992px) {
  .ss-testimonials .slick-prev {
    left: -1.25rem;
  }
}

.ss-testimonials .slick-next {
  right: -0.75rem;
  left: auto;
}

@media (min-width: 992px) {
  .ss-testimonials .slick-next {
    right: -15px;
  }
}

.ss-upload-popup {
  margin: 0px;
  max-height: none;
  max-width: none;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  inset: 0;
}

.ss-upload-popup[open] {
  position: fixed;
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.ss-upload-popup::backdrop {
  background-color: rgb(0 0 0 / 0.7);
}

.ss-upload-popup__panel {
  position: relative;
  max-height: 90vh;
  width: 100%;
  max-width: 560px;
  overflow-y: auto;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

@media (min-width: 576px) {
  .ss-upload-popup__panel {
    padding: 2rem;
  }
}

.ss-upload-popup__close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  display: flex;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
  background-color: transparent;
  font-size: 1.5rem;
  line-height: 2rem;
  line-height: 1;
  color: rgb(255 255 255 / 0.7);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.ss-upload-popup__close:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-filmstrip__tile {
  position: relative;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.ss-filmstrip__img,
	.ss-filmstrip__dim,
	.ss-filmstrip__shade,
	.ss-filmstrip__caption {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ── Inactive (default for every tile) ─────────────────────────── */

.ss-filmstrip__img {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.ss-filmstrip__shade {
  opacity: 0;
}

.ss-filmstrip__caption {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0;
}

/* ── Active ────────────────────────────────────────────────────── */

.ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured,
	.ss-filmstrip__tile:hover,
	.ss-filmstrip__tile:focus-within {
  z-index: 10;
  --tw-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.25);
  --tw-shadow-colored: 0 4px 12px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured .ss-filmstrip__img, .ss-filmstrip__tile:hover .ss-filmstrip__img, .ss-filmstrip__tile:focus-within .ss-filmstrip__img {
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured .ss-filmstrip__dim, .ss-filmstrip__tile:hover .ss-filmstrip__dim, .ss-filmstrip__tile:focus-within .ss-filmstrip__dim {
  opacity: 0;
}

.ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured .ss-filmstrip__shade, .ss-filmstrip__tile:hover .ss-filmstrip__shade, .ss-filmstrip__tile:focus-within .ss-filmstrip__shade {
  opacity: 1;
}

.ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured .ss-filmstrip__caption, .ss-filmstrip__tile:hover .ss-filmstrip__caption, .ss-filmstrip__tile:focus-within .ss-filmstrip__caption {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 1;
  transition-delay: 150ms;
}

.ss-filmstrip__tile:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-inset: inset;
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 65 41 / var(--tw-ring-opacity, 1));
}

/* ── Mobile / tablet: featured tile only ───────────────────────── */

@media (max-width: 991.98px) {
  .ss-filmstrip__tile {
    display: none;
  }

  .ss-filmstrip__tile.is-featured {
    display: block;
    height: 24rem;
    width: 100%;
  }
}

/* ── Desktop row: sizes animate between the two states ─────────── */

@media (min-width: 992px) {
  .ss-filmstrip__tile {
    flex: 1 1 0;
    height: min(27.78vw, 400px);
    transition:
				flex-grow 500ms ease-out,
				flex-basis 500ms ease-out,
				height 500ms ease-out,
				box-shadow 500ms ease-out;
  }

  .ss-filmstrip:not(:has(.ss-filmstrip__tile:hover, .ss-filmstrip__tile:focus-within)) .ss-filmstrip__tile.is-featured,
		.ss-filmstrip__tile:hover,
		.ss-filmstrip__tile:focus-within {
    flex: 0 0 min(24.58vw, 354px);
    height: min(33.47vw, 482px);
  }
}

/**
 * ss_affordable_payment_plans -- component styles
 *
 * Kept as its own file/classes rather than editing `buttons.css`, same
 * precedent as `hero-banner.css` (Phase 4 chrome owns `.btn-cta`; this
 * module only REUSES it for the one instance -- TG-14/404 -- that is
 * confirmed to actually use that dark-green fill).
 */

/**
 * .ss-animate scroll-reveal entrance effects (finding F-24).
 *
 * Paired with `ss.animateOnScroll()` in javascript/script.js, which toggles
 * `.is-visible` via IntersectionObserver. See references/animation-standards.md.
 *
 * DELIBERATE DEVIATION from the skill's shipped `<skill>/assets/animations/
 * animations.css` template: that version hides `.ss-animate` unconditionally
 * (`opacity: 0` with no JS-gate) and relies solely on a
 * `@media (prefers-reduced-motion: reduce)` override to keep content visible
 * when the transition should be skipped. That still leaves content invisible
 * in the one case that matters most here -- JavaScript not running at ALL
 * (disabled, blocked, or erroring out before `animateOnScroll()` is reached in
 * `ss.init()`'s sequential method chain, since several of this theme's own
 * `ss` methods are NOT wrapped in try/catch). A `prefers-reduced-motion`
 * media query does nothing to help that case; the user's motion preference
 * may be "no preference" and the elements would still never be revealed.
 *
 * Fix: the hidden/transform starting state below is scoped under
 * `html.js-animate`, a class `ss.animateOnScroll()` adds to `<html>` ONLY
 * once it has confirmed it is actually going to observe and reveal the
 * elements (i.e. motion is not reduced AND IntersectionObserver exists). If
 * that script never runs -- or runs but takes neither branch -- `.ss-animate`
 * carries no opacity/transform rule at all and is fully visible by default,
 * which is a stronger guarantee than depending on any `@media` fallback.
 *
 * Ordering still matters: [data-animate="..."] and .is-visible have EQUAL
 * CSS specificity (two/three selectors each, but matched pairwise), so
 * whichever rule appears LAST in this file wins the cascade regardless of
 * which classes are actually on the element. `.is-visible` must stay below
 * the data-animate variants, or the transform never actually resets once
 * revealed -- see the skill's own README for the real bug this shipped with
 * before it was tested.
 */

/**
 * ss_areas_we_serve -- live map (theme/js/areas-map.js)
 *
 * Markers reproduce the design's map pills (dark green fill, 2px green
 * outline, white Roboto-like label with a leading dot, fully rounded); on
 * hover they fill with the pin green (#077940). Every pin rests dark; the
 * matching city tab and pin highlight together (areas-map.js).
 *
 * The Esri dark basemap is grey; a light filter on the tile layer tints it
 * toward the design's dark green map. Labels on markers are HTML, unaffected.
 */

/* Not in @layer: these classes only appear in theme/js/areas-map.js, which
   Tailwind's content scan does not read, so a layered rule would be purged. */

.ss-areas-map__canvas {
  z-index: 1;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
  background: #0f1411;
}

.ss-areas-map.is-live .ss-areas-map__canvas {
  opacity: 1;
}

.ss-areas-map .leaflet-tile-pane {
  filter: sepia(0.35) hue-rotate(95deg) saturate(1.6) brightness(0.95) contrast(1.05);
}

.ss-areas-map .leaflet-container {
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  background: #0f1411;
}

/* Markers ------------------------------------------------------------- */

.ss-map-marker-wrap {
  border-width: 0px !important;
  background-color: transparent !important;
}

.ss-map-marker {
  display: inline-flex;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
  border-radius: 9999px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(44 138 90 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(18 53 38 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

@media (min-width: 576px) {
  .ss-map-marker {
    font-size: 13px;
  }
}

.ss-map-marker__dot {
  width: 0.25rem;
  height: 0.25rem;
  flex: none;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

/* Out-rank Leaflet's own `.leaflet-container a { color: #0078A8 }`. */

.ss-areas-map a.ss-map-marker,
	.ss-areas-map a.ss-map-marker:visited,
	.ss-areas-map .ss-map-marker {
  color: #fff;
}

.ss-map-marker:hover,
	.ss-map-marker:focus-visible,
	.ss-map-marker.is-sync,
	.ss-areas-map a.ss-map-marker:hover {
  --tw-border-opacity: 1;
  border-color: rgb(7 121 64 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(7 121 64 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  color: #fff;
}

.ss-map-marker.is-link {
  cursor: pointer;
}

/* The highlighted (home office) pin only ranks first for labels -- it rests
	   dark like the rest and turns green on hover (client). */

/* Compact pins on narrow maps (set by areas-map.js below 800px wide), where
	   neighbouring Rio Grande Valley cities would otherwise overlap. */

.ss-areas-map.is-compact .ss-map-marker {
  gap: 0.25rem;
  border-width: 1px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 10px;
}

/* Controls ------------------------------------------------------------- */

.ss-areas-map .leaflet-bar {
  border-radius: 0px !important;
  border-color: rgb(255 255 255 / 0.2) !important;
  --tw-shadow: 0 0 #0000 !important;
  --tw-shadow-colored: 0 0 #0000 !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.ss-areas-map .leaflet-bar a {
  border-color: rgb(255 255 255 / 0.2) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.ss-areas-map .leaflet-bar a:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1)) !important;
}

.ss-areas-map .leaflet-control-attribution {
  background-color: rgb(0 0 0 / 0.6) !important;
  font-size: 10px !important;
  color: rgb(255 255 255 / 0.6) !important;
}

.ss-areas-map .leaflet-control-attribution a {
  color: rgb(255 255 255 / 0.7) !important;
}

/* Overlapping pins (decided in areas-map.js, re-checked on zoom) collapse
	   to a green dot; hovering or tapping one shows its label again. */

.ss-areas-map .ss-map-marker.is-collapsed,
	.ss-areas-map.is-compact .ss-map-marker.is-collapsed {
  width: 0.75rem;
  height: 0.75rem;
  gap: 0px;
  overflow: hidden;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(44 138 90 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(18 53 38 / var(--tw-bg-opacity, 1));
  padding: 0px;
  font-size: 0px;
}

.ss-areas-map .ss-map-marker.is-collapsed .ss-map-marker__dot {
  display: none;
}

.ss-areas-map .ss-map-marker.is-collapsed:hover,
	.ss-areas-map .ss-map-marker.is-collapsed.is-sync,
	.ss-areas-map.is-compact .ss-map-marker.is-collapsed:hover,
	.ss-areas-map .ss-map-marker.is-collapsed:focus-visible {
  width: auto;
  height: auto;
  gap: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(7 121 64 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(7 121 64 / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 10px;
}

.ss-areas-map .ss-map-marker.is-collapsed:hover .ss-map-marker__dot {
  display: block;
}

/* A city tab or location card lit by hovering its pin (areas-map.js). */

.ss-city-link.is-sync {
  border-color: #004129;
  background-color: #004129;
  color: #FAF8F3;
}

/* Alternative label sides chosen by areas-map.js when the default centred
	   label would overlap a neighbour; the label stays touching its point. */

.ss-map-marker.pos-top {
  transform: translate(-50%, calc(-100% - 2px));
}

.ss-map-marker.pos-bottom {
  transform: translate(-50%, 2px);
}

.ss-map-marker.pos-right {
  transform: translate(-6px, -50%);
}

.ss-map-marker.pos-left {
  transform: translate(calc(-100% + 6px), -50%);
}

.ss-city-link.is-sync p {
  color: rgb(255 255 255 / 0.8);
}

/**
 * Article prose for a single blog post (TG-12).
 *
 * The post body is `the_content()`, composed by `single.php` into the left
 * column beside `ss_blog_sidebar`. It deliberately does NOT use
 * `.entry-content`: that wrapper carries the block editor's own layout rules
 * (`.entry-content > * { @apply max-w-content mx-auto; }`), which clamped the
 * article to 395px inside an 837px column.
 *
 * It also shipped invisible. The theme's prose defaults are written for a light
 * background, so body copy computed to rgb(18,21,19) on a rgb(18,21,19)
 * section — black on black. Every colour below is set explicitly for the dark
 * band rather than inherited.
 *
 * Sizes measured off the Figma frame (node 15905:1974), not guessed:
 *   body      16px, lines 26px apart  -> text-base leading-relaxed
 *   body fill rgb(157,158,157) over rgb(10,12,11) == white at 60%
 *   h2        ~32px, white
 *   column    827px of a 1280px container == col-span-2 of 3 with gap-12
 */

.ss-article {
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.6);
}

.ss-article > * + * {
  margin-top: 1.5rem;
}

.ss-article h2 {
  margin-top: 2.5rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-article h3 {
  margin-top: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-article p {
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.6);
}

.ss-article a {
  --tw-text-opacity: 1;
  color: rgb(184 208 196 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
  text-underline-offset: 2px;
}

.ss-article strong {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(234 230 220 / var(--tw-text-opacity, 1));
}

.ss-article ul {
  display: flex;
  list-style-type: none;
  flex-direction: column;
  gap: 0.75rem;
  padding-left: 1rem;
}

.ss-article ul li {
  position: relative;
  padding-left: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.6);
}

.ss-article ul li::before {
  position: absolute;
  left: 0px;
  top: 0px;
  color: rgb(255 255 255 / 0.6);
  content: "\2022";
}

.ss-article ol {
  display: flex;
  list-style-type: decimal;
  flex-direction: column;
  gap: 0.75rem;
  padding-left: 2rem;
}

.ss-article blockquote {
  border-left-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  background-color: rgb(255 255 255 / 0.05);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-style: italic;
  color: rgb(255 255 255 / 0.6);
}

.ss-article blockquote p {
  font-style: italic;
  color: rgb(255 255 255 / 0.6);
}

/**
 * The inline "Need Bail Help Now?" card. A block-editor group, so it is styled
 * by the class the block carries rather than by a module partial.
 */

.ss-article .ss-post-cta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media (min-width: 992px) {
  .ss-article .ss-post-cta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }
}

.ss-article .ss-post-cta h3 {
  margin-top: 0px;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ss-article .ss-post-cta p {
  margin-top: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.7);
}

.ss-article .ss-post-cta .wp-block-buttons {
  flex: none;
}

.ss-article .ss-post-cta .wp-block-button__link {
  display: inline-block;
  white-space: nowrap;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-family: Open Sans, Open Sans Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.ss-article .ss-post-cta .wp-block-button__link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 230 220 / var(--tw-bg-opacity, 1));
}

.btn {
  display: inline-flex;
  min-width: 8rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  .btn {
    min-width: 10rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

/**
 * `.btn-cta` -- the header/footer phone call-to-action. Measured from
 * `Frame 2` in the header (`Group 30`) and the footer's Address column:
 * square corners (no `border-radius` on the node -- confirmed by
 * pixel-zooming the reference screenshot), `bg-primary` fill, icon-leading
 * text, 16px/32px padding. Deliberately NOT `.btn` -- that class is
 * `rounded-full`, which this design's CTA never is (see shared-chrome.md,
 * "verify the real arrangement" -- the boilerplate's pill button is the
 * assumed-convention trap this project's CTA does not follow).
 *
 * `whitespace-nowrap` (Phase 6, F6) removed: inside the footer's narrow
 * Address column at `lg:`/`xl:` this held the button open to its full
 * one-line content width regardless of the column's actual available
 * space, contributing to the footer's measured horizontal overflow
 * (`document.scrollWidth` 200px over the 992 viewport, 8px over 1200 --
 * see _workspace/header-footer-builder/log.md). `normal` (the default) only
 * wraps when the container is actually too narrow; at every width this was
 * pixel-verified against Figma (2xl/1440) there is ample room and the text
 * stays on one line, so this does not change the verified rendering.
 */

.btn-cta {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.5;
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.btn-cta:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.btn-cta svg {
  width: 1.25rem;
  height: 1.25rem;
}

.btn-cta__icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
}

/**
 * ss_contact_cta -- component styles
 *
 * Kept as its own file rather than editing `buttons.css`'s `.btn-cta` (owned by Phase 4
 * chrome, used for the header/footer phone CTA) or `affordable-payment-plans.css`'s
 * `.ss-affordable-payment-plans__btn` -- same precedent both of those files already use for
 * not depending on cascade order between two same-specificity classes.
 */

/**
 * FAQ Accordion -- El Padrino Bail Bonds
 *
 * Reuses the theme's existing `.accordion` / `.accordion-item` / `.accordionBtn` /
 * `.accordionBody` system (`misc()` in `javascript/script.js`) UNMODIFIED -- same
 * precedent as `footer.css`'s mobile column accordion. This file only supplies the
 * `.itemActive` visual states the shared click handler already toggles; no new JS
 * anywhere.
 *
 * Panels ship WITHOUT a `hidden` class in `ss_faq_accordion.php`'s server-rendered
 * markup (unlike footer's own use of this system), so every answer is genuinely
 * visible with no JavaScript at all -- required by this module's own build brief.
 * `misc()`'s `slideUp()`/`slideToggle()` calls act on the DOM's current computed
 * visibility regardless of how that visibility was first set, so this doesn't change
 * how the shared handler behaves once a user actually clicks a question.
 *
 * The "open" toggle glyph is NOT a second icon asset. The Figma source's own open
 * state (`figma-export-domestic_violence_bail_bonds_service.json`, item 1's "Group 3")
 * draws a bare 12.44x1.78px horizontal vector for that state -- literally a minus bar,
 * not a re-drawn icon -- so it is reproduced here as a plain CSS bar
 * (`.ss-faq-accordion__minus`), cross-faded against the real `plus.svg` glyph
 * (`.ss-faq-accordion__plus`) purely via the `.itemActive` class the shared JS already
 * applies.
 */

/**
 * FAQ With Categories -- El Padrino Bail Bonds (TG-09, "Bail Bonds FAQ")
 *
 * Reuses the theme's existing `.accordion` / `.accordion-item` / `.accordionBtn` /
 * `.accordionBody` system (`misc()` in `javascript/script.js`) UNMODIFIED -- same
 * mechanism `faq-accordion.css` already documents, no new JS anywhere. This module's
 * own measured colors differ from that sibling's (this page's own JSON, not copied --
 * see `ss_faq_with_categories.php`'s file header), so the values below are this file's
 * own even though the selector shapes are identical.
 *
 * Panels ship WITHOUT a `hidden` class in `ss_faq_with_categories.php`'s server-
 * rendered markup, so every answer is genuinely visible with no JavaScript. The
 * accepted trade-off (same as `faq-accordion.css`): every item uses its CLOSED look at
 * first paint regardless of the design's own "item 1 open" default; `.itemActive`
 * (toggled by the shared, unmodified click handler) is what switches an item to its
 * OPEN look after a real click.
 */

/**
 * Footer Styles -- El Padrino Bail Bonds
 *
 * The mobile reference (mobile-375.png, bottom band) shows the four footer
 * columns (Services, Quick Links, Address, Locations) collapsed into the
 * theme's existing `.accordion` / `.accordionBtn` / `.accordionBody`
 * pattern (see javascript-guide.md) -- one open at a time, chevron flips on
 * open. No new JS: `script.js`'s `misc()` already toggles `.itemActive` on
 * `.accordion-item` and slides `.accordionBody`. This file only supplies the
 * visual treatment `.accordion` doesn't have anywhere else in the
 * boilerplate yet.
 */

/*------- Gravity Form Default Styling -------*/

/* ---------------- Gravity Forms Wrapper ---------------- */

.gform_wrapper {
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

/* Hide hidden labels */

.gform_wrapper .hidden_label label,
.gform_wrapper .hidden_label legend.gfield_label {
  display: none;
}

/*
 * Screen-reader-only label: for a field whose design shows no visible label
 * at all (e.g. the Start Your Case ID upload dropzone, whose own copy —
 * "Click to browse or drag & drop" — is the visual substitute). Unlike
 * .hidden_label above (display:none, which also removes the label from
 * assistive tech), this keeps the label in the accessibility tree while
 * hiding it visually. Applied via the field's cssClass in Phase 9.
 */

.gform_wrapper .sr-label-only label,
.gform_wrapper .sr-label-only legend.gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/*
 * Honeypot anti-spam field: must be invisible to real visitors (this is the
 * standard behaviour Gravity Forms' own disabled core CSS otherwise
 * provides — gform_disable_css turns that off site-wide, so without this
 * rule the honeypot renders as a normal-looking "Phone" field a real
 * visitor could fill in, which both looks broken and defeats the trap).
 * display:none is deliberate here (unlike .sr-label-only above): a honeypot
 * is not a real field and must not be reachable by anyone, human or AT.
 */

.gform_validation_container {
  position: absolute !important;
  left: -9000px;
  display: none !important;
}

/* Start Your Case panel: see start-your-case-form.css (scoped, Figma 15784:10626). */

/* ---------------- Section Break ---------------- */

/* Matches the group legends the approved ss_start_your_case_form partial
   renders in its own disabled preview (h3, font-secondary text-2xl) so the
   live Gravity Form reads identically once form_id is set. */

.gform_wrapper .gsection {
  margin-bottom: 0px;
  border-width: 0px;
  padding: 0px;
}

.gform_wrapper .gsection .gsection_title {
  font-family: Oswald, Oswald Fallback, sans-serif;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Labels */

.gform_wrapper label,
.gform_wrapper legend.gfield_label {
  margin-bottom: 0.125rem;
  display: block;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

/* Required asterisk */

.gform_wrapper .gfield_required {
  margin-left: 0.125rem;
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

/* ---------------- Layout ---------------- */

.gform_wrapper .gform_fields {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 2.5rem;
}

@media (min-width: 768px) {
  .gform_wrapper .gform_fields {
    row-gap: 3rem;
  }
}

.gform_wrapper .gfield {
  width: 100%;
  flex-grow: 1;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/* ---------------- Width Classes ---------------- */

@media (min-width: 768px) {
  .gform_wrapper .gfield--width-half {
    width: 50%;
  }

  .gform_wrapper .gfield--width-third {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .gform_wrapper .gfield--width-third {
    width: 33.333333%;
  }
}

@media (min-width: 768px) {
  .gform_wrapper .gfield--width-quarter {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .gform_wrapper .gfield--width-quarter {
    width: 25%;
  }
}

/* ---------------- Inputs / Select / Textarea ---------------- */

.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.gform_wrapper select,
.gform_wrapper textarea {
  height: 3rem;
  width: 100%;
  resize: none;
  border-radius: 0.25rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"])::-moz-placeholder, .gform_wrapper select::-moz-placeholder, .gform_wrapper textarea::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"])::placeholder,
.gform_wrapper select::placeholder,
.gform_wrapper textarea::placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

/* Select dropdown */

.gform_wrapper select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%229%22%20viewBox%3D%220%200%2015%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M.428%201.003a1%201%200%200%201%201.414%200l5.293%205.293%205.293-5.293a1%201%200%201%201%201.414%201.414l-6%206a1%201%200%200%201-1.414%200l-6-6a1%201%200%200%201%200-1.414%22%20fill%3D%22%236b7280%22%2F%3E%3C%2Fsvg%3E');
  background-position: calc(100% - 16px) center;
  background-repeat: no-repeat;
  padding-right: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

/* Textarea */

.gform_wrapper textarea {
  min-height: 108px;
}

/* File upload */

.gform_wrapper .gfield--type-fileupload input {
  height: auto !important;
  border-radius: 0px !important;
  border-width: 0px !important;
  background-color: transparent !important;
  padding: 0px !important;
}

.gform_wrapper .gfield--type-fileupload .gform_fileupload_multifile {
  margin-top: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* ---------------- List Field ---------------- */

.gform_wrapper .gfield_list {
  width: 100%;
}

.gform_wrapper .gfield_list thead th {
  padding-bottom: 0.125rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.gform_wrapper .gfield_list td input {
  height: 2.5rem;
}

/* ---------------- Consent Field ---------------- */

.gform_wrapper .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}

.gform_wrapper .ginput_container_consent input {
  position: relative;
  top: 5px;
  width: 1rem;
  height: 1rem;
  flex: none;
  --tw-hue-rotate: hue-rotate(180deg);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.gform_wrapper .ginput_container_consent label,
.gform_wrapper .ginput_container_consent input {
  cursor: pointer;
}

/* ---------------- Radio & Checkbox ---------------- */

.gform_wrapper .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}

.gform_wrapper .gchoice input {
  position: relative;
  top: 0.125rem;
  width: 1rem;
  height: 1rem;
  flex: none;
  --tw-hue-rotate: hue-rotate(180deg);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.gform_wrapper .gchoice label,
.gform_wrapper .gchoice input {
  cursor: pointer;
}

/* ---------------- Validation & Errors ---------------- */

.gform_wrapper .gform_submission_error {
  font-size: 1.5rem;
  line-height: 2rem;
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.gform_wrapper .validation_message {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.gform_validation_errors .validation_error {
  margin-bottom: 0.25rem;
  border-radius: 0.25rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
  padding: 0.25rem;
  text-align: center;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.gfield_error input,
.gfield_error select,
.gfield_error textarea {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

/* ---------------- Confirmation ---------------- */

.gform_confirmation_message {
  display: inline-block;
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding: 0.25rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ---------------- Footer ---------------- */

.gform_footer {
  position: relative;
  margin-top: 1.25rem;
}

.gform_footer .button {
  display: inline-flex;
  min-width: 8rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.gform_footer .button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  .gform_footer .button {
    min-width: 10rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.gform-button--width-full {
  width: 100%;
}

/*------- End Gravity Form Default Styling -------*/

/* ----------- Start gform-icon -------------- */

/*
 * Decorative field icons: previously drawn from the removed icomoon icon
 * font (see fonts.css — that font shipped a previous client's glyph set
 * and has been retired for this project). Only `--phone` has an
 * equivalent in this project's own Figma export (theme/assets/icons/
 * call.svg), inlined below as a currentColor-reactive CSS mask.
 * `--calendar` and `--email` have no corresponding icon in this project's
 * Figma file, so rather than invent a glyph they are left with no
 * decorative icon (input still functions normally). If the design adds
 * calendar/mail glyphs later, export them and wire the two rules back in
 * — see icon-manifest.json and references/icon-system.md.
 */

.gform_wrapper .gform-icon .ginput_container {
  position: relative;
}

.gform_wrapper .gform-icon .ginput_container input {
  padding-right: 2.5rem !important;
}

@media (min-width: 1310px) {
  .gform_wrapper .gform-icon .ginput_container input {
    padding-right: 44px !important;
  }
}

.gform_wrapper .gform-icon .ginput_container textarea {
  padding-top: 0.75rem;
}

@media (min-width: 1310px) {
  .gform_wrapper .gform-icon .ginput_container textarea {
    padding-right: 44px !important;
  }
}

.gform_wrapper .gform-icon .ginput_container.ginput_container_textarea::after {
  top: 1.25rem;
  --tw-translate-y: -0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.gform_wrapper .gform-icon.gform-icon--phone .ginput_container::after {
  position: absolute;
  top: 50%;
  right: 0.25rem;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  --tw-content: '';
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2735%2018.7496C14.511%2018.7496%2013.4399%2018.4739%2011.836%2017.5778C9.88562%2016.484%208.37702%2015.4742%206.43718%2013.5395C4.56687%2011.6703%203.65671%2010.4602%202.38288%208.14222C0.94382%205.52503%201.18913%204.15315%201.46335%203.56683C1.78991%202.86604%202.27195%202.4469%202.89499%202.03089C3.24888%201.79903%203.62338%201.60027%204.01374%201.43714C4.0528%201.42034%204.08913%201.40433%204.12156%201.38987C4.31491%201.30276%204.60788%201.17112%204.97898%201.31175C5.22663%201.40472%205.44773%201.59495%205.79382%201.93675C6.50359%202.63675%207.47351%204.19573%207.83132%204.96136C8.07156%205.47737%208.23054%205.818%208.23093%206.20003C8.23093%206.64729%208.00593%206.99222%207.73288%207.36448C7.68171%207.4344%207.63093%207.5012%207.58171%207.56604C7.28445%207.95667%207.21921%208.06956%207.26218%208.27112C7.34929%208.6762%207.9989%209.88206%209.06648%2010.9473C10.1341%2012.0125%2011.3051%2012.6211%2011.7118%2012.7078C11.9219%2012.7528%2012.0372%2012.6848%2012.4403%2012.377C12.4981%2012.3328%2012.5575%2012.2871%2012.6196%2012.2414C13.036%2011.9317%2013.3649%2011.7125%2013.8016%2011.7125H13.804C14.1841%2011.7125%2014.5094%2011.8774%2015.0485%2012.1492C15.7516%2012.5039%2017.3575%2013.4614%2018.0618%2014.1719C18.4044%2014.5172%2018.5954%2014.7375%2018.6887%2014.9848C18.8294%2015.3571%2018.6969%2015.6489%2018.6106%2015.8442C18.5962%2015.8766%2018.5802%2015.9121%2018.5634%2015.9516C18.3989%2016.3413%2018.199%2016.715%2017.9661%2017.068C17.5509%2017.6891%2017.1301%2018.17%2016.4278%2018.4969C16.0672%2018.6675%2015.6725%2018.7539%2015.2735%2018.7496Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
          mask-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2735%2018.7496C14.511%2018.7496%2013.4399%2018.4739%2011.836%2017.5778C9.88562%2016.484%208.37702%2015.4742%206.43718%2013.5395C4.56687%2011.6703%203.65671%2010.4602%202.38288%208.14222C0.94382%205.52503%201.18913%204.15315%201.46335%203.56683C1.78991%202.86604%202.27195%202.4469%202.89499%202.03089C3.24888%201.79903%203.62338%201.60027%204.01374%201.43714C4.0528%201.42034%204.08913%201.40433%204.12156%201.38987C4.31491%201.30276%204.60788%201.17112%204.97898%201.31175C5.22663%201.40472%205.44773%201.59495%205.79382%201.93675C6.50359%202.63675%207.47351%204.19573%207.83132%204.96136C8.07156%205.47737%208.23054%205.818%208.23093%206.20003C8.23093%206.64729%208.00593%206.99222%207.73288%207.36448C7.68171%207.4344%207.63093%207.5012%207.58171%207.56604C7.28445%207.95667%207.21921%208.06956%207.26218%208.27112C7.34929%208.6762%207.9989%209.88206%209.06648%2010.9473C10.1341%2012.0125%2011.3051%2012.6211%2011.7118%2012.7078C11.9219%2012.7528%2012.0372%2012.6848%2012.4403%2012.377C12.4981%2012.3328%2012.5575%2012.2871%2012.6196%2012.2414C13.036%2011.9317%2013.3649%2011.7125%2013.8016%2011.7125H13.804C14.1841%2011.7125%2014.5094%2011.8774%2015.0485%2012.1492C15.7516%2012.5039%2017.3575%2013.4614%2018.0618%2014.1719C18.4044%2014.5172%2018.5954%2014.7375%2018.6887%2014.9848C18.8294%2015.3571%2018.6969%2015.6489%2018.6106%2015.8442C18.5962%2015.8766%2018.5802%2015.9121%2018.5634%2015.9516C18.3989%2016.3413%2018.199%2016.715%2017.9661%2017.068C17.5509%2017.6891%2017.1301%2018.17%2016.4278%2018.4969C16.0672%2018.6675%2015.6725%2018.7539%2015.2735%2018.7496Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  content: var(--tw-content);
  -webkit-mask-size: contain;
          mask-size: contain;
}

/* -----------End gform-icon -------------- */

/*---------- Start ui-datepicker-----------*/

.ui-datepicker {
  z-index: 10 !important;
}

.ginput_container_date {
  position: relative;
}

.gdatepicker_with_icon {
  padding-right: 2.5rem !important;
}

.ui-datepicker-trigger {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media not all and (min-width: 1310px) {
  .ui-datepicker-trigger {
    height: 6px;
    width: 12px;
  }
}

.ui-datepicker {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-size: 0.75rem;
  line-height: 1rem;
}

.ui-datepicker a {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ui-datepicker-header {
  display: flex;
  cursor: pointer;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ui-datepicker-header a {
  margin-bottom: 1px;
  width: 49.8%;
  border-width: 1px;
  border-bottom-width: 0px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding: 0.125rem;
  text-align: center;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-header a:not(:last-of-type) {
  --tw-border-opacity: 1;
  border-right-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.ui-datepicker-header a:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar {
  width: 100%;
  border-collapse: collapse;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  padding: 4px;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar td.ui-state-disabled {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar .ui-state-hover,
.ui-datepicker-calendar .ui-state-active {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar td:not(.ui-state-disabled):hover {
  cursor: pointer;
  background-color: rgb(0 65 41 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar td:not(.ui-state-disabled):hover a {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar td.ui-datepicker-today {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1)) !important;
}

.ui-datepicker-calendar td.ui-datepicker-today a {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-calendar td.ui-datepicker-week-end {
  background-color: rgb(0 65 41 / .1);
}

.ui-datepicker-calendar td.ui-datepicker-current-day {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.ui-datepicker-calendar td.ui-datepicker-current-day a {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ui-datepicker-title {
  flex-shrink: 1;
  flex-grow: 1;
  flex-basis: 100%;
}

.ui-datepicker-title select {
  width: 50%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: 1px;
  border-bottom-width: 0px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%229%22%20viewBox%3D%220%200%2015%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M.428%201.003a1%201%200%200%201%201.414%200l5.293%205.293%205.293-5.293a1%201%200%201%201%201.414%201.414l-6%206a1%201%200%200%201-1.414%200l-6-6a1%201%200%200%201%200-1.414%22%20fill%3D%22%237f7f7f%22%2F%3E%3C%2Fsvg%3E');
  background-size: 14px;
  background-position: calc(100% - 16px) center;
  background-repeat: no-repeat;
  padding: 3px;
  padding-right: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.ui-datepicker-title select::-ms-expand {
  display: none;
}

.ui-datepicker-title select:first-child {
  border-right-width: 0px;
}

.ui-datepicker-title select:focus {
  outline-width: 0px;
}

/*---------- End ui-datepicker -----------*/

/* ------- Start search-form ------- */

form[role="search"] {
  position: relative;
  display: flex;
}

.search-form > label {
  flex-shrink: 0;
  flex-grow: 1;
  flex-basis: 0px;
}

.search-form input[type="search"],
.search-form input[type="text"] {
  height: 2.5rem;
  width: 100%;
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  background-color: transparent;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1;
  letter-spacing: 1px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

@media (min-width: 576px) {
  .search-form input[type="search"],
.search-form input[type="text"] {
    border-right-width: 0px;
  }
}

@media (min-width: 992px) {
  .search-form input[type="search"],
.search-form input[type="text"] {
    height: 3rem;
  }
}

@media (min-width: 1310px) {
  .search-form input[type="search"],
.search-form input[type="text"] {
    height: 3rem;
  }
}

.search-form input[type="submit"] {
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  display: inline-flex;
  min-width: 8rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.search-form input[type="submit"]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  .search-form input[type="submit"] {
    min-width: 10rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.search-no-results input[type="submit"] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.search-no-results input[type="submit"]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

/* ------- End search-form ------- */

/* ------- Start comment-form ------- */

.comment-form textarea,
.comment-form
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  width: 100%;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.comment-form input[type="submit"] {
  display: inline-flex;
  min-width: 8rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.comment-form input[type="submit"]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  .comment-form input[type="submit"] {
    min-width: 10rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.comment-reply-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 0.25rem;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

/* ------- End comment-form ------- */

/* -------- Start form-underline ----------*/

.form-underline
	.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.form-underline .gform_wrapper select,
.form-underline .gform_wrapper textarea {
  border-radius: 0px;
  border-color: transparent;
  border-bottom-color: rgb(156 163 175 / 0.5);
  background-color: transparent;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
}

.form-underline
	.gform_wrapper
	input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.form-underline .gform_wrapper select {
  height: auto;
}

/* -------- Start form-underline ----------*/

/* Header Styles */

/**
 * ss_hero_banner -- component styles
 *
 * Kept as its own file/classes rather than editing `buttons.css`'s
 * `.btn-cta` (owned by Phase 4 chrome, used for the header/footer phone
 * CTA) or depending on cascade order between two same-specificity classes.
 */

/**
 * ss_payment_options -- equal-height cards
 *
 * The cards sit in the shared `.slider-col-3` slick carousel, which sizes each
 * slide to its own content, so a card with a longer description stood taller
 * than its neighbours. Stretch the track and every slide wrapper so all cards
 * share the tallest card's height (before and after slick initialises).
 */

/* ------- default-block starts ------- */

.default-block {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

@media (min-width: 576px) {
  .default-block blockquote {
    margin-bottom: 2rem;
  }
}

@media (min-width: 1310px) {
  .default-block blockquote {
    margin-bottom: 2.5rem;
  }
}

.default-block blockquote p:last-of-type {
  margin-bottom: 0px;
}

@media (min-width: 1310px) {
  .default-block p + p {
    margin-top: 1.25rem;
  }
}

.default-block ul > :not([hidden]) ~ :not([hidden]),
.default-block ol > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.default-block ul li *::marker,
.default-block ol li *::marker {
  color: inherit;
}

.default-block ul li::marker,
.default-block ol li::marker {
  color: inherit;
}

.default-block ul a,
.default-block ol a,
.default-block p a {
  color: inherit;
  text-decoration-line: underline;
}

.default-block ul a:hover,
.default-block ol a:hover,
.default-block p a:hover {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.default-block p + h1,
.default-block p + h2,
.default-block p + h3,
.default-block p + h4,
.default-block p + h5,
.default-block p + h6,
.default-block blockquote + h1,
.default-block blockquote + h2,
.default-block blockquote + h3,
.default-block blockquote + h4,
.default-block blockquote + h5,
.default-block blockquote + h6 {
  margin-top: 1.25rem;
}

.default-block p + .wp-block-buttons,
.default-block .wp-block-buttons + p {
  margin-top: 1.5rem;
}

@media (min-width: 992px) {
  .default-block p + .wp-block-buttons,
.default-block .wp-block-buttons + p {
    margin-top: 2rem;
  }
}

@media (min-width: 1310px) {
  .default-block p + .wp-block-buttons,
.default-block .wp-block-buttons + p {
    margin-top: 2.5rem;
  }
}

.default-block .wp-block-image {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

@media (min-width: 576px) {
  .default-block .wp-block-image {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}

@media (min-width: 992px) {
  .default-block .wp-block-image {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.default-block .wp-block-image img {
  margin-left: auto;
  margin-right: auto;
}

.default-block .wp-block-column {
  padding-left: 1rem;
  padding-right: 1rem;
}

.default-block .wp-block-column:nth-child(2n) {
  margin-left: 0px;
}

.default-block .wp-block-column .wp-block-image {
  margin-top: 0px;
}

@media not all and (min-width: 576px) {
  .default-block .wp-block-column .wp-block-image {
    margin-top: 0.5rem;
  }
}

@media (min-width: 768px) {
  .default-block .wp-block-column .wp-block-image {
    margin-bottom: 1.5rem;
  }
}

.default-block .wp-block-columns {
  margin-left: -1rem;
  margin-right: -1rem;
  margin-bottom: 1rem;
  align-items: center !important;
}

@media not all and (min-width: 576px) {
  .default-block .wp-block-columns {
    display: block;
  }
}

@media (min-width: 768px) {
  .default-block .wp-block-columns {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}

@media (min-width: 992px) {
  .default-block .wp-block-columns {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media (min-width: 1310px) {
  .default-block .wp-block-columns {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}

.default-block .wp-block-columns .wp-block-gallery,
.default-block .wp-block-columns .blocks-gallery-item {
  margin: 0px;
  padding: 0px;
}

.default-block .wp-block-columns .wp-block-gallery {
  list-style-type: none;
}

.default-block .wp-block-columns .blocks-gallery-item::before {
  content: var(--tw-content);
  display: none;
}

.default-block .wp-block-button__link {
  display: inline-flex;
  min-width: 8rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.default-block .wp-block-button__link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media (min-width: 1310px) {
  .default-block .wp-block-button__link {
    min-width: 10rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.comment-reply-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* ------- search-result-article ------- */

.search-result-article {
  margin-bottom: 1rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.search-result-article:hover {
  background-color: rgb(0 65 41 / 0.1);
}

@media (min-width: 576px) {
  .search-result-article {
    margin-bottom: 2rem;
    padding: 1.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.search-result-article>*:empty {
  display: none;
}

.search-result-article p a {
  margin-left: 0.25rem;
}

.entry-footer > *,
.entry-meta > * {
  margin-right: 0.5rem;
  border-right-width: 1px;
  border-right-color: rgb(148 163 184 / 0.8);
  padding-right: 0.5rem;
}

.entry-footer > *:last-child,
.entry-meta > *:last-child {
  margin-right: 0px;
  border-width: 0px;
  padding-right: 0px;
}

/* pagination */

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 0.25rem;
}

.pagination .page-numbers {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  display: inline-block;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  padding: 0.5rem;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

.pagination .page-numbers:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

@media (min-width: 576px) {
  .pagination .page-numbers {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

.pagination .page-numbers.current {
  pointer-events: none;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.slick-list {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.slide-item {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* .slick-arrow */

.slick-arrow {
  position: absolute;
  z-index: 10;
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
  font-size: 0px;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.slick-arrow::before {
  z-index: -10;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  content: var(--tw-content);
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media not all and (min-width: 992px) {
  .slick-arrow {
    bottom: 0px;
    margin-left: 0.125rem;
    margin-right: 0.125rem;
  }
}

@media (min-width: 992px) {
  .slick-arrow {
    top: 50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media (min-width: 1310px) {
  .slick-arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}

.slick-arrow.slick-disabled {
  pointer-events: none;
  cursor: not-allowed !important;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  opacity: 0.95;
}

.slick-arrow:not(.slick-disabled):hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/*
 * Arrow glyph: theme/assets/icons/arrow-right.svg, inlined as a currentColor-
 * reactive CSS mask (replaces the removed icomoon `\e912`/`\e913` glyphs —
 * see fonts.css). `.slick-prev` reuses the same asset flipped horizontally
 * rather than a second file, since this project's Figma export has no
 * distinct "arrow-left" glyph.
 */

.slick-arrow::before {
  content: var(--tw-content);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.91602%207.00006H11.0836M6.99982%2011.0839L11.0836%207.00006L6.99982%202.91626%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E');
          mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.91602%207.00006H11.0836M6.99982%2011.0839L11.0836%207.00006L6.99982%202.91626%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E');
}

.slick-prev::before {
  content: var(--tw-content);
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media not all and (min-width: 992px) {
  .slick-prev {
    left: auto;
    right: 50%;
  }
}

@media (min-width: 992px) {
  .slick-prev {
    left: 0px;
  }
}

@media not all and (min-width: 992px) {
  .slick-next {
    right: auto;
    left: 50%;
  }
}

@media (min-width: 992px) {
  .slick-next {
    right: 0px;
  }
}

/* Start slick-dots style */

.slick-dots {
  margin: 0px;
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
}

.slick-dots > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.slick-dots {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  font-size: 0px;
}

@media (min-width: 1310px) {
  .slick-dots {
    padding-top: 2rem;
  }
}

.slick-dots:has(>li:only-child) {
  padding-top: 0px !important;
}

.slick-dots button {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.slick-dots button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.slick-dots .slick-active button {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.slick-dots > li:only-child {
  display: none;
}

/* Start slick arrow and dots hidden class */

.arrows-none .slick-arrow {
  display: none !important;
}

.dots-none .slick-dots {
  display: none !important;
}

/* End slick arrow and dots hidden class */

/* CLS Fix */

[class^="slider-col-"],
[class*="slider-col-"] {
  visibility: hidden;
  display: flex;
}

[class^="slider-col-"].slick-slider,
[class*="slider-col-"].slick-slider {
  visibility: visible;
  display: block;
}

/**
 * Start Your Case -- the Gravity Form inside the dark panel
 *
 * Values from Figma Frame 106 > 15784:10626 (Home), scoped to `.ss-case-form`
 * so the sitewide forms.css defaults (light-background form) stay untouched.
 *
 *   section title   Oswald 32px, cream-200, 32px above its first row
 *   row gap         24px, half fields 24px apart
 *   group gap       40px between the two sections
 *   label           Oswald Bold 14px / 24px, cream-200, 8px above the control
 *   control         60px tall, #191e1b fill, 1px brand-700 (#33443B) border,
 *                   16px padding, Open Sans 16px, placeholder white/60
 *   help text       Open Sans Medium 16px white, 14px under the control
 *   upload          191px box, same fill/border, cloud icon, "Click to
 *                   browse or drag & drop", types line at 50%
 *   submit          full width, 60px, primary, Open Sans Medium 16px
 */

/**
 * ss_trusted_testimonials -- review carousel
 *
 * Figma (Home 15784:10712 / 10735 / 10733): review cards 398px wide, 43px
 * apart, equal height; the prev/next controls are 32px squares in primary
 * with a white arrow, centred vertically and sitting ON the outer edges of
 * the visible pair (prev 20px left of the first card, next 15px right of the
 * last). Overrides the house `.slick-arrow` (round, 44px, bottom-placed on
 * mobile) for this slider only.
 */

/**
 * ss_upload_popup -- the "Upload Your ID" document-upload popup.
 *
 * A native <dialog>, opened with showModal() by the click handler in
 * script.js (`ss.uploadPopup`). The browser supplies the modal behaviour
 * (focus trap, ESC to close, inert background) -- this file only resets the
 * UA default box (border/padding/position) to the dark panel look the rest
 * of the site's forms use (`.ss-case-form`, start-your-case-form.css).
 */

/**
 * ss_why_choose_filmstrip -- hover interaction
 *
 * Figma `Component 2` (15784:10532) has one variant per active tile. The
 * active tile is 354 x 482, full colour, with a bottom shade and caption;
 * the others are 400px tall, share the rest of the row, and render black
 * and white (luminosity blend) under a 30% black dim.
 *
 * Resting state: the `.is-featured` row is active. Hovering (or focusing)
 * any tile makes that one active instead. `:has()` rather than
 * `ul:hover`, so the pointer crossing the 8px gap between two tiles does
 * not briefly collapse every tile at once.
 *
 * Sizes scale with the full-bleed row (1440 canvas) and cap at the frame's
 * own pixels: 354/1440 = 24.58vw, 482/1440 = 33.47vw, 400/1440 = 27.78vw.
 *
 * Below lg only the featured tile is shown, always active (mobile frame).
 */

/**
 * Custom styles to immediately follow Tailwind’s `components` layer
 *
 * “Add more opinionated, complex classes like buttons, form controls, alerts,
 * etc; the sort of pre-built components you often see in other frameworks that
 * you might need to override with utility classes.”
 *
 * — from https://tailwindcss.com/docs/plugins#adding-components
 */

/**
 * Post title styles
 *
 * These will be applied to all headings with a `page-title` or `entry-title`
 * class on the frontend and to the post title in the block editor.
 *
 * The supplied styles are meant to match the default `h1` classes from
 * Tailwind Typography.
 */

.page-title,
.entry-title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  max-width: 40rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 800;
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}

/**
 * Layout styles for centered content areas
 *
 * If you are controlling the width of your content area with styles applied
 * to its container, you can delete the following styles whose selectors begin
 * with `.page-content >` and `.entry-content >`. For more details, please see
 * the following:
 *
 * https://make.wordpress.org/core/2021/06/29/on-layout-and-content-width-in-wordpress-5-8/
 */

.page-content > *,
.entry-content > * {
  /* Content width from the `theme.json` file */
  margin-left: auto;
  margin-right: auto;
  max-width: 40rem;
}

.entry-content > .alignwide {
  /* Wide width from the `theme.json` file */
  max-width: 60rem;
}

.entry-content > .alignfull {
  max-width: none;
}

.entry-content > .alignleft {
  float: left;
  margin-right: 2rem;
}

.entry-content > .alignright {
  float: right;
  margin-left: 2rem;
}

/**
 * `.ss-heading-gradient` -- the heading highlight treatment ("24/7." in the
 * Home hero 15784:10563, "Your" in Start Your Case 15784:10633). Figma fills
 * the highlight with a radial gradient sized to the WHOLE heading's text box
 * (ellipse = half width x half height, centred): #fff at the centre to
 * primary #004129 at the edge, linear between -- so a word's colour depends
 * on where it sits in the line.
 *
 * Goes on the heading itself (shrink-wrapped so the box matches Figma's),
 * clipped to text; the rest of the copy keeps its own opaque colour on top
 * and only the highlight span is `text-transparent`.
 */

.ss-heading-gradient {
  width: -moz-fit-content;
  width: fit-content;
  -webkit-background-clip: text;
          background-clip: text;
  background-image: radial-gradient(closest-side, #fff, #004129);
}

/**
 * This injects Tailwind's utility classes and any utility classes registered
 * by plugins, then adds custom utility classes.
 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.inset-x-1 {
  left: 0.25rem;
  right: 0.25rem;
}

.bottom-0 {
  bottom: 0px;
}

.left-1\/2 {
  left: 50%;
}

.top-0 {
  top: 0px;
}

.top-1\/2 {
  top: 50%;
}

.top-full {
  top: 100%;
}

.isolate {
  isolation: isolate;
}

.-z-10 {
  z-index: -10;
}

.-z-20 {
  z-index: -20;
}

.z-10 {
  z-index: 10;
}

.z-30 {
  z-index: 30;
}

.order-4 {
  order: 4;
}

.m-0 {
  margin: 0px;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.\!mt-0 {
  margin-top: 0px !important;
}

.-mt-10 {
  margin-top: -2.5rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-16 {
  margin-top: 4rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-2\.5 {
  margin-top: 0.625rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-auto {
  margin-top: auto;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.aspect-\[569\/442\] {
  aspect-ratio: 569/442;
}

.aspect-\[610\/545\] {
  aspect-ratio: 610/545;
}

.aspect-\[800\/248\] {
  aspect-ratio: 800/248;
}

.aspect-square {
  aspect-ratio: 1 / 1;
}

.size-1 {
  width: 0.25rem;
  height: 0.25rem;
}

.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}

.size-12 {
  width: 3rem;
  height: 3rem;
}

.size-14 {
  width: 3.5rem;
  height: 3.5rem;
}

.size-16 {
  width: 4rem;
  height: 4rem;
}

.size-2 {
  width: 0.5rem;
  height: 0.5rem;
}

.size-2\.5 {
  width: 0.625rem;
  height: 0.625rem;
}

.size-20 {
  width: 5rem;
  height: 5rem;
}

.size-24 {
  width: 6rem;
  height: 6rem;
}

.size-3 {
  width: 0.75rem;
  height: 0.75rem;
}

.size-3\.5 {
  width: 0.875rem;
  height: 0.875rem;
}

.size-4 {
  width: 1rem;
  height: 1rem;
}

.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}

.size-8 {
  width: 2rem;
  height: 2rem;
}

.size-\[46px\] {
  width: 46px;
  height: 46px;
}

.size-full {
  width: 100%;
  height: 100%;
}

.size-ss-60 {
  width: 3.75rem;
  height: 3.75rem;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-1\/2 {
  height: 50%;
}

.h-14 {
  height: 3.5rem;
}

.h-2\/3 {
  height: 66.666667%;
}

.h-24 {
  height: 6rem;
}

.h-3 {
  height: 0.75rem;
}

.h-4 {
  height: 1rem;
}

.h-56 {
  height: 14rem;
}

.h-6 {
  height: 1.5rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-96 {
  height: 24rem;
}

.h-\[380px\] {
  height: 380px;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.min-h-11 {
  min-height: 2.75rem;
}

.min-h-\[26rem\] {
  min-height: 26rem;
}

.\!w-full {
  width: 100% !important;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-24 {
  width: 6rem;
}

.w-3 {
  width: 0.75rem;
}

.w-32 {
  width: 8rem;
}

.w-36 {
  width: 9rem;
}

.w-8 {
  width: 2rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[147px\] {
  width: 147px;
}

.w-\[216px\] {
  width: 216px;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

.w-ss-60 {
  width: 3.75rem;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-11 {
  min-width: 2.75rem;
}

.min-w-6 {
  min-width: 1.5rem;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-\[320px\] {
  max-width: 320px;
}

.max-w-\[570px\] {
  max-width: 570px;
}

.max-w-\[610px\] {
  max-width: 610px;
}

.max-w-\[700px\] {
  max-width: 700px;
}

.max-w-\[788px\] {
  max-width: 788px;
}

.max-w-\[800px\] {
  max-width: 800px;
}

.max-w-\[900px\] {
  max-width: 900px;
}

.max-w-none {
  max-width: none;
}

.max-w-xl {
  max-width: 36rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-\[172\] {
  flex: 172;
}

.flex-\[234\] {
  flex: 234;
}

.flex-none {
  flex: none;
}

.shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

.basis-0 {
  flex-basis: 0px;
}

.basis-1\/4 {
  flex-basis: 25%;
}

.table-fixed {
  table-layout: fixed;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

.scroll-mt-24 {
  scroll-margin-top: 6rem;
}

.list-none {
  list-style-type: none;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

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

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-7 {
  gap: 1.75rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-\[27px\] {
  gap: 27px;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.gap-y-5 {
  row-gap: 1.25rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.break-words {
  overflow-wrap: break-word;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-8 {
  border-top-width: 8px;
}

.border-black\/20 {
  border-color: rgb(0 0 0 / 0.2);
}

.border-brand-200\/40 {
  border-color: rgb(184 208 196 / 0.4);
}

.border-primary {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
}

.border-tertiary {
  --tw-border-opacity: 1;
  border-color: rgb(1 173 111 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}

.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}

.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}

.bg-\[\#060807\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 8 7 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0a0a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0c0b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 12 11 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0d1712\] {
  --tw-bg-opacity: 1;
  background-color: rgb(13 23 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0f0f0f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 15 15 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0f1411\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 20 17 / var(--tw-bg-opacity, 1));
}

.bg-\[\#181a19\] {
  --tw-bg-opacity: 1;
  background-color: rgb(24 26 25 / var(--tw-bg-opacity, 1));
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-brand-200\/10 {
  background-color: rgb(184 208 196 / 0.1);
}

.bg-cream-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 248 243 / var(--tw-bg-opacity, 1));
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.bg-primary\/25 {
  background-color: rgb(0 65 41 / 0.25);
}

.bg-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
}

.bg-secondary\/10 {
  background-color: rgb(18 21 19 / 0.1);
}

.bg-secondary\/40 {
  background-color: rgb(18 21 19 / 0.4);
}

.bg-tertiary {
  --tw-bg-opacity: 1;
  background-color: rgb(1 173 111 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}

.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-\[\#0f0f0f\]\/0 {
  --tw-gradient-from: rgb(15 15 15 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 15 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/0 {
  --tw-gradient-from: rgb(0 0 0 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/70 {
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/80 {
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-200 {
  --tw-gradient-from: #B8D0C4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(184 208 196 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary {
  --tw-gradient-from: #004129 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/20 {
  --tw-gradient-from: rgb(0 65 41 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/50 {
  --tw-gradient-from: rgb(0 65 41 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-secondary\/0 {
  --tw-gradient-from: rgb(18 21 19 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(18 21 19 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-black\/0 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/75 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.75) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-secondary\/75 {
  --tw-gradient-to: rgb(18 21 19 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(18 21 19 / 0.75) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[58\%\] {
  --tw-gradient-via-position: 58%;
}

.to-\[\#0f0f0f\] {
  --tw-gradient-to: #0f0f0f var(--tw-gradient-to-position);
}

.to-black {
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}

.to-black\/70 {
  --tw-gradient-to: rgb(0 0 0 / 0.7) var(--tw-gradient-to-position);
}

.to-cream-200 {
  --tw-gradient-to: #EAE6DC var(--tw-gradient-to-position);
}

.to-primary {
  --tw-gradient-to: #004129 var(--tw-gradient-to-position);
}

.to-primary\/0 {
  --tw-gradient-to: rgb(0 65 41 / 0) var(--tw-gradient-to-position);
}

.to-secondary {
  --tw-gradient-to: #121513 var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}

.to-\[84\%\] {
  --tw-gradient-to-position: 84%;
}

.to-\[92\%\] {
  --tw-gradient-to-position: 92%;
}

.to-\[95\%\] {
  --tw-gradient-to-position: 95%;
}

.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-0 {
  padding: 0px;
}

.p-10 {
  padding: 2.5rem;
}

.p-12 {
  padding: 3rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-\[19px\] {
  padding: 19px;
}

.p-\[34px\] {
  padding: 34px;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-9 {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-12 {
  padding-bottom: 3rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-12 {
  padding-top: 3rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-28 {
  padding-top: 7rem;
}

.pt-32 {
  padding-top: 8rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.text-left {
  text-align: left;
}

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

.align-top {
  vertical-align: top;
}

.align-bottom {
  vertical-align: bottom;
}

.font-primary {
  font-family: Open Sans, Open Sans Fallback, sans-serif;
}

.font-secondary {
  font-family: Oswald, Oswald Fallback, sans-serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}

.text-\[6\.25rem\] {
  font-size: 6.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-ss-100 {
  font-size: 6.25rem;
  line-height: 1.37;
}

.text-ss-13 {
  font-size: 0.8125rem;
  line-height: 1.4;
}

.text-ss-22 {
  font-size: 1.375rem;
  line-height: 1.27;
}

.text-ss-32 {
  font-size: 2rem;
}

.text-ss-34 {
  font-size: 2.125rem;
}

.text-ss-40 {
  font-size: 2.5rem;
  line-height: 1.5;
}

.text-ss-50 {
  font-size: 3.125rem;
  line-height: 1.2;
}

.text-ss-62 {
  font-size: 3.875rem;
  line-height: 1.02;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.not-italic {
  font-style: normal;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-8 {
  line-height: 2rem;
}

.leading-\[0\.8\] {
  line-height: 0.8;
}

.leading-\[1\.75\] {
  line-height: 1.75;
}

.leading-\[29px\] {
  line-height: 29px;
}

.leading-\[30px\] {
  line-height: 30px;
}

.leading-loose {
  line-height: 2;
}

.leading-none {
  line-height: 1;
}

.leading-normal {
  line-height: 1.5;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-ss-133 {
  line-height: 1.33;
}

.leading-ss-171 {
  line-height: 1.71;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[0\.07em\] {
  letter-spacing: 0.07em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.text-\[inherit\] {
  color: inherit;
}

.text-brand-200 {
  --tw-text-opacity: 1;
  color: rgb(184 208 196 / var(--tw-text-opacity, 1));
}

.text-brand-500 {
  --tw-text-opacity: 1;
  color: rgb(1 173 111 / var(--tw-text-opacity, 1));
}

.text-cream-100 {
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.text-cream-200 {
  --tw-text-opacity: 1;
  color: rgb(234 230 220 / var(--tw-text-opacity, 1));
}

.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-primary {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.text-tertiary {
  --tw-text-opacity: 1;
  color: rgb(1 173 111 / var(--tw-text-opacity, 1));
}

.text-transparent {
  color: transparent;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}

.underline {
  text-decoration-line: underline;
}

.\!no-underline {
  text-decoration-line: none !important;
}

.no-underline {
  text-decoration-line: none;
}

.decoration-1 {
  text-decoration-thickness: 1px;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-\[0\.26\] {
  opacity: 0.26;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-ss-card {
  --tw-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.25);
  --tw-shadow-colored: 0 4px 12px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-ss-lg {
  --tw-shadow: 0 36px 57px 0 rgba(0, 0, 0, 0.25);
  --tw-shadow-colored: 0 36px 57px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.brightness-0 {
  --tw-brightness: brightness(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.content-none {
  --tw-content: none;
  content: var(--tw-content);
}

.stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: xs;
}

.counter-wrap {
  counter-reset: counter-count 0;
}

.counter-count:before {
  content: counter(counter-count, decimal-leading-zero);
  counter-increment: counter-count;
}

/**
 * Custom styles to immediately follow Tailwind’s `utilities` layer
 *
 * Add your own utility classes to this theme. Complex utility classes should
 * be added using Tailwind’s plugin system:
 *
 * https://tailwindcss.com/docs/plugins#adding-utilities
 */

/**
 * Full-width section wrapper, for sections whose content spans the full
 * 1440px canvas rather than the measured 1280px container — see
 * references/html-css-standards.md § Standard Component Markup and
 * design-tokens.md § Container for how the 1280px figure was measured.
 * Pairs with `.container` (defined via `theme.container` in
 * tailwind.config.js) for the "full-bleed background, contained content"
 * pattern: an outer `.container-fluid` with an inner `.container`.
 */

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: none;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 576px) {
  .container-fluid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1200px) {
  .container-fluid {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

.placeholder\:text-white\/40::-moz-placeholder {
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-white\/40::placeholder {
  color: rgb(255 255 255 / 0.4);
}

.first\:rounded-tl-lg:first-child {
  border-top-left-radius: 0.5rem;
}

.last\:rounded-tr-lg:last-child {
  border-top-right-radius: 0.5rem;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.hover\:border-primary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
}

.hover\:border-white:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}

.hover\:border-white\/40:hover {
  border-color: rgb(255 255 255 / 0.4);
}

.hover\:bg-cream-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 230 220 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:text-brand-200:hover {
  --tw-text-opacity: 1;
  color: rgb(184 208 196 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-400:hover {
  --tw-text-opacity: 1;
  color: rgb(79 163 126 / var(--tw-text-opacity, 1));
}

.hover\:text-cream-100:hover {
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.hover\:text-primary:hover {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:border-primary:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(0 65 41 / var(--tw-border-opacity, 1));
}

.focus-visible\:bg-primary:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(0 65 41 / var(--tw-bg-opacity, 1));
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-white\/60:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.6);
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-secondary:focus-visible {
  --tw-ring-offset-color: #121513;
}

.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:text-cream-100 {
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:focus-visible .group-focus-visible\:text-cream-100 {
  --tw-text-opacity: 1;
  color: rgb(250 248 243 / var(--tw-text-opacity, 1));
}

.prose-a\:text-primary :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(0 65 41 / var(--tw-text-opacity, 1));
}

@media not all and (min-width: 1200px) {
  .max-xl\:hidden {
    display: none;
  }
}

@media not all and (min-width: 992px) {
  .max-lg\:\!hidden {
    display: none !important;
  }
}

@media not all and (min-width: 768px) {
  .max-md\:hidden {
    display: none;
  }
}

@media (min-width: 576px) {
  .sm\:-mt-6 {
    margin-top: -1.5rem;
  }

  .sm\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .sm\:mb-12 {
    margin-bottom: 3rem;
  }

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mt-10 {
    margin-top: 2.5rem;
  }

  .sm\:mt-6 {
    margin-top: 1.5rem;
  }

  .sm\:mt-8 {
    margin-top: 2rem;
  }

  .sm\:inline-block {
    display: inline-block;
  }

  .sm\:size-\[72px\] {
    width: 72px;
    height: 72px;
  }

  .sm\:h-64 {
    height: 16rem;
  }

  .sm\:h-80 {
    height: 20rem;
  }

  .sm\:h-\[460px\] {
    height: 460px;
  }

  .sm\:w-40 {
    width: 10rem;
  }

  .sm\:w-ss-60 {
    width: 3.75rem;
  }

  .sm\:max-w-\[480px\] {
    max-width: 480px;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-center {
    justify-content: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-12 {
    gap: 3rem;
  }

  .sm\:gap-14 {
    gap: 3.5rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-5 {
    gap: 1.25rem;
  }

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:gap-7 {
    gap: 1.75rem;
  }

  .sm\:gap-8 {
    gap: 2rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:pb-12 {
    padding-bottom: 3rem;
  }

  .sm\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .sm\:pb-20 {
    padding-bottom: 5rem;
  }

  .sm\:pb-9 {
    padding-bottom: 2.25rem;
  }

  .sm\:pt-10 {
    padding-top: 2.5rem;
  }

  .sm\:pt-14 {
    padding-top: 3.5rem;
  }

  .sm\:pt-32 {
    padding-top: 8rem;
  }

  .sm\:pt-36 {
    padding-top: 9rem;
  }

  .sm\:pt-7 {
    padding-top: 1.75rem;
  }

  .sm\:pt-9 {
    padding-top: 2.25rem;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-\[15px\] {
    font-size: 15px;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:leading-8 {
    line-height: 2rem;
  }
}

@media (min-width: 768px) {
  .md\:my-16 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-72 {
    height: 18rem;
  }

  .md\:h-96 {
    height: 24rem;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:gap-8 {
    gap: 2rem;
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:pb-10 {
    padding-bottom: 2.5rem;
  }

  .md\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .md\:pb-16 {
    padding-bottom: 4rem;
  }

  .md\:pt-10 {
    padding-top: 2.5rem;
  }

  .md\:pt-16 {
    padding-top: 4rem;
  }

  .md\:pt-40 {
    padding-top: 10rem;
  }

  .md\:pt-8 {
    padding-top: 2rem;
  }

  .md\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

@media (min-width: 992px) {
  .lg\:absolute {
    position: absolute;
  }

  .lg\:inset-x-2 {
    left: 0.5rem;
    right: 0.5rem;
  }

  .lg\:left-1\/2 {
    left: 50%;
  }

  .lg\:top-1\/2 {
    top: 50%;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .lg\:my-16 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .lg\:-mt-10 {
    margin-top: -2.5rem;
  }

  .lg\:-mt-12 {
    margin-top: -3rem;
  }

  .lg\:mb-12 {
    margin-bottom: 3rem;
  }

  .lg\:mb-16 {
    margin-bottom: 4rem;
  }

  .lg\:mb-8 {
    margin-bottom: 2rem;
  }

  .lg\:mb-\[50px\] {
    margin-bottom: 50px;
  }

  .lg\:mt-12 {
    margin-top: 3rem;
  }

  .lg\:mt-6 {
    margin-top: 1.5rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:aspect-auto {
    aspect-ratio: auto;
  }

  .lg\:size-12 {
    width: 3rem;
    height: 3rem;
  }

  .lg\:size-24 {
    width: 6rem;
    height: 6rem;
  }

  .lg\:size-5 {
    width: 1.25rem;
    height: 1.25rem;
  }

  .lg\:size-8 {
    width: 2rem;
    height: 2rem;
  }

  .lg\:h-0\.5 {
    height: 0.125rem;
  }

  .lg\:h-5 {
    height: 1.25rem;
  }

  .lg\:h-80 {
    height: 20rem;
  }

  .lg\:h-96 {
    height: 24rem;
  }

  .lg\:h-\[600px\] {
    height: 600px;
  }

  .lg\:h-auto {
    height: auto;
  }

  .lg\:h-full {
    height: 100%;
  }

  .lg\:h-ss-404 {
    height: 25.25rem;
  }

  .lg\:h-ss-504 {
    height: 31.5rem;
  }

  .lg\:min-h-\[346px\] {
    min-height: 346px;
  }

  .lg\:w-40 {
    width: 10rem;
  }

  .lg\:w-5 {
    width: 1.25rem;
  }

  .lg\:w-52 {
    width: 13rem;
  }

  .lg\:w-\[42\%\] {
    width: 42%;
  }

  .lg\:w-\[44\.45\%\] {
    width: 44.45%;
  }

  .lg\:w-\[440px\] {
    width: 440px;
  }

  .lg\:w-\[45\.3\%\] {
    width: 45.3%;
  }

  .lg\:w-\[calc\(\(100\%-86px\)\/3\)\] {
    width: calc((100% - 86px) / 3);
  }

  .lg\:w-ss-60 {
    width: 3.75rem;
  }

  .lg\:min-w-0 {
    min-width: 0px;
  }

  .lg\:max-w-4xl {
    max-width: 56rem;
  }

  .lg\:max-w-\[640px\] {
    max-width: 640px;
  }

  .lg\:flex-1 {
    flex: 1 1 0%;
  }

  .lg\:flex-none {
    flex: none;
  }

  .lg\:shrink-0 {
    flex-shrink: 0;
  }

  .lg\:grow {
    flex-grow: 1;
  }

  .lg\:grow-0 {
    flex-grow: 0;
  }

  .lg\:basis-0 {
    flex-basis: 0px;
  }

  .lg\:basis-1\/3 {
    flex-basis: 33.333333%;
  }

  .lg\:basis-1\/4 {
    flex-basis: 25%;
  }

  .lg\:basis-2\/3 {
    flex-basis: 66.666667%;
  }

  .lg\:table-auto {
    table-layout: auto;
  }

  .lg\:-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .lg\:-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-col {
    flex-direction: column;
  }

  .lg\:flex-wrap {
    flex-wrap: wrap;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:items-stretch {
    align-items: stretch;
  }

  .lg\:justify-start {
    justify-content: flex-start;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:justify-center {
    justify-content: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-1\.5 {
    gap: 0.375rem;
  }

  .lg\:gap-10 {
    gap: 2.5rem;
  }

  .lg\:gap-12 {
    gap: 3rem;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-4 {
    gap: 1rem;
  }

  .lg\:gap-40 {
    gap: 10rem;
  }

  .lg\:gap-5 {
    gap: 1.25rem;
  }

  .lg\:gap-6 {
    gap: 1.5rem;
  }

  .lg\:gap-8 {
    gap: 2rem;
  }

  .lg\:gap-9 {
    gap: 2.25rem;
  }

  .lg\:gap-\[43px\] {
    gap: 43px;
  }

  .lg\:gap-\[60px\] {
    gap: 60px;
  }

  .lg\:gap-ss-60 {
    gap: 3.75rem;
  }

  .lg\:whitespace-nowrap {
    white-space: nowrap;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

  .lg\:border-l-8 {
    border-left-width: 8px;
  }

  .lg\:border-t-0 {
    border-top-width: 0px;
  }

  .lg\:border-cream-100\/20 {
    border-color: rgb(250 248 243 / 0.2);
  }

  .lg\:border-white\/20 {
    border-color: rgb(255 255 255 / 0.2);
  }

  .lg\:bg-secondary {
    --tw-bg-opacity: 1;
    background-color: rgb(18 21 19 / var(--tw-bg-opacity, 1));
  }

  .lg\:bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }

  .lg\:from-brand-200 {
    --tw-gradient-from: #B8D0C4 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(184 208 196 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  }

  .lg\:to-cream-200 {
    --tw-gradient-to: #EAE6DC var(--tw-gradient-to-position);
  }

  .lg\:bg-clip-text {
    -webkit-background-clip: text;
            background-clip: text;
  }

  .lg\:p-10 {
    padding: 2.5rem;
  }

  .lg\:p-12 {
    padding: 3rem;
  }

  .lg\:p-5 {
    padding: 1.25rem;
  }

  .lg\:p-6 {
    padding: 1.5rem;
  }

  .lg\:p-7 {
    padding: 1.75rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-11 {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .lg\:pb-12 {
    padding-bottom: 3rem;
  }

  .lg\:pb-16 {
    padding-bottom: 4rem;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pt-12 {
    padding-top: 3rem;
  }

  .lg\:pt-20 {
    padding-top: 5rem;
  }

  .lg\:pt-36 {
    padding-top: 9rem;
  }

  .lg\:pt-44 {
    padding-top: 11rem;
  }

  .lg\:pt-48 {
    padding-top: 12rem;
  }

  .lg\:pt-9 {
    padding-top: 2.25rem;
  }

  .lg\:text-left {
    text-align: left;
  }

  .lg\:text-right {
    text-align: right;
  }

  .lg\:align-middle {
    vertical-align: middle;
  }

  .lg\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-\[22px\] {
    font-size: 22px;
  }

  .lg\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .lg\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .lg\:text-ss-100 {
    font-size: 6.25rem;
    line-height: 1.37;
  }

  .lg\:text-ss-22 {
    font-size: 1.375rem;
    line-height: 1.27;
  }

  .lg\:text-ss-32 {
    font-size: 2rem;
  }

  .lg\:text-ss-40 {
    font-size: 2.5rem;
    line-height: 1.5;
  }

  .lg\:text-ss-62 {
    font-size: 3.875rem;
    line-height: 1.02;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .lg\:font-bold {
    font-weight: 700;
  }

  .lg\:normal-case {
    text-transform: none;
  }

  .lg\:leading-normal {
    line-height: 1.5;
  }

  .lg\:leading-ss-133 {
    line-height: 1.33;
  }

  .lg\:leading-ss-171 {
    line-height: 1.71;
  }

  .lg\:tracking-normal {
    letter-spacing: 0em;
  }

  .lg\:tracking-wider {
    letter-spacing: 0.05em;
  }

  .lg\:text-brand-200 {
    --tw-text-opacity: 1;
    color: rgb(184 208 196 / var(--tw-text-opacity, 1));
  }

  .lg\:text-cream-100 {
    --tw-text-opacity: 1;
    color: rgb(250 248 243 / var(--tw-text-opacity, 1));
  }

  .lg\:text-cream-200 {
    --tw-text-opacity: 1;
    color: rgb(234 230 220 / var(--tw-text-opacity, 1));
  }

  .lg\:text-transparent {
    color: transparent;
  }
}

@media (min-width: 1200px) {
  .xl\:my-20 {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:w-28 {
    width: 7rem;
  }

  .xl\:w-\[520px\] {
    width: 520px;
  }

  .xl\:max-w-\[800px\] {
    max-width: 800px;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-start {
    align-items: flex-start;
  }

  .xl\:gap-10 {
    gap: 2.5rem;
  }

  .xl\:gap-16 {
    gap: 4rem;
  }

  .xl\:gap-\[95px\] {
    gap: 95px;
  }

  .xl\:gap-ss-60 {
    gap: 3.75rem;
  }

  .xl\:bg-cream-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 248 243 / var(--tw-bg-opacity, 1));
  }

  .xl\:px-20 {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .xl\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .xl\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .xl\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .xl\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .xl\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .xl\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .xl\:pb-20 {
    padding-bottom: 5rem;
  }

  .xl\:pb-24 {
    padding-bottom: 6rem;
  }

  .xl\:pb-28 {
    padding-bottom: 7rem;
  }

  .xl\:pt-10 {
    padding-top: 2.5rem;
  }

  .xl\:pt-14 {
    padding-top: 3.5rem;
  }

  .xl\:pt-24 {
    padding-top: 6rem;
  }

  .xl\:pt-48 {
    padding-top: 12rem;
  }

  .xl\:pt-56 {
    padding-top: 14rem;
  }
}

@media (min-width: 1310px) {
  .\32xl\:my-24 {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .\32xl\:my-\[100px\] {
    margin-top: 100px;
    margin-bottom: 100px;
  }

  .\32xl\:gap-\[100px\] {
    gap: 100px;
  }

  .\32xl\:py-ss-100 {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }

  .\32xl\:pb-24 {
    padding-bottom: 6rem;
  }

  .\32xl\:pb-ss-100 {
    padding-bottom: 6.25rem;
  }

  .\32xl\:pb-ss-60 {
    padding-bottom: 3.75rem;
  }

  .\32xl\:pt-64 {
    padding-top: 16rem;
  }

  .\32xl\:pt-ss-100 {
    padding-top: 6.25rem;
  }

  .\32xl\:pt-ss-60 {
    padding-top: 3.75rem;
  }

  .\32xl\:text-\[9\.375rem\] {
    font-size: 9.375rem;
  }
}

@media (min-width: 1440px) {
  .min-\[1440px\]\:min-h-\[328px\] {
    min-height: 328px;
  }

  .min-\[1440px\]\:w-\[634px\] {
    width: 634px;
  }

  .min-\[1440px\]\:gap-20 {
    gap: 5rem;
  }

  .min-\[1440px\]\:gap-\[61px\] {
    gap: 61px;
  }
}

.\[\&\+figure\]\:mt-4+figure {
  margin-top: 1rem;
}

.\[\&\>\*\]\:mb-0>* {
  margin-bottom: 0px;
}

.\[\&\>figure\]\:mb-0>figure {
  margin-bottom: 0px;
}

.\[\&\>figure\]\:w-full>figure {
  width: 100%;
}

.\[\&\>figure\]\:flex-none>figure {
  flex: none;
}

@media (min-width: 992px) {
  .lg\:\[\&\>figure\]\:w-\[35\%\]>figure {
    width: 35%;
  }

  .lg\:\[\&\>figure\]\:pr-8>figure {
    padding-right: 2rem;
  }

  .lg\:\[\&\>figure_img\]\:w-full>figure img {
    width: 100%;
  }
}

.\[\&_a\]\:\!no-underline a {
  text-decoration-line: none !important;
}

.\[\&_b\]\:font-semibold b {
  font-weight: 600;
}

.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}

.\[\&_svg\]\:size-full svg {
  width: 100%;
  height: 100%;
}
