/* ==========================================================================
   Component CSS Imports (bundled into main.css)
   ========================================================================== */
*, ::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.18 | 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: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif; /* 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;
}
[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
  border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}
input::placeholder,textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}
::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}
::-webkit-datetime-edit {
  display: inline-flex;
}
::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}
select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
[multiple],[size]:where(select:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}
[type='checkbox'] {
  border-radius: 0px;
}
[type='radio'] {
  border-radius: 100%;
}
[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
}
[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
[type='checkbox']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
@media (forced-colors: active)  {
  [type='checkbox']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='radio']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}
@media (forced-colors: active)  {
  [type='radio']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}
[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media (forced-colors: active)  {
  [type='checkbox']:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}
[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}
[type='file']:focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}
html {
  scroll-behavior: smooth;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Typography - Base sizes (mobile) - 1rem = 18px */
h1 {
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.5;
    font-size: 1.78rem; /* ~32px */
}
h2 {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.5;
    font-size: 1.56rem; /* ~28px */
}
h3 {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.5;
    font-size: 1.33rem; /* ~24px */
}
h4 {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.5;
    font-size: 1.11rem; /* ~20px */
}
h5 {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.5;
    font-size: 1rem; /* 18px */
}
p {
  margin-bottom: 1rem;
  line-height: 2;
    font-size: 1rem;
}
.ca-title {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
/* Typography - Tablet sizes (md: 768px) - 1rem = 18px */
@media (min-width: 768px) {
    h1 {
      font-size: 2.22rem; /* ~40px */
    }

    h2 {
      font-size: 2rem; /* 36px */
    }

    h3 {
      font-size: 1.56rem; /* ~28px */
    }

    h4 {
      font-size: 1.22rem; /* ~22px */
    }

    h5 {
      font-size: 1rem; /* 18px */
    }

    .ca-title {
    margin-bottom: 0.5rem;
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
  }
  }
/* Typography - Desktop sizes (xl: 1280px) - 1rem = 18px */
@media (min-width: 1280px) {
    h1 {
      font-size: 2.889rem; /* 52px */
    }

    h2 {
      font-size: 2.667rem; /* 48px */
    }

    h3 {
      font-size: 1.667rem; /* 30px */
    }

    h4 {
      font-size: 1.333rem; /* 24px */
    }

    h5 {
      font-size: 1.111rem; /* 20px */
    }

    .ca-title {
    margin-bottom: 0.5rem;
    font-size: 20px;
    font-weight: 600;
    line-height: 2;
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
  }
  }
.\!container {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .container {
    max-width: 768px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .container {
    max-width: 1024px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
    padding-right: 7rem !important;
    padding-left: 7rem !important;
  }
  .container {
    max-width: 1280px;
    padding-right: 7rem;
    padding-left: 7rem;
  }
}
@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }
  .container {
    max-width: 1536px;
  }
}
.prose {
  color: #374151;
  max-width: none;
}
.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where([class~="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: #f41431;
  text-decoration: underline;
  font-weight: 500;
}
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
  color: #cf122b;
}
.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;
}
.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 var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  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: rgb(17 24 39 / 10%);
  --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: rgb(255 255 255 / 10%);
  --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-lg {
  font-size: 1.125rem;
  line-height: 1.7777778;
}
.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}
.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-inline-start: 1em;
}
.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}
.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}
.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}
.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}
.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  border-radius: 0.3125rem;
  padding-top: 0.2222222em;
  padding-inline-end: 0.4444444em;
  padding-bottom: 0.2222222em;
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}
.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8666667em;
}
.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
}
.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-inline-end: 1.5em;
  padding-bottom: 1em;
  padding-inline-start: 1.5em;
}
.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}
.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}
.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}
.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
}
.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.75em;
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}
.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}
.form-input,.form-textarea,.form-select,.form-multiselect {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}
.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
  border-color: #2563eb;
}
.form-input::-moz-placeholder, .form-textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}
.form-input::placeholder,.form-textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}
.form-input::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}
.form-input::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}
.form-input::-webkit-datetime-edit {
  display: inline-flex;
}
.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}
.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-select:where([size]:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}
.form-checkbox,.form-radio {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}
.form-checkbox {
  border-radius: 0px;
}
.form-checkbox:focus,.form-radio:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
}
.form-checkbox:checked,.form-radio:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.form-checkbox:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
@media (forced-colors: active)  {
  .form-checkbox:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
.form-checkbox:checked:hover,.form-checkbox:checked:focus,.form-radio:checked:hover,.form-radio:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}
.form-checkbox:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}
@media (forced-colors: active)  {
  .form-checkbox:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}
.form-checkbox:indeterminate:hover,.form-checkbox:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}
/* ==========================================================================
     Modern Button System
     ========================================================================== */
.card {
  overflow: hidden;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-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);
}
.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;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-32 {
  bottom: 8rem;
}
.left-0 {
  left: 0px;
}
.left-10 {
  left: 2.5rem;
}
.left-20 {
  left: 5rem;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0px;
}
.right-16 {
  right: 4rem;
}
.right-2 {
  right: 0.5rem;
}
.right-4 {
  right: 1rem;
}
.start-0 {
  inset-inline-start: 0px;
}
.start-6 {
  inset-inline-start: 1.5rem;
}
.top-1\/2 {
  top: 50%;
}
.top-20 {
  top: 5rem;
}
.top-4 {
  top: 1rem;
}
.top-40 {
  top: 10rem;
}
.top-full {
  top: 100%;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.m-0 {
  margin: 0px;
}
.-mx-3 {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.\!mb-0 {
  margin-bottom: 0px !important;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-6 {
  margin-left: 1.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-auto {
  margin-right: auto;
}
.mt-0 {
  margin-top: 0px;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.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;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[120px\] {
  height: 120px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-\[500px\] {
  max-height: 500px;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[250px\] {
  min-height: 250px;
}
.min-h-\[380px\] {
  min-height: 380px;
}
.min-h-\[3rem\] {
  min-height: 3rem;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[85vh\] {
  min-height: 85vh;
}
.min-h-\[88px\] {
  min-height: 88px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1 {
  width: 0.25rem;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-6 {
  width: 1.5rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.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-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[95\%\] {
  max-width: 95%;
}
.max-w-full {
  max-width: 100%;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.basis-\[calc\(50\%-0\.28rem\)\] {
  flex-basis: calc(50% - 0.28rem);
}
.basis-\[calc\(50\%-0\.5rem\)\] {
  flex-basis: calc(50% - 0.5rem);
}
.basis-full {
  flex-basis: 100%;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[0\] {
  transform-origin: 0;
}
.-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));
}
.translate-y-0 {
  --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));
}
.-rotate-45 {
  --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));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 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));
}
.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));
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.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;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}
.self-stretch {
  align-self: stretch;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.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-2xl {
  border-radius: 1rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-l-2xl {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.rounded-l-md {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.rounded-r-md {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}
.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-none {
  border-style: none;
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.border-gray-700\/20 {
  border-color: rgb(55 65 81 / 0.2);
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-primary-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 50 76 / var(--tw-border-opacity, 1));
}
.border-primary-600 {
  --tw-border-opacity: 1;
  border-color: rgb(244 20 49 / var(--tw-border-opacity, 1));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-slate-700 {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.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\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-primary-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 213 218 / var(--tw-bg-opacity, 1));
}
.bg-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 233 236 / var(--tw-bg-opacity, 1));
}
.bg-primary-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 50 76 / var(--tw-bg-opacity, 1));
}
.bg-primary-500\/0 {
  background-color: rgb(245 50 76 / 0);
}
.bg-primary-500\/20 {
  background-color: rgb(245 50 76 / 0.2);
}
.bg-primary-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 20 49 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-secondary-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-secondary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-secondary-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(29 36 44 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / 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\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-opacity-30 {
  --tw-bg-opacity: 0.3;
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, 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-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) 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-gray-100 {
  --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-100 {
  --tw-gradient-from: #fbd5da var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 213 218 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent 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-white\/15 {
  --tw-gradient-from: rgb(255 255 255 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-primary-50 {
  --tw-gradient-to: rgb(254 233 236 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fee9ec var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary-500 {
  --tw-gradient-to: rgb(245 50 76 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f5324c var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-gray-200 {
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}
.to-primary-200 {
  --tw-gradient-to: #f797a3 var(--tw-gradient-to-position);
}
.to-primary-500 {
  --tw-gradient-to: #f5324c var(--tw-gradient-to-position);
}
.to-secondary-100 {
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white\/10 {
  --tw-gradient-to: rgb(255 255 255 / 0.1) var(--tw-gradient-to-position);
}
.bg-cover {
  background-size: cover;
}
.bg-center {
  background-position: center;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-bottom {
  -o-object-position: bottom;
     object-position: bottom;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.object-left {
  -o-object-position: left;
     object-position: left;
}
.object-left-bottom {
  -o-object-position: left bottom;
     object-position: left bottom;
}
.object-left-top {
  -o-object-position: left top;
     object-position: left top;
}
.object-right {
  -o-object-position: right;
     object-position: right;
}
.object-right-bottom {
  -o-object-position: right bottom;
     object-position: right bottom;
}
.object-right-top {
  -o-object-position: right top;
     object-position: right top;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.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-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-11 {
  padding-bottom: 2.75rem;
}
.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;
}
.pe-0 {
  padding-inline-end: 0px;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.ps-0 {
  padding-inline-start: 0px;
}
.ps-6 {
  padding-inline-start: 1.5rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-serif {
  font-family: Georgia, 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-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[calc\(1rem-4px\)\] {
  font-size: calc(1rem - 4px);
}
.text-base {
  font-size: 18px;
  line-height: 1.75;
}
.text-lg {
  font-size: 20px;
  line-height: 2;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.text-xxs {
  font-size: .7rem;
}
.font-bold {
  font-weight: 700;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-\[0\.7rem\] {
  line-height: 0.7rem;
}
.leading-loose {
  line-height: 2;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-tight {
  letter-spacing: -0.02em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-primary-300 {
  --tw-text-opacity: 1;
  color: rgb(242 119 136 / var(--tw-text-opacity, 1));
}
.text-primary-400 {
  --tw-text-opacity: 1;
  color: rgb(245 80 101 / var(--tw-text-opacity, 1));
}
.text-primary-500 {
  --tw-text-opacity: 1;
  color: rgb(245 50 76 / var(--tw-text-opacity, 1));
}
.text-primary-600 {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
.text-primary-700 {
  --tw-text-opacity: 1;
  color: rgb(207 18 43 / var(--tw-text-opacity, 1));
}
.text-primary-800 {
  --tw-text-opacity: 1;
  color: rgb(173 14 34 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-secondary-600 {
  --tw-text-opacity: 1;
  color: rgb(65 81 99 / var(--tw-text-opacity, 1));
}
.text-secondary-900 {
  --tw-text-opacity: 1;
  color: rgb(18 23 28 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.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);
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.03\] {
  opacity: 0.03;
}
.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-md {
  --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);
}
.shadow-sm {
  --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);
}
.shadow-xl {
  --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);
}
.shadow-emerald-500\/50 {
  --tw-shadow-color: rgb(16 185 129 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring-2 {
  --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);
}
.ring-4 {
  --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(4px + 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);
}
.ring-gray-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}
.ring-secondary-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(93 112 138 / var(--tw-ring-opacity, 1));
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/20 {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.blur {
  --tw-blur: blur(8px);
  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);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  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-blur-sm {
  --tw-backdrop-blur: blur(4px);
  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 {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, 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-shadow {
  transition-property: box-shadow;
  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-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
/* Component styles - imported after Tailwind for proper cascade */
/**
 * Mega Menu Styles
 * 
 * @package CanadaAbroad
 */
/* ==========================================================================
   NAVIGATION CONTAINER OVERFLOW
   ========================================================================== */
/* Ensure navigation containers don't clip mega menu */
#sticky-nav {
	overflow: visible !important;
	position: relative;
}
#site-navigation,
.main-navigation,
#site-navigation > div,
.main-navigation > div {
	overflow: visible !important;
}
/* Menu list itself should be static so dropdown positions relative to nav */
#desktop-main-menu {
	position: static;
}
/* Menu items with mega menu should be static for dropdown positioning */
#desktop-main-menu > li.has-mega-menu,
#desktop-main-menu > li.menu-item-has-children {
	position: static;
}
/* ==========================================================================
   TOP LEVEL MENU ITEMS
   ========================================================================== */
.main-navigation .top-level-item > a,
.main-navigation > ul > li > a,
#desktop-main-menu > li > a {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.6rem 1.2rem;
	color: #fff;
	font-weight: 500;
	font-size: calc(1rem - 2px);
	transition: all 0.2s ease;
	position: relative;
}
/* Active underline indicator - Theme Red */
.main-navigation .top-level-item > a::after,
#desktop-main-menu > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #dc2626; /* primary.500 */
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.main-navigation .top-level-item.is-open > a::after,
.main-navigation .top-level-item:hover > a::after,
.main-navigation .top-level-item.current-menu-item > a::after,
.main-navigation .top-level-item.current-menu-ancestor > a::after,
.main-navigation .top-level-item.current-menu-parent > a::after,
#desktop-main-menu > li.is-open > a::after,
#desktop-main-menu > li:hover > a::after,
#desktop-main-menu > li.current-menu-item > a::after,
#desktop-main-menu > li.current-menu-ancestor > a::after,
#desktop-main-menu > li.current-menu-parent > a::after {
	transform: scaleX(1);
}
.main-navigation .top-level-item > a:hover,
.main-navigation .top-level-item.is-open > a,
.main-navigation .top-level-item.current-menu-item > a,
.main-navigation .top-level-item.current-menu-ancestor > a,
.main-navigation .top-level-item.current-menu-parent > a,
#desktop-main-menu > li > a:hover,
#desktop-main-menu > li.is-open > a,
#desktop-main-menu > li.current-menu-item > a,
#desktop-main-menu > li.current-menu-ancestor > a,
#desktop-main-menu > li.current-menu-parent > a {
	color: #fff;
}
/* Menu Arrow */
.menu-arrow {
	width: 1rem;
	height: 1rem;
	transition: transform 0.3s ease;
	opacity: 0.7;
	flex-shrink: 0;
}
.top-level-item.is-open .menu-arrow {
	transform: rotate(180deg);
}
/* ==========================================================================
   REGULAR DROPDOWN MENU (Non-Mega)
   ========================================================================== */
.dropdown-menu,
.main-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: #fff;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 9999;
	padding: 0.375rem 0;
	list-style: none;
	pointer-events: none;
}
/* Nested submenus (submenu items with children) - position on the right */
.dropdown-menu .sub-menu,
.main-navigation .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	transform: translateX(-10px);
	margin-left: 0;
}
.dropdown-menu .sub-menu:hover,
.main-navigation .sub-menu .sub-menu:hover,
.dropdown-menu li:hover > .sub-menu,
.main-navigation .sub-menu li:hover > .sub-menu,
.dropdown-menu .menu-item-has-children:hover > .sub-menu,
.main-navigation .sub-menu .menu-item-has-children:hover > .sub-menu {
	transform: translateX(0);
}
/* Show on .is-open class (JS click only - no hover) */
.top-level-item.is-open > .dropdown-menu,
.top-level-item.is-open > .sub-menu,
.menu-item-has-children.is-open > .sub-menu,
.has-dropdown.is-open > .sub-menu,
li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.dropdown-menu li,
.main-navigation .sub-menu li {
	display: block;
}
.dropdown-menu .menu-link,
.dropdown-menu a,
.main-navigation .sub-menu a {
	display: flex;
	align-items: center;
	padding: 0.375rem 1rem;
	color: #374151;
	font-size: 0.8125rem;
	font-weight: 400;
	text-decoration: none;
	background: transparent;
	border: none;
	box-shadow: none;
	transition: all 0.2s ease;
}
.dropdown-menu .menu-link:hover,
.dropdown-menu a:hover,
.main-navigation .sub-menu a:hover {
	color: #dc2626; /* primary.600 */
	background: #f9fafb;
}
/* Active menu items in regular dropdown menus */
.dropdown-menu .current-menu-item > .menu-link,
.dropdown-menu .current-menu-item > a,
.main-navigation .sub-menu .current-menu-item > .menu-link,
.main-navigation .sub-menu .current-menu-item > a,
.dropdown-menu .current-menu-ancestor > .menu-link,
.dropdown-menu .current-menu-ancestor > a,
.main-navigation .sub-menu .current-menu-ancestor > .menu-link,
.main-navigation .sub-menu .current-menu-ancestor > a,
.dropdown-menu .current-menu-parent > .menu-link,
.dropdown-menu .current-menu-parent > a,
.main-navigation .sub-menu .current-menu-parent > .menu-link,
.main-navigation .sub-menu .current-menu-parent > a {
	color: #dc2626; /* primary.600 */
	font-weight: 500;
	background: #fee2e2; /* primary.100 - light red background */
}
.dropdown-menu .current-menu-item > .menu-link:hover,
.dropdown-menu .current-menu-item > a:hover,
.main-navigation .sub-menu .current-menu-item > .menu-link:hover,
.main-navigation .sub-menu .current-menu-item > a:hover {
	color: #b91c1c; /* primary.700 */
	background: #fee2e2;
}
/* Arrow icons in regular dropdown menus */
.dropdown-menu .menu-link .menu-arrow-right,
.main-navigation .sub-menu .menu-link .menu-arrow-right,
.dropdown-menu a .menu-arrow-right,
.main-navigation .sub-menu a .menu-arrow-right {
	width: 0.875rem;
	height: 0.875rem;
	color: #9ca3af;
	transition: all 0.2s ease;
	flex-shrink: 0;
	margin-left: auto;
}
.dropdown-menu .menu-link:hover .menu-arrow-right,
.main-navigation .sub-menu .menu-link:hover .menu-arrow-right,
.dropdown-menu a:hover .menu-arrow-right,
.main-navigation .sub-menu a:hover .menu-arrow-right {
	color: #dc2626;
	transform: translateX(3px);
}
/* Active menu items - Arrow should be red */
.dropdown-menu .current-menu-item > .menu-link .menu-arrow-right,
.dropdown-menu .current-menu-item > a .menu-arrow-right,
.main-navigation .sub-menu .current-menu-item > .menu-link .menu-arrow-right,
.main-navigation .sub-menu .current-menu-item > a .menu-arrow-right,
.dropdown-menu .current-menu-ancestor > .menu-link .menu-arrow-right,
.dropdown-menu .current-menu-ancestor > a .menu-arrow-right,
.main-navigation .sub-menu .current-menu-ancestor > .menu-link .menu-arrow-right,
.main-navigation .sub-menu .current-menu-ancestor > a .menu-arrow-right {
	color: #dc2626; /* primary.600 */
}
/* ==========================================================================
   MEGA MENU DROPDOWN - Full Width Style
   ========================================================================== */
.mega-menu-dropdown {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(-10px);
	width: calc(100% - 2rem); /* Respect container padding */
	max-width: 1280px; /* Match container max-width */
	/* background: #fff; */
	border-top: 3px solid #dc2626; /* primary.500 */
	border-radius: 0 0 25px 25px; /* Rounded bottom corners */
	box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.15);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
	z-index: 9999;
	pointer-events: none;
	overflow: hidden;
	box-sizing: border-box;
}
/* Show mega menu on click only (using .is-open class from JS) */
.top-level-item.is-open > .mega-menu-dropdown,
.has-mega-menu.is-open > .mega-menu-dropdown,
li.is-open > .mega-menu-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}
/* Mega Menu Container - Full Width Grid */
.mega-menu-container {
	display: flex;
	min-height: auto;
	/* max-height: 70vh; Limit height to viewport */
	overflow: visible;
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	border-radius: 0 0 28px 28px;
}
/* ==========================================================================
   MEGA MENU SIDEBAR (Left Section)
   ========================================================================== */
.mega-menu-sidebar {
	width: 230px;
	flex-shrink: 0;
	background: #2f3a45; /* gray.800 */
	border-right: none;
	padding: 1rem;
	display: flex;
	flex-direction: column;
}
.mega-menu-sidebar__content {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.mega-menu-sidebar__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff; /* white */
	margin: 0 0 0.5rem 0;
	line-height: 1.2;
	position: relative;
	padding-bottom: 0.625rem;
}
/* Red underline accent */
.mega-menu-sidebar__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 3px;
	background: #dc2626; /* primary.500 */
	border-radius: 2px;
}
.mega-menu-sidebar__description {
	font-size: 0.8125rem;
	color: #fff; /* white */
	line-height: 1.5;
	margin: 0 0 0.75rem 0;
	flex-grow: 1;
}
.mega-menu-sidebar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #dc2626; /* primary.600 */
	text-decoration: none;
	transition: all 0.2s ease;
	margin-top: auto;
}
.mega-menu-sidebar__link:hover {
	color: #b91c1c; /* primary.700 */
	gap: 0.625rem;
}
.mega-menu-sidebar__link::after {
	content: '→';
	transition: transform 0.2s ease;
}
.mega-menu-sidebar__link:hover::after {
	transform: translateX(4px);
}
/* ==========================================================================
   MEGA MENU CONTENT (Menu Items Area)
   ========================================================================== */
.mega-menu-content {
	flex: 1;
	padding: 1rem 1.25rem;
	min-width: 200px;
	position: relative;
}
/* Main grid container - holds all columns (level 1, 2, 3) */
.mega-menu-content {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem; /* Minimal gap between columns */
	height: 100%;
	position: relative;
	overflow: visible;
	flex: 1; /* Take available space */
	align-items: flex-start; /* Align all columns to top */
}
/* Regular menus without sidebar - content takes full width */
.regular-menu-container {
	display: flex;
}
.regular-menu-content {
	flex: 1;
	width: 100%;
	padding: 1rem 1.25rem;
}
/* First level columns container */
.mega-menu-content > .mega-menu-columns:first-of-type {
	display: block;
	height: 100%;
}
/* First level columns - sized to content */
.mega-menu-columns--1 {
	width: -moz-max-content;
	width: max-content;
	min-width: 250px;
	max-width: 380px;
	flex-shrink: 0;
	height: 100%;
	align-self: start;
	order: 1;
	display: block; /* Level 1 always visible */
	overflow: visible;
}
/* Second level columns - fixed max width */
.mega-menu-columns--2 {
	width: -moz-max-content;
	width: max-content;
	min-width: 250px;
	max-width: 380px;
	flex-shrink: 0;
	height: 100%;
	align-self: start;
	order: 2;
}
/* Third level columns - take all remaining space */
.mega-menu-columns--3 {
	min-width: 250px;
	flex: 1 1 auto; /* Grow to fill remaining space */
	height: 100%;
	align-self: start;
	order: 3;
	overflow: visible;
}
/* Nested columns (level 2 and 3) - hidden by default, shown on hover */
.mega-menu-columns--2,
.mega-menu-columns--3 {
	display: none; /* Completely hide from grid flow */
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	border-left: none;
	padding: 0;
	margin: 0;
	background: #fff;
	/* transition: opacity 0.15s ease, visibility 0.15s ease; */
}
/* Show nested column when visible class is added */
.mega-menu-columns--2.is-visible {
	display: block; /* Bring back into grid flow */
	opacity: 1;
	visibility: visible;
	width: -moz-max-content;
	width: max-content;
	min-width: 250px;
	max-width: 380px;
	border-left: none;
	padding: 0;
	overflow: visible;
}
.mega-menu-columns--3.is-visible {
	display: block; /* Bring back into grid flow */
	opacity: 1;
	visibility: visible;
	min-width: 250px;
	flex: 1 1 auto; /* Grow to fill remaining space */
	border-left: none;
	padding: 0;
	overflow: visible;
}
/* Menu List */
.mega-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	position: static;
	width: 100%;
}
.mega-menu-list > li {
	position: static;
	width: 100%;
}
/* Menu Links in Mega Menu */
.mega-menu-list .menu-link {
	display: flex;
	align-items: center; /* Center arrow vertically */
	/* gap: 0.25rem; */
	padding: 0.375rem 0;
	color: #374151; /* gray.700 */
	font-size: calc(1rem - 3px);
	text-decoration: none;
	border-radius: 0;
	/* transition: all 0.15s ease; */
	background: transparent;
	border: none;
	box-shadow: none;
	line-height: 1.4;
	width: 100%;
}
.mega-menu-list .menu-link:hover {
	color: #dc2626; /* primary.600 */
}
.mega-menu-list .menu-link .menu-item-text {
	white-space: normal; /* Allow text to wrap if needed */
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-word;
}
/* Arrow icon - Only shows for items WITH children */
.mega-menu-list .menu-link .menu-arrow-right {
	width: 0.875rem;
	height: 0.875rem;
	color: #9ca3af; /* gray.400 - Same as text, not red by default */
	transition: all 0.2s ease;
	flex-shrink: 0;
	margin-left: 0.25rem;
}
.mega-menu-list .menu-link:hover .menu-arrow-right {
	color: #dc2626; /* primary.600 - Red on hover */
	transform: translateX(3px);
}
/* Active menu items - Arrow should be red */
.mega-menu-list .current-menu-item > .menu-link .menu-arrow-right,
.mega-menu-list .current-menu-ancestor > .menu-link .menu-arrow-right,
.mega-menu-list .current-menu-parent > .menu-link .menu-arrow-right {
	color: #dc2626; /* primary.600 */
}
/* Items with nested submenu - No special color, same as other items */
.mega-menu-list .has-nested-submenu {
	position: static;
}
.mega-menu-list .has-nested-submenu > .menu-link {
	color: #374151; /* Same color as other items - gray.700 */
}
.mega-menu-list .has-nested-submenu:hover > .menu-link {
	color: #dc2626; /* primary.600 - Only on hover */
}
/* Active menu items and their ancestors - Show in red */
.mega-menu-list .current-menu-item > .menu-link,
.mega-menu-list .current-menu-ancestor > .menu-link,
.mega-menu-list .current-menu-parent > .menu-link {
	color: #dc2626;
}
.mega-menu-list .current-menu-item > .menu-link:hover,
.mega-menu-list .current-menu-ancestor > .menu-link:hover,
.mega-menu-list .current-menu-parent > .menu-link:hover {
	color: #b91c1c; /* primary.700 */
}
/* ==========================================================================
   NESTED SUBMENU - Shows in Separate Columns
   ========================================================================== */
/* Ensure nested submenu is positioned relative to content area */
.mega-menu-list .has-nested-submenu {
	position: static; /* No positioning context for nested menu */
}
/* The nested submenu container - holds all nested submenus */
.mega-menu-nested-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none; /* Allow clicks to pass through when hidden */
	z-index: 20;
}
/* Add a hover bridge area to prevent menu from hiding when moving mouse */
.mega-menu-nested-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: -10px; /* Extend slightly to the left to create hover bridge */
	width: 10px;
	height: 100%;
	pointer-events: auto; /* Enable hover detection */
	z-index: 19;
}
/* The nested submenu - positioned at top right of mega-menu-content */
.mega-menu-nested {
	position: absolute;
	top: 0; /* Start from top of content area */
	left: auto; /* Will be set by JavaScript to right edge of last column */
	min-width: 150px;
	background: #fff;
	border-left: none;
	padding: 1rem 1.25rem;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease, visibility 0.15s ease;
	z-index: 20;
	margin: 0; /* Reset any margins */
	pointer-events: auto; /* Enable clicks when visible */
	
	/* CSS Columns for vertical flow into multiple columns */
	-moz-column-count: auto;
	     column-count: auto;
	-moz-column-width: 150px;
	     column-width: 150px;
	-moz-column-gap: 0.75rem;
	     column-gap: 0.75rem;
	/* max-height: 280px; */
}
/* Show nested submenu when parent item is hovered */
.has-nested-submenu.is-nested-open ~ .mega-menu-nested-container .mega-menu-nested[data-parent-item-id],
.mega-menu-nested[style*="opacity: 1"],
.mega-menu-nested[style*="visibility: visible"] {
	opacity: 1;
	visibility: visible;
}
/* Nested submenu within nested submenu - also starts from top */
.mega-menu-nested .has-nested-submenu {
	position: static;
}
.mega-menu-nested .mega-menu-nested {
	position: absolute; /* Position relative to parent nested menu */
	top: 0 !important; /* Start from top of parent nested menu */
	left: 100%; /* Position to the right of parent */
	z-index: 21;
}
/* When nested is open, hide the featured section */
.mega-menu-content:has(.has-nested-submenu:hover) ~ .mega-menu-featured,
.mega-menu-content:has(.has-nested-submenu.is-nested-open) ~ .mega-menu-featured {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.mega-menu-nested li {
	display: block;
	-moz-column-break-inside: avoid;
	     break-inside: avoid;
	page-break-inside: avoid;
}
.mega-menu-nested .menu-link {
	display: block;
	padding: 0.3rem 0;
	color: #374151; /* gray.700 */
	font-size: 0.8125rem;
	text-decoration: none;
	transition: all 0.15s ease;
	background: transparent;
	border: none;
	box-shadow: none;
	white-space: nowrap;
	line-height: 1.4;
}
.mega-menu-nested .menu-link:hover {
	color: #dc2626; /* primary.600 */
}
/* ==========================================================================
   MEGA MENU FEATURED SECTION
   ========================================================================== */
.mega-menu-featured {
	display: flex;
	gap: 0;
	border-left: none;
	background: #f9fafb;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}
/* Featured Cards */
.mega-menu-cards {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 0.75rem;
	width: 250px;
}
/* Mobile: Make featured cards responsive */
@media (max-width: 768px) {
	.mobile-mega-menu .mega-menu-cards {
		width: 100%;
		max-width: 100%;
		padding: 1.5rem 1.25rem;
	}
}
.mega-menu-card {
	display: block;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	text-decoration: none;
	transition: all 0.2s ease;
}
.mega-menu-card:hover {
	border-color: #fca5a5; /* primary.300 */
	box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.12);
}
.mega-menu-card__label {
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #dc2626; /* primary.600 */
	margin-bottom: 0.375rem;
}
.mega-menu-card__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: #1f2937; /* secondary.700 */
	margin: 0 0 0.25rem 0;
	line-height: 1.3;
}
.mega-menu-card__description {
	font-size: 0.75rem;
	color: #4b5563; /* gray.600 */
	margin: 0;
	line-height: 1.4;
}
/* Featured Panel (Image with CTA) */
.mega-menu-panel {
	width: 200px;
	position: relative;
	overflow: hidden;
}
.mega-menu-panel__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.mega-menu-panel__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top, 
		rgba(0, 0, 0, 0.85) 0%, 
		rgba(0, 0, 0, 0.5) 40%, 
		rgba(0, 0, 0, 0.2) 100%
	);
}
.mega-menu-panel__content {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1rem;
	color: #fff;
}
.mega-menu-panel__label {
	display: inline-block;
	padding: 0.1875rem 0.5rem;
	background: #dc2626; /* primary.500 */
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 0.25rem;
	margin-bottom: 0.625rem;
	width: -moz-fit-content;
	width: fit-content;
}
.mega-menu-panel__title {
	font-size: 0.9375rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 0.75rem 0;
	line-height: 1.3;
}
.mega-menu-panel__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}
.mega-menu-panel__cta:hover {
	gap: 0.75rem;
	color: #fca5a5; /* primary.300 */
}
.mega-menu-panel__cta svg {
	transition: transform 0.2s ease;
}
.mega-menu-panel__cta:hover svg {
	transform: translateX(4px);
}
/* ==========================================================================
   MEGA MENU NEWS GRID
   ========================================================================== */
.mega-menu-news {
	flex: 1;
	padding: 1rem 1.25rem;
	border-left: none;
	background: #ffffff; /* White background for better card contrast */
}
.mega-menu-news__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem; /* Increased gap for better card separation */
}
.mega-menu-news__item {
	display: flex;
	gap: 0;
	text-decoration: none;
	background: #f7f8f9; /* Light gray background for card effect */
	border-radius: 0.5rem; /* Rounded corners */
	padding: 0; /* No padding - image will touch edges */
	transition: all 0.3s ease;
	border: none; /* No border */
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* Subtle shadow */
	overflow: hidden; /* Ensure rounded corners work */
	min-height: 120px; /* Minimum height for card */
	align-items: stretch; /* Stretch children to full height */
}
.mega-menu-news__item:hover {
	background: #ffffff; /* White background on hover */
	box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1); /* Prominent shadow on hover */
	transform: translateY(-2px); /* Slight lift effect */
}
.mega-menu-news__image {
	width: 120px; /* Increased width */
	height: 100%; /* Full height to touch top and bottom */
	flex-shrink: 0;
	border-radius: 0.5rem 0 0 0.5rem; /* Rounded left corners only (top-left and bottom-left) */
	overflow: hidden;
	background: #e5e7eb; /* Placeholder background */
	align-self: stretch; /* Stretch to full card height */
}
.mega-menu-news__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	transition: transform 0.3s ease;
	display: block;
}
.mega-menu-news__item:hover .mega-menu-news__image img {
	transform: scale(1.08); /* Slight zoom on hover */
}
.mega-menu-news__content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center; /* Vertically center content */
	padding: 0.875rem 1rem 0.875rem 1rem; /* Padding on all sides except left (where image touches) */
}
.mega-menu-news__meta {
	display: block;
	font-size: 0.6875rem;
	color: #dc2626; /* primary.600 */
	font-weight: 600;
	margin-bottom: 0.375rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}
.mega-menu-news__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: #1f2937; /* secondary.700 */
	margin: 0;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}
.mega-menu-news__item:hover .mega-menu-news__title {
	color: #dc2626; /* primary.600 */
}
/* ==========================================================================
   MEGA MENU LAYOUT VARIATIONS
   ========================================================================== */
/* News Grid Layout */
.mega-menu-layout--news_grid .mega-menu-content {
	display: none;
}
/* All layouts now use the .container class for responsive max-width */
/* No need for custom max-width definitions - handled by .container class */
/* Featured section for with_image_card should display both featured cards and image card */
.mega-menu-layout--with_image_card .mega-menu-featured {
	display: flex;
	gap: 0;
	border-left: none;
	background: #f9fafb;
	align-items: flex-start;
}
/* Image card should be displayed alongside featured cards with matching spacing */
.mega-menu-layout--with_image_card .mega-menu-image-card {
	flex-shrink: 0;
	margin: 1rem 0.75rem;
	height: auto;
}
/* Image Card Styling - Similar to featured panel */
.mega-menu-image-card {
	width: 220px;
	height: auto;
	min-height: 260px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	border-radius: 0.375rem;
	overflow: hidden;
	margin: 1rem 0.75rem;
	align-self: flex-start;
}
.mega-menu-image-card__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 100%);
	z-index: 1;
}
.mega-menu-image-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 1rem 0.75rem;
	color: #ffffff;
	justify-content: flex-start;
}
.mega-menu-image-card__badge {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.625rem;
	color: #ffffff;
}
.mega-menu-image-card__title {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 auto 0;
	color: #ffffff;
}
.mega-menu-image-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #ffffff;
	text-decoration: none;
	margin-top: auto;
	padding-top: 0.625rem;
	transition: color 0.2s ease;
}
.mega-menu-image-card__link:hover {
	color: rgba(255, 255, 255, 0.9);
}
.mega-menu-image-card__link svg {
	width: 0.875rem;
	height: 0.875rem;
}
.mega-menu-layout--manual_posts .mega-menu-content {
	display: none;
}
/* ==========================================================================
   MENU ITEM BADGE
   ========================================================================== */
.menu-item-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.1875rem 0.5rem;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 0.25rem;
	margin-left: 0.5rem;
}
.menu-item-badge--primary {
	background: #fee2e2; /* primary.100 */
	color: #991b1b; /* primary.700 */
}
.menu-item-badge--success {
	background: #dcfce7;
	color: #15803d;
}
.menu-item-badge--warning {
	background: #fef3c7;
	color: #b45309;
}
.menu-item-badge--danger {
	background: #fee2e2; /* primary.100 */
	color: #991b1b; /* primary.700 */
}
/* ==========================================================================
   MEGA MENU RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
	.mega-menu-layout--with_featured .mega-menu-panel {
		display: none;
	}
	
	.mega-menu-cards {
		width: 180px;
	}
	
	.mega-menu-sidebar {
		width: 180px;
		padding: 0.875rem 1rem;
	}
	
	.mega-menu-content {
		gap: 0.5rem;
		padding: 0.875rem 1rem;
	}
	
	.mega-menu-columns--1 {
		width: -moz-max-content;
		width: max-content;
		min-width: 160px;
		max-width: 240px;
	}
	
	.mega-menu-columns--2,
	.mega-menu-columns--2.is-visible {
		width: -moz-max-content;
		width: max-content;
		min-width: 180px;
		max-width: 280px;
	}
	
	.mega-menu-columns--3,
	.mega-menu-columns--3.is-visible {
		min-width: 180px;
		flex: 1 1 auto;
	}
}
@media (max-width: 1024px) {
	.mega-menu-sidebar {
		width: 160px;
		padding: 0.75rem 0.875rem;
	}
	
	.mega-menu-sidebar__title {
		font-size: 1.125rem;
	}
	
	.mega-menu-sidebar__description {
		font-size: 0.75rem;
		line-height: 1.4;
	}
	
	.mega-menu-cards {
		width: 160px;
		padding: 0.75rem;
	}
	
	.mega-menu-card {
		padding: 0.5rem;
	}
	
	.mega-menu-news__grid {
		grid-template-columns: 1fr;
	}
	
	.mega-menu-nested {
		min-width: 130px;
		padding: 0.75rem 0.5rem;
	}
	
	.mega-menu-content {
		gap: 0.375rem;
		padding: 0.75rem 0.875rem;
	}
	
	.mega-menu-list .menu-link {
		padding: 0.3rem 0;
		font-size: 0.75rem;
	}
	
	.mega-menu-nested .menu-link {
		font-size: 0.75rem;
		padding: 0.25rem 0;
	}
	
	.mega-menu-columns--1 {
		width: -moz-max-content;
		width: max-content;
		min-width: 140px;
		max-width: 200px;
	}
	
	.mega-menu-columns--2,
	.mega-menu-columns--2.is-visible {
		width: -moz-max-content;
		width: max-content;
		min-width: 160px;
		max-width: 240px;
	}
	
	.mega-menu-columns--3,
	.mega-menu-columns--3.is-visible {
		min-width: 150px;
		flex: 1 1 auto;
	}
	
	/* Hide featured section on smaller screens to fit 3 levels */
	.mega-menu-featured {
		display: none;
	}
}
@media (max-width: 768px) {
	/* Hide desktop mega menu on mobile */
	#desktop-main-menu .mega-menu-dropdown {
		display: none !important;
	}
	
	/* Mobile Mega Menu - Accordion Style */
	.mobile-mega-menu {
		background: #fff;
		padding: 0 0 0 15px;
		margin: 0;
		list-style: none;
		width: 100%;
		box-sizing: border-box;
	}
	
	.mobile-mega-menu > li {
		margin: 0;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}
	
	.mobile-mega-menu > li > a {
		display: block;
		padding: 0.50rem 0;
		padding-right: 2.5rem;
		color: #1f2937;
		font-weight: 400;
		font-size: 1rem;
		text-decoration: none;
		background: #fff;
		transition: color 0.2s ease;
		width: 100%;
		position: relative;
		box-sizing: border-box;
		line-height: 1.4;
	}
	
	.mobile-mega-menu > li > a > span,
	.mobile-mega-menu > li > a .menu-item-text {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
	}
	
	.mobile-mega-menu > li > a:hover,
	.mobile-mega-menu > li > a:focus,
	.mobile-mega-menu > li > a:active {
		color: #dc2626;
	}
	
	/* Active state for top-level mobile menu items - red text only */
	.mobile-mega-menu > li.current-menu-item > a,
	.mobile-mega-menu > li.current-menu-ancestor > a,
	.mobile-mega-menu > li.current-menu-parent > a {
		color: #dc2626; /* primary.600 */
		font-weight: 500;
		background: transparent;
	}
	
	.mobile-mega-menu > li.current-menu-item > a:hover,
	.mobile-mega-menu > li.current-menu-ancestor > a:hover,
	.mobile-mega-menu > li.current-menu-parent > a:hover {
		color: #b91c1c; /* primary.700 */
		background: transparent;
	}
	
	/* Active state arrows for top-level items */
	.mobile-mega-menu > li.current-menu-item > a .menu-arrow,
	.mobile-mega-menu > li.current-menu-ancestor > a .menu-arrow,
	.mobile-mega-menu > li.current-menu-parent > a .menu-arrow {
		color: #dc2626; /* primary.600 */
	}
	
	/* Show SVG arrows on mobile for top level - forward arrow (no rotation needed) */
	.mobile-mega-menu > li.has-mega-menu > a .menu-arrow,
	.mobile-mega-menu > li.has-dropdown > a .menu-arrow,
	.mobile-mega-menu > li.menu-item-has-children > a .menu-arrow {
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		color: #9ca3af;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		transition: color 0.2s ease;
		pointer-events: none;
	}
	
	.mobile-mega-menu > li.has-mega-menu > a:hover .menu-arrow,
	.mobile-mega-menu > li.has-mega-menu > a:focus .menu-arrow,
	.mobile-mega-menu > li.has-dropdown > a:hover .menu-arrow,
	.mobile-mega-menu > li.has-dropdown > a:focus .menu-arrow,
	.mobile-mega-menu > li.menu-item-has-children > a:hover .menu-arrow,
	.mobile-mega-menu > li.menu-item-has-children > a:focus .menu-arrow {
		color: #dc2626;
	}
	
	.mobile-mega-menu > li.has-mega-menu.is-open > a .menu-arrow,
	.mobile-mega-menu > li.has-dropdown.is-open > a .menu-arrow,
	.mobile-mega-menu > li.menu-item-has-children.is-open > a .menu-arrow {
		color: #dc2626;
	}
	
	
	/* Mobile Mega Menu Dropdown - Full Screen Overlay */
	.mobile-mega-menu .mega-menu-dropdown {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		background: #fff !important;
		z-index: 99999 !important;
		overflow: hidden !important;
		transform: translateX(100%) !important;
		transition: transform 0.3s ease !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		border-radius: 0 !important;
		border: none !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		color: #1f2937 !important;
	}
	
	.mobile-mega-menu .mega-menu-dropdown.is-open {
		transform: translateX(0) !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.mobile-mega-menu .mega-menu-news__grid,
	.mobile-mega-menu .mega-menu-list {
		width: 100%;
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	/* Card spacing */
	.mobile-mega-menu .mega-menu-news__item {
		margin: 0.25rem 0;
		padding: 1rem 1rem;
	}
	
	/* Ensure mobile dropdown stays hidden when not open, overriding desktop rules */
	.mobile-mega-menu .has-mega-menu:not(.is-open) > .mega-menu-dropdown,
	.mobile-mega-menu li.has-mega-menu:not(.is-open) > .mega-menu-dropdown,
	.mobile-mega-menu .mega-menu-dropdown:not(.is-open) {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateX(100%) !important;
	}
	
	/* Hide sidebar and featured when dropdown is closed */
	.mobile-mega-menu .mega-menu-dropdown:not(.is-open) .mega-menu-sidebar,
	.mobile-mega-menu .mega-menu-dropdown:not(.is-open) .mega-menu-featured {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
	
/* Hide back button on desktop */
.mega-menu-back {
	display: none;
}

/* Back Button - Only show on mobile */
@media (max-width: 768px) {
	.mobile-mega-menu .mega-menu-back {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 60px;
		display: flex;
		align-items: center;
		padding: 0 1.25rem;
		background: #fff;
		border-bottom: 1px solid #e5e7eb;
		z-index: 10000;
	}
}
	
	.mobile-mega-menu .mega-menu-back-button {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		color: #6b7280;
		font-size: 0.9375rem;
		text-decoration: none;
		background: none;
		border: none;
		padding: 0;
		cursor: pointer;
	}
	
	.mobile-mega-menu .mega-menu-back-button:hover {
		color: #1f2937;
	}
	
	.mobile-mega-menu .mega-menu-back-button svg {
		width: 1.25rem;
		height: 1.25rem;
	}
	
	.mobile-mega-menu .mega-menu-container {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		padding: 60px 0 1.25rem 0 !important; /* Space for back button, no horizontal padding (handled by children) */
		margin: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important; /* This is the scroll container */
		-webkit-overflow-scrolling: touch !important;
		box-sizing: border-box !important;
		background: #fff !important;
	}
	
	/* Mobile Sidebar - Only show on level 1 if it has content */
	.mobile-mega-menu .mega-menu-sidebar {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		border-right: none !important;
		border-bottom: 1px solid #e5e7eb !important;
		padding: 1rem 1.25rem !important; /* Equal left/right padding */
		margin: 0 0 0.5rem 0 !important;
		background: #2f3a45 !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	
	/* Hide sidebar for regular submenus (no layout/sidebar content) */
	.mobile-mega-menu .mega-menu-sidebar[style*="display: none"],
	.mobile-mega-menu .mega-menu-sidebar:empty {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		overflow: hidden !important;
	}
	
	/* Hide sidebar when showing level 2 or 3 */
	.mobile-mega-menu .mega-menu-columns--2.is-visible ~ .mega-menu-sidebar,
	.mobile-mega-menu .mega-menu-columns--3.is-visible ~ .mega-menu-sidebar,
	.mobile-mega-menu .mega-menu-container:has(.mega-menu-columns--2.is-visible) .mega-menu-sidebar,
	.mobile-mega-menu .mega-menu-container:has(.mega-menu-columns--3.is-visible) .mega-menu-sidebar {
		display: none !important;
	}
	
	/* Also hide sidebar when any nested column is visible (more specific) */
	.mobile-mega-menu .mega-menu-dropdown:has(.mega-menu-columns--2.is-visible) .mega-menu-sidebar,
	.mobile-mega-menu .mega-menu-dropdown:has(.mega-menu-columns--3.is-visible) .mega-menu-sidebar {
		display: none !important;
	}
	
	.mobile-mega-menu .mega-menu-sidebar__title {
		font-size: 1.25rem !important;
		margin-bottom: 0.5rem !important;
	}
	
	.mobile-mega-menu .mega-menu-sidebar__title::after {
		display: none !important;
	}
	
	.mobile-mega-menu .mega-menu-sidebar__description {
		font-size: 0.875rem !important;
		margin-bottom: 0.5rem !important;
		line-height: 1.4 !important;
	}
	
	.mobile-mega-menu .mega-menu-sidebar__link {
		color: #dc2626 !important;
		font-weight: 600 !important;
		font-size: 0.875rem !important;
	}
	
	/* Mobile Content - Navigation Stack (one level at a time) */
	.mobile-mega-menu .mega-menu-content {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: #fff !important;
		position: relative !important;
		overflow: hidden !important;
		color: #1f2937 !important;
		height: auto;
	}
	
	.mobile-mega-menu .mega-menu-columns {
		display: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.mobile-mega-menu .mega-menu-columns.is-visible {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		background: #fff !important;
		color: #1f2937 !important;
		overflow: hidden !important;
	}
	
	.mobile-mega-menu .mega-menu-list {
		display: block !important;
		list-style: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 1.25rem !important; /* Equal left/right padding */
		margin: 0 !important;
		background: #fff !important;
		overflow: hidden !important;
		color: #1f2937 !important;
		box-sizing: border-box !important;
	}
	
	.mobile-mega-menu .mega-menu-list > li {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	
	.mobile-mega-menu .mega-menu-list .menu-link,
	.mobile-mega-menu .mega-menu-columns .menu-link {
		display: block !important;
		width: 100% !important;
		padding: 0.75rem 2rem 0.75rem 0 !important; /* Space for arrow on right */
		margin: 0 !important;
		color: #1f2937 !important;
		font-size: 0.9375rem !important; /* 15px - smaller font */
		text-decoration: none !important;
		background: #fff !important;
		position: relative !important;
		line-height: 1.4 !important;
		box-sizing: border-box !important;
	}
	
	.mobile-mega-menu .mega-menu-list .menu-link .menu-item-text {
		display: block !important;
		width: auto !important;
		text-align: left !important;
		white-space: normal !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		color: inherit !important;
	}
	
	/* Show ALL SVG arrows in mega menu columns on mobile */
	.mobile-mega-menu .menu-arrow-right,
	.mobile-mega-menu .mega-menu-list .menu-arrow-right,
	.mobile-mega-menu .mega-menu-columns .menu-arrow-right,
	.mobile-mega-menu .mega-menu-columns--1 .menu-arrow-right,
	.mobile-mega-menu .mega-menu-columns--2 .menu-arrow-right,
	.mobile-mega-menu .mega-menu-columns--3 .menu-arrow-right {
		display: block !important;
		width: 1.25rem !important;
		height: 1.25rem !important;
		color: #9ca3af !important;
		position: absolute !important;
		right: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		pointer-events: none !important;
		flex-shrink: 0 !important;
	}
	
	/* Change chevron arrow to forward arrow on mobile */
	.mobile-mega-menu .mega-menu-list .menu-link .menu-arrow-right path {
		d: path("M13 7l5 5m0 0l-5 5m5-5H6");
	}
	
	.mobile-mega-menu .mega-menu-list .menu-link:hover .menu-arrow-right,
	.mobile-mega-menu .mega-menu-list .menu-link:focus .menu-arrow-right {
		color: #dc2626;
	}
	
	.mobile-mega-menu .mega-menu-list .menu-link:hover,
	.mobile-mega-menu .mega-menu-list .menu-link:focus {
		color: #dc2626 !important;
	}
	
	.mobile-mega-menu .mega-menu-list .has-nested-submenu > .menu-link {
		background: #fff;
	}
	
	/* Active state for mega menu list items on mobile - red text only */
	.mobile-mega-menu .mega-menu-list .current-menu-item > .menu-link,
	.mobile-mega-menu .mega-menu-list .current-menu-ancestor > .menu-link,
	.mobile-mega-menu .mega-menu-list .current-menu-parent > .menu-link {
		color: #dc2626; /* primary.600 */
		font-weight: 500;
		background: transparent !important;
	}
	
	.mobile-mega-menu .mega-menu-list .current-menu-item > .menu-link:hover,
	.mobile-mega-menu .mega-menu-list .current-menu-ancestor > .menu-link:hover,
	.mobile-mega-menu .mega-menu-list .current-menu-parent > .menu-link:hover {
		color: #b91c1c; /* primary.700 */
		background: transparent !important;
	}
	
	/* Active state arrows for mega menu list items */
	.mobile-mega-menu .mega-menu-list .current-menu-item > .menu-link .menu-arrow-right,
	.mobile-mega-menu .mega-menu-list .current-menu-ancestor > .menu-link .menu-arrow-right,
	.mobile-mega-menu .mega-menu-list .current-menu-parent > .menu-link .menu-arrow-right {
		color: #dc2626; /* primary.600 */
	}
	
	/* Level 1, 2 and 3 Columns - Navigation Stack */
	.mobile-mega-menu .mega-menu-columns--1,
	.mobile-mega-menu .mega-menu-columns--2,
	.mobile-mega-menu .mega-menu-columns--3 {
		display: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.mobile-mega-menu .mega-menu-columns--1.is-visible,
	.mobile-mega-menu .mega-menu-columns--2.is-visible,
	.mobile-mega-menu .mega-menu-columns--3.is-visible {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.mobile-mega-menu .mega-menu-columns--2 .mega-menu-list,
	.mobile-mega-menu .mega-menu-columns--3 .mega-menu-list {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 1.25rem !important; /* Equal left/right padding */
		margin: 0 !important;
		background: #fff !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}
	
	.mobile-mega-menu .mega-menu-columns--2 .mega-menu-list > li,
	.mobile-mega-menu .mega-menu-columns--3 .mega-menu-list > li {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.mobile-mega-menu .mega-menu-columns--2 .menu-link,
	.mobile-mega-menu .mega-menu-columns--3 .menu-link {
		display: block !important;
		width: 100% !important;
		padding: 0.75rem 2rem 0.75rem 0 !important;
		margin: 0 !important;
		background: #fff !important;
		color: #1f2937 !important;
		font-size: 0.9375rem !important; /* 15px - smaller font */
		line-height: 1.4 !important;
		box-sizing: border-box !important;
		position: relative !important;
	}
	
	/* Arrow hover state on mobile */
	.mobile-mega-menu .menu-link:hover .menu-arrow-right,
	.mobile-mega-menu .menu-link:focus .menu-arrow-right {
		color: #dc2626 !important;
	}
	
	/* Remove ::after arrows for nested submenus - using SVG instead */
	.mobile-mega-menu .mega-menu-columns--2 .has-nested-submenu > .menu-link::after,
	.mobile-mega-menu .mega-menu-columns--3 .has-nested-submenu > .menu-link::after {
		display: none;
	}
	
	/* Show featured content on mobile - only on level 1 */
	.mobile-mega-menu .mega-menu-featured {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		border-left: none !important;
		border-top: 1px solid #e5e7eb !important;
		padding: 1rem 0 !important;
		margin: 0.5rem 0 0 0 !important;
		background: #fff !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}
	
	/* Featured cards on mobile - stack vertically */
	.mobile-mega-menu .mega-menu-cards {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 1.25rem !important;
		gap: 0.75rem !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}
	
	.mobile-mega-menu .mega-menu-card {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex-shrink: 1 !important;
		box-sizing: border-box !important;
	}
	
	/* Image card on mobile - full width */
	.mobile-mega-menu .mega-menu-image-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 200px !important;
		margin: 0 !important;
		border-radius: 0 !important;
		box-sizing: border-box !important;
	}
	
	.mobile-mega-menu .mega-menu-image-card__content {
		padding: 1rem 1.25rem !important;
	}
	
	/* Panel on mobile */
	.mobile-mega-menu .mega-menu-panel {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 150px !important;
		border-radius: 0 !important;
		margin: 0 !important;
	}
	
	.mobile-mega-menu .mega-menu-panel__content {
		padding: 1rem 1.25rem !important;
	}
	
	/* Hide featured when showing level 2 or 3 */
	.mobile-mega-menu .mega-menu-container:has(.mega-menu-columns--2.is-visible) .mega-menu-featured,
	.mobile-mega-menu .mega-menu-container:has(.mega-menu-columns--3.is-visible) .mega-menu-featured {
		display: none;
	}
	
	.mobile-mega-menu .mega-menu-news {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		border-left: none !important;
		border-top: 1px solid #e5e7eb !important;
		padding: 0 !important;
		margin: 0.5rem 0 0 0 !important;
		background: #f9fafb !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	
	.mobile-mega-menu .mega-menu-news__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	.mobile-mega-menu .mega-menu-news__item {
		display: flex;
		flex-direction: column;
		text-decoration: none;
		padding: 0;
		background: #fff;
		border-bottom: 1px solid #e5e7eb;
		transition: background-color 0.2s ease;
		width: 100%;
		box-sizing: border-box;
	}
	
	.mobile-mega-menu .mega-menu-news__item:last-child {
		border-bottom: none;
	}
	
	.mobile-mega-menu .mega-menu-news__item:active {
		background: #f9fafb;
	}
	
	.mobile-mega-menu .mega-menu-news__image {
		width: 100%;
		height: 200px;
		flex-shrink: 0;
		overflow: hidden;
		border-radius: 0;
		position: relative;
	}
	
	.mobile-mega-menu .mega-menu-news__image img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		display: block;
	}
	
	.mobile-mega-menu .mega-menu-news__content {
		flex: 1;
		padding: 1rem 1.25rem;
		width: 100%;
		box-sizing: border-box;
	}
	
	.mobile-mega-menu .mega-menu-news__meta {
		display: block;
		font-size: 0.8125rem;
		color: #dc2626;
		font-weight: 600;
		margin-bottom: 0.5rem;
		text-transform: uppercase;
		letter-spacing: 0.025em;
	}
	
	.mobile-mega-menu .mega-menu-news__title {
		font-size: 1rem;
		font-weight: 700;
		color: #1f2937;
		margin: 0;
		line-height: 1.5;
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		-webkit-box-orient: vertical;
		display: -webkit-box;
	}
	
	.mobile-mega-menu .mega-menu-news__item:active .mega-menu-news__title {
		color: #dc2626;
	}
	
	/* Ensure news grid and manual posts layouts show on mobile */
	.mobile-mega-menu .mega-menu-layout--news_grid .mega-menu-news,
	.mobile-mega-menu .mega-menu-layout--manual_posts .mega-menu-news {
		display: block !important;
	}
	
	/* Note: Submenu items (mega-menu-content) are not rendered in PHP for news_grid and manual_posts layouts
	   to improve performance. They are only rendered for standard and with_featured layouts. */
	
	/* Mobile menu toggle button */
	#mobile-menu-toggle {
		display: block;
	}
	
	/* Note: #mobile-navigation base styles are defined in the mobile navigation section below */
	
	.top-level-item.is-open > .mega-menu-dropdown,
	li.is-open > .mega-menu-dropdown {
		transform: translateY(0);
	}
	
	.mega-menu-container {
		flex-direction: column;
		min-height: auto;
		max-width: 100%;
		width: 100%;
		padding: 0;
		margin: 0;
		box-sizing: border-box;
	}
	
	.mega-menu-sidebar {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #e5e7eb;
		padding: 1.5rem 1.25rem;
		box-sizing: border-box;
	}
	
	.mega-menu-sidebar__title::after {
		display: none;
	}
	
	.mega-menu-content {
		padding: 1.25rem;
	}
	
	.mega-menu-columns {
		grid-template-columns: 1fr !important;
	}
	
	.mega-menu-nested {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		border-left: none;
		border-top: 1px solid #e5e7eb;
		border-radius: 0;
		padding: 1rem 0 0 1rem;
		margin-top: 0.5rem;
		background: #f9fafb;
		display: none;
		height: auto;
		-moz-column-count: 1;
		     column-count: 1;
		max-height: none;
	}
	
	.has-nested-submenu.is-nested-open > .mega-menu-nested {
		display: block;
	}
	
	.mega-menu-featured {
		flex-direction: column;
		border-left: none;
		border-top: 1px solid #e5e7eb;
	}
	
	.mega-menu-cards {
		display: flex !important;
		flex-direction: column !important; /* Stack cards vertically */
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important; /* No horizontal scroll */
		padding: 0 1.25rem !important; /* Equal left/right padding */
		gap: 0.75rem !important;
		box-sizing: border-box !important;
	}
	
	.mega-menu-card {
		width: 100% !important;
		min-width: 0 !important; /* Allow shrinking */
		flex-shrink: 1 !important;
		box-sizing: border-box !important;
	}
	
	.mega-menu-panel {
		width: 100%;
		height: 180px;
		border-radius: 0;
	}
	
	/* ==========================================================================
	   REGULAR SUBMENUS (Non-Mega Menu) - Mobile Responsive
	   ========================================================================== */
	
	/* Wrap regular submenus in overlay container - similar to mega menu */
	.mobile-mega-menu .sub-menu,
	.mobile-mega-menu .dropdown-menu {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		background: #fff;
		z-index: 9999;
		overflow-y: auto;
		overflow-x: hidden !important;
		transform: translateX(100%) !important;
		transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease !important;
		display: block !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		max-width: 100vw !important;
		width: 100vw !important;
		max-height: 100vh;
		border-radius: 0;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		padding-top: 60px; /* Space for back button */
	}
	
	/* Level 2 submenus - higher z-index */
	.mobile-mega-menu .sub-menu .sub-menu,
	.mobile-mega-menu .dropdown-menu .sub-menu {
		z-index: 10000 !important;
	}
	
	/* Level 3 submenus - even higher z-index */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu {
		z-index: 10001 !important;
	}
	
	/* Level 4 submenus - highest z-index */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .sub-menu,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .sub-menu {
		z-index: 10002 !important;
	}
	
	/* Show submenu when parent is open */
	.mobile-mega-menu > li.is-open > .sub-menu,
	.mobile-mega-menu > li.is-open > .dropdown-menu,
	.mobile-mega-menu .sub-menu li.is-open > .sub-menu,
	.mobile-mega-menu .dropdown-menu li.is-open > .sub-menu {
		transform: translateX(0) !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
	
	/* Back button item - hide by default, show when submenu is open */
	.mobile-mega-menu .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu .regular-menu-back-item {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 60px;
		background: #fff;
		border-bottom: 1px solid #e5e7eb;
		z-index: 10010;
		margin: 0;
		padding: 0;
		list-style: none;
		display: none;
		pointer-events: auto;
	}
	
	/* Back button for level 2 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu .sub-menu .regular-menu-back-item {
		z-index: 10011;
	}
	
	/* Back button for level 3 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .regular-menu-back-item {
		z-index: 10012;
	}
	
	/* Back button for level 4 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .sub-menu .regular-menu-back-item {
		z-index: 10013;
	}
	
	.mobile-mega-menu .sub-menu.is-open .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu.is-open .regular-menu-back-item,
	.mobile-mega-menu > li.is-open > .sub-menu .regular-menu-back-item,
	.mobile-mega-menu > li.is-open > .dropdown-menu .regular-menu-back-item,
	.mobile-mega-menu .sub-menu li.is-open > .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu li.is-open > .sub-menu .regular-menu-back-item {
		display: block !important;
	}
	
	/* Back button for regular submenus */
	.mobile-mega-menu .sub-menu .regular-menu-back,
	.mobile-mega-menu .dropdown-menu .regular-menu-back {
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0 1.25rem;
		background: #fff;
		pointer-events: auto;
		position: relative;
		z-index: 10015;
	}
	
	/* Back button container for level 2 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .regular-menu-back,
	.mobile-mega-menu .dropdown-menu .sub-menu .regular-menu-back {
		z-index: 10016;
	}
	
	/* Back button container for level 3 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .regular-menu-back,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .regular-menu-back {
		z-index: 10017;
	}
	
	/* Back button container for level 4 submenus */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .sub-menu .regular-menu-back,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .sub-menu .regular-menu-back {
		z-index: 10018;
	}
	
	.mobile-mega-menu .sub-menu .regular-menu-back-button,
	.mobile-mega-menu .dropdown-menu .regular-menu-back-button {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		color: #6b7280;
		font-size: 0.9375rem;
		text-decoration: none;
		background: none;
		border: none;
		padding: 0;
		cursor: pointer;
		pointer-events: auto;
		position: relative;
		z-index: 10020;
		-webkit-tap-highlight-color: transparent;
		-webkit-user-select: none;
		-moz-user-select: none;
		     user-select: none;
	}
	
	.mobile-mega-menu .sub-menu .regular-menu-back-button:hover,
	.mobile-mega-menu .dropdown-menu .regular-menu-back-button:hover {
		color: #1f2937;
	}
	
	.mobile-mega-menu .sub-menu .regular-menu-back-button svg,
	.mobile-mega-menu .dropdown-menu .regular-menu-back-button svg {
		width: 1.25rem;
		height: 1.25rem;
	}
	
	/* Style submenu items */
	.mobile-mega-menu .sub-menu li,
	.mobile-mega-menu .dropdown-menu li {
		border-top: 1px solid #e5e7eb;
		border-bottom: 1px solid #e5e7eb;
		margin: 0;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}
	
	/* Don't show border on back button item */
	.mobile-mega-menu .sub-menu .regular-menu-back-item,
	.mobile-mega-menu .dropdown-menu .regular-menu-back-item {
		border: none;
	}
	
	.mobile-mega-menu .sub-menu li:first-child:not(.regular-menu-back-item),
	.mobile-mega-menu .dropdown-menu li:first-child:not(.regular-menu-back-item) {
		border-top: none;
	}
	
	.mobile-mega-menu .sub-menu li:last-child,
	.mobile-mega-menu .dropdown-menu li:last-child {
		border-bottom: none;
	}
	
	/* Style submenu links */
	.mobile-mega-menu .sub-menu a,
	.mobile-mega-menu .sub-menu .menu-link,
	.mobile-mega-menu .dropdown-menu a,
	.mobile-mega-menu .dropdown-menu .menu-link {
		display: block;
		padding: 0.875rem 1.25rem;
		padding-right: 3rem;
		color: #1f2937;
		font-weight: 400;
		font-size: 0.875rem;
		text-decoration: none;
		background: #fff;
		transition: color 0.2s ease, background-color 0.2s ease;
		width: 100%;
		position: relative;
		box-sizing: border-box;
		line-height: 1.5;
	}
	
	.mobile-mega-menu .sub-menu a:hover,
	.mobile-mega-menu .sub-menu a:focus,
	.mobile-mega-menu .sub-menu .menu-link:hover,
	.mobile-mega-menu .sub-menu .menu-link:focus,
	.mobile-mega-menu .dropdown-menu a:hover,
	.mobile-mega-menu .dropdown-menu a:focus,
	.mobile-mega-menu .dropdown-menu .menu-link:hover,
	.mobile-mega-menu .dropdown-menu .menu-link:focus {
		background: #f3f4f6;
		color: #dc2626;
	}
	
	/* Show SVG arrows for submenu items with children - change chevron to forward arrow on mobile */
	.mobile-mega-menu .sub-menu .menu-item-has-children > a .menu-arrow-right,
	.mobile-mega-menu .sub-menu .menu-item-has-children > .menu-link .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > a .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > .menu-link .menu-arrow-right {
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		color: #9ca3af;
		position: absolute;
		right: 1.25rem;
		top: 50%;
		transform: translateY(-50%);
		transition: color 0.2s ease;
		pointer-events: none;
	}
	
	/* Change chevron arrow to forward arrow on mobile */
	.mobile-mega-menu .sub-menu .menu-item-has-children > a .menu-arrow-right path,
	.mobile-mega-menu .sub-menu .menu-item-has-children > .menu-link .menu-arrow-right path,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > a .menu-arrow-right path,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > .menu-link .menu-arrow-right path {
		d: path("M13 7l5 5m0 0l-5 5m5-5H6");
	}
	
	.mobile-mega-menu .sub-menu .menu-item-has-children > a:hover .menu-arrow-right,
	.mobile-mega-menu .sub-menu .menu-item-has-children > .menu-link:hover .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > a:hover .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children > .menu-link:hover .menu-arrow-right {
		color: #dc2626;
	}
	
	.mobile-mega-menu .sub-menu .menu-item-has-children.is-open > a .menu-arrow-right,
	.mobile-mega-menu .sub-menu .menu-item-has-children.is-open > .menu-link .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children.is-open > a .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .menu-item-has-children.is-open > .menu-link .menu-arrow-right {
		color: #dc2626;
	}
	
	/* Active state for regular submenu items on mobile - red text only */
	.mobile-mega-menu .sub-menu .current-menu-item > a,
	.mobile-mega-menu .sub-menu .current-menu-item > .menu-link,
	.mobile-mega-menu .sub-menu .current-menu-ancestor > a,
	.mobile-mega-menu .sub-menu .current-menu-ancestor > .menu-link,
	.mobile-mega-menu .sub-menu .current-menu-parent > a,
	.mobile-mega-menu .sub-menu .current-menu-parent > .menu-link,
	.mobile-mega-menu .dropdown-menu .current-menu-item > a,
	.mobile-mega-menu .dropdown-menu .current-menu-item > .menu-link,
	.mobile-mega-menu .dropdown-menu .current-menu-ancestor > a,
	.mobile-mega-menu .dropdown-menu .current-menu-ancestor > .menu-link,
	.mobile-mega-menu .dropdown-menu .current-menu-parent > a,
	.mobile-mega-menu .dropdown-menu .current-menu-parent > .menu-link {
		color: #dc2626; /* primary.600 */
		font-weight: 500;
		background: transparent !important;
	}
	
	.mobile-mega-menu .sub-menu .current-menu-item > a:hover,
	.mobile-mega-menu .sub-menu .current-menu-item > .menu-link:hover,
	.mobile-mega-menu .dropdown-menu .current-menu-item > a:hover,
	.mobile-mega-menu .dropdown-menu .current-menu-item > .menu-link:hover {
		color: #b91c1c; /* primary.700 */
		background: transparent !important;
	}
	
	/* Active state arrows for regular submenu items */
	.mobile-mega-menu .sub-menu .current-menu-item > a .menu-arrow-right,
	.mobile-mega-menu .sub-menu .current-menu-item > .menu-link .menu-arrow-right,
	.mobile-mega-menu .sub-menu .current-menu-ancestor > a .menu-arrow-right,
	.mobile-mega-menu .sub-menu .current-menu-ancestor > .menu-link .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .current-menu-item > a .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .current-menu-item > .menu-link .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .current-menu-ancestor > a .menu-arrow-right,
	.mobile-mega-menu .dropdown-menu .current-menu-ancestor > .menu-link .menu-arrow-right {
		color: #dc2626; /* primary.600 */
	}
	
	/* Ensure text is on left and arrow is on right in submenu items */
	.mobile-mega-menu .sub-menu .menu-link,
	.mobile-mega-menu .dropdown-menu .menu-link {
		display: block;
		position: relative;
		padding-right: 3rem; /* Space for arrow */
	}
	
	.mobile-mega-menu .sub-menu .menu-link .menu-item-text,
	.mobile-mega-menu .dropdown-menu .menu-link .menu-item-text {
		display: block;
		text-align: left;
	}
	
	/* Nested submenus (level 3) - full width overlay */
	.mobile-mega-menu .sub-menu .sub-menu {
		padding-top: 60px;
	}
	
	.mobile-mega-menu .sub-menu .sub-menu a,
	.mobile-mega-menu .sub-menu .sub-menu .menu-link,
	.mobile-mega-menu .dropdown-menu .sub-menu a,
	.mobile-mega-menu .dropdown-menu .sub-menu .menu-link {
		padding: 0.875rem 1.25rem;
		padding-right: 3rem;
		background: #fff;
		font-size: 0.875rem;
	}
	
	/* Level 4 submenus - full width overlay */
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu {
		padding-top: 60px;
	}
	
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu a,
	.mobile-mega-menu .sub-menu .sub-menu .sub-menu .menu-link,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu a,
	.mobile-mega-menu .dropdown-menu .sub-menu .sub-menu .menu-link {
		padding: 0.875rem 1.25rem;
		padding-right: 3rem;
		background: #fff;
		font-size: 0.875rem;
	}
	
	/* Arrows already handled above - this is just for additional specificity if needed */
	
	.mega-menu-news {
		border-left: none;
		border-top: 1px solid #e5e7eb;
	}
	
	/* Hide nested submenu visibility effects on mobile */
	.mega-menu-content:has(.has-nested-submenu:hover) ~ .mega-menu-featured,
	.mega-menu-content:has(.has-nested-submenu.is-nested-open) ~ .mega-menu-featured {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}
/* Apply animation delays */
.mega-menu-list > li:nth-child(1) { --item-index: 1; }
.mega-menu-list > li:nth-child(2) { --item-index: 2; }
.mega-menu-list > li:nth-child(3) { --item-index: 3; }
.mega-menu-list > li:nth-child(4) { --item-index: 4; }
.mega-menu-list > li:nth-child(5) { --item-index: 5; }
.mega-menu-list > li:nth-child(6) { --item-index: 6; }
.mega-menu-list > li:nth-child(7) { --item-index: 7; }
.mega-menu-list > li:nth-child(8) { --item-index: 8; }
.mega-menu-list > li:nth-child(9) { --item-index: 9; }
.mega-menu-list > li:nth-child(10) { --item-index: 10; }
.mega-menu-list > li:nth-child(n+11) { --item-index: 11; }
/* ==========================================================================
   MOBILE HEADER BAR & NAVIGATION
   ========================================================================== */
/* Mobile Menu Toggle Button */
.mobile-menu-btn {
	display: flex !important;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
}
.mobile-menu-btn .close-icon {
	display: none;
}
.mobile-menu-btn:hover {
	background: rgba(255, 255, 255, 0.15);
}
.mobile-menu-btn.active:hover {
	color: white !important;
}
.mobile-menu-btn.active {
	background: rgba(255, 255, 255, 0.15);
	border-color: rgba(255, 255, 255, 0.3);
	color: white !important;
}
.mobile-menu-btn.active .menu-icon {
	display: none;
}
.mobile-menu-btn.active .close-icon {
	display: block;
	color: white;
}
.mobile-menu-btn.active .mobile-menu-label {
	display: none;
}
@media (max-width: 768px) {
	/* Mobile header top bar background (match menu button style) */
	.mobile-header-bar {
		background: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.2);
		border-radius: 0 !important;
		border-left: none;
		border-right: none;
		border-top: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		margin-top: -1rem;
		margin-bottom: 0;
		box-sizing: border-box;
		max-width: 100vw;
	}
	
	/* When sticky, ensure full width and equal padding */
	#mobile-header-bar.mobile-header-bar--sticky {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100% !important;
		max-width: 100vw !important;
		z-index: 10000;
		background: rgba(30, 36, 45, 0.95);
		backdrop-filter: blur(10px);
		box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.4);
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 0 !important;
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
		border-top: none !important;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box !important;
	}
	
	/* Ensure mobile navigation is full width and no rounded borders */
	#mobile-navigation {
		display: none;
		overflow: hidden;
		max-width: 100vw;
		border-radius: 0 !important;
		margin-left: -1rem;
		margin-right: -1rem;
		width: calc(100% + 2rem);
		background: #1e242d !important;
		color: white !important;
	}
	
	#mobile-navigation.active {
		display: block;
		border-radius: 0 !important;
		animation: fadeIn 0.2s ease-out;
	}
	
	@keyframes fadeIn {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
	
	/* Mobile navigation when header bar is sticky */
	#mobile-header-bar.mobile-header-bar--sticky ~ #mobile-navigation.active {
		position: fixed !important;
		top: var(--mobile-header-bar-height, 70px) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 9999 !important;
		max-height: calc(100vh - var(--mobile-header-bar-height, 70px)) !important;
		overflow-y: auto !important;
		border-radius: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* Ensure button container has proper spacing at bottom */
	#mobile-navigation ~ .container {
		padding-bottom: 1.5rem !important;
	}
	
	/* Fix top spacing for mobile header bar */
	.mobile-header-bar {
		margin-top: 0 !important;
	}
	
	/* Ensure proper spacing between header bar and navigation */
	.mobile-header-bar + #mobile-navigation {
		margin-top: 0;
	}
	
	/* Fallback menu styles (for menus without .mobile-mega-menu class) */
	#mobile-navigation ul:not(.mobile-mega-menu) {
		display: flex;
		flex-direction: column;
		background: #1d242c;
	}
	
	#mobile-navigation ul:not(.mobile-mega-menu) li {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	
	#mobile-navigation ul:not(.mobile-mega-menu) li:last-child {
		border-bottom: none;
	}
	
	#mobile-navigation ul:not(.mobile-mega-menu) li a {
		padding: 0.875rem 1rem;
		width: 100%;
		display: block;
		color: white;
		font-size: 0.9375rem;
		transition: all 0.2s ease;
	}
	
	#mobile-navigation ul:not(.mobile-mega-menu) li a:hover {
		background: rgba(255, 255, 255, 0.08);
		color: #f5324c;
	}
}
/**
 * Button Component Styles
 *
 * Modern, attractive button styling with enhanced visual effects.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   Base Button Styles
   ========================================================================== */
/* Common button enhancements */
.btn-solid,
.btn-outline {
    position: relative;
    overflow: hidden;
    z-index: 1;
    letter-spacing: 0.025em;
    /* text-transform: uppercase; */
    font-weight: 600;
}
/* Shine effect overlay */
.btn-solid::before,
.btn-outline::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    );
    transition: left 0.5s ease;
    z-index: -1;
}
.btn-solid:hover::before,
.btn-outline:hover::before {
    left: 100%;
}
/* ==========================================================================
   Solid Button Variants
   ========================================================================== */
/* Primary Solid */
.btn-solid--primary {
    background: linear-gradient(135deg, #f41431 0%, #c71028 100%);
    color: #ffffff;
    border: 2px solid transparent;
    box-shadow: 
        0 4px 6px -1px rgba(244, 20, 49, 0.3),
        0 2px 4px -2px rgba(244, 20, 49, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.btn-solid--primary:hover {
    background: linear-gradient(135deg, #ff2d4a 0%, #f41431 100%);
    box-shadow: 
        0 10px 20px -5px rgba(244, 20, 49, 0.4),
        0 4px 6px -2px rgba(244, 20, 49, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}
.btn-solid--primary:active {
    transform: translateY(0);
    box-shadow: 
        0 2px 4px -1px rgba(244, 20, 49, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.1);
}
/* Secondary Solid */
.btn-solid--secondary {
    background: linear-gradient(135deg, #394656 0%, #1e242d 100%);
    color: #ffffff;
    border: 2px solid transparent;
    box-shadow: 
        0 4px 6px -1px rgba(30, 36, 45, 0.3),
        0 2px 4px -2px rgba(30, 36, 45, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.btn-solid--secondary:hover {
    background: linear-gradient(135deg, #4a5a6e 0%, #394656 100%);
    box-shadow: 
        0 10px 20px -5px rgba(30, 36, 45, 0.4),
        0 4px 6px -2px rgba(30, 36, 45, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}
.btn-solid--secondary:active {
    transform: translateY(0);
    box-shadow: 
        0 2px 4px -1px rgba(30, 36, 45, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.1);
}
/* White Solid */
.btn-solid--white {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    color: #1e242d;
    border: 2px solid rgba(0, 0, 0, 0.05);
    box-shadow: 
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}
.btn-solid--white:hover {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
    box-shadow: 
        0 10px 20px -5px rgba(0, 0, 0, 0.15),
        0 4px 6px -2px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 1);
    transform: translateY(-2px);
}
.btn-solid--white:active {
    transform: translateY(0);
    box-shadow: 
        0 2px 4px -1px rgba(0, 0, 0, 0.1),
        inset 0 2px 4px rgba(0, 0, 0, 0.03);
}
/* ==========================================================================
   Outline Button Variants
   ========================================================================== */
/* Primary Outline */
.btn-outline--primary {
    background: transparent;
    color: #f41431;
    border: 2px solid #f41431;
    box-shadow: 0 2px 4px -1px rgba(244, 20, 49, 0.1);
}
.btn-outline--primary:hover {
    background: linear-gradient(135deg, #f41431 0%, #c71028 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 
        0 10px 20px -5px rgba(244, 20, 49, 0.4),
        0 4px 6px -2px rgba(244, 20, 49, 0.3);
    transform: translateY(-2px);
}
.btn-outline--primary:active {
    transform: translateY(0);
}
/* Secondary Outline */
.btn-outline--secondary {
    background: transparent;
    color: #394656;
    border: 2px solid #394656;
    box-shadow: 0 2px 4px -1px rgba(30, 36, 45, 0.1);
}
.btn-outline--secondary:hover {
    background: linear-gradient(135deg, #394656 0%, #1e242d 100%);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 
        0 10px 20px -5px rgba(30, 36, 45, 0.4),
        0 4px 6px -2px rgba(30, 36, 45, 0.3);
    transform: translateY(-2px);
}
.btn-outline--secondary:active {
    transform: translateY(0);
}
/* White Outline */
.btn-outline--white {
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 4px -1px rgba(255, 255, 255, 0.1);
}
.btn-outline--white:hover {
    background: #ffffff;
    color: #1e242d;
    box-shadow: 
        0 10px 20px -5px rgba(255, 255, 255, 0.3),
        0 4px 6px -2px rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}
.btn-outline--white:active {
    transform: translateY(0);
}
/* Custom Color Outline */
.btn-outline--custom {
    --btn-hover-bg: #f41431;
    --btn-hover-color: #ffffff;
    background: transparent !important;
    border-width: 2px;
    border-style: solid;
    transition: all 0.3s ease;
}
.btn-outline--custom:hover {
    background: var(--btn-hover-bg) !important;
    border-color: var(--btn-hover-bg) !important;
    color: var(--btn-hover-color) !important;
    box-shadow: 
        0 10px 20px -5px rgba(0, 0, 0, 0.2),
        0 4px 6px -2px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}
.btn-outline--custom:active {
    transform: translateY(0);
    box-shadow: 
        0 2px 4px -1px rgba(0, 0, 0, 0.1);
}
/* ==========================================================================
   Icon Styles
   ========================================================================== */
.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btn-icon svg {
    width: 1.25em;
    height: 1.25em;
}
/* Icon animations on hover */
.group:hover .btn-icon--after {
    animation: icon-bounce-right 0.4s ease;
}
.group:hover .btn-icon--before {
    animation: icon-bounce-left 0.4s ease;
}
@keyframes icon-bounce-right {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
}
@keyframes icon-bounce-left {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(-4px); }
}
/* ==========================================================================
   Button Text
   ========================================================================== */
.btn-text {
    position: relative;
    z-index: 1;
}
/* ==========================================================================
   Focus States
   ========================================================================== */
.btn-solid:focus-visible,
.btn-outline:focus-visible {
    outline: none;
    ring: 2px;
    ring-offset: 2px;
}
.btn-solid--primary:focus-visible {
    box-shadow: 
        0 0 0 2px #ffffff,
        0 0 0 4px #f41431,
        0 4px 6px -1px rgba(244, 20, 49, 0.3);
}
.btn-solid--secondary:focus-visible {
    box-shadow: 
        0 0 0 2px #ffffff,
        0 0 0 4px #394656,
        0 4px 6px -1px rgba(30, 36, 45, 0.3);
}
/* ==========================================================================
   Disabled States
   ========================================================================== */
.btn-solid:disabled,
.btn-outline:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}
.btn-solid:disabled::before,
.btn-outline:disabled::before {
    display: none;
}
/* ==========================================================================
   Loading State
   ========================================================================== */
.btn-loading {
    pointer-events: none;
    position: relative;
}
.btn-loading .btn-text,
.btn-loading .btn-icon {
    opacity: 0;
}
.btn-loading::after {
    content: '';
    position: absolute;
    width: 1.25em;
    height: 1.25em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: btn-spin 0.6s linear infinite;
}
@keyframes btn-spin {
    to { transform: rotate(360deg); }
}
/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */
@media (max-width: 640px) {
    .btn-solid,
    .btn-outline {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .btn-solid,
    .btn-outline {
        transition: none;
    }
    
    .btn-solid:hover,
    .btn-outline:hover {
        transform: none;
    }
    
    .btn-solid::before,
    .btn-outline::before {
        display: none;
    }
    
    .group:hover .btn-icon--after,
    .group:hover .btn-icon--before {
        animation: none;
    }
}
/**
 * FAQ Component Styles
 * 
 * Beautiful, accessible FAQ accordion with multiple style variants.
 * Uses CSS custom properties for easy theming.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
.ca-faq {
    --faq-primary: #f41431;
    --faq-primary-light: rgba(244, 20, 49, 0.1);
    --faq-text: #1f2937;
    --faq-text-light: #374151; /* Darker gray for better readability */
    --faq-border: #e5e7eb;
    --faq-bg: #ffffff;
    --faq-bg-hover: #f9fafb;
    --faq-radius: 12px;
    --faq-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ==========================================================================
   Base Styles
   ========================================================================== */
.ca-faq {
    /* max-width: 900px; */
    margin: 0 auto;
}
.ca-faq__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--faq-text);
    margin-bottom: 0.5rem;
    font-family: inherit;
}
@media (min-width: 768px) {
    .ca-faq__title {
        font-size: 2.25rem;
    }
}
.ca-faq__description {
    /* color: var(--faq-text-light); */
    margin-bottom: 2rem;
    /* font-size: 1.0625rem; 17px - slightly larger for readability */
    /* line-height: 1.75; */
    margin-left: auto;
    margin-right: auto;
    font-family: inherit;
    font-size: inherit;
}
.ca-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
/* ==========================================================================
   FAQ Item
   ========================================================================== */
.ca-faq__item {
    background: var(--faq-bg);
    border-radius: var(--faq-radius);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: var(--faq-transition);
    border: 1px solid var(--faq-border);
}
.ca-faq__item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: transparent;
}
.ca-faq__item--open {
    box-shadow: 0 8px 25px rgba(244, 20, 49, 0.12);
    border-color: var(--faq-primary);
}
/* ==========================================================================
   Question Heading & Button
   ========================================================================== */
.ca-faq__heading {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}
.ca-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: var(--faq-transition);
    font-family: inherit;
}
@media (max-width: 640px) {
    .ca-faq__question {
        padding: 16px 18px;
        gap: 12px;
    }
}
.ca-faq__item:hover .ca-faq__question {
    background: var(--faq-bg-hover);
}
.ca-faq__item--open .ca-faq__question {
    background: var(--faq-primary-light);
}
.ca-faq__question-text {
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--faq-text);
    line-height: 1.5;
    flex: 1;
    font-family: inherit;
}
@media (min-width: 768px) {
    .ca-faq__question-text {
        font-size: 1.05rem;
    }
}
.ca-faq__item--open .ca-faq__question-text {
    color: var(--faq-primary);
}
/* ==========================================================================
   Icon
   ========================================================================== */
.ca-faq__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--faq-bg-hover);
    border-radius: 50%;
    border: 2px solid var(--faq-primary);
    transition: var(--faq-transition);
}
.ca-faq__icon svg {
    width: 16px;
    height: 16px;
    color: var(--faq-primary);
    transition: var(--faq-transition);
}
.ca-faq__icon-minus {
    display: none;
}
.ca-faq__item--open .ca-faq__icon {
    background: var(--faq-primary);
    transform: rotate(0deg);
}
.ca-faq__item--open .ca-faq__icon svg {
    color: white;
}
.ca-faq__item--open .ca-faq__icon-plus {
    display: none;
}
.ca-faq__item--open .ca-faq__icon-minus {
    display: block;
}
/* ==========================================================================
   Answer Panel
   ========================================================================== */
.ca-faq__answer {
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                visibility 0s 0.4s;
}
/* Hidden state - using CSS to handle animation while respecting hidden attribute */
.ca-faq__answer[hidden] {
    display: block !important; /* Override hidden display:none for animation */
    max-height: 0;
    visibility: hidden;
}
.ca-faq__item--open .ca-faq__answer {
    max-height: 1000px;
    visibility: visible;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                visibility 0s 0s;
}
.ca-faq__answer-inner {
    padding: 0 24px 24px 24px;
}
@media (max-width: 640px) {
    .ca-faq__answer-inner {
        padding: 0 18px 18px 18px;
        font-size: 0.875rem;
    }
}
.ca-faq__answer-inner p {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: inherit;
}
.ca-faq__answer-inner p:last-child {
    margin-bottom: 0;
}
.ca-faq__answer-inner ul,
.ca-faq__answer-inner ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}
.ca-faq__answer-inner ul {
    list-style-type: disc;
}
.ca-faq__answer-inner ol {
    list-style-type: decimal;
}
.ca-faq__answer-inner li {
    margin-bottom: 0.5rem;
    display: list-item;
}
.ca-faq__answer-inner a {
    color: var(--faq-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: var(--faq-transition);
}
.ca-faq__answer-inner a:hover {
    color: #cf122b;
}
/* ==========================================================================
   Style Variants
   ========================================================================== */
/* Bordered Style */
.ca-faq--bordered .ca-faq__item {
    border: 2px solid var(--faq-border);
    box-shadow: none;
}
.ca-faq--bordered .ca-faq__item:hover {
    border-color: var(--faq-primary);
    box-shadow: none;
}
.ca-faq--bordered .ca-faq__item--open {
    border-color: var(--faq-primary);
    background: var(--faq-primary-light);
}
.ca-faq--bordered .ca-faq__item--open .ca-faq__question {
    background: transparent;
}
/* Minimal Style */
.ca-faq--minimal .ca-faq__item {
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--faq-border);
    box-shadow: none;
    background: transparent;
}
.ca-faq--minimal .ca-faq__item:last-child {
    border-bottom: none;
}
.ca-faq--minimal .ca-faq__item:hover {
    box-shadow: none;
}
.ca-faq--minimal .ca-faq__item--open {
    box-shadow: none;
    border-color: var(--faq-border);
}
.ca-faq--minimal .ca-faq__question {
    padding: 20px 0;
}
.ca-faq--minimal .ca-faq__item:hover .ca-faq__question,
.ca-faq--minimal .ca-faq__item--open .ca-faq__question {
    background: transparent;
}
.ca-faq--minimal .ca-faq__answer-inner {
    padding: 0 0 20px 0;
}
.ca-faq--minimal .ca-faq__icon {
    background: transparent;
    border: 2px solid var(--faq-border);
}
.ca-faq--minimal .ca-faq__item--open .ca-faq__icon {
    background: var(--faq-primary);
    border-color: var(--faq-primary);
}
/* Simple/Accordion Style - Clean flat design */
.ca-faq--simple .ca-faq__list {
    gap: 8px;
}
.ca-faq--simple .ca-faq__item {
    border-radius: 0;
    border: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
    background: #f3f4f6;
    transition: background 0.3s ease;
}
.ca-faq--simple .ca-faq__item:hover {
    box-shadow: none !important;
    border: none !important;
    border-color: transparent !important;
}
.ca-faq--simple .ca-faq__item--open {
    box-shadow: none !important;
    background: #f3f4f6;
    border-top: none !important;
    border-left: 2px solid var(--faq-border) !important;
    border-right: 2px solid var(--faq-border) !important;
    border-bottom: 2px solid var(--faq-border) !important;
}
.ca-faq--simple .ca-faq__item--open:hover {
    border-top: none !important;
    border-left: 2px solid var(--faq-border) !important;
    border-right: 2px solid var(--faq-border) !important;
    border-bottom: 2px solid var(--faq-border) !important;
}
.ca-faq--simple .ca-faq__question {
    padding: 18px 24px;
}
@media (max-width: 640px) {
    .ca-faq--simple .ca-faq__question {
        padding: 16px 18px;
    }
}
.ca-faq--simple .ca-faq__item:hover .ca-faq__question {
    background: transparent;
}
.ca-faq--simple .ca-faq__item--open .ca-faq__question {
    background: transparent;
}
.ca-faq--simple .ca-faq__question-text {
    font-weight: 600;
    color: var(--faq-text);
}
.ca-faq--simple .ca-faq__item--open .ca-faq__question-text {
    color: var(--faq-primary);
}
.ca-faq--simple .ca-faq__icon {
    background: transparent;
    border: none;
    width: 24px;
    height: 24px;
    color: #9ca3af;
    transition: var(--faq-transition);
}
.ca-faq--simple .ca-faq__icon svg {
    width: 20px;
    height: 20px;
    color: inherit;
}
.ca-faq--simple .ca-faq__item--open .ca-faq__icon {
    background: transparent;
    color: var(--faq-primary);
}
.ca-faq--simple .ca-faq__item--open .ca-faq__icon svg {
    color: var(--faq-primary);
}
/* Hide plus/minus, show only chevron for simple style */
.ca-faq--simple .ca-faq__icon-plus,
.ca-faq--simple .ca-faq__icon-minus {
    display: none;
}
.ca-faq--simple .ca-faq__icon::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: -3px;
    transition: transform 0.3s ease, margin-top 0.3s ease;
}
/* Arrow points UP when open */
.ca-faq--simple .ca-faq__item--open .ca-faq__icon::after {
    transform: rotate(-135deg);
    margin-top: 3px;
}
.ca-faq--simple .ca-faq__answer-inner {
    padding: 0 24px 24px 24px;
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
}
@media (max-width: 640px) {
    .ca-faq--simple .ca-faq__answer-inner {
        padding: 0 18px 18px 18px;
    }
}
/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes faq-fade-in {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.ca-faq__item {
    animation: faq-fade-in 0.4s ease-out;
    animation-fill-mode: both;
}
.ca-faq__item:nth-child(1) { animation-delay: 0.05s; }
.ca-faq__item:nth-child(2) { animation-delay: 0.1s; }
.ca-faq__item:nth-child(3) { animation-delay: 0.15s; }
.ca-faq__item:nth-child(4) { animation-delay: 0.2s; }
.ca-faq__item:nth-child(5) { animation-delay: 0.25s; }
.ca-faq__item:nth-child(6) { animation-delay: 0.3s; }
.ca-faq__item:nth-child(7) { animation-delay: 0.35s; }
.ca-faq__item:nth-child(8) { animation-delay: 0.4s; }
.ca-faq__item:nth-child(9) { animation-delay: 0.45s; }
.ca-faq__item:nth-child(10) { animation-delay: 0.5s; }
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .ca-faq__item {
        -moz-column-break-inside: avoid;
             break-inside: avoid;
        border: 1px solid #ccc !important;
        margin-bottom: 1rem !important;
    }
    
    .ca-faq__answer {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .ca-faq__icon {
        display: none !important;
    }
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ca-faq__item,
    .ca-faq__question,
    .ca-faq__icon,
    .ca-faq__icon svg,
    .ca-faq__answer {
        animation: none;
        transition: none;
    }
}
/**
 * Stats Component Styles
 *
 * Multiple professional layouts for statistics display.
 * Layouts: cards, minimal, bordered, highlight, icon-top
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
.ca-stats {
    --stats-primary: #f41431;
    --stats-primary-light: rgba(244, 20, 49, 0.1);
    --stats-primary-gradient: linear-gradient(135deg, #f41431 0%, #e91e63 100%);
    --stats-text: #1e242d;
    --stats-text-muted: #6b7280;
    --stats-border: #e5e7eb;
    --stats-bg: #ffffff;
    --stats-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ==========================================================================
   LAYOUT: CARDS (Default)
   Modern cards with shadows and hover effects
   ========================================================================== */
.ca-stats--cards .ca-stats__grid {
    display: grid;
    gap: 24px;
}
.ca-stats--cards .ca-stats__item {
    position: relative;
    padding: 32px 24px;
    background: var(--stats-bg);
    border-radius: 16px;
    border: 1px solid var(--stats-border);
    text-align: center;
    transition: var(--stats-transition);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.ca-stats--cards .ca-stats__item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--stats-primary-gradient);
    transform: scaleX(0);
    transition: var(--stats-transition);
}
.ca-stats--cards .ca-stats__item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px -12px rgba(244, 20, 49, 0.15);
    border-color: transparent;
}
.ca-stats--cards .ca-stats__item:hover::before {
    transform: scaleX(1);
}
.ca-stats--cards .ca-stats__number {
    font-size: 3rem;
    font-weight: 800;
    background: var(--stats-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    margin-bottom: 8px;
}
.ca-stats--cards .ca-stats__label {
    font-size: 1rem;
    font-weight: 500;
    color: var(--stats-text-muted);
    line-height: 1.4;
}
@media (min-width: 768px) {
    .ca-stats--cards .ca-stats__number {
        font-size: 3.5rem;
    }
}
/* ==========================================================================
   LAYOUT: MINIMAL
   Clean, borderless design with subtle separators
   ========================================================================== */
.ca-stats--minimal .ca-stats__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 48px 64px;
}
.ca-stats--minimal .ca-stats__item {
    text-align: center;
    position: relative;
}
.ca-stats--minimal .ca-stats__number {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--stats-primary);
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}
.ca-stats--minimal .ca-stats__label {
    font-size: 1rem;
    font-weight: 500;
    color: var(--stats-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
@media (min-width: 768px) {
    .ca-stats--minimal .ca-stats__number {
        font-size: 4.5rem;
    }
    
    .ca-stats--minimal .ca-stats__label {
        font-size: 0.875rem;
    }
}
/* ==========================================================================
   LAYOUT: BORDERED
   Stats separated by elegant vertical dividers
   ========================================================================== */
.ca-stats--bordered .ca-stats__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    margin-top: 25px;
}
.ca-stats--bordered .ca-stats__item {
    flex: 1;
    min-width: 200px;
    padding: 20px;
    text-align: center;
    position: relative;
}
.ca-stats--bordered .ca-stats__item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 60%;
    width: 2px;
    background: linear-gradient(180deg, transparent, var(--stats-border), transparent);
}
.ca-stats--bordered .ca-stats__number {
    font-size: 3rem;
    font-weight: 800;
    background: var(--stats-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    margin-bottom: 8px;
    white-space: nowrap;
}
.ca-stats--bordered .ca-stats__label {
    font-size: 1rem;
    font-weight: 500;
    color: var(--stats-text-muted);
}
@media (max-width: 768px) {
    .ca-stats--bordered .ca-stats__grid {
        flex-direction: column;
        align-items: center;
    }
    
    .ca-stats--bordered .ca-stats__item {
        width: 100%;
        padding: 24px;
    }
    
    .ca-stats--bordered .ca-stats__item:not(:last-child)::after {
        display: none;
    }
    
    .ca-stats--bordered .ca-stats__item:not(:last-child) {
        border-bottom: 1px solid var(--stats-border);
    }
}
@media (min-width: 768px) {
    .ca-stats--bordered .ca-stats__number {
        font-size: 4rem;
    }
}
/* ==========================================================================
   LAYOUT: HIGHLIGHT
   Numbers with colored background blocks
   ========================================================================== */
.ca-stats--highlight .ca-stats__grid {
    display: grid;
    gap: 24px;
}
.ca-stats--highlight .ca-stats__item {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px;
    background: var(--stats-bg);
    border-radius: 16px;
    transition: var(--stats-transition);
}
.ca-stats--highlight .ca-stats__item:hover {
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
}
.ca-stats--highlight .ca-stats__number-wrap {
    flex-shrink: 0;
    min-width: 120px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--stats-primary-gradient);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}
.ca-stats--highlight .ca-stats__number-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 50%);
}
.ca-stats--highlight .ca-stats__number {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    position: relative;
    z-index: 1;
    white-space: nowrap;
}
.ca-stats--highlight .ca-stats__content {
    flex: 1;
}
.ca-stats--highlight .ca-stats__label {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--stats-text);
    margin-bottom: 4px;
}
.ca-stats--highlight .ca-stats__sublabel {
    font-size: 0.9375rem;
    color: var(--stats-text-muted);
}
@media (min-width: 768px) {
    .ca-stats--highlight .ca-stats__number {
        font-size: 2.25rem;
    }
}
@media (max-width: 640px) {
    .ca-stats--highlight .ca-stats__item {
        flex-direction: column;
        text-align: center;
    }
    
    .ca-stats--highlight .ca-stats__number-wrap {
        min-width: 100px;
        padding: 20px 24px;
    }
    
    .ca-stats--highlight .ca-stats__number {
        font-size: 1.75rem;
    }
}
/* ==========================================================================
   LAYOUT: ICON-TOP
   Icon above number with elegant styling
   ========================================================================== */
.ca-stats--icon-top .ca-stats__grid {
    display: grid;
    gap: 32px;
}
.ca-stats--icon-top .ca-stats__item {
    text-align: center;
    padding: 32px 24px;
    position: relative;
    background: var(--stats-bg);
    border-radius: 16px;
    border: 1px solid var(--stats-border);
    transition: var(--stats-transition);
}
.ca-stats--icon-top .ca-stats__item:hover {
    border-color: var(--stats-primary);
    box-shadow: 0 10px 40px -10px rgba(244, 20, 49, 0.15);
    transform: translateY(-4px);
}
.ca-stats--icon-top .ca-stats__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--stats-primary-light);
    border-radius: 50%;
    transition: var(--stats-transition);
}
.ca-stats--icon-top .ca-stats__item:hover .ca-stats__icon {
    background: var(--stats-primary);
    transform: scale(1.1);
}
.ca-stats--icon-top .ca-stats__icon img {
    width: 36px;
    height: 36px;
    -o-object-fit: contain;
       object-fit: contain;
    transition: var(--stats-transition);
}
.ca-stats--icon-top .ca-stats__item:hover .ca-stats__icon img {
    filter: brightness(0) invert(1);
}
.ca-stats--icon-top .ca-stats__icon svg {
    width: 36px;
    height: 36px;
    color: var(--stats-primary);
    transition: var(--stats-transition);
}
.ca-stats--icon-top .ca-stats__item:hover .ca-stats__icon svg {
    color: #fff;
}
.ca-stats--icon-top .ca-stats__number {
    font-size: 3rem;
    font-weight: 800;
    background: var(--stats-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    margin-bottom: 8px;
}
.ca-stats--icon-top .ca-stats__label {
    font-size: 1rem;
    font-weight: 500;
    color: var(--stats-text-muted);
}
@media (min-width: 768px) {
    .ca-stats--icon-top .ca-stats__number {
        font-size: 3.5rem;
    }
}
/* ==========================================================================
   LAYOUT: COUNTER (Animated counting effect ready)
   Large centered numbers with progress-style design
   ========================================================================== */
.ca-stats--counter .ca-stats__grid {
    display: grid;
    gap: 40px;
}
.ca-stats--counter .ca-stats__item {
    text-align: center;
    position: relative;
    padding: 40px 24px;
}
.ca-stats--counter .ca-stats__item::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--stats-primary-gradient);
    border-radius: 3px;
}
.ca-stats--counter .ca-stats__number {
    font-size: 4rem;
    font-weight: 900;
    background: var(--stats-primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 16px;
    letter-spacing: -0.03em;
}
.ca-stats--counter .ca-stats__label {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--stats-text);
    margin-bottom: 4px;
}
.ca-stats--counter .ca-stats__sublabel {
    font-size: 0.875rem;
    color: var(--stats-text-muted);
}
@media (min-width: 768px) {
    .ca-stats--counter .ca-stats__number {
        font-size: 5rem;
    }
}
/* ==========================================================================
   Responsive Grid Columns - Applied to all layouts
   ========================================================================== */
.ca-stats__grid[data-cols="1"] { grid-template-columns: 1fr; }
.ca-stats__grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.ca-stats__grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.ca-stats__grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
.ca-stats__grid[data-cols="5"] { grid-template-columns: repeat(5, 1fr); }
.ca-stats__grid[data-cols="6"] { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1024px) {
    .ca-stats__grid[data-cols="4"],
    .ca-stats__grid[data-cols="5"],
    .ca-stats__grid[data-cols="6"] {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .ca-stats__grid[data-cols="3"],
    .ca-stats__grid[data-cols="4"],
    .ca-stats__grid[data-cols="5"],
    .ca-stats__grid[data-cols="6"] {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .ca-stats__grid[data-cols="2"],
    .ca-stats__grid[data-cols="3"],
    .ca-stats__grid[data-cols="4"],
    .ca-stats__grid[data-cols="5"],
    .ca-stats__grid[data-cols="6"] {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================================
   Animations
   ========================================================================== */
.ca-stats__item {
    opacity: 0;
    transform: translateY(20px);
    animation: stats-fade-in 0.5s ease forwards;
}
.ca-stats__item:nth-child(1) { animation-delay: 0.1s; }
.ca-stats__item:nth-child(2) { animation-delay: 0.2s; }
.ca-stats__item:nth-child(3) { animation-delay: 0.3s; }
.ca-stats__item:nth-child(4) { animation-delay: 0.4s; }
.ca-stats__item:nth-child(5) { animation-delay: 0.5s; }
.ca-stats__item:nth-child(6) { animation-delay: 0.6s; }
@keyframes stats-fade-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ==========================================================================
   Dark Background Adjustments
   ========================================================================== */
.ca-stats--dark .ca-stats__label,
.ca-stats--dark .ca-stats__sublabel {
    color: rgba(255, 255, 255, 0.8);
}
.ca-stats--dark .ca-stats--bordered .ca-stats__number,
.ca-stats--dark .ca-stats--icon-top .ca-stats__number,
.ca-stats--dark .ca-stats--counter .ca-stats__label {
    color: #fff;
}
.ca-stats--dark .ca-stats--bordered .ca-stats__item:not(:last-child)::after {
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.2), transparent);
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ca-stats__item {
        animation: none;
        opacity: 1;
        transform: none;
    }
    
    .ca-stats--cards .ca-stats__item:hover,
    .ca-stats--icon-top .ca-stats__icon {
        transform: none;
    }
}
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .ca-stats__item {
        -moz-column-break-inside: avoid;
             break-inside: avoid;
    }
    
    .ca-stats--cards .ca-stats__item::before {
        display: none;
    }
    
    .ca-stats__number {
        -webkit-text-fill-color: currentColor !important;
        color: #f41431 !important;
    }
}
/**
 * Steps Component Styles
 *
 * Professional process/steps section with horizontal and vertical layouts.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
.ca-steps {
    --steps-primary: #f41431;
    --steps-primary-light: rgba(244, 20, 49, 0.1);
    --steps-primary-dark: #c91028;
    --steps-text: #1e242d;
    --steps-text-muted: #6b7280;
    --steps-border: #e5e7eb;
    --steps-bg: #ffffff;
    --steps-number-size: 56px;
    --steps-number-size-lg: 72px;
    --steps-line-width: 2px;
    --steps-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ==========================================================================
   Base Container
   ========================================================================== */
.ca-steps__container {
    position: relative;
}
/* ==========================================================================
   HORIZONTAL LAYOUT
   ========================================================================== */
.ca-steps--horizontal .ca-steps__list {
    display: grid;
    gap: 0;
    position: relative;
}
/* Dynamic columns based on step count */
.ca-steps--horizontal .ca-steps__list[data-steps="2"] { grid-template-columns: repeat(2, 1fr); }
.ca-steps--horizontal .ca-steps__list[data-steps="3"] { grid-template-columns: repeat(3, 1fr); }
.ca-steps--horizontal .ca-steps__list[data-steps="4"] { grid-template-columns: repeat(4, 1fr); }
.ca-steps--horizontal .ca-steps__list[data-steps="5"] { grid-template-columns: repeat(5, 1fr); }
.ca-steps--horizontal .ca-steps__list[data-steps="6"] { grid-template-columns: repeat(6, 1fr); }
/* Horizontal Step Item */
.ca-steps--horizontal .ca-steps__item {
    position: relative;
    text-align: center;
    padding: 0 16px;
}
/* Connecting Line - Horizontal */
.ca-steps--horizontal .ca-steps__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: calc(var(--steps-number-size-lg) / 2);
    left: calc(50% + var(--steps-number-size-lg) / 2 + 8px);
    right: calc(-50% + var(--steps-number-size-lg) / 2 + 8px);
    height: var(--steps-line-width);
    background: linear-gradient(90deg, var(--steps-primary), var(--steps-primary-light));
    z-index: 1;
}
/* Number Circle - Horizontal */
.ca-steps--horizontal .ca-steps__number {
    width: var(--steps-number-size-lg);
    height: var(--steps-number-size-lg);
    margin: 0 auto 24px;
    position: relative;
    z-index: 2;
}
.ca-steps--horizontal .ca-steps__number-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    font-weight: 700;
    background: var(--steps-bg);
    border: 3px solid var(--steps-primary);
    color: var(--steps-primary);
    transition: var(--steps-transition);
    box-shadow: 0 4px 15px rgba(244, 20, 49, 0.15);
}
.ca-steps--horizontal .ca-steps__item:hover .ca-steps__number-inner {
    background: var(--steps-primary);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(244, 20, 49, 0.3);
}
/* Content - Horizontal */
.ca-steps--horizontal .ca-steps__content {
    max-width: 280px;
    margin: 0 auto;
}
.ca-steps--horizontal .ca-steps__title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--steps-text);
    transition: var(--steps-transition);
    line-height: 1.4;
}
.ca-steps--horizontal .ca-steps__item:hover .ca-steps__title {
    color: var(--steps-primary);
}
.ca-steps--horizontal .ca-steps__description {
    font-size: 0.9375rem;
    color: var(--steps-text-muted);
    line-height: 1.6;
}
/* Horizontal Responsive */
@media (max-width: 1024px) {
    .ca-steps--horizontal .ca-steps__list[data-steps="5"],
    .ca-steps--horizontal .ca-steps__list[data-steps="6"] {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px 0;
    }
    
    .ca-steps--horizontal .ca-steps__item:nth-child(3)::after,
    .ca-steps--horizontal .ca-steps__list[data-steps="6"] .ca-steps__item:nth-child(6)::after {
        display: none;
    }
}
@media (max-width: 768px) {
    .ca-steps--horizontal .ca-steps__list,
    .ca-steps--horizontal .ca-steps__list[data-steps="2"],
    .ca-steps--horizontal .ca-steps__list[data-steps="3"],
    .ca-steps--horizontal .ca-steps__list[data-steps="4"],
    .ca-steps--horizontal .ca-steps__list[data-steps="5"],
    .ca-steps--horizontal .ca-steps__list[data-steps="6"] {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .ca-steps--horizontal .ca-steps__item::after {
        display: none !important;
    }
    
    .ca-steps--horizontal .ca-steps__item {
        display: flex;
        align-items: flex-start;
        text-align: left;
        padding: 0;
        gap: 20px;
    }
    
    .ca-steps--horizontal .ca-steps__number {
        width: var(--steps-number-size);
        height: var(--steps-number-size);
        margin: 0;
        flex-shrink: 0;
    }
    
    .ca-steps--horizontal .ca-steps__number-inner {
        font-size: 1.25rem;
    }
    
    .ca-steps--horizontal .ca-steps__content {
        flex: 1;
        padding-bottom: 32px;
        border-left: var(--steps-line-width) solid var(--steps-border);
        padding-left: 20px;
        margin-left: -10px;
        max-width: none;
    }
    
    .ca-steps--horizontal .ca-steps__item:last-child .ca-steps__content {
        border-left-color: transparent;
        padding-bottom: 0;
    }
}
/* ==========================================================================
   VERTICAL LAYOUT
   ========================================================================== */
.ca-steps--vertical .ca-steps__list {
    display: flex;
    flex-direction: column;
    position: relative;
    max-width: 700px;
    margin: 0 auto;
}
/* Vertical Timeline Line */
.ca-steps--vertical .ca-steps__list::before {
    content: '';
    position: absolute;
    left: calc(var(--steps-number-size) / 2 - var(--steps-line-width) / 2);
    top: var(--steps-number-size);
    bottom: var(--steps-number-size);
    width: var(--steps-line-width);
    background: linear-gradient(180deg, var(--steps-primary), var(--steps-primary-light) 50%, var(--steps-primary));
}
/* Vertical Step Item */
.ca-steps--vertical .ca-steps__item {
    display: flex;
    gap: 24px;
    position: relative;
    padding-bottom: 40px;
}
.ca-steps--vertical .ca-steps__item:last-child {
    padding-bottom: 0;
}
/* Number Circle - Vertical */
.ca-steps--vertical .ca-steps__number {
    width: var(--steps-number-size);
    height: var(--steps-number-size);
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}
.ca-steps--vertical .ca-steps__number-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    background: var(--steps-bg);
    border: 3px solid var(--steps-primary);
    color: var(--steps-primary);
    transition: var(--steps-transition);
    box-shadow: 0 4px 15px rgba(244, 20, 49, 0.15);
}
.ca-steps--vertical .ca-steps__item:hover .ca-steps__number-inner {
    background: var(--steps-primary);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(244, 20, 49, 0.3);
}
/* Content Card - Vertical */
.ca-steps--vertical .ca-steps__content {
    flex: 1;
    background: var(--steps-bg);
    border-radius: 12px;
    padding: 24px;
    border: 1px solid var(--steps-border);
    transition: var(--steps-transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.ca-steps--vertical .ca-steps__item:hover .ca-steps__content {
    border-color: var(--steps-primary);
    box-shadow: 0 8px 30px rgba(244, 20, 49, 0.1);
    transform: translateX(8px);
}
.ca-steps--vertical .ca-steps__title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--steps-text);
    transition: var(--steps-transition);
}
.ca-steps--vertical .ca-steps__item:hover .ca-steps__title {
    color: var(--steps-primary);
}
.ca-steps--vertical .ca-steps__description {
    font-size: 1rem;
    color: var(--steps-text-muted);
    line-height: 1.7;
}
/* ==========================================================================
   VERTICAL ALTERNATING LAYOUT
   ========================================================================== */
.ca-steps--vertical-alt .ca-steps__list {
    display: flex;
    flex-direction: column;
    position: relative;
    max-width: 900px;
    margin: 0 auto;
}
/* Center Timeline Line */
.ca-steps--vertical-alt .ca-steps__list::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--steps-primary), var(--steps-primary-light) 50%, var(--steps-primary));
    border-radius: 2px;
}
/* Step Item - Alternating */
.ca-steps--vertical-alt .ca-steps__item {
    display: flex;
    align-items: flex-start;
    position: relative;
    width: 100%;
    padding-bottom: 24px;
}
.ca-steps--vertical-alt .ca-steps__item:last-child {
    padding-bottom: 0;
}
/* Number Circle - Centered */
.ca-steps--vertical-alt .ca-steps__number {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    z-index: 2;
}
.ca-steps--vertical-alt .ca-steps__number-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    font-weight: 700;
    background: var(--steps-bg);
    border: 2px solid var(--steps-primary);
    color: var(--steps-primary);
    transition: var(--steps-transition);
    box-shadow: 0 2px 10px rgba(244, 20, 49, 0.15);
}
.ca-steps--vertical-alt .ca-steps__item:hover .ca-steps__number-inner {
    background: var(--steps-primary);
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(244, 20, 49, 0.3);
}
/* Odd items (1, 3, 5) - Content on LEFT */
.ca-steps--vertical-alt .ca-steps__item:nth-child(odd) {
    justify-content: flex-start;
    padding-right: calc(50% + 40px);
}
.ca-steps--vertical-alt .ca-steps__item:nth-child(odd) .ca-steps__content {
    text-align: left;
}
/* Even items (2, 4, 6) - Content on RIGHT */
.ca-steps--vertical-alt .ca-steps__item:nth-child(even) {
    justify-content: flex-end;
    padding-left: calc(50% + 40px);
}
.ca-steps--vertical-alt .ca-steps__item:nth-child(even) .ca-steps__content {
    text-align: left;
}
/* Content Card Styling */
.ca-steps--vertical-alt .ca-steps__content {
    flex: 1;
    background: var(--steps-bg);
    border-radius: 12px;
    padding: 16px 20px;
    border: 1px solid var(--steps-border);
    transition: var(--steps-transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: relative;
}
/* Arrow pointer towards center */
.ca-steps--vertical-alt .ca-steps__item:nth-child(odd) .ca-steps__content::after {
    content: '';
    position: absolute;
    right: -8px;
    top: 18px;
    width: 14px;
    height: 14px;
    background: var(--steps-bg);
    border: 1px solid var(--steps-border);
    border-left: none;
    border-bottom: none;
    transform: rotate(45deg);
    transition: var(--steps-transition);
}
.ca-steps--vertical-alt .ca-steps__item:nth-child(even) .ca-steps__content::after {
    content: '';
    position: absolute;
    left: -8px;
    top: 18px;
    width: 14px;
    height: 14px;
    background: var(--steps-bg);
    border: 1px solid var(--steps-border);
    border-right: none;
    border-top: none;
    transform: rotate(45deg);
    transition: var(--steps-transition);
}
.ca-steps--vertical-alt .ca-steps__item:hover .ca-steps__content {
    border-color: var(--steps-primary);
    box-shadow: 0 6px 20px rgba(244, 20, 49, 0.1);
}
.ca-steps--vertical-alt .ca-steps__item:nth-child(odd):hover .ca-steps__content {
    transform: translateX(-5px);
}
.ca-steps--vertical-alt .ca-steps__item:nth-child(even):hover .ca-steps__content {
    transform: translateX(5px);
}
.ca-steps--vertical-alt .ca-steps__item:hover .ca-steps__content::after {
    border-color: var(--steps-primary);
}
/* Title */
.ca-steps--vertical-alt .ca-steps__title {
    font-size: 0.98rem;
    font-weight: 600;
    margin-bottom: 4px;
    color: var(--steps-text);
    transition: var(--steps-transition);
    line-height: 1.5;
}
.ca-steps--vertical-alt .ca-steps__item:hover .ca-steps__title {
    color: var(--steps-primary);
}
/* Description */
.ca-steps--vertical-alt .ca-steps__description p {
    font-size: 0.9375rem;
    /* color: var(--steps-text-muted); */
    line-height: 1.6;
    margin: 0;
}
/* Responsive typography - Desktop and up */
@media (min-width: 1024px) {
    .ca-steps--vertical-alt .ca-steps__title {
        font-size: 1rem;
    }

    .ca-steps--vertical-alt .ca-steps__description {
        font-size: 0.98rem;
    }
}
/* Responsive - Tablet */
@media (max-width: 1024px) {
    .ca-steps--vertical-alt .ca-steps__list {
        max-width: 700px;
    }
    
    .ca-steps--vertical-alt .ca-steps__item:nth-child(odd) {
        padding-right: calc(50% + 35px);
    }
    
    .ca-steps--vertical-alt .ca-steps__item:nth-child(even) {
        padding-left: calc(50% + 35px);
    }
}
/* Responsive - Mobile: Convert to simple vertical */
@media (max-width: 768px) {
    .ca-steps--vertical-alt .ca-steps__list {
        max-width: 100%;
    }
    
    .ca-steps--vertical-alt .ca-steps__list::before {
        left: 24px;
        transform: none;
    }
    
    .ca-steps--vertical-alt .ca-steps__item,
    .ca-steps--vertical-alt .ca-steps__item:nth-child(odd),
    .ca-steps--vertical-alt .ca-steps__item:nth-child(even) {
        flex-direction: row;
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 20px;
        gap: 16px;
    }
    
    .ca-steps--vertical-alt .ca-steps__number {
        position: relative;
        left: auto;
        transform: none;
        width: 48px;
        height: 48px;
    }
    
    .ca-steps--vertical-alt .ca-steps__item:nth-child(odd) .ca-steps__content,
    .ca-steps--vertical-alt .ca-steps__item:nth-child(even) .ca-steps__content {
        text-align: left;
        flex: 1;
        padding: 14px 16px;
    }
    
    .ca-steps--vertical-alt .ca-steps__item:nth-child(odd) .ca-steps__content::after,
    .ca-steps--vertical-alt .ca-steps__item:nth-child(even) .ca-steps__content::after {
        display: none;
    }
    
    .ca-steps--vertical-alt .ca-steps__item:nth-child(odd):hover .ca-steps__content,
    .ca-steps--vertical-alt .ca-steps__item:nth-child(even):hover .ca-steps__content {
        transform: translateX(3px);
    }
}
/* ==========================================================================
   COMPACT LAYOUT
   ========================================================================== */
.ca-steps--compact .ca-steps__list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.ca-steps--compact .ca-steps__item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--steps-bg);
    padding: 12px 20px 12px 12px;
    border-radius: 50px;
    border: 2px solid var(--steps-border);
    transition: var(--steps-transition);
}
.ca-steps--compact .ca-steps__item:hover {
    border-color: var(--steps-primary);
    box-shadow: 0 4px 20px rgba(244, 20, 49, 0.15);
}
.ca-steps--compact .ca-steps__number {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}
.ca-steps--compact .ca-steps__number-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    background: var(--steps-primary);
    color: #fff;
    transition: var(--steps-transition);
}
.ca-steps--compact .ca-steps__content {
    flex: 1;
}
.ca-steps--compact .ca-steps__title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--steps-text);
    margin: 0;
}
.ca-steps--compact .ca-steps__description {
    display: none;
}
/* ==========================================================================
   Icon Support
   ========================================================================== */
.ca-steps__icon {
    width: 28px;
    height: 28px;
    -o-object-fit: contain;
       object-fit: contain;
}
.ca-steps--horizontal .ca-steps__icon {
    width: 32px;
    height: 32px;
}
/* ==========================================================================
   Step Status Indicators (Optional)
   ========================================================================== */
.ca-steps__item--completed .ca-steps__number-inner {
    background: var(--steps-primary);
    border-color: var(--steps-primary);
    color: #fff;
}
.ca-steps__item--completed .ca-steps__number-inner::after {
    content: '✓';
    font-size: 1.5rem;
}
.ca-steps__item--active .ca-steps__number-inner {
    animation: step-pulse 2s ease-in-out infinite;
}
@keyframes step-pulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(244, 20, 49, 0.15);
    }
    50% {
        box-shadow: 0 4px 25px rgba(244, 20, 49, 0.4);
    }
}
/* ==========================================================================
   CTA Section
   ========================================================================== */
.ca-steps__cta {
    margin-top: 48px;
}
/* ==========================================================================
   Animations
   ========================================================================== */
.ca-steps__item {
    opacity: 0;
    transform: translateY(20px);
    animation: step-fade-in 0.5s ease forwards;
}
.ca-steps__item:nth-child(1) { animation-delay: 0.1s; }
.ca-steps__item:nth-child(2) { animation-delay: 0.2s; }
.ca-steps__item:nth-child(3) { animation-delay: 0.3s; }
.ca-steps__item:nth-child(4) { animation-delay: 0.4s; }
.ca-steps__item:nth-child(5) { animation-delay: 0.5s; }
.ca-steps__item:nth-child(6) { animation-delay: 0.6s; }
@keyframes step-fade-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ca-steps__item {
        animation: none;
        opacity: 1;
        transform: none;
    }
    
    .ca-steps__item--active .ca-steps__number-inner {
        animation: none;
    }
    
    .ca-steps__number-inner,
    .ca-steps__content,
    .ca-steps__title {
        transition: none;
    }
}
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .ca-steps__item {
        -moz-column-break-inside: avoid;
             break-inside: avoid;
    }
    
    .ca-steps--horizontal .ca-steps__item::after,
    .ca-steps--vertical .ca-steps__list::before {
        display: none;
    }
}
/**
 * Styled Table Component Styles
 *
 * Professional, responsive table styling with enhanced visual effects.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   Table Wrapper
   ========================================================================== */
.styled-table-section .styled-table-wrapper {
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1),
        0 0 0 1px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.styled-table-section .styled-table-wrapper:hover {
    box-shadow: 
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1),
        0 0 0 1px rgba(0, 0, 0, 0.05);
}
/* ==========================================================================
   Table Base Styles
   ========================================================================== */
.styled-table-section table.styled-table {
    table-layout: fixed;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
/* ==========================================================================
   Header Styles
   ========================================================================== */
.styled-table-section thead th {
    position: relative;
    font-weight: 600;
    letter-spacing: 0.025em;
}
.styled-table-section thead th:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background: rgba(255, 255, 255, 0.2);
}
/* ==========================================================================
   Cell Styles
   ========================================================================== */
.styled-table-section th,
.styled-table-section td {
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.styled-table-section tbody td {
    transition: background-color 0.2s ease;
}
/* ==========================================================================
   Row Styles
   ========================================================================== */
.styled-table-section tbody tr {
    transition: all 0.2s ease;
}
.styled-table-section tbody tr:hover {
    background-color: rgba(244, 20, 49, 0.04) !important;
    transform: scale(1.001);
}
.styled-table-section tbody tr:hover td {
    color: #1a1a2e;
}
/* First column accent */
.styled-table-section tbody td:first-child {
    font-weight: 500;
    color: #1e242d;
}
/* ==========================================================================
   Dynamic Column Widths
   ========================================================================== */
.styled-table-section table[data-columns="2"] th,
.styled-table-section table[data-columns="2"] td {
    width: 50%;
}
.styled-table-section table[data-columns="3"] th,
.styled-table-section table[data-columns="3"] td {
    width: 33.33%;
}
.styled-table-section table[data-columns="4"] th,
.styled-table-section table[data-columns="4"] td {
    width: 25%;
}
.styled-table-section table[data-columns="5"] th,
.styled-table-section table[data-columns="5"] td {
    width: 20%;
}
.styled-table-section table[data-columns="6"] th,
.styled-table-section table[data-columns="6"] td {
    width: 16.66%;
}
/* ==========================================================================
   Mobile Card Styles
   ========================================================================== */
.styled-table-section .mobile-card {
    transition: all 0.3s ease;
    box-shadow: 
        0 1px 3px rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.styled-table-section .mobile-card:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
/* ==========================================================================
   Footer Styles
   ========================================================================== */
.styled-table-section .styled-table-footer p, 
.styled-table-section .styled-table-footer ul, 
.styled-table-section .styled-table-footer ol {
    font-size: 0.875rem !important; /* text-sm = 14px */
    line-height: 1.5 !important;
    color: #6b7280;
}
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .styled-table-section .md\:hidden {
        display: none !important;
    }
    
    .styled-table-section .hidden.md\:block {
        display: block !important;
    }
    
    .styled-table-section table {
        border: 1px solid #ccc;
        box-shadow: none !important;
    }
    
    .styled-table-section th,
    .styled-table-section td {
        border: 1px solid #ccc;
    }
    
    .styled-table-section .styled-table-wrapper {
        box-shadow: none !important;
    }
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .styled-table-section .styled-table-wrapper,
    .styled-table-section tbody tr,
    .styled-table-section .mobile-card {
        transition: none;
    }
    
    .styled-table-section tbody tr:hover,
    .styled-table-section .mobile-card:hover {
        transform: none;
    }
}
/**
 * Testimonials Slider Styles
 * 
 * @package CanadaAbroad
 */
.testimonials-slider {
	position: relative;
	overflow: hidden;
	padding: 2rem 0;
}
.testimonials-slider__wrapper {
	position: relative;
	overflow: visible;
	width: 100%;
	padding: 0.5rem 0;
}
.testimonials-slider__container {
	display: flex;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
	align-items: center;
}
.testimonials-slider__slide {
	flex: 0 0 100%;
	min-width: 0;
	padding: 0 0.5rem;
	transition: transform 0.4s ease, opacity 0.4s ease;
	opacity: 0.5;
	transform: scale(0.85);
	height: 420px;
	display: flex;
	align-items: stretch;
}
.testimonials-slider__slide.active {
	opacity: 1;
	transform: scale(1);
	z-index: 10;
}
@media (min-width: 768px) {
	.testimonials-slider__slide {
		flex: 0 0 60%;
		padding: 0 1rem;
		min-width: 0;
		height: 460px;
	}
	
	.testimonials-slider__slide.active {
		height: 460px;
	}
	
	/* Center the active slide - no padding needed, JS will handle centering */
	.testimonials-slider__container {
		padding: 0;
	}
}
/* Active card styling - slightly bigger and highlighted */
.testimonials-slider__slide.active .testimonial-card {
	box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.15), 
	            0 10px 25px -5px rgba(0, 0, 0, 0.1),
	            0 4px 6px -1px rgba(0, 0, 0, 0.08) !important;
	border-top: 2px solid transparent !important;
	border-bottom: 2px solid transparent !important;
	border-left: 2px solid #f41431 !important;
	border-right: 2px solid #f41431 !important;
	transform: scale(1.03) translateY(-4px);
	background: linear-gradient(to bottom, #ffffff 0%, #fefefe 100%);
}
/* Hover effect for non-active cards */
.testimonials-slider__slide:not(.active) .testimonial-card:hover {
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 
	            0 4px 10px -2px rgba(0, 0, 0, 0.1) !important;
	border-color: #f41431 !important;
	transform: translateY(-2px);
}
/* Smooth transitions for all cards */
.testimonial-card {
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, box-shadow, border-color;
}
/* Navigation Dots - Most styles moved to Tailwind classes in PHP */
.testimonials-slider__dot.active {
	background-color: #f41431 !important;
	width: 1.5rem !important;
	border-radius: 0.25rem !important;
}
/* Navigation Arrows - Most styles moved to Tailwind classes in PHP */
/* Loading State */
.testimonials-slider__container.loading {
	opacity: 0.7;
}
/* Fade Animation */
.testimonials-slider--fade .testimonials-slider__container {
	transition: opacity 0.5s ease;
}
.testimonials-slider--fade .testimonials-slider__slide {
	opacity: 0;
	position: absolute;
	width: 100%;
	transition: opacity 0.5s ease;
}
.testimonials-slider--fade .testimonials-slider__slide.active {
	opacity: 1;
	position: relative;
}
/**
 * YouTube Lightbox Styles
 * 
 * Beautiful, accessible video lightbox for YouTube videos.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
:root {
    --lightbox-bg: rgba(0, 0, 0, 0.92);
    --lightbox-close-color: #ffffff;
    --lightbox-close-hover: #f41431;
    --lightbox-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --lightbox-z-index: 99999;
}
/* ==========================================================================
   Lightbox Overlay
   ========================================================================== */
.youtube-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: var(--lightbox-z-index);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transition: var(--lightbox-transition);
}
.youtube-lightbox-overlay.is-active {
    opacity: 1;
    visibility: visible;
}
.youtube-lightbox-overlay.is-closing {
    opacity: 0;
}
/* ==========================================================================
   Lightbox Container
   ========================================================================== */
.youtube-lightbox-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.95);
    transition: var(--lightbox-transition);
}
.youtube-lightbox-overlay.is-active .youtube-lightbox-container {
    transform: scale(1);
}
.youtube-lightbox-overlay.is-closing .youtube-lightbox-container {
    transform: scale(0.95);
}
/* ==========================================================================
   Video Wrapper (16:9 Aspect Ratio - Fullscreen)
   ========================================================================== */
.youtube-lightbox-video {
    position: relative;
    width: 100vw;
    height: 56.25vw; /* 16:9 aspect ratio based on viewport width */
    max-height: 100vh;
    max-width: 177.78vh; /* 16:9 aspect ratio based on viewport height */
    background: #000;
    border-radius: 0;
    overflow: hidden;
}
.youtube-lightbox-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
/* ==========================================================================
   Close Button
   ========================================================================== */
.youtube-lightbox-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lightbox-close-hover);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: var(--lightbox-transition);
    z-index: 100001;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.youtube-lightbox-close:hover,
.youtube-lightbox-close:focus {
    background: #dc2626;
    transform: scale(1.1);
}
.youtube-lightbox-close svg {
    width: 24px;
    height: 24px;
    color: #ffffff;
    stroke-width: 2.5;
}
.youtube-lightbox-close:hover svg,
.youtube-lightbox-close:focus svg {
    color: #fff;
}
/* ==========================================================================
   Loading State
   ========================================================================== */
.youtube-lightbox-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: #fff;
}
.youtube-lightbox-spinner {
    width: 48px;
    height: 48px;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: #f41431;
    border-radius: 50%;
    animation: youtube-lightbox-spin 0.8s linear infinite;
}
@keyframes youtube-lightbox-spin {
    to {
        transform: rotate(360deg);
    }
}
.youtube-lightbox-loading-text {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.8;
}
/* Hide loading when iframe is loaded */
.youtube-lightbox-video.is-loaded .youtube-lightbox-loading {
    display: none;
}
/* ==========================================================================
   Play Button Indicator (for trigger elements)
   ========================================================================== */
[data-youtube-lightbox] {
    position: relative;
    cursor: pointer;
}
/* Optional: Add play icon overlay to images/cards with video */
.youtube-play-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72px;
    height: 72px;
    background: rgba(244, 20, 49, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--lightbox-transition);
    z-index: 5;
    pointer-events: none;
}
.youtube-play-indicator::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #fff;
    margin-left: 4px;
}
[data-youtube-lightbox]:hover .youtube-play-indicator,
[data-youtube-lightbox]:focus .youtube-play-indicator {
    background: #f41431;
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 8px 30px rgba(244, 20, 49, 0.4);
}
/* Smaller play indicator variant */
.youtube-play-indicator--small {
    width: 56px;
    height: 56px;
}
.youtube-play-indicator--small::before {
    border-width: 10px 0 10px 16px;
    margin-left: 3px;
}
/* ==========================================================================
   Responsive Styles
   ========================================================================== */
@media (max-width: 768px) {
    .youtube-lightbox-close {
        top: 15px;
        right: 15px;
        width: 44px;
        height: 44px;
    }

    .youtube-lightbox-close svg {
        width: 22px;
        height: 22px;
    }

    .youtube-play-indicator {
        width: 56px;
        height: 56px;
    }

    .youtube-play-indicator::before {
        border-width: 10px 0 10px 16px;
        margin-left: 3px;
    }
}
@media (max-width: 480px) {
    .youtube-lightbox-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
    }

    .youtube-lightbox-close svg {
        width: 20px;
        height: 20px;
    }

    .youtube-play-indicator {
        width: 48px;
        height: 48px;
    }

    .youtube-play-indicator::before {
        border-width: 8px 0 8px 14px;
        margin-left: 2px;
    }
}
/* ==========================================================================
   Accessibility
   ========================================================================== */
/* Focus visible styles */
.youtube-lightbox-close:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
/* Screen reader only text */
.youtube-lightbox-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Prevent body scroll when lightbox is open */
body.youtube-lightbox-open {
    overflow: hidden;
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .youtube-lightbox-overlay,
    .youtube-lightbox-container,
    .youtube-lightbox-close,
    .youtube-play-indicator {
        transition: opacity 0.1s ease;
    }

    .youtube-lightbox-close:hover {
        transform: scale(1.1);
    }

    .youtube-lightbox-spinner {
        animation: none;
    }
}
/* Ensure close button SVG is always visible */
.youtube-lightbox-close svg path {
    stroke: #ffffff;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/**
 * Express Entry Draw Component Styles
 *
 * Modern, professional styling for Express Entry draw display.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   Section Layout (Split Design)
   ========================================================================== */
.ee-draw-section {
    margin: 0 auto;
}
.ee-draw-section-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
/* Left Side: Content */
.ee-draw-section-content {
    flex: 1;
    text-align: center;
}
/* Vertical Divider */
.ee-draw-section-divider {
    display: none;
    width: 1px;
    /* background-color: rgba(0, 0, 0, 0.1); */
    align-self: stretch;
    flex-shrink: 0;
}
/* Right Side: Draw Card Wrapper */
.ee-draw-wrapper {
    flex: 1;
    width: 100%;
    max-width: 900px;
}
/* Desktop Layout */
@media (min-width: 1024px) {
    .ee-draw-section-container {
        flex-direction: row;
        align-items: stretch;
        gap: 60px;
    }
    
    .ee-draw-section-content {
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    
    .ee-draw-section-divider {
        display: block;
    }
    
    .ee-draw-wrapper {
        max-width: none;
    }
}
/* Tablet & Mobile */
@media (max-width: 1023px) {
    /* .ee-draw-section {
        padding: 40px 16px;
    } */
    
    .ee-draw-section-container {
        gap: 32px;
    }
}
/* ==========================================================================
   Wrapper
   ========================================================================== */
.ee-draw-wrapper {
    position: relative;
    padding: 0;
}
/* Decorated Background */
.ee-draw-wrapper--decorated {
    background: 
        /* Subtle grid pattern */
        linear-gradient(rgba(244, 20, 49, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(244, 20, 49, 0.02) 1px, transparent 1px),
        /* Multi-tone gradient */
        linear-gradient(135deg, 
            #fafafa 0%, 
            #f5f5f5 25%, 
            #fafafa 50%, 
            #f8f8f8 75%, 
            #fafafa 100%
        );
    background-size: 40px 40px, 40px 40px, 100% 100%;
    background-attachment: fixed, fixed, scroll;
}
.ee-draw-wrapper--decorated::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 60%;
    height: 100%;
    background: radial-gradient(ellipse, rgba(244, 20, 49, 0.04) 0%, transparent 70%);
    pointer-events: none;
}
.ee-draw-wrapper--decorated::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 50%;
    height: 80%;
    background: radial-gradient(ellipse, rgba(30, 36, 45, 0.03) 0%, transparent 70%);
    pointer-events: none;
}
/* ==========================================================================
   Variables
   ========================================================================== */
.ee-draw-card {
    --ee-primary: #f41431;
    --ee-primary-dark: #c71028;
    --ee-secondary: #1e242d;
    --ee-accent-blue: #3b82f6;
    --ee-accent-green: #10b981;
    --ee-accent-orange: #f59e0b;
    --ee-accent-purple: #8b5cf6;
    --ee-card-bg: #ffffff;
    --ee-card-radius: 24px;
    --ee-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}
/* ==========================================================================
   Card Container
   ========================================================================== */
.ee-draw-card {
    position: relative;
    background: var(--ee-card-bg);
    border-radius: var(--ee-card-radius);
    box-shadow: var(--ee-shadow);
    overflow: hidden;
    max-width: 900px;
    margin: 0 auto;
}
/* ==========================================================================
   Header
   ========================================================================== */
.ee-draw-header {
    background: linear-gradient(135deg, var(--ee-secondary) 0%, #2d3748 100%);
    padding: 24px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.ee-draw-header-content {
    display: flex;
    align-items: center;
    gap: 16px;
}
.ee-draw-icon {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ee-draw-icon svg {
    width: 24px;
    height: 24px;
    color: var(--ee-primary);
}
.ee-draw-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.025em;
}
.ee-draw-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--ee-primary);
    padding: 8px 16px;
    border-radius: 50px;
}
.ee-draw-badge-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.ee-draw-badge-number {
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
}
/* ==========================================================================
   Stats Grid
   ========================================================================== */
.ee-draw-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #e5e7eb;
    padding: 1px;
}
.ee-stat {
    position: relative;
    background: var(--ee-card-bg);
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s ease;
    overflow: hidden;
}
.ee-stat:hover {
    background: #f9fafb;
}
/* Stat icons removed per client feedback */
.ee-stat-value {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
    width: 100%;
    min-width: 0;
}
.ee-stat-number {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.025em;
}
.ee-stat-date-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ee-secondary);
}
.ee-stat-category-text {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ee-secondary);
    line-height: 1.3;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.ee-stat-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
/* Stat Variants */
.ee-stat--crs .ee-stat-number {
    background: linear-gradient(135deg, var(--ee-primary) 0%, var(--ee-primary-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ee-stat--date {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}
.ee-stat--date:hover {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
}
.ee-stat--itas .ee-stat-number {
    background: linear-gradient(135deg, #2B35AF 0%, #4361EE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.ee-stat--category {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.ee-stat--category:hover {
    background: linear-gradient(135deg, #fde68a 0%, #fcd34d 100%);
}
/* ==========================================================================
   Footer
   ========================================================================== */
.ee-draw-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 32px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    gap: 16px;
    flex-wrap: wrap;
}
.ee-draw-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ee-primary);
    text-decoration: none;
    padding: 12px 24px;
    background: rgba(244, 20, 49, 0.08);
    border-radius: 50px;
    transition: all 0.3s ease;
}
.ee-draw-link:hover {
    background: var(--ee-primary);
    color: #ffffff;
    transform: translateX(4px);
}
.ee-draw-link svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}
.ee-draw-link:hover svg {
    transform: translateX(4px);
}
.ee-draw-source {
    font-size: 0.75rem;
    color: #9ca3af;
    display: flex;
    align-items: center;
    gap: 4px;
}
/* ==========================================================================
   Responsive Styles
   ========================================================================== */
/* Mobile: Single column */
@media (max-width: 640px) {
    .ee-draw-header {
        padding: 20px 24px;
        flex-direction: column;
        text-align: center;
    }

    .ee-draw-header-content {
        flex-direction: column;
    }

    .ee-draw-title {
        font-size: 1.25rem;
    }

    .ee-draw-stats {
        grid-template-columns: 1fr;
    }

    .ee-stat {
        padding: 24px 20px;
    }

    .ee-stat-number {
        font-size: 2.5rem;
    }

    .ee-stat-date-text {
        font-size: 1.125rem;
    }

    .ee-draw-footer {
        flex-direction: column;
        text-align: center;
        padding: 16px 24px;
    }

    .ee-draw-link {
        width: 100%;
        justify-content: center;
    }
}
/* Tablet: 2 columns */
@media (min-width: 641px) and (max-width: 1023px) {
    .ee-draw-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .ee-stat {
        padding: 28px 20px;
    }
    
    .ee-stat-number {
        font-size: 2.75rem;
    }
}
/* Desktop with split layout: 2 columns (card is in right column, narrower) */
@media (min-width: 1024px) {
    /* When in split layout, use 2 columns for better fit */
    .ee-draw-section-container .ee-draw-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .ee-draw-section-container .ee-stat {
        padding: 32px 20px;
    }
    
    .ee-draw-section-container .ee-stat-number {
        font-size: 2.5rem;
    }
    
    .ee-draw-section-container .ee-stat-date-text {
        font-size: 1.125rem;
    }
    
    .ee-draw-section-container .ee-stat-category-text {
        font-size: 1rem;
    }
}
/* ==========================================================================
   Animation
   ========================================================================== */
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(244, 20, 49, 0.4);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(244, 20, 49, 0);
    }
}
.ee-draw-badge {
    animation: pulse-glow 2s infinite;
}
/* ==========================================================================
   Empty State
   ========================================================================== */
.ee-draw-card--empty {
    padding: 60px 40px;
    text-align: center;
}
.ee-draw-empty {
    max-width: 400px;
    margin: 0 auto;
}
.ee-draw-empty-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ee-draw-empty-icon svg {
    width: 40px;
    height: 40px;
    color: #9ca3af;
}
.ee-draw-empty-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ee-secondary);
    margin: 0 0 12px 0;
}
.ee-draw-empty-message {
    font-size: 0.9375rem;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 24px 0;
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ee-draw-badge {
        animation: none;
    }

    .ee-stat,
    .ee-draw-link {
        transition: none;
    }
}
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .ee-draw-card {
        box-shadow: none;
        border: 1px solid #e5e7eb;
    }

    .ee-draw-badge {
        animation: none;
    }
}
/**
 * Express Entry Draws History Component Styles
 *
 * Professional table and card layout for displaying multiple draws.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   Variables
   ========================================================================== */
.ee-draws-wrapper {
    --ee-primary: #f41431;
    --ee-primary-dark: #c71028;
    --ee-secondary: #1e242d;
    --ee-accent-green: #10b981;
    --ee-border: #e5e7eb;
    --ee-bg-light: #f9fafb;
    --ee-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.04);
    --ee-shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
    
    width: 100%;
    box-sizing: border-box;
}
.ee-draws-wrapper *,
.ee-draws-wrapper *::before,
.ee-draws-wrapper *::after {
    box-sizing: border-box;
}
/* Screen Reader Only - Accessibility */
.ee-draws-wrapper .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* ==========================================================================
   Header
   ========================================================================== */
.ee-draws-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.ee-draws-header-content {
    flex: 1;
    min-width: 200px;
}
.ee-draws-title {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ee-secondary);
    margin: 0 0 4px 0;
    letter-spacing: -0.01em;
}
.ee-draws-subtitle {
    font-size: 0.8125rem;
    color: #6b7280;
    margin: 0;
}
/* ==========================================================================
   Filter Bar
   ========================================================================== */
.ee-draws-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 16px;
    background: var(--ee-bg-light);
    border-radius: 10px;
    border: 1px solid var(--ee-border);
}
.ee-filter-group {
    position: relative;
}
.ee-filter-search {
    flex: 1;
    min-width: 180px;
    max-width: 280px;
    display: flex;
    align-items: center;
}
.ee-filter-label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}
.ee-filter-label svg {
    width: 16px;
    height: 16px;
    color: #9ca3af;
}
.ee-filter-input {
    width: 100%;
    padding: 10px 12px;
    font-size: 0.8125rem;
    border: 1px solid var(--ee-border);
    border-radius: 6px;
    background: #fff;
    transition: all 0.2s ease;
}
.ee-filter-input--search {
    padding-left: 38px;
}
.ee-filter-input:focus {
    outline: none;
    border-color: var(--ee-primary);
    box-shadow: 0 0 0 2px rgba(244, 20, 49, 0.08);
}
.ee-filter-input::-moz-placeholder {
    color: #9ca3af;
}
.ee-filter-input::placeholder {
    color: #9ca3af;
}
.ee-filter-select {
    padding: 10px 32px 10px 12px;
    font-size: 0.8125rem;
    border: 1px solid var(--ee-border);
    border-radius: 6px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 140px;
}
.ee-filter-select:focus {
    outline: none;
    border-color: var(--ee-primary);
    box-shadow: 0 0 0 2px rgba(244, 20, 49, 0.08);
}
.ee-filter-select:hover {
    border-color: #d1d5db;
}
.ee-filter-reset {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    background: #fff;
    border: 1px solid var(--ee-border);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ee-filter-reset svg {
    width: 14px;
    height: 14px;
}
.ee-filter-reset:hover {
    color: var(--ee-primary);
    border-color: var(--ee-primary);
    background: rgba(244, 20, 49, 0.04);
}
.ee-filter-reset span {
    display: none;
}
@media (min-width: 640px) {
    .ee-filter-reset span {
        display: inline;
    }
}
/* ==========================================================================
   Table View (Desktop)
   ========================================================================== */
.ee-draws-table-wrapper {
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--ee-shadow-lg);
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid var(--ee-border);
}
.ee-draws-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
}
.ee-draws-table thead {
    background: linear-gradient(135deg, var(--ee-secondary) 0%, #2d3748 100%);
}
.ee-draws-table th {
    padding: 16px;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    white-space: nowrap;
}
.ee-draws-table th.ee-th--score,
.ee-draws-table th.ee-th--itas {
    text-align: center;
}
.ee-draws-table tbody tr {
    border-bottom: 1px solid var(--ee-border);
    transition: all 0.15s ease;
}
.ee-draws-table tbody tr:last-child {
    border-bottom: none;
}
.ee-draws-table tbody tr:hover {
    background-color: #f8fafc;
}
.ee-draws-table td {
    padding: 15px;
    vertical-align: middle;
}
/* Latest Row Highlight */
.ee-draw-row--latest {
    background: linear-gradient(90deg, rgba(244, 20, 49, 0.04) 0%, rgba(244, 20, 49, 0.01) 100%);
}
.ee-draw-row--latest:hover {
    background: linear-gradient(90deg, rgba(244, 20, 49, 0.06) 0%, rgba(244, 20, 49, 0.02) 100%) !important;
}
/* Draw Number Cell */
.ee-td--draw {
    white-space: nowrap;
}
.ee-draw-num {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ee-secondary);
}
.ee-latest-badge {
    display: inline-flex;
    margin-left: 8px;
    padding: 2px 6px;
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #fff;
    background: var(--ee-primary);
    border-radius: 3px;
    vertical-align: middle;
}
/* Date Cell */
.ee-td--date {
    /* color: #4b5563; */
    font-size: 0.8125rem;
}
/* Score Cell */
.ee-td--score {
    text-align: center;
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--ee-secondary);
}
/* ITAs Cell */
.ee-td--itas {
    text-align: center;
    font-size: 0.8125rem;
    /* color: #4b5563; */
}
/* Category Tags */
.ee-category {
    display: inline-flex;
    padding: 3px 10px;
    font-size: 0.6875rem;
    font-weight: 600;
    border-radius: 50px;
    white-space: nowrap;
}
.ee-category--sm {
    padding: 3px 8px;
    font-size: 0.625rem;
}
.ee-cat--fsw {
    background: #dbeafe;
    color: #1e40af;
}
.ee-cat--cec {
    background: #dcfce7;
    color: #166534;
}
.ee-cat--pnp {
    background: #fef3c7;
    color: #92400e;
}
.ee-cat--general {
    background: #f3f4f6;
    color: #374151;
}
.ee-cat--stem {
    background: #ede9fe;
    color: #5b21b6;
}
.ee-cat--health {
    background: #fce7f3;
    color: #9d174d;
}
.ee-cat--trade {
    background: #ffedd5;
    color: #c2410c;
}
.ee-cat--french {
    background: #cffafe;
    color: #0e7490;
}
.ee-cat--transport {
    background: #f0fdf4;
    color: #15803d;
}
.ee-cat--agri {
    background: #ecfccb;
    color: #3f6212;
}
.ee-cat--default {
    background: #e5e7eb;
    color: #4b5563;
}
/* CRS Score */
.ee-td--score {
    text-align: center;
}
/* Old colorful score/itas styles removed - using simple text styling defined above */
/* ==========================================================================
   Card View (Mobile)
   ========================================================================== */
.ee-draws-cards {
    display: none;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.ee-draw-card {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--ee-shadow);
    overflow: hidden;
    transition: all 0.15s ease;
    border: 1px solid var(--ee-border);
    box-sizing: border-box;
}
.ee-draw-card:hover {
    box-shadow: var(--ee-shadow-lg);
}
.ee-draw-card--latest {
    border-color: var(--ee-primary);
}
.ee-draw-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: var(--ee-bg-light);
    border-bottom: 1px solid var(--ee-border);
    flex-wrap: wrap;
    gap: 8px;
}
.ee-draw-card-number {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ee-secondary);
}
.ee-draw-card-number .ee-latest-badge {
    margin-left: 0;
}
.ee-draw-card-date {
    font-size: 0.8125rem;
    color: #4b5563;
}
.ee-draw-card-category {
    padding: 12px 16px;
    border-bottom: 1px solid var(--ee-border);
    text-align: center;
}
.ee-draw-card-category .ee-category {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    line-height: 1.4;
}
.ee-draw-card-body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--ee-border);
}
.ee-draw-card-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
    background: #fff;
    text-align: center;
}
.ee-draw-card-stat-label {
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4b5563;
    margin-bottom: 4px;
}
.ee-draw-card-stat-value {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ee-secondary);
}
/* ==========================================================================
   Empty State
   ========================================================================== */
.ee-draws-empty {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--ee-shadow);
    border: 1px solid var(--ee-border);
}
.ee-draws-empty-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ee-draws-empty-icon svg {
    width: 40px;
    height: 40px;
    color: #9ca3af;
}
.ee-draws-empty-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ee-secondary);
    margin: 0 0 12px 0;
}
.ee-draws-empty-message {
    font-size: 0.9375rem;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 24px 0;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.ee-draws-empty-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--ee-primary);
    text-decoration: none;
    padding: 12px 24px;
    background: rgba(244, 20, 49, 0.08);
    border-radius: 50px;
    transition: all 0.2s ease;
}
.ee-draws-empty-link:hover {
    background: var(--ee-primary);
    color: #fff;
}
.ee-draws-empty-link svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}
.ee-draws-empty-link:hover svg {
    transform: translateX(4px);
}
/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
    .ee-draws-table th.ee-th--category,
    .ee-draws-table td.ee-td--category {
        display: none;
    }
}
@media (max-width: 768px) {
    .ee-draws-header {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .ee-draws-header-content {
        min-width: auto;
    }

    .ee-draws-title {
        font-size: 1.25rem;
    }

    /* Filter bar responsive */
    .ee-draws-filters {
        padding: 12px;
        gap: 10px;
    }

    .ee-filter-search {
        flex: 1 1 100%;
        max-width: 100%;
        order: -1;
    }

    .ee-filter-group:not(.ee-filter-search) {
        flex: 1;
        min-width: calc(50% - 5px);
    }

    .ee-filter-select {
        width: 100%;
        min-width: auto;
    }

    .ee-filter-reset {
        flex: 0 0 auto;
    }

    .ee-draws-table-wrapper {
        display: none;
    }

    .ee-draws-cards {
        display: flex;
    }
}
@media (max-width: 480px) {
    .ee-draws-filters {
        padding: 10px;
        gap: 8px;
    }

    .ee-filter-group:not(.ee-filter-search) {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .ee-filter-input,
    .ee-filter-select {
        padding: 8px 10px;
        font-size: 0.75rem;
    }

    .ee-filter-input--search {
        padding-left: 34px;
    }

    .ee-filter-reset {
        width: 100%;
        justify-content: center;
    }

    .ee-filter-reset span {
        display: inline;
    }

    /* Mobile cards consistent sizing */
    .ee-draws-cards {
        gap: 10px;
        padding: 0;
    }

    .ee-draw-card {
        width: 100%;
        margin: 0;
    }

    .ee-draw-card-header {
        padding: 12px 14px;
    }

    .ee-draw-card-number {
        font-size: 0.9375rem;
    }

    .ee-draw-card-date {
        font-size: 0.75rem;
    }

    .ee-draw-card-category {
        padding: 10px 14px;
    }

    .ee-draw-card-category .ee-category {
        font-size: 0.6875rem;
        padding: 4px 10px;
    }

    .ee-draw-card-stat {
        padding: 14px 10px;
    }

    .ee-draw-card-stat-label {
        font-size: 0.5625rem;
    }

    .ee-draw-card-stat-value {
        font-size: 1.125rem;
    }
}
/* ==========================================================================
   Animations
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ee-latest-badge {
        animation: none;
    }

    .ee-draw-card,
    .ee-draws-search-input {
        transition: none;
    }
}
/* ==========================================================================
   Print
   ========================================================================== */
@media print {
    .ee-draws-section {
        padding: 0;
    }

    .ee-draws-filters {
        display: none;
    }

    .ee-draws-table-wrapper {
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .ee-draws-cards {
        display: none !important;
    }

    .ee-draws-table-wrapper {
        display: block !important;
    }

    .ee-latest-badge {
        animation: none;
        background: #333;
    }
}
/**
 * Page Sidebar Navigation Styles
 *
 * Professional hierarchical page navigation for inner pages.
 *
 * @package CanadaAbroad
 */
/* ==========================================================================
   Variables
   ========================================================================== */
.sidebar-nav {
    --sidebar-primary: #f41431;
    --sidebar-primary-dark: #c71028;
    --sidebar-primary-light: #ff4d63;
    --sidebar-accent: #f41431;
    --sidebar-accent-light: #fef2f2;
    --sidebar-text: #1f2937;
    --sidebar-text-muted: #6b7280;
    --sidebar-bg: #ffffff;
    --sidebar-bg-hover: #f8fafc;
    --sidebar-bg-active: #fef2f2;
    --sidebar-border: #e5e7eb;
    --sidebar-border-light: #f3f4f6;
    --sidebar-radius: 12px;
    --sidebar-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 
                      0 4px 12px rgba(0, 0, 0, 0.05);
}
/* ==========================================================================
   Container
   ========================================================================== */
.sidebar-nav {
    width: 100%;
    background: var(--sidebar-bg);
    border-radius: var(--sidebar-radius);
    box-shadow: var(--sidebar-shadow);
    overflow: hidden;
    border: 1px solid var(--sidebar-border-light);
}
.sidebar-nav__container {
    padding: 0;
}
/* ==========================================================================
   Header / Parent Link
   ========================================================================== */
.sidebar-nav__header {
    position: relative;
    background: var(--sidebar-bg);
    border-bottom: 1px solid var(--sidebar-border);
}
.sidebar-nav__parent-link {
    position: relative;
    display: block;
    padding: 14px 16px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--sidebar-primary);
    text-decoration: none;
    transition: all 0.2s ease;
    letter-spacing: -0.01em;
}
.sidebar-nav__parent-link:hover {
    background: var(--sidebar-bg-hover);
    color: var(--sidebar-primary-dark);
}
.sidebar-nav__parent-link--active {
    color: var(--sidebar-text);
    background: var(--sidebar-accent-light);
    border-left: 3px solid var(--sidebar-accent);
}
/* ==========================================================================
   Navigation List
   ========================================================================== */
.sidebar-nav__list {
    list-style: none;
    margin: 0;
    padding: 8px 0 16px 0;
    display: block;
}
.sidebar-nav__sublist {
    list-style: none;
    margin: 0;
    padding: 0;
}
/* ==========================================================================
   Navigation Items
   ========================================================================== */
.sidebar-nav__item {
    position: relative;
    margin: 1px 4px;
}
.sidebar-nav__link-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.15s ease;
}
.sidebar-nav__link-wrapper:hover {
    background: var(--sidebar-bg-hover);
}
.sidebar-nav__item--current > .sidebar-nav__link-wrapper {
    background: transparent;
}
.sidebar-nav__item--ancestor > .sidebar-nav__link-wrapper {
    background: transparent;
}
.sidebar-nav__link {
    flex: 1;
    display: block;
    padding: 8px 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--sidebar-text);
    text-decoration: none;
    transition: all 0.15s ease;
    position: relative;
}
.sidebar-nav__link:hover {
    color: var(--sidebar-primary);
}
/* Active state */
.sidebar-nav__link--active {
    color: var(--sidebar-accent);
    font-weight: 600;
}
.sidebar-nav__link--active:hover {
    color: var(--sidebar-accent);
}
/* Ancestor state */
.sidebar-nav__item--ancestor > .sidebar-nav__link-wrapper > .sidebar-nav__link {
    color: var(--sidebar-text);
    font-weight: 600;
}
/* ==========================================================================
   Toggle Button
   ========================================================================== */
.sidebar-nav__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 2px;
    padding: 0;
    border: 1px solid var(--sidebar-border);
    background: var(--sidebar-bg);
    cursor: pointer;
    color: var(--sidebar-text-muted);
    transition: all 0.2s ease;
    flex-shrink: 0;
    border-radius: 4px;
    position: relative;
    z-index: 1;
}
.sidebar-nav__toggle:hover {
    color: var(--sidebar-primary);
    background: var(--sidebar-accent-light);
    border-color: var(--sidebar-primary);
}
.sidebar-nav__toggle:active {
    transform: scale(0.95);
}
.sidebar-nav__toggle svg {
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
    pointer-events: none;
}
.sidebar-nav__toggle--open {
    background: var(--sidebar-accent-light);
    border-color: var(--sidebar-primary);
    color: var(--sidebar-primary);
}
.sidebar-nav__toggle--open svg {
    transform: rotate(180deg);
}
/* ==========================================================================
   Submenu
   ========================================================================== */
.sidebar-nav__submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.sidebar-nav__submenu--open {
    max-height: 2000px;
}
.sidebar-nav__submenu .sidebar-nav__item {
    margin: 1px 4px;
}
.sidebar-nav__submenu .sidebar-nav__link {
    padding: 8px 8px;
    font-size: 0.8125rem;
    color: var(--sidebar-text-muted);
}
.sidebar-nav__submenu .sidebar-nav__link:hover {
    color: var(--sidebar-primary);
}
.sidebar-nav__submenu .sidebar-nav__link--active {
    color: var(--sidebar-accent);
    font-weight: 600;
}
/* ==========================================================================
   Sidebar Collapse/Expand Buttons
   ========================================================================== */
/* Collapse button - on sidebar edge */
.sidebar-collapse-btn {
    position: absolute;
    left: -24px;
    top: 28px;
    transform: translateY(-50%);
    width: 24px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--sidebar-text-muted);
    transition: all 0.2s ease;
    z-index: 10;
}
.sidebar-collapse-btn:hover {
    color: var(--sidebar-primary);
    background: var(--sidebar-accent-light);
    border-color: var(--sidebar-primary);
}
.sidebar-collapse-btn svg {
    width: 16px;
    height: 16px;
}
/* Expand button - fixed to left edge when sidebar is hidden */
.sidebar-expand-btn {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 56px;
    display: none;
    align-items: center;
    justify-content: center;
    background: var(--sidebar-bg);
    border: 1px solid var(--sidebar-border);
    border-left: none;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    color: var(--sidebar-text-muted);
    transition: all 0.2s ease;
    z-index: 100;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
}
.sidebar-expand-btn:hover {
    width: 28px;
    color: var(--sidebar-primary);
    background: var(--sidebar-accent-light);
    border-color: var(--sidebar-primary);
}
.sidebar-expand-btn svg {
    width: 14px;
    height: 14px;
}
/* Show expand button when sidebar is collapsed */
.page-with-sidebar--collapsed .sidebar-expand-btn {
    display: flex;
}
.page-with-sidebar--collapsed .sidebar-collapse-btn {
    display: none;
}
/* ==========================================================================
   Page Layout with Sidebar
   ========================================================================== */
.page-with-sidebar {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px 20px;
    align-items: start;
    transition: grid-template-columns 0.3s ease;
}
.page-with-sidebar--collapsed {
    grid-template-columns: 1fr;
    padding-left: 40px;
}
.page-with-sidebar--collapsed .page-with-sidebar__nav {
    display: none;
}
.page-with-sidebar__nav {
    position: relative;
    height: -moz-fit-content;
    height: fit-content;
    transition: opacity 0.2s ease;
}
.page-with-sidebar__content {
    min-width: 0;
}
/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1200px) {
    .page-with-sidebar {
        grid-template-columns: 280px 1fr;
        gap: 36px;
        padding: 36px 20px;
    }

    .sidebar-nav__parent-link {
        padding: 18px 20px;
        font-size: 1rem;
    }

    .sidebar-nav__link {
        padding: 12px 14px;
        font-size: 0.875rem;
    }
}
@media (max-width: 1024px) {
    .page-with-sidebar {
        grid-template-columns: 260px 1fr;
        gap: 28px;
        padding: 28px 16px;
    }

    .sidebar-nav {
        --sidebar-radius: 12px;
    }
}
/* Mobile toggle - hidden on desktop */
.sidebar-nav__mobile-toggle {
    display: none;
}
@media (max-width: 768px) {
    /* Hide collapse/expand buttons on mobile */
    .sidebar-collapse-btn,
    .sidebar-expand-btn {
        display: none !important;
    }
    
    .page-with-sidebar--collapsed {
        padding-left: 16px;
    }

    .page-with-sidebar {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 16px;
    }

    .page-with-sidebar__nav {
        position: relative;
        top: 0;
        max-height: none;
        order: -1;
    }

    .sidebar-nav {
        border-radius: 10px;
    }

    /* Mobile toggle visible */
    .sidebar-nav__mobile-toggle {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border: none;
        background: var(--sidebar-accent-light);
        border-radius: 6px;
        cursor: pointer;
        color: var(--sidebar-primary);
        transition: all 0.2s ease;
        z-index: 1;
    }

    .sidebar-nav__mobile-toggle:hover {
        background: var(--sidebar-primary);
        color: #fff;
    }

    .sidebar-nav__mobile-toggle svg {
        width: 14px;
        height: 14px;
        transition: transform 0.2s ease;
    }

    .sidebar-nav__mobile-toggle--open svg {
        transform: rotate(180deg);
    }

    .sidebar-nav__header {
        position: relative;
    }

    .sidebar-nav__parent-link {
        padding-right: 48px;
    }

    .sidebar-nav__list {
        max-height: 0;
        overflow: hidden;
        padding: 0;
        transition: max-height 0.3s ease, padding 0.2s ease;
    }

    .sidebar-nav__list--open {
        max-height: 1000px;
        padding: 8px 0;
    }

    .sidebar-nav__item {
        margin: 1px 6px;
    }

    .sidebar-nav__link {
        padding: 10px 12px;
    }

    .sidebar-nav__toggle {
        width: 32px;
        height: 32px;
    }
}
@media (max-width: 480px) {
    .page-with-sidebar {
        padding: 16px 12px;
    }

    .sidebar-nav__parent-link {
        padding: 14px 16px;
        padding-right: 52px;
        font-size: 0.9375rem;
    }

    .sidebar-nav__parent-link::before {
        width: 6px;
        height: 6px;
    }

    .sidebar-nav__link {
        padding: 10px 12px;
        font-size: 0.8125rem;
    }

    .sidebar-nav__submenu .sidebar-nav__link {
        padding: 10px 12px 10px 20px;
        font-size: 0.8125rem;
    }

    .sidebar-nav__toggle {
        width: 32px;
        height: 32px;
        margin-right: 4px;
    }

    .sidebar-nav__toggle svg {
        width: 14px;
        height: 14px;
    }
}
/* ==========================================================================
   Print
   ========================================================================== */
@media print {
    .sidebar-nav {
        display: none;
    }

    .page-with-sidebar {
        grid-template-columns: 1fr;
        padding: 0;
    }
}
/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .sidebar-nav__toggle svg,
    .sidebar-nav__link,
    .sidebar-nav__submenu,
    .sidebar-nav__list,
    .sidebar-nav__link--active::before {
        transition: none;
        animation: none;
    }
}
/* ==========================================================================
   Dark Mode Support (Optional)
   ========================================================================== */
@media (prefers-color-scheme: dark) {
    .sidebar-nav {
        --sidebar-bg: #1f2937;
        --sidebar-bg-hover: #374151;
        --sidebar-bg-active: #312e81;
        --sidebar-text: #f9fafb;
        --sidebar-text-muted: #9ca3af;
        --sidebar-border: #374151;
        --sidebar-border-light: #4b5563;
        --sidebar-accent-light: rgba(244, 20, 49, 0.15);
        --sidebar-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 
                          0 2px 4px -1px rgba(0, 0, 0, 0.15),
                          0 20px 25px -5px rgba(0, 0, 0, 0.2);
    }
}
/* ==========================================================================
   Table of Contents Component
   ========================================================================== */
/* CSS Variables */
:root {
    --toc-bg: #ffffff;
    --toc-border: #e5e7eb;
    --toc-text: #374151;
    --toc-text-muted: #6b7280;
    --toc-primary: #dc2626;
    --toc-primary-light: #fef2f2;
    --toc-hover-bg: #f9fafb;
    --toc-active-bg: #fef2f2;
    --toc-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    --toc-radius: 8px;
}
/* ==========================================================================
   Base Styles
   ========================================================================== */
.ca-toc {
    margin: 1.5rem 0 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
}
.ca-toc__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: var(--toc-bg);
    border: 1px solid var(--toc-border);
    border-bottom: none;
    border-radius: var(--toc-radius) var(--toc-radius) 0 0;
}
.ca-toc__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--toc-text);
    display: flex;
    align-items: center;
    gap: 8px;
}
.ca-toc__title::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='8' y1='18' x2='21' y2='18'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.ca-toc__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--toc-border);
    border-radius: 6px;
    cursor: pointer;
    color: var(--toc-text-muted);
    transition: all 0.2s ease;
}
.ca-toc__toggle:hover {
    background: var(--toc-hover-bg);
    color: var(--toc-primary);
    border-color: var(--toc-primary);
}
.ca-toc__toggle-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}
.ca-toc__toggle[aria-expanded="false"] .ca-toc__toggle-icon {
    transform: rotate(-90deg);
}
/* ==========================================================================
   List Styles
   ========================================================================== */
.ca-toc__list {
    margin: 0;
    padding: 12px 16px;
    list-style: none;
    background: var(--toc-bg);
    border: 1px solid var(--toc-border);
    border-top: none;
    border-radius: 0 0 var(--toc-radius) var(--toc-radius);
    counter-reset: toc-counter;
}
.ca-toc__list[hidden] {
    display: none;
}
.ca-toc__sublist {
    margin: 4px 0 0 0;
    padding: 0 0 0 16px;
    list-style: none;
    border-left: 2px solid var(--toc-border);
}
.ca-toc__item {
    margin: 0;
    padding: 0;
}
.ca-toc__item + .ca-toc__item {
    margin-top: 4px;
}
.ca-toc__link {
    display: block;
    padding: 6px 10px;
    color: var(--toc-text-muted);
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.15s ease;
}
.ca-toc__link:hover {
    color: var(--toc-primary);
    background: var(--toc-hover-bg);
}
.ca-toc__link.is-active {
    color: var(--toc-primary);
    background: var(--toc-active-bg);
    font-weight: 500;
}
/* Level-specific styling */
.ca-toc__item--level-2 > .ca-toc__link {
    font-weight: 500;
    color: var(--toc-text);
}
.ca-toc__item--level-3 > .ca-toc__link {
    font-size: 0.875rem;
}
.ca-toc__item--level-4 > .ca-toc__link {
    font-size: 0.8125rem;
}
/* ==========================================================================
   Style Variations
   ========================================================================== */
/* Minimal Style */
.ca-toc--minimal .ca-toc__header {
    background: transparent;
    border: none;
    padding: 0 0 8px 0;
    border-bottom: 2px solid var(--toc-primary);
    border-radius: 0;
}
.ca-toc--minimal .ca-toc__list {
    background: transparent;
    border: none;
    padding: 12px 0;
    border-radius: 0;
}
.ca-toc--minimal .ca-toc__link {
    padding: 4px 0;
    border-radius: 0;
}
.ca-toc--minimal .ca-toc__link:hover {
    background: transparent;
    padding-left: 8px;
}
.ca-toc--minimal .ca-toc__sublist {
    margin-left: 0;
    padding-left: 20px;
}
/* Boxed Style */
.ca-toc--boxed {
    background: var(--toc-bg);
    border-radius: var(--toc-radius);
    box-shadow: var(--toc-shadow);
    overflow: hidden;
}
.ca-toc--boxed .ca-toc__header {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 0;
}
.ca-toc--boxed .ca-toc__list {
    border-radius: 0;
}
/* Numbered Style */
.ca-toc--numbered .ca-toc__list {
    counter-reset: toc-main;
}
.ca-toc--numbered .ca-toc__item--level-2 {
    counter-increment: toc-main;
}
.ca-toc--numbered .ca-toc__item--level-2 > .ca-toc__link::before {
    content: counter(toc-main) ". ";
    font-weight: 600;
    color: var(--toc-primary);
}
.ca-toc--numbered .ca-toc__sublist {
    counter-reset: toc-sub;
}
.ca-toc--numbered .ca-toc__item--level-3 {
    counter-increment: toc-sub;
}
.ca-toc--numbered .ca-toc__item--level-3 > .ca-toc__link::before {
    content: counter(toc-main) "." counter(toc-sub) " ";
    font-weight: 500;
    color: var(--toc-primary);
}
/* ==========================================================================
   Progress Indicator (optional enhancement)
   ========================================================================== */
.ca-toc--highlight-active .ca-toc__link {
    position: relative;
}
.ca-toc--highlight-active .ca-toc__link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0;
    background: var(--toc-primary);
    border-radius: 2px;
    transition: height 0.2s ease;
}
.ca-toc--highlight-active .ca-toc__link.is-active::before {
    height: 60%;
}
/* ==========================================================================
   Responsive Styles
   ========================================================================== */
@media (max-width: 768px) {
    .ca-toc {
        margin: 1rem 0 1.5rem;
    }

    .ca-toc__header {
        padding: 10px 12px;
    }

    .ca-toc__title {
        font-size: 0.875rem;
    }

    .ca-toc__list {
        padding: 10px 12px;
    }

    .ca-toc__link {
        padding: 8px 10px;
        font-size: 0.875rem;
    }

    .ca-toc__sublist {
        padding-left: 12px;
    }

    /* Start collapsed on mobile */
    .ca-toc--collapsible .ca-toc__list {
        display: none;
    }

    .ca-toc--collapsible .ca-toc__list:not([hidden]) {
        display: block;
    }

    .ca-toc--collapsible.ca-toc--mobile-open .ca-toc__list {
        display: block;
    }
}
/* ==========================================================================
   Sticky TOC Sidebar (optional - when used in sidebar)
   ========================================================================== */
.ca-toc--sticky {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}
.ca-toc--sticky::-webkit-scrollbar {
    width: 4px;
}
.ca-toc--sticky::-webkit-scrollbar-track {
    background: var(--toc-border);
    border-radius: 2px;
}
.ca-toc--sticky::-webkit-scrollbar-thumb {
    background: var(--toc-text-muted);
    border-radius: 2px;
}
.ca-toc--sticky::-webkit-scrollbar-thumb:hover {
    background: var(--toc-primary);
}
/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .ca-toc {
        page-break-inside: avoid;
        border: 1px solid #ccc;
    }

    .ca-toc__toggle {
        display: none;
    }

    .ca-toc__list[hidden] {
        display: block !important;
    }

    .ca-toc__link {
        color: #000 !important;
    }

    .ca-toc__link::after {
        content: " (page " target-counter(attr(href url), page) ")";
        font-size: 0.75em;
        color: #666;
    }
}
/* ==========================================================================
   Smooth Scroll Target Offset
   ========================================================================== */
/* Offset for fixed headers */
:target {
    scroll-margin-top: 100px;
}
h2:target,
h3:target,
h4:target {
    scroll-margin-top: 100px;
}
/* Highlight animation when scrolled to */
h2:target,
h3:target,
h4:target {
    animation: toc-highlight 2s ease-out;
}
@keyframes toc-highlight {
    0% {
        background-color: var(--toc-primary-light);
    }
    100% {
        background-color: transparent;
    }
}
/**
 * Dynamic Table Component Styles
 * 
 * Styles for the Dynamic Table CPT shortcode output
 */
/* ============================================
   Dynamic Table Component
   ============================================ */
.dynamic-table-wrapper {
	--dt-header-bg: #2d3e50;
	--dt-header-text: #ffffff;
	margin: 0;
}
/* Tab Navigation */
.dt-tabs-navigation {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	/* border-bottom: 2px solid #e5e7eb; */
	margin-bottom: 0;
	padding-bottom: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	/* Hide scrollbar but keep functionality */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE/Edge */
	position: relative;
}
/* Hide scrollbar for Chrome/Safari */
.dt-tabs-navigation::-webkit-scrollbar {
	display: none;
}
/* Wrapper for fade effect indicator */
.dt-tabs-navigation-wrapper {
	position: relative;
}
.dt-tabs-navigation-wrapper::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 2px;
	width: 40px;
	background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.95));
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.dt-tabs-navigation-wrapper.has-overflow::after {
	opacity: 1;
}
.dt-tab-button {
	padding: 12px 24px;
	background: transparent;
	border: none;
	font-size: 15px;
	font-weight: 500;
	color: #6b7280;
	cursor: pointer;
	transition: all 0.2s ease;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	position: relative;
	white-space: nowrap;
	flex-shrink: 0;
}
.dt-tab-button:hover {
	color: #374151;
	background: #f9fafb;
}
.dt-tab-button.active {
	color: #b91c1c;
	border-bottom-color: #b91c1c;
	font-weight: 600;
}
/* ============================================
   Tab Style Variations
   ============================================ */
/* Pills Style */
.dt-tabs-pills .dt-tabs-navigation {
	border-bottom: none;
	gap: 8px;
	padding: 8px;
	background: #f3f4f6;
	border-radius: 12px;
	margin-bottom: 16px;
	flex-wrap: nowrap;
}
.dt-tabs-pills .dt-tab-button {
	border: none;
	border-radius: 8px;
	padding: 10px 20px;
	margin-bottom: 0;
	background: transparent;
}
.dt-tabs-pills .dt-tab-button:hover {
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.dt-tabs-pills .dt-tab-button.active {
	background: #ffffff;
	color: #b91c1c;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-bottom-color: transparent;
}
/* Boxed Style */
.dt-tabs-boxed .dt-tabs-navigation {
	border-bottom: 1px solid #e5e7eb;
	gap: 0;
	margin-bottom: 0;
	flex-wrap: nowrap;
}
.dt-tabs-boxed .dt-tab-button {
	border: 1px solid transparent;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	margin-bottom: -1px;
	padding: 12px 24px;
	background: #f9fafb;
}
.dt-tabs-boxed .dt-tab-button:hover {
	background: #f3f4f6;
	border-color: #e5e7eb #e5e7eb transparent;
}
.dt-tabs-boxed .dt-tab-button.active {
	background: #ffffff;
	border-color: #e5e7eb #e5e7eb #ffffff;
	color: #b91c1c;
	font-weight: 600;
}
/* Cards Style */
.dt-tabs-cards .dt-tabs-navigation {
	border-bottom: none;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: nowrap;
}
.dt-tabs-cards .dt-tab-button {
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 14px 24px;
	margin-bottom: 0;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.dt-tabs-cards .dt-tab-button:hover {
	border-color: #d1d5db;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
}
.dt-tabs-cards .dt-tab-button.active {
	background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%);
	color: #ffffff;
	border-color: transparent;
	box-shadow: 0 4px 15px rgba(185, 28, 28, 0.3);
}
/* Minimal Style */
.dt-tabs-minimal .dt-tabs-navigation {
	border-bottom: none;
	gap: 32px;
	margin-bottom: 16px;
	flex-wrap: nowrap;
}
.dt-tabs-minimal .dt-tab-button {
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 8px 0;
	margin-bottom: 0;
	background: transparent;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.dt-tabs-minimal .dt-tab-button:hover {
	color: #374151;
	background: transparent;
}
.dt-tabs-minimal .dt-tab-button.active {
	color: #b91c1c;
	border-bottom-color: #b91c1c;
}
/* Modern (Gradient) Style */
.dt-tabs-modern .dt-tabs-navigation {
	border-bottom: none;
	gap: 4px;
	padding: 4px;
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	border-radius: 12px;
	margin-bottom: 16px;
	flex-wrap: nowrap;
}
.dt-tabs-modern .dt-tab-button {
	border: none;
	border-radius: 8px;
	padding: 12px 24px;
	margin-bottom: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 500;
}
.dt-tabs-modern .dt-tab-button:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}
.dt-tabs-modern .dt-tab-button.active {
	background: #ffffff;
	color: #1e293b;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
/* Tab Style Responsive */
@media (max-width: 768px) {
	.dt-tabs-pills .dt-tabs-navigation,
	.dt-tabs-cards .dt-tabs-navigation,
	.dt-tabs-modern .dt-tabs-navigation {
		padding: 6px;
		gap: 6px;
	}
	
	.dt-tabs-pills .dt-tab-button,
	.dt-tabs-cards .dt-tab-button,
	.dt-tabs-modern .dt-tab-button {
		padding: 8px 14px;
		font-size: 13px;
	}
	
	.dt-tabs-minimal .dt-tabs-navigation {
		gap: 16px;
	}
	
	.dt-tabs-minimal .dt-tab-button {
		font-size: 12px;
		padding: 6px 0;
	}
}
@media (max-width: 480px) {
	/* Compact tabs on mobile - swipe to scroll (no visible scrollbar) */
	.dt-tab-button {
		padding: 10px 16px;
		font-size: 13px;
	}
	
	.dt-tabs-pills .dt-tab-button,
	.dt-tabs-cards .dt-tab-button {
		padding: 10px 16px;
	}
	
	.dt-tabs-minimal .dt-tabs-navigation {
		gap: 20px;
	}
}
/* Tab Panels */
.dt-tab-panels {
	position: relative;
}
.dt-tab-panel {
	display: none;
}
.dt-tab-panel.active {
	display: block;
}
/* Table Scroll for Responsive */
.dt-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
/* ============================================
   Main Table Styles
   ============================================ */
.dynamic-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
}
.dynamic-table th,
.dynamic-table td {
	padding: 12px 16px;
	text-align: center;
	border: 1px solid #e5e7eb;
	vertical-align: middle;
}
.dynamic-table thead th {
	background: var(--dt-header-bg);
	color: var(--dt-header-text);
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	white-space: nowrap;
}
.dynamic-table tbody td {
	background: #ffffff;
}
/* ============================================
   Table Style Variants
   ============================================ */
/* Default */
.dt-style-default .dynamic-table {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
/* Bordered */
.dt-style-bordered .dynamic-table {
	border: 2px solid #d1d5db;
}
.dt-style-bordered .dynamic-table th,
.dt-style-bordered .dynamic-table td {
	border: 1px solid #d1d5db;
}
/* Minimal */
.dt-style-minimal .dynamic-table {
	border: none;
}
.dt-style-minimal .dynamic-table th,
.dt-style-minimal .dynamic-table td {
	border: none;
	border-bottom: 1px solid #e5e7eb;
}
.dt-style-minimal .dynamic-table thead th {
	background: transparent;
	color: var(--dt-header-bg);
	border-bottom: 2px solid var(--dt-header-bg);
}
/* Striped */
.dt-style-striped .dynamic-table tbody tr:nth-child(odd) td {
	background: #f9fafb;
}
/* Rounded */
.dt-style-rounded .dynamic-table {
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #e5e7eb;
	border-collapse: separate;
	border-spacing: 0;
}
.dt-style-rounded .dynamic-table th,
.dt-style-rounded .dynamic-table td {
	border-radius: 0;
}
.dt-style-rounded .dynamic-table thead tr:first-child th:first-child {
	border-top-left-radius: 5px;
}
.dt-style-rounded .dynamic-table thead tr:first-child th:last-child {
	border-top-right-radius: 5px;
}
.dt-style-rounded .dynamic-table tbody tr:last-child td:first-child {
	border-bottom-left-radius: 5px;
}
.dt-style-rounded .dynamic-table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 5px;
}
/* Handle case when there's no tbody (headers only) */
.dt-style-rounded .dynamic-table thead tr:last-child th:first-child:not(:only-child) {
	border-bottom-left-radius: 0;
}
.dt-style-rounded .dynamic-table thead tr:last-child th:last-child:not(:only-child) {
	border-bottom-right-radius: 0;
}
/* When tbody exists, remove bottom radius from last thead row */
.dt-style-rounded .dynamic-table thead + tbody tr:last-child td:first-child {
	border-bottom-left-radius: 5px;
}
.dt-style-rounded .dynamic-table thead + tbody tr:last-child td:last-child {
	border-bottom-right-radius: 5px;
}
/* Rounded with Shadow */
.dt-style-rounded-shadow .dynamic-table {
	border-radius: 8px;
	overflow: hidden;
	border: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06);
	border-collapse: separate;
	border-spacing: 0;
}
.dt-style-rounded-shadow .dynamic-table th,
.dt-style-rounded-shadow .dynamic-table td {
	border-color: rgba(0, 0, 0, 0.05);
	border-radius: 0;
}
.dt-style-rounded-shadow .dynamic-table thead tr:first-child th:first-child {
	border-top-left-radius: 7px;
}
.dt-style-rounded-shadow .dynamic-table thead tr:first-child th:last-child {
	border-top-right-radius: 7px;
}
.dt-style-rounded-shadow .dynamic-table tbody tr:last-child td:first-child {
	border-bottom-left-radius: 7px;
}
.dt-style-rounded-shadow .dynamic-table tbody tr:last-child td:last-child {
	border-bottom-right-radius: 7px;
}
/* Striped Rows Option */
.dt-striped .dynamic-table tbody tr:nth-child(even) td {
	background: #f9fafb;
}
/* Hover Effect */
.dt-hover .dynamic-table tbody tr:hover td {
	background: #fef2f2 !important;
}
/* First Column Highlight */
.dt-highlight-first-col .dynamic-table tbody td:first-child {
	font-weight: 600;
	color: #b91c1c;
	background: #fff !important;
}
/* ============================================
   Row Styles
   ============================================ */
.dynamic-table tr.dt-row-highlight td {
	background: #fef3c7 !important;
	font-weight: 500;
}
.dynamic-table tr.dt-row-success td {
	background: #d1fae5 !important;
}
.dynamic-table tr.dt-row-warning td {
	background: #fef3c7 !important;
}
.dynamic-table tr.dt-row-danger td {
	background: #fee2e2 !important;
}
/* ============================================
   Responsive Styles
   ============================================ */
@media (max-width: 768px) {
	.dt-tabs-navigation {
		gap: 0;
	}
	
	.dt-tab-button {
		padding: 10px 16px;
		font-size: 13px;
		flex: 1;
		text-align: center;
		min-width: auto;
	}
	
	.dynamic-table {
		font-size: 13px;
	}
	
	.dynamic-table th,
	.dynamic-table td {
		padding: 10px 12px;
	}
	
	.dynamic-table thead th {
		font-size: 12px;
	}
}
@media (max-width: 480px) {
	.dt-tab-button {
		padding: 8px 12px;
		font-size: 12px;
	}
	
	.dynamic-table {
		font-size: 12px;
	}
	
	.dynamic-table th,
	.dynamic-table td {
		padding: 8px 10px;
	}
}
/* ============================================
   Responsive Mode: Cards
   ============================================ */
@media (max-width: 768px) {
	.dt-responsive-cards .dynamic-table {
		border: none;
		background: transparent;
	}
	
	.dt-responsive-cards .dynamic-table thead {
		display: none;
	}
	
	.dt-responsive-cards .dynamic-table tbody {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
	
	.dt-responsive-cards .dynamic-table tbody tr {
		display: block;
		background: #ffffff;
		border-radius: 12px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
		border: 1px solid #e5e7eb;
		padding: 0;
		overflow: hidden;
	}
	
	.dt-responsive-cards .dynamic-table tbody tr td {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		padding: 0;
		border: none;
		border-bottom: 1px solid #e5e7eb;
		background: transparent !important;
		text-align: right;
		min-height: 44px;
		padding-right: 16px;
	}
	
	.dt-responsive-cards .dynamic-table tbody tr td:last-child {
		border-bottom: none;
	}
	
	.dt-responsive-cards .dynamic-table tbody tr td::before {
		content: attr(data-label);
		font-weight: 600;
		color: var(--dt-header-text);
		background: var(--dt-header-bg);
		text-align: left;
		flex-shrink: 0;
		padding: 12px 16px;
		font-size: 13px;
		min-width: 130px;
		display: flex;
		align-items: center;
		margin-right: 16px;
	}
	
	/* First column special styling in cards */
	.dt-responsive-cards.dt-highlight-first-col .dynamic-table tbody tr td:first-child {
		background: linear-gradient(135deg, var(--dt-header-bg) 0%, #1e293b 100%) !important;
		color: #ffffff !important;
		font-weight: 600;
		margin: 0;
		padding: 14px 16px !important;
		padding-right: 16px !important;
		border-radius: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		min-height: auto;
	}
	
	.dt-responsive-cards.dt-highlight-first-col .dynamic-table tbody tr td:first-child::before {
		display: block;
		font-size: 10px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		background: transparent;
		padding: 0;
		min-width: auto;
		margin-bottom: 2px;
		margin-right: 0;
		color: rgba(255, 255, 255, 0.7);
	}
	
	/* Row style variations in cards */
	.dt-responsive-cards .dynamic-table tr.dt-row-highlight {
		border-left: 4px solid #f59e0b;
	}
	
	.dt-responsive-cards .dynamic-table tr.dt-row-success {
		border-left: 4px solid #10b981;
	}
	
	.dt-responsive-cards .dynamic-table tr.dt-row-warning {
		border-left: 4px solid #f59e0b;
	}
	
	.dt-responsive-cards .dynamic-table tr.dt-row-danger {
		border-left: 4px solid #ef4444;
	}
	
	/* Hover effect in cards */
	.dt-responsive-cards.dt-hover .dynamic-table tbody tr:hover {
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
		transform: translateY(-2px);
		transition: all 0.2s ease;
	}
}
/* ============================================
   Responsive Mode: Stack
   ============================================ */
@media (max-width: 768px) {
	.dt-responsive-stack .dynamic-table {
		border: none;
		background: transparent;
	}
	
	.dt-responsive-stack .dynamic-table thead {
		display: none;
	}
	
	.dt-responsive-stack .dynamic-table tbody {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	
	.dt-responsive-stack .dynamic-table tbody tr {
		display: block;
		background: #ffffff;
		border-radius: 8px;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
		border: 1px solid #e5e7eb;
		overflow: hidden;
	}
	
	.dt-responsive-stack .dynamic-table tbody tr td {
		display: block;
		padding: 12px 16px;
		border: none;
		border-bottom: 1px solid #f3f4f6;
		background: transparent !important;
		text-align: left;
		border-radius: 0 !important;
	}
	
	/* Reset any table style border-radius in stack mode */
	.dt-responsive-stack .dynamic-table,
	.dt-responsive-stack .dynamic-table th,
	.dt-responsive-stack .dynamic-table td {
		border-radius: 0 !important;
	}
	
	.dt-responsive-stack .dynamic-table tbody tr td:last-child {
		border-bottom: none;
	}
	
	.dt-responsive-stack .dynamic-table tbody tr td::before {
		content: attr(data-label);
		display: block;
		font-weight: 600;
		color: var(--dt-header-bg);
		text-transform: uppercase;
		font-size: 10px;
		letter-spacing: 0.05em;
		margin-bottom: 4px;
		opacity: 0.8;
	}
	
	/* First column as header in stack */
	.dt-responsive-stack.dt-highlight-first-col .dynamic-table tbody tr td:first-child {
		background: var(--dt-header-bg) !important;
		color: var(--dt-header-text) !important;
		font-weight: 600;
		font-size: 14px;
		border-bottom: none;
		display: flex;
		align-items: center;
		gap: 8px;
		border-radius: 0;
		margin: 0;
	}
	
	.dt-responsive-stack.dt-highlight-first-col .dynamic-table tbody tr td:first-child::before {
		display: inline;
		font-size: 11px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		opacity: 1;
		color: rgba(255, 255, 255, 0.8);
		margin-bottom: 0;
		border-radius: 0;
	}
	
	/* Row style variations in stack */
	.dt-responsive-stack .dynamic-table tr.dt-row-highlight td:first-child {
		background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
	}
	
	.dt-responsive-stack .dynamic-table tr.dt-row-success td:first-child {
		background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
	}
	
	.dt-responsive-stack .dynamic-table tr.dt-row-warning td:first-child {
		background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
	}
	
	.dt-responsive-stack .dynamic-table tr.dt-row-danger td:first-child {
		background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
	}
	
	/* Alternating rows in stack */
	.dt-responsive-stack.dt-striped .dynamic-table tbody tr:nth-child(even) {
		background: #f9fafb;
	}
}
/* ============================================
   Responsive Mode: Scroll (Default)
   ============================================ */
@media (max-width: 768px) {
	.dt-responsive-scroll .dt-table-scroll {
		margin: 0 -4px;
		padding: 0 4px;
	}
	
	.dt-responsive-scroll .dt-table-scroll::after {
		content: '';
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 30px;
		background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.9));
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.3s ease;
	}
	
	.dt-responsive-scroll .dt-table-scroll.has-scroll::after {
		opacity: 1;
	}
}
/* ============================================
   Responsive Mode: Scroll with Sticky Left Column (Transposed)
   ============================================ */
/* Hide transposed table on desktop */
.dt-transposed-scroll {
	display: none;
}
@media (max-width: 768px) {
	/* Transposed table scroll wrapper */
	.dt-responsive-scroll-sticky .dt-transposed-scroll {
		display: block;
		overflow-x: scroll;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		position: relative;
		border: 1px solid #e5e7eb;
		border-radius: 8px;
		width: 100%;
	}
	
	/* Transposed table base - must be wider than container for scroll */
	.dt-responsive-scroll-sticky .dt-transposed {
		border-collapse: separate;
		border-spacing: 0;
		width: -moz-max-content;
		width: max-content;
		min-width: 500px; /* Force wider than mobile viewport */
		border: none;
	}
	
	/* All cells in transposed table */
	.dt-responsive-scroll-sticky .dt-transposed th,
	.dt-responsive-scroll-sticky .dt-transposed td {
		padding: 12px 20px;
		font-size: 14px;
		border: none;
		border-bottom: 1px solid #e5e7eb;
		white-space: nowrap;
		text-align: center;
		min-width: 70px;
	}
	
	/* First column (sticky headers) - ALL rows */
	.dt-responsive-scroll-sticky .dt-transposed th {
		position: sticky;
		left: 0;
		z-index: 10;
		background: var(--dt-header-bg);
		color: var(--dt-header-text);
		font-weight: 600;
		text-align: left;
		width: 110px;
		min-width: 110px;
		max-width: 110px;
		white-space: normal;
		word-wrap: break-word;
		border-right: none;
		box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.1);
	}
	
	/* Data cells - white background */
	.dt-responsive-scroll-sticky .dt-transposed td {
		background: #ffffff;
	}
	
	/* First row data cells (10, 9, 8) - styled as sub-headers */
	.dt-responsive-scroll-sticky .dt-transposed tr:first-child td {
		background: #f1f5f9;
		color: #1e293b;
		font-weight: 600;
		text-align: center;
	}
	
	/* Last row no bottom border */
	.dt-responsive-scroll-sticky .dt-transposed tr:last-child th,
	.dt-responsive-scroll-sticky .dt-transposed tr:last-child td {
		border-bottom: none;
	}
	
	/* Striped rows - skip first row */
	.dt-responsive-scroll-sticky.dt-striped .dt-transposed tr:nth-child(even):not(:first-child) td {
		background: #f9fafb;
	}
	
	/* Hover effect */
	.dt-responsive-scroll-sticky.dt-hover .dt-transposed tr:not(:first-child):hover td {
		background: #fef2f2;
	}
}
/* ============================================
   Responsive Mode: None
   No special mobile styling, table stays as-is
   ============================================ */
/**
 * Large Buttons Component Styles
 * 
 * Styles for the Large Buttons layout component
 */
/* ============================================
   Large Buttons Component
   ============================================ */
.large-button-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	background: var(--card-bg, #ffffff);
	color: var(--card-text, #1f2937);
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
	border: 1px solid rgba(0, 0, 0, 0.05);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration: none;
	position: relative;
	overflow: hidden;
}
.large-button-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(185, 28, 28, 0.05) 0%, rgba(185, 28, 28, 0.02) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.large-button-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.08);
	border-color: rgba(185, 28, 28, 0.2);
}
.large-button-card:hover::before {
	opacity: 1;
}
.large-button-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%); */
	border-radius: 10px;
	transition: all 0.3s ease;
}
.large-button-card:hover .large-button-icon {
	/* background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%); */
	transform: scale(1.05);
}
.large-button-title {
	flex-grow: 1;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.4;
	transition: color 0.3s ease;
}
.large-button-card:hover .large-button-title {
	color: #b91c1c;
}
.large-button-arrow {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	opacity: 0.4;
	transition: all 0.3s ease;
	transform: translateX(-4px);
}
.large-button-card:hover .large-button-arrow {
	opacity: 1;
	transform: translateX(0);
	color: #b91c1c;
}
/* Responsive adjustments */
@media (max-width: 640px) {
	.large-button-card {
		padding: 1rem 1.25rem;
	}
	
	.large-button-icon {
		width: 40px;
		height: 40px;
	}
	
	.large-button-title {
		font-size: 0.938rem;
	}
}
/* Custom colors support */
.large-button-card[style*="--card-bg"] {
	background: var(--card-bg);
}
.large-button-card[style*="--card-text"] .large-button-title {
	color: var(--card-text);
}
.large-button-card[style*="--card-text"]:hover .large-button-title {
	color: var(--card-text);
	opacity: 0.8;
}
/**
 * Hero Gradient Component Styles
 * 
 * Animated gradient hero banner for Canada immigration
 */
/* Hero Gradient Base - Rich blue with red accents (Canada colors) */
.hero-gradient {
	background: linear-gradient(135deg, #0a1628 0%, #0f2744 25%, #1a3a5c 50%, #0f2744 75%, #0a1628 100%);
	position: relative;
	display: flex;
	flex-direction: column;
}
/* Additional depth layer */
.hero-gradient::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top, rgba(244, 20, 49, 0.15) 0%, transparent 50%),
				radial-gradient(ellipse at bottom right, rgba(15, 39, 68, 0.3) 0%, transparent 50%);
	pointer-events: none;
}
/* Animated Gradient Layers - Slower animations, blue dominant with red center */
.hero-gradient__layer {
	position: absolute;
	inset: 0;
	opacity: 0.6;
}
.hero-gradient__layer--1 {
	background: linear-gradient(
		125deg,
		#0f2744 0%,
		#1a3a5c 20%,
		#0f172a 35%,
		#7f1d1d 50%,
		#0f172a 65%,
		#1a3a5c 80%,
		#0f2744 100%
	);
	background-size: 300% 300%;
}
.hero-gradient__layer--2 {
	background: linear-gradient(
		-45deg,
		transparent 0%,
		rgba(15, 39, 68, 0.5) 30%,
		rgba(127, 29, 29, 0.2) 50%,
		rgba(15, 39, 68, 0.5) 70%,
		transparent 100%
	);
	background-size: 200% 200%;
	mix-blend-mode: overlay;
}
.hero-gradient__layer--3 {
	background: radial-gradient(
		ellipse at 50% 50%,
		rgba(153, 27, 27, 0.15) 0%,
		transparent 40%
	),
	radial-gradient(
		ellipse at 20% 80%,
		rgba(15, 39, 68, 0.4) 0%,
		transparent 50%
	),
	radial-gradient(
		ellipse at 80% 20%,
		rgba(15, 39, 68, 0.4) 0%,
		transparent 50%
	);
}
/* Floating Orbs - Blue dominant */
.hero-gradient__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: 0.4;
}
.hero-gradient__orb--1 {
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(15, 39, 68, 0.7) 0%, transparent 70%);
	top: -200px;
	left: -200px;
}
.hero-gradient__orb--2 {
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(15, 39, 68, 0.7) 0%, transparent 70%);
	bottom: -150px;
	right: -150px;
}
.hero-gradient__orb--3 {
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(127, 29, 29, 0.25) 0%, transparent 70%);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.hero-gradient__orb--4 {
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(15, 39, 68, 0.5) 0%, transparent 70%);
	top: 20%;
	right: 20%;
}
/* Pattern Overlay */
.hero-gradient__pattern {
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
/* Floating Maple Leaves */
.hero-gradient__maple {
	position: absolute;
	color: rgba(255, 255, 255, 0.08);
	pointer-events: none;
	filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.1));
}
.hero-gradient__maple--1 {
	width: 120px;
	height: 120px;
	top: 15%;
	left: 8%;
}
.hero-gradient__maple--2 {
	width: 80px;
	height: 80px;
	top: 60%;
	right: 10%;
}
.hero-gradient__maple--3 {
	width: 60px;
	height: 60px;
	bottom: 25%;
	left: 15%;
}
/* Heading Styles */
.hero-gradient__heading {
	text-shadow: 0 4px 30px rgba(0, 0, 0, 0.4), 0 0 40px rgba(255, 255, 255, 0.1);
	background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.9) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	position: relative;
}
/* Subheading Styles */
.hero-gradient__subheading {
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
}
/* ============================================
   Animations - Only apply when animated class is present
   ============================================ */
/* Gradient Layer Animations */
.hero-gradient--animated .hero-gradient__layer--1 {
	animation: heroGradient1 40s ease infinite;
}
.hero-gradient--animated .hero-gradient__layer--2 {
	animation: heroGradient2 35s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__layer--3 {
	animation: heroGradient3 50s ease-in-out infinite;
}
/* Orb Animations */
.hero-gradient--animated .hero-gradient__orb--1 {
	animation: orbFloat1 60s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__orb--2 {
	animation: orbFloat2 50s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__orb--3 {
	animation: orbFloat3 70s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__orb--4 {
	animation: orbFloat4 55s ease-in-out infinite;
}
/* Maple Leaf Animations */
.hero-gradient--animated .hero-gradient__maple--1 {
	animation: mapleFloat1 80s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__maple--2 {
	animation: mapleFloat2 70s ease-in-out infinite;
}
.hero-gradient--animated .hero-gradient__maple--3 {
	animation: mapleFloat3 60s ease-in-out infinite;
}
/* Static State - When not animated */
.hero-gradient--static .hero-gradient__layer--3 {
	opacity: 0.6;
	transform: scale(1);
}
.hero-gradient--static .hero-gradient__orb--3 {
	transform: translate(-50%, -50%);
}
/* Keyframe Animations */
@keyframes heroGradient1 {
	0%, 100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}
@keyframes heroGradient2 {
	0%, 100% {
		background-position: 0% 0%;
	}
	50% {
		background-position: 100% 100%;
	}
}
@keyframes heroGradient3 {
	0%, 100% {
		opacity: 0.5;
		transform: scale(1);
	}
	50% {
		opacity: 0.7;
		transform: scale(1.05);
	}
}
@keyframes orbFloat1 {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(20px, 15px);
	}
}
@keyframes orbFloat2 {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-20px, -15px);
	}
}
@keyframes orbFloat3 {
	0%, 100% {
		transform: translate(-50%, -50%) scale(1);
	}
	50% {
		transform: translate(-50%, -50%) scale(1.08);
	}
}
@keyframes orbFloat4 {
	0%, 100% {
		transform: translate(0, 0);
		opacity: 0.4;
	}
	50% {
		transform: translate(-15px, 15px);
		opacity: 0.3;
	}
}
@keyframes mapleFloat1 {
	0%, 100% {
		transform: rotate(0deg) translateY(0);
		opacity: 0.03;
	}
	50% {
		transform: rotate(5deg) translateY(-10px);
		opacity: 0.05;
	}
}
@keyframes mapleFloat2 {
	0%, 100% {
		transform: rotate(0deg) translateX(0);
		opacity: 0.03;
	}
	50% {
		transform: rotate(-8deg) translateX(-8px);
		opacity: 0.04;
	}
}
@keyframes mapleFloat3 {
	0%, 100% {
		transform: rotate(0deg) scale(1);
		opacity: 0.03;
	}
	50% {
		transform: rotate(10deg) scale(1.05);
		opacity: 0.05;
	}
}
/* Responsive adjustments */
@media (max-width: 768px) {
	.hero-gradient {
		min-height: 100vh;
		min-height: 100dvh; /* Use dynamic viewport height for mobile */
	}
	
	.hero-gradient__content {
		padding-top: 2rem !important;
		padding-bottom: 1rem !important;
	}
	
	.hero-gradient__orb--1 {
		width: 300px;
		height: 300px;
	}
	
	.hero-gradient__orb--2 {
		width: 250px;
		height: 250px;
	}
	
	.hero-gradient__orb--3 {
		width: 200px;
		height: 200px;
	}
	
	.hero-gradient__maple {
		display: none;
	}
	
	.hero-gradient__heading {
		font-size: 1.5rem !important;
	}
}
/* Additional visual enhancements */
.hero-gradient__content {
	position: relative;
	z-index: 10;
	min-height: 0; /* Allow flexbox to shrink if needed */
}
/* Trust boxes container */
.hero-gradient__trust-boxes {
	flex-shrink: 0; /* Prevent boxes from shrinking */
}
/* Enhanced badge glow effect */
@keyframes badgeGlow {
	0%, 100% {
		box-shadow: 0 0 20px rgba(16, 185, 129, 0.3);
	}
	50% {
		box-shadow: 0 0 30px rgba(16, 185, 129, 0.5);
	}
}
/* Trust Indicators Boxes - Professional Design (Same Background as Hero) */
.hero-trust-box {
	position: relative;
	background: rgba(255, 255, 255, 0.05);
	transition: background-color 0.3s ease;
}
.hero-trust-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, rgba(245, 50, 76, 0.6), transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
}
.hero-trust-box:hover::before {
	opacity: 0;
}
.hero-trust-box:hover {
	background-color: transparent;
}
/* Mobile responsive adjustments */
@media (max-width: 640px) {
	.hero-trust-box {
		min-height: 150px;
		height: 120px !important;
	}
	
	.hero-trust-box span {
		line-height: 1.4;
		word-break: break-word;
	}
}
/* Responsive border adjustments for trust boxes */
@media (max-width: 640px) {
	.hero-trust-box {
		border-right: none !important;
		border-bottom: 1px solid #e5e7eb !important;
	}
	
	.hero-trust-box:last-child {
		border-bottom: none !important;
	}
}
@media (min-width: 641px) and (max-width: 1023px) {
	.hero-trust-box:nth-child(2n) {
		border-right: none !important;
	}
	
	.hero-trust-box:nth-child(n+3) {
		border-bottom: 1px solid #e5e7eb !important;
	}
	
	.hero-trust-box:nth-child(n+4) {
		border-bottom: none !important;
	}
}
@media (min-width: 1024px) {
	.hero-trust-box:last-child {
		border-right: none !important;
	}
}
/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
	.hero-gradient__layer,
	.hero-gradient__orb,
	.hero-gradient__maple {
		animation: none !important;
	}
}
/**
 * Assessment form – validation error state and success view.
 */
/* Assessment form buttons: remove focus ring, increase width */
.ca-assessment-form .assessment-next,
.ca-assessment-form .assessment-prev,
.ca-assessment-form .js-assessment-submit {
	padding-left: 2rem !important;
	padding-right: 2rem !important;
	min-width: 8rem;
}
/* Assessment form spinner - shows alongside button text */
.ca-assessment-form .assessment-form-spinner {
	display: inline-block;
	width: 1em;
	height: 1em;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: assessment-form-spin 0.6s linear infinite;
	margin-right: 0.5em;
	vertical-align: middle;
	flex-shrink: 0;
}
@keyframes assessment-form-spin {
	to { transform: rotate(360deg); }
}
.ca-assessment-form .btn-solid.btn-solid--primary:focus,
.ca-assessment-form .btn-solid.btn-solid--primary:focus-visible {
	outline: none !important;
	box-shadow: 0 4px 6px -1px rgba(244, 20, 49, 0.3), 0 2px 4px -2px rgba(244, 20, 49, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
.ca-assessment-form .btn-outline.btn-outline--primary:focus,
.ca-assessment-form .btn-outline.btn-outline--primary:focus-visible {
	outline: none !important;
	box-shadow: 0 2px 4px -1px rgba(244, 20, 49, 0.1) !important;
}
/* Field error state (overrides form controls when parent has .assessment-field-error) */
.ca-assessment-form .assessment-field-error input,
.ca-assessment-form .assessment-field-error select,
.ca-assessment-form .assessment-field-error textarea {
	border-color: #ef4444 !important;
}
.ca-assessment-form .assessment-field-error label,
.ca-assessment-form .assessment-field-error legend {
	color: #dc2626 !important;
}
.ca-assessment-form .assessment-field-error label.border {
	border-color: #ef4444 !important;
}
.ca-assessment-form .assessment-field-error > p {
	color: #dc2626 !important;
}
/* Success view: hide form content, center the success block */
.ca-assessment-form.assessment-form-success-view .assessment-form-content {
	display: none !important;
}
.ca-assessment-form.assessment-form-success-view {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 60vh;
	padding: 2rem 0;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2.5rem 1.5rem;
	margin: 0 auto;
	max-width: 28rem;
	border: 1px solid #bbf7d0;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-icon {
	width: 3rem;
	height: 3rem;
	margin: 0 auto 1.25rem;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
	font-weight: bold;
	flex-shrink: 0;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-inquiry {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #dcfce7;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-ref-label {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0 0 0.25rem 0;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-ref-number {
	font-size: 1.25rem;
	font-weight: 700;
	color: #166534;
	margin: 0;
	letter-spacing: 0.02em;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-message {
	font-size: 1rem;
	font-weight: 600;
	color: #1f2937;
	margin: 0 0 0.75rem 0;
	line-height: 1.5;
}
.ca-assessment-form.assessment-form-success-view .assessment-form-success .assessment-success-detail {
	font-size: 0.875rem;
	color: #6b7280;
	margin: 0;
	line-height: 1.55;
	max-width: 24rem;
}
/**
 * Contact form – validation error state and success view.
 */
/* Contact form buttons: remove focus ring, increase width */
.canada-contact-form .js-contact-submit-btn:focus,
.canada-contact-form .js-contact-submit-btn.js-contact-submit-active {
	outline: none;
	box-shadow: 0 0 0 4px rgba(244, 20, 49, 0.35);
}
/* Contact form spinner - shows alongside button text */
.canada-contact-form .contact-form-spinner {
	display: inline-block;
	width: 1em;
	height: 1em;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: contact-form-spin 0.6s linear infinite;
	margin-right: 0.5em;
	vertical-align: middle;
	flex-shrink: 0;
}
@keyframes contact-form-spin {
	to { transform: rotate(360deg); }
}
/* Field error state (overrides form controls when parent has .contact-field-error) */
.canada-contact-form .contact-field-error input,
.canada-contact-form .contact-field-error select,
.canada-contact-form .contact-field-error textarea {
	border-color: #ef4444 !important;
}
.canada-contact-form .contact-field-error label,
.canada-contact-form .contact-field-error legend {
	color: #dc2626 !important;
}
.canada-contact-form .contact-field-error label.border {
	border-color: #ef4444 !important;
}
.canada-contact-form .contact-field-error > p {
	color: #dc2626 !important;
}
/* Success view: hide form content, center the success block */
.canada-contact-form.contact-form-success-view .contact-form-content {
	display: none !important;
}
.canada-contact-form.contact-form-success-view {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 60vh;
	padding: 2rem 0;
}
.canada-contact-form.contact-form-success-view .contact-form-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2.5rem 1.5rem;
	margin: 0 auto;
	max-width: 28rem;
	border: 1px solid #bbf7d0;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-icon {
	width: 3rem;
	height: 3rem;
	margin: 0 auto 1.25rem;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
	font-weight: bold;
	flex-shrink: 0;
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-inquiry {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #dcfce7;
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-ref-label {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0 0 0.25rem 0;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-ref-number {
	font-size: 1.25rem;
	font-weight: 700;
	color: #166534;
	margin: 0;
	letter-spacing: 0.02em;
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-message {
	font-size: 1rem;
	font-weight: 600;
	color: #1f2937;
	margin: 0 0 0.75rem 0;
	line-height: 1.5;
}
.canada-contact-form.contact-form-success-view .contact-form-success .contact-success-detail {
	font-size: 0.875rem;
	color: #6b7280;
	margin: 0;
	line-height: 1.55;
	max-width: 24rem;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
/* SVG Sprite Styles */
.icon {
	display: inline-block;
	fill: currentColor;
	/* width: 1em; */
	/* height: 1em; */
	vertical-align: middle;
}
/* Hide the sprite SVG container */
svg.hidden {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}
html {
	font-size: 18px;
  scroll-behavior: smooth;
}
body {
	overflow-x: hidden;
	max-width: 100%;
  font-weight: 500;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: 700;
	/* letter-spacing: -0.02em; */
	line-height: 1.5;
}
/* H1 - Tighter line-height, responsive sizing */
h1, .h1 {
	font-size: 1.75rem;
	line-height: 1.1;
}
h2, .h2 {
	font-size: 1.75rem;
}
h3, .h3 {
	font-size: 1.35rem;
}
h4, .h4 {
	font-size: 1.125rem;
}
h5, .h5 {
	font-size: 1.125rem;
}
h6, .h6 {
	font-size: 1.125rem;
}
/* Responsive heading sizes - Tablet and up */
@media (min-width: 768px) {
	h1, .h1 {
		font-size: 2.63rem;
	}
	h2, .h2 {
		font-size: 2.2rem;
	}
	h3, .h3 {
		font-size: 1.5rem;
	}
	h4, .h4 {
		font-size: 1.25rem;
	}
	h5, .h5 {
		font-size: 1.125rem;
	}
	h6, .h6 {
		font-size: 1rem;
	}
}
@media (min-width: 1280px) {
	html {
		font-size: 18px; /* Large devices / Desktop */
	}
}
/* Header Custom Styles - Colors now use Tailwind classes directly in HTML */
.logo-circle {
  border: 2px solid white;
}
/* Custom logo styling for equal spacing */
.custom-logo-wrapper {
  padding: 0.5rem 0; /* Equal top and bottom padding */
}
.custom-logo-wrapper .custom-logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
}
.custom-logo-wrapper img.custom-logo {
  max-height: 128px; /* Match default logo size */
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
/* Compact logo sizing for mobile header/sticky bar */
.custom-logo-wrapper--mobile {
  padding: 0;
}
.custom-logo-wrapper--mobile .custom-logo-link {
  justify-content: flex-start;
}
.custom-logo-wrapper--mobile img.custom-logo {
  max-height: 44px;
}
/* Note: Mobile header bar and mobile navigation styles are handled in mega-menu.css */
.logo-content svg {
  width: 60px;
  height: 60px;
}
/* Menu Dividers and Spacing */
.main-navigation-static ul li,
.utility-nav ul li {
  border-right-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  margin-right: 0;
}
.main-navigation-static ul li:last-child,
.utility-nav ul li:last-child {
  border-right: none;
}
/* Utility menu full height */
.utility-nav {
  min-height: 40px; /* Match design height */
}
.utility-nav ul {
  height: 100%;
  min-height: 40px;
}
.utility-nav ul li {
  display: flex;
  height: 100%;
  min-height: 40px;
}
.utility-nav ul li a {
  min-height: 40px;
}
/* Hover effect for both main navigation and utility menu */
.main-navigation-static ul li a,
.utility-nav ul li a {
  color: white !important;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background-color: transparent; /* Same as menu bar background */
  transition: color 0.2s ease, background-color 0.2s ease;
}
.main-navigation-static ul li a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f41431; /* Using Tailwind theme() function */
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center; /* Expand from center (both sides) */
  transition: transform 0.6s cubic-bezier(0.08, 0.35, 0.13, 1.02), opacity 0.6s cubic-bezier(0.08, 0.35, 0.13, 1.02);
  z-index: 0;
}
/* Utility menu - subtle hover effect only (no background change) */
.utility-nav ul li a::before {
  display: none; /* Remove background hover effect for utility menu */
}
.main-navigation-static ul li:hover a::before {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}
.main-navigation-static ul li a:hover,
.utility-nav ul li a:hover {
  color: rgba(255, 255, 255, 0.9) !important; /* Very subtle text color change on hover */
  background-color: rgba(255, 255, 255, 0.05) !important; /* Very subtle background tint */
}
/* Ensure text and icons stay above the hover background */
.main-navigation-static ul li a span,
.main-navigation-static ul li a svg {
  position: relative;
  z-index: 10;
}
/* Utility menu text needs to be above hover background */
.utility-nav ul li a {
  position: relative;
  z-index: 10;
}
.utility-nav ul li a span {
  position: relative;
  z-index: 10;
  color: white !important;
}
/* Ensure dropdown icons are inline */
.main-navigation-static ul li a svg {
  display: inline-block;
  vertical-align: middle;
}
/* Button styles are now handled by the button component */
@media (max-width: 768px) {
  /* Mobile Navigation */
  .main-navigation-static .hidden.md\:flex {
    display: none !important;
  }

  /* Sticky nav on mobile */
  #sticky-nav.nav-is-fixed {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
  
  /* Note: Mobile header bar, mobile navigation, and mobile menu toggle button styles are handled in mega-menu.css */

  /* Logo sizing on mobile */
  .custom-logo-wrapper img.custom-logo {
    max-height: 70px;
    width: auto;
  }

  /* Utility menu hidden on mobile */
  .utility-nav {
    display: none;
  }

  /* Mobile header social icons */
  /* .site-header .flex.items-center.flex-wrap {
    justify-content: flex-start;
  }

  .site-header .flex.items-center.flex-wrap a {
    flex-shrink: 0;
  } */

  /* Mobile contact info truncation */
  /* .site-header a span.truncate {
    max-width: 200px;
  } */
}
/* Mobile Header Specific Styles */
@media (max-width: 480px) {
  .custom-logo-wrapper img.custom-logo {
    max-height: 60px;
  }

  /* .site-header a span.truncate {
    max-width: 150px;
  } */
}
/* CTA Section - Ensure proper vertical alignment */
/* .cta-section .cta-headline {
  line-height: 1.3;
} */
/* FAQ Accordion Styles
.faq-item {
  transition: all 0.3s ease;
}

.faq-question.active {
  background-color: #f1f5f9;
}

.faq-answer {
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.faq-answer:not(.hidden) {
  display: block;
  animation: fadeIn 0.3s ease;
} 

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
*/
/* Hero Banner Styles */
/* .hero-banner {
  position: relative;
}

.hero-banner img {
  object-fit: cover;
  width: 100%;
  height: 100%;
} */
/* Ensure red section is visible and properly positioned */
/* .hero-banner .container {
  height: 100%;
}

.hero-banner [style*="background-color"] {
  background-color: #f41431 !important;
  min-height: 100%;
} */
/* Sticky Header Styles */
#sticky-nav {
  transition: box-shadow 0.3s ease-out, transform 0.3s ease-out;
}
#sticky-nav.nav-is-fixed {
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.4);
  animation: slideDown 0.3s ease-out;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* ==========================================================================
   Blog & Article Styles
   ========================================================================== */
/* 
 * Article content inherits heading sizes from @layer base (h1-h6)
 * Only spacing and article-specific styles are defined here
 * Change heading sizes once in @layer base and it applies everywhere!
 */
/* Article Content Container */
/* .article-content,
.acf-text-content,
.text-content {
  @apply text-gray-700;
  line-height: 1.75;
} */
/* Headings - Only spacing, sizes come from @layer base */
/* .article-content h1,
.article-content h2,
.acf-text-content h1,
.acf-text-content h2,
.text-content h1,
.text-content h2{
  @apply text-2xl leading-loose font-semibold text-gray-900;
}

.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6,
.acf-text-content h3,
.acf-text-content h4,
.acf-text-content h5,
.acf-text-content h6,
.text-content h3,
.text-content h4,
.text-content h5,
.text-content h6 {
  @apply text-xl leading-normal font-semibold mb-4 text-gray-900;
} */
/* First heading shouldn't have top margin */
.article-content > h1:first-child,
.article-content > h2:first-child,
.article-content > h3:first-child,
.article-content > h4:first-child,
.acf-text-content > h1:first-child,
.acf-text-content > h2:first-child,
.acf-text-content > h3:first-child,
.acf-text-content > h4:first-child,
.text-content > h1:first-child,
.text-content > h2:first-child,
.text-content > h3:first-child,
.text-content > h4:first-child {
  margin-top: 0;
}
/* Paragraphs */
/* .article-content p,
.acf-text-content p,
.text-content p,
.faq-section {
  @apply text-lg;
} */
.article-content p:last-child,
.acf-text-content p:last-child,
.text-content p:last-child {
  margin-bottom: 0;
}
/* Strong/Bold text */
.article-content strong,
.article-content b,
.acf-text-content strong,
.acf-text-content b,
.text-content strong,
.text-content b {
  font-size: 20px;
  line-height: 2;
  font-weight: 700;
}
/* Links */
.article-content a,
.acf-text-content a,
.text-content a,
.styled-table-section a {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
  text-decoration-color: #f797a3;
  text-underline-offset: 2px;
  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;
}
.article-content a:hover,
.acf-text-content a:hover,
.text-content a:hover,
.styled-table-section a:hover {
  --tw-text-opacity: 1;
  color: rgb(207 18 43 / var(--tw-text-opacity, 1));
  text-decoration-color: #f55065;
}
/* Lists */
/* .article-content ul,
.article-content ol,
.acf-text-content ul,
.acf-text-content ol,
.text-content ul,
.text-content ol {
  @apply pl-6 mb-6 text-lg;
  line-height: 1.75;
} */
.article-content ul,
.acf-text-content ul,
.text-content ul {
  list-style-type: disc;
  padding-left: 1.25rem;
}
.article-content ol,
.acf-text-content ol,
.text-content ol {
  margin-top: 1.25rem;
  list-style-type: decimal;
  padding-left: 1.25rem;
}
.article-content li,
.acf-text-content li,
.text-content li {
  margin-bottom: 0.5rem;
  line-height: 2;
  padding-left: 0.25rem;
}
/* Remove margin-top from nested ul/ol that are direct children of li to prevent double spacing */
.article-content li > ul,
.article-content li > ol,
.acf-text-content li > ul,
.acf-text-content li > ol,
.text-content li > ul,
.text-content li > ol {
  margin-top: 0.5rem;
}
/* Nested lists */
.article-content ul ul,
.article-content ol ol,
.article-content ul ol,
.article-content ol ul {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.article-content ul li p,
.article-content ol li p {
  margin-bottom: 0px;
}
/* Blockquote */
.article-content blockquote,
.acf-text-content blockquote,
.text-content blockquote {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-color: rgb(245 50 76 / var(--tw-border-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  font-size: 20px;
  line-height: 2;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
  background: linear-gradient(to right, rgba(244, 20, 49, 0.05), transparent);
}
.article-content blockquote p:last-child,
.acf-text-content blockquote p:last-child,
.text-content blockquote p:last-child {
  margin-bottom: 0;
}
.article-content figure,
.acf-text-content figure,
.text-content figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.article-content figcaption,
.acf-text-content figcaption,
.text-content figcaption {
  margin-top: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
/* Code */
.article-content pre,
.acf-text-content pre,
.text-content pre {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.article-content code,
.acf-text-content code,
.text-content code {
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(207 18 43 / var(--tw-text-opacity, 1));
}
.article-content pre code,
.acf-text-content pre code,
.text-content pre code {
  background-color: transparent;
  padding: 0px;
  color: inherit;
}
/* Tables */
.article-content table,
.acf-text-content table,
.text-content table {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 100%;
  border-collapse: collapse;
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.75;
}
.article-content th,
.article-content td,
.acf-text-content th,
.acf-text-content td,
.text-content th,
.text-content td {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  font-size: 18px;
  line-height: 1.75;
}
.ca-assessment-form .assessment-field-error label.article-content th,.ca-assessment-form .assessment-field-error label
.article-content td,.ca-assessment-form .assessment-field-error label
.acf-text-content th,.ca-assessment-form .assessment-field-error label
.acf-text-content td,.ca-assessment-form .assessment-field-error label
.text-content th,.ca-assessment-form .assessment-field-error label
.text-content td {
	border-color: #ef4444;
}
.canada-contact-form .contact-field-error label.article-content th,.canada-contact-form .contact-field-error label
.article-content td,.canada-contact-form .contact-field-error label
.acf-text-content th,.canada-contact-form .contact-field-error label
.acf-text-content td,.canada-contact-form .contact-field-error label
.text-content th,.canada-contact-form .contact-field-error label
.text-content td {
	border-color: #ef4444;
}
.article-content th,
.acf-text-content th,
.text-content th {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  font-size: 18px;
  line-height: 1.75;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.article-content tr:nth-child(even),
.acf-text-content tr:nth-child(even),
.text-content tr:nth-child(even) {
  background-color: rgb(249 250 251 / 0.5);
}
/* Horizontal Rule */
.article-content hr,
.acf-text-content hr,
.text-content hr {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
/* Line Clamp Utilities */
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Category Filter Active State Animation */
.category-filter a {
  position: relative;
}
.category-filter a[aria-current="page"]::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 3px;
  background-color: currentColor;
  border-radius: 999px;
  opacity: 0.5;
}
/* Post Card Hover Effects */
.post-card {
  transform: translateY(0);
}
.post-card:hover {
  transform: translateY(-4px);
}
/* Social Share Button Hover Effects */
.social-share-component a,
.social-share-component button {
  transform: scale(1);
}
.social-share-component a:hover,
.social-share-component button:hover {
  transform: scale(1.1);
}
/* Comment Form Focus States */
.comment-respond input:focus,
.comment-respond textarea:focus {
  outline: none;
}
/* Related Posts Section Background */
.related-posts-section {
  position: relative;
}
.related-posts-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  z-index: -1;
}
/* Blog Hero Pattern Animation */
.blog-hero {
  position: relative;
}
@keyframes patternFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.blog-hero > div:first-child {
  animation: patternFloat 20s ease-in-out infinite;
}
/* Smooth scroll for anchor links */
html {
  scroll-behavior: smooth;
}
/* Focus visible styles for accessibility */
a:focus-visible,
button:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
  outline-color: #f5324c;
}
.underline--left, .underline--right, .underline--center {
  position: relative;
  margin-bottom: 1.25rem;
}
.underline--left::after,
.underline--right::after,
.underline--center::after {
    content: '';
    position: absolute;
    height: 0.25rem;
    width: 7rem;
    --tw-bg-opacity: 1;
    background-color: rgb(245 50 76 / var(--tw-bg-opacity, 1));
    bottom: -9px;
}
.underline--left::after {
  left: 0px;
}
.underline--right::after {
  right: 0px;
}
.underline--center::after {
  left: 50%;
  --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));
}
/* ==========================================================================
   Blog Hero Gradient (Single Post Header)
   ========================================================================== */
/* Blog Hero Gradient Base */
.blog-hero-gradient {
	background: linear-gradient(135deg, #0c1929 0%, #122a4a 50%, #0f2240 100%);
}
/* Animated Gradient Layers - Dark blue dominant with subtle red accent */
.blog-hero-gradient__layer {
	position: absolute;
	inset: 0;
	opacity: 1;
}
.blog-hero-gradient__layer--1 {
	background: linear-gradient(
		125deg,
		#0c1929 0%,
		#122a4a 15%,
		#0f2240 30%,
		#122a4a 42%,
		#5c1515 50%,
		#122a4a 58%,
		#0f2240 70%,
		#122a4a 85%,
		#0c1929 100%
	);
	background-size: 400% 400%;
	animation: blogHeroGradient1 40s ease infinite;
}
.blog-hero-gradient__layer--2 {
	background: linear-gradient(
		-45deg,
		rgba(12, 25, 41, 0.5) 0%,
		rgba(18, 42, 74, 0.4) 25%,
		transparent 50%,
		rgba(18, 42, 74, 0.4) 75%,
		rgba(12, 25, 41, 0.5) 100%
	);
	background-size: 300% 300%;
	animation: blogHeroGradient2 35s ease-in-out infinite;
	mix-blend-mode: overlay;
}
.blog-hero-gradient__layer--3 {
	background: radial-gradient(
		ellipse at 20% 80%,
		rgba(18, 42, 74, 0.5) 0%,
		transparent 50%
	),
	radial-gradient(
		ellipse at 80% 20%,
		rgba(15, 34, 64, 0.5) 0%,
		transparent 50%
	);
	animation: blogHeroGradient3 50s ease-in-out infinite;
}
/* Floating Orbs - Dark blue dominant */
.blog-hero-gradient__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.6;
}
.blog-hero-gradient__orb--1 {
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(18, 42, 74, 0.7) 0%, transparent 70%);
	top: -150px;
	left: -150px;
	animation: blogOrbFloat1 50s ease-in-out infinite;
}
.blog-hero-gradient__orb--2 {
	width: 350px;
	height: 350px;
	background: radial-gradient(circle, rgba(15, 34, 64, 0.6) 0%, transparent 70%);
	bottom: -100px;
	right: -100px;
	animation: blogOrbFloat2 45s ease-in-out infinite;
}
/* Pattern Overlay */
.blog-hero-gradient__pattern {
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
/* Animations - Slow and subtle to not distract users */
@keyframes blogHeroGradient1 {
	0%, 100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}
@keyframes blogHeroGradient2 {
	0%, 100% {
		background-position: 0% 0%;
	}
	50% {
		background-position: 100% 100%;
	}
}
@keyframes blogHeroGradient3 {
	0%, 100% {
		opacity: 0.5;
		transform: scale(1);
	}
	50% {
		opacity: 0.7;
		transform: scale(1.03);
	}
}
@keyframes blogOrbFloat1 {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(15px, 10px);
	}
}
@keyframes blogOrbFloat2 {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-15px, -10px);
	}
}
/* Responsive adjustments */
@media (max-width: 768px) {
	.blog-hero-gradient__orb--1 {
		width: 200px;
		height: 200px;
	}
	
	.blog-hero-gradient__orb--2 {
		width: 180px;
		height: 180px;
	}
}
/* Static variant - Animation disabled via PHP control */
.blog-hero-gradient--static .blog-hero-gradient__layer,
.blog-hero-gradient--static .blog-hero-gradient__orb {
	animation: none !important;
}
.blog-hero-gradient--static .blog-hero-gradient__layer--1 {
	background-position: 50% 50%;
}
.blog-hero-gradient--static .blog-hero-gradient__layer--2 {
	background-position: 50% 50%;
}
.blog-hero-gradient--static .blog-hero-gradient__layer--3 {
	opacity: 0.6;
	transform: scale(1);
}
/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
	.blog-hero-gradient__layer,
	.blog-hero-gradient__orb {
		animation: none;
	}
}
/* ==========================================================================
   Footer Styles
   ========================================================================== */
/* Footer Columns Widget Styling */
#footer-1 .widget-title,
#footer-2 .widget-title,
#footer-3 .widget-title {
  margin-bottom: 1rem;
  font-size: 20px;
  line-height: 2;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
#footer-1 .widget,
#footer-2 .widget,
#footer-3 .widget {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
	color: white;
}
#footer-1 .widget p,
#footer-2 .widget p,
#footer-3 .widget p {
  margin-bottom: 0.5rem;
}
#footer-1 .widget *,
#footer-2 .widget *,
#footer-3 .widget * {
	color: white;
}
#footer-1 .widget a,
#footer-2 .widget a,
#footer-3 .widget a {
  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;
}
#footer-1 .widget a:hover,
#footer-2 .widget a:hover,
#footer-3 .widget a:hover {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
#footer-1 .widget a,
#footer-2 .widget a,
#footer-3 .widget a {
	color: white;
}
/* Footer Navigation Menu Widget Styles - Works in any footer widget area */
.site-footer .widget_nav_menu ul {
  margin: 0px;
  list-style-type: none;
  padding: 0px;
}
.site-footer .widget_nav_menu ul li {
  display: block;
}
.site-footer .widget_nav_menu ul li a {
  display: block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  --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: 150ms;
}
.site-footer .widget_nav_menu ul li a:hover {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
/* ==========================================================================
   Icon Wall Component Styles
   ========================================================================== */
.icon-wall__card {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(0, 0, 0, 0.05);
	backdrop-filter: blur(10px);
}
.icon-wall__card:hover {
  --tw-translate-y: -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));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	background: rgba(255, 255, 255, 0.9);
	border-color: rgba(244, 20, 49, 0.2);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.icon-wall__icon {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
	color: #1e242d;
	/* filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); */
}
.icon-wall__card:hover .icon-wall__icon {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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));
	color: #f41431;
	/* filter: drop-shadow(0 4px 8px rgba(244, 20, 49, 0.2)); */
}
.icon-wall__title {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
	color: inherit;
	transition: color 0.3s ease;
}
.icon-wall__card:hover .icon-wall__title {
	color: #f41431;
}
.icon-wall__icon-wrapper {
  overflow: hidden;
}
/* Hide verified by row in TrustIndex widget */
.ti-widget.ti-goog .ti-verified-by-row {
  visibility: hidden;
}
.ti-widget.ti-goog .ti-widget-container {
  margin-bottom: 0 !important;
}
/* ==========================================================================
   Form Select Search (searchable dropdown)
   ========================================================================== */
.form-select-search {
	position: relative;
}
.form-select-search__dropdown {
	min-width: 100%;
}
.form-select-search__dropdown:not(.hidden) {
	display: block;
}
.form-select-search__list::-webkit-scrollbar {
	width: 8px;
}
.form-select-search__list::-webkit-scrollbar-track {
	background: #f3f4f6;
}
.form-select-search__list::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 4px;
}
.form-select-search__list::-webkit-scrollbar-thumb:hover {
	background: #9ca3af;
}
.form-select-search.is-open .form-select-search__trigger {
	border-color: var(--color-primary-500, #f41431);
	outline: none;
	ring: 1px;
}
.form-select-search.has-error .form-select-search__trigger,
.form-select-search.has-error .form-select-search__dropdown {
	border-color: #ef4444;
}
.last\:border-r-0:last-child {
  border-right-width: 0px;
}
.hover\:-translate-y-1:hover {
  --tw-translate-y: -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));
}
.hover\:-translate-y-2:hover {
  --tw-translate-y: -0.5rem;
  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));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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));
}
.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.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));
}
.hover\:border-\[\#0A66C2\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(10 102 194 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#1877F2\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(24 119 242 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#25D366\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(37 211 102 / var(--tw-border-opacity, 1));
}
.hover\:border-black:hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-700:hover {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.hover\:border-primary-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(247 151 163 / var(--tw-border-opacity, 1));
}
.hover\:border-primary-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(242 119 136 / var(--tw-border-opacity, 1));
}
.hover\:border-primary-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(244 20 49 / var(--tw-border-opacity, 1));
}
.hover\:bg-\[\#0A66C2\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(10 102 194 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#1877F2\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(24 119 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#25D366\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 211 102 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50\/80:hover {
  background-color: rgb(249 250 251 / 0.8);
}
.hover\:bg-gray-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(251 213 218 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 233 236 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-500\/30:hover {
  background-color: rgb(245 50 76 / 0.3);
}
.hover\:bg-primary-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(244 20 49 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(207 18 43 / var(--tw-bg-opacity, 1));
}
.hover\:bg-secondary-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(18 23 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-transparent:hover {
  background-color: transparent;
}
.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-opacity-50:hover {
  --tw-bg-opacity: 0.5;
}
.hover\:from-white\/20:hover {
  --tw-gradient-from: rgb(255 255 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:to-white\/15:hover {
  --tw-gradient-to: rgb(255 255 255 / 0.15) var(--tw-gradient-to-position);
}
.hover\:text-blue-400:hover {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-300:hover {
  --tw-text-opacity: 1;
  color: rgb(242 119 136 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-500:hover {
  --tw-text-opacity: 1;
  color: rgb(245 50 76 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-600:hover {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-700:hover {
  --tw-text-opacity: 1;
  color: rgb(207 18 43 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --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);
}
.hover\:shadow-md:hover {
  --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);
}
.hover\:shadow-xl:hover {
  --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);
}
.focus\:border-primary-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(245 50 76 / var(--tw-border-opacity, 1));
}
.focus\:border-primary-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(244 20 49 / var(--tw-border-opacity, 1));
}
.focus\:border-transparent:focus {
  border-color: transparent;
}
.focus\:bg-gray-100:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.focus\:shadow-none:focus {
  --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);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-0:focus {
  --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);
}
.focus\:ring-1:focus {
  --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);
}
.focus\:ring-2:focus {
  --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\:ring-4:focus {
  --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(4px + 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\:ring-gray-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(247 151 163 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 80 101 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 50 76 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary-500\/20:focus {
  --tw-ring-color: rgb(245 50 76 / 0.2);
}
.focus\:ring-secondary-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(93 112 138 / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.group\/link:hover .group-hover\/link\: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\:-translate-x-0\.5 {
  --tw-translate-x: -0.125rem;
  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\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  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\: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\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.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));
}
.group:hover .group-hover\:bg-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 233 236 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-primary-500\/10 {
  background-color: rgb(245 50 76 / 0.1);
}
.group:hover .group-hover\:text-primary-600 {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:bottom-2 {
  bottom: 0.5rem;
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:bottom-2 {
  bottom: 0.5rem;
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:start-0 {
  inset-inline-start: 0px;
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:start-0 {
  inset-inline-start: 0px;
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:start-6 {
  inset-inline-start: 1.5rem;
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:start-6 {
  inset-inline-start: 1.5rem;
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:translate-y-0 {
  --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));
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:translate-y-0 {
  --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));
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 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));
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 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));
}
.peer:focus ~ .peer-focus\:start-0 {
  inset-inline-start: 0px;
}
.peer:focus ~ .peer-focus\:-translate-y-6 {
  --tw-translate-y: -1.5rem;
  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));
}
.peer:focus ~ .peer-focus\:scale-75 {
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  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));
}
.peer:focus ~ .peer-focus\:text-primary-600 {
  --tw-text-opacity: 1;
  color: rgb(244 20 49 / var(--tw-text-opacity, 1));
}
.peer:not(:-moz-placeholder) ~ .peer-\[\&\:not\(\:-moz-placeholder\)\]\:start-0 {
  inset-inline-start: 0px;
}
.peer:not(:placeholder-shown) ~ .peer-\[\&\:not\(\:placeholder-shown\)\]\:start-0 {
  inset-inline-start: 0px;
}
.peer:not(:-moz-placeholder) ~ .peer-\[\&\:not\(\:-moz-placeholder\)\]\:-translate-y-6 {
  --tw-translate-y: -1.5rem;
  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));
}
.peer:not(:placeholder-shown) ~ .peer-\[\&\:not\(\:placeholder-shown\)\]\:-translate-y-6 {
  --tw-translate-y: -1.5rem;
  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));
}
.peer:not(:-moz-placeholder) ~ .peer-\[\&\:not\(\:-moz-placeholder\)\]\:scale-75 {
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  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));
}
.peer:not(:placeholder-shown) ~ .peer-\[\&\:not\(\:placeholder-shown\)\]\:scale-75 {
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  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: 640px) {
  .sm\:order-1 {
    order: 1;
  }
  .sm\:order-2 {
    order: 2;
  }
  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }
  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }
  .sm\:mb-8 {
    margin-bottom: 2rem;
  }
  .sm\:mt-8 {
    margin-top: 2rem;
  }
  .sm\:block {
    display: block;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:hidden {
    display: none;
  }
  .sm\:h-5 {
    height: 1.25rem;
  }
  .sm\:h-\[140px\] {
    height: 140px;
  }
  .sm\:min-h-\[100px\] {
    min-height: 100px;
  }
  .sm\:w-48 {
    width: 12rem;
  }
  .sm\:w-5 {
    width: 1.25rem;
  }
  .sm\:max-w-none {
    max-width: none;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:gap-2 {
    gap: 0.5rem;
  }
  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }
  .sm\:gap-4 {
    gap: 1rem;
  }
  .sm\:gap-6 {
    gap: 1.5rem;
  }
  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .sm\:py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .sm\:pt-8 {
    padding-top: 2rem;
  }
  .sm\:text-left {
    text-align: left;
  }
  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }
  .md\:sticky {
    position: sticky;
  }
  .md\:bottom-0 {
    bottom: 0px;
  }
  .md\:left-6 {
    left: 1.5rem;
  }
  .md\:top-0 {
    top: 0px;
  }
  .md\:order-1 {
    order: 1;
  }
  .md\:order-2 {
    order: 2;
  }
  .md\:-mx-8 {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .md\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  .md\:my-16 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .md\:my-24 {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
  .md\:mb-10 {
    margin-bottom: 2.5rem;
  }
  .md\:mb-12 {
    margin-bottom: 3rem;
  }
  .md\:mb-14 {
    margin-bottom: 3.5rem;
  }
  .md\:mb-16 {
    margin-bottom: 4rem;
  }
  .md\:mb-24 {
    margin-bottom: 6rem;
  }
  .md\:mb-3 {
    margin-bottom: 0.75rem;
  }
  .md\:mb-4 {
    margin-bottom: 1rem;
  }
  .md\:mb-6 {
    margin-bottom: 1.5rem;
  }
  .md\:mb-8 {
    margin-bottom: 2rem;
  }
  .md\:ml-10 {
    margin-left: 2.5rem;
  }
  .md\:mt-12 {
    margin-top: 3rem;
  }
  .md\:mt-16 {
    margin-top: 4rem;
  }
  .md\:mt-24 {
    margin-top: 6rem;
  }
  .md\:mt-6 {
    margin-top: 1.5rem;
  }
  .md\:mt-8 {
    margin-top: 2rem;
  }
  .md\:line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .md\:block {
    display: block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:inline-flex {
    display: inline-flex;
  }
  .md\:hidden {
    display: none;
  }
  .md\:h-10 {
    height: 2.5rem;
  }
  .md\:h-11 {
    height: 2.75rem;
  }
  .md\:h-12 {
    height: 3rem;
  }
  .md\:h-16 {
    height: 4rem;
  }
  .md\:h-24 {
    height: 6rem;
  }
  .md\:h-28 {
    height: 7rem;
  }
  .md\:h-5 {
    height: 1.25rem;
  }
  .md\:h-52 {
    height: 13rem;
  }
  .md\:h-56 {
    height: 14rem;
  }
  .md\:h-64 {
    height: 16rem;
  }
  .md\:h-\[160px\] {
    height: 160px;
  }
  .md\:h-full {
    height: 100%;
  }
  .md\:h-screen {
    height: 100vh;
  }
  .md\:min-h-0 {
    min-height: 0px;
  }
  .md\:min-h-\[200px\] {
    min-height: 200px;
  }
  .md\:min-h-\[420px\] {
    min-height: 420px;
  }
  .md\:min-h-\[450px\] {
    min-height: 450px;
  }
  .md\:w-1\/2 {
    width: 50%;
  }
  .md\:w-1\/3 {
    width: 33.333333%;
  }
  .md\:w-1\/4 {
    width: 25%;
  }
  .md\:w-10 {
    width: 2.5rem;
  }
  .md\:w-11 {
    width: 2.75rem;
  }
  .md\:w-12 {
    width: 3rem;
  }
  .md\:w-16 {
    width: 4rem;
  }
  .md\:w-2\/3 {
    width: 66.666667%;
  }
  .md\:w-2\/5 {
    width: 40%;
  }
  .md\:w-24 {
    width: 6rem;
  }
  .md\:w-28 {
    width: 7rem;
  }
  .md\:w-3\/4 {
    width: 75%;
  }
  .md\:w-3\/5 {
    width: 60%;
  }
  .md\:w-40 {
    width: 10rem;
  }
  .md\:w-48 {
    width: 12rem;
  }
  .md\:w-5 {
    width: 1.25rem;
  }
  .md\:w-64 {
    width: 16rem;
  }
  .md\:max-w-none {
    max-width: none;
  }
  .md\:basis-\[calc\(33\.33\%-0\.34rem\)\] {
    flex-basis: calc(33.33% - 0.34rem);
  }
  .md\:basis-\[calc\(33\.33\%-0\.5rem\)\] {
    flex-basis: calc(33.33% - 0.5rem);
  }
  .md\:columns-2 {
    -moz-columns: 2;
         columns: 2;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-\[1fr_2fr\] {
    grid-template-columns: 1fr 2fr;
  }
  .md\:grid-cols-\[2fr_1fr\] {
    grid-template-columns: 2fr 1fr;
  }
  .md\:grid-cols-\[2fr_3fr\] {
    grid-template-columns: 2fr 3fr;
  }
  .md\:grid-cols-\[3fr_2fr\] {
    grid-template-columns: 3fr 2fr;
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .md\:flex-wrap {
    flex-wrap: wrap;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:gap-10 {
    gap: 2.5rem;
  }
  .md\:gap-12 {
    gap: 3rem;
  }
  .md\:gap-3 {
    gap: 0.75rem;
  }
  .md\:gap-4 {
    gap: 1rem;
  }
  .md\:gap-6 {
    gap: 1.5rem;
  }
  .md\:gap-8 {
    gap: 2rem;
  }
  .md\:space-y-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
  }
  .md\:rounded-none {
    border-radius: 0px;
  }
  .md\:p-0 {
    padding: 0px;
  }
  .md\:p-4 {
    padding: 1rem;
  }
  .md\:p-5 {
    padding: 1.25rem;
  }
  .md\:p-6 {
    padding: 1.5rem;
  }
  .md\:p-8 {
    padding: 2rem;
  }
  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .md\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .md\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .md\:py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .md\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .md\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .md\:pb-12 {
    padding-bottom: 3rem;
  }
  .md\:pb-16 {
    padding-bottom: 4rem;
  }
  .md\:pb-20 {
    padding-bottom: 5rem;
  }
  .md\:pb-24 {
    padding-bottom: 6rem;
  }
  .md\:pb-6 {
    padding-bottom: 1.5rem;
  }
  .md\:pb-8 {
    padding-bottom: 2rem;
  }
  .md\:pt-12 {
    padding-top: 3rem;
  }
  .md\:pt-16 {
    padding-top: 4rem;
  }
  .md\:pt-20 {
    padding-top: 5rem;
  }
  .md\:pt-24 {
    padding-top: 6rem;
  }
  .md\:pt-4 {
    padding-top: 1rem;
  }
  .md\:pt-6 {
    padding-top: 1.5rem;
  }
  .md\:pt-8 {
    padding-top: 2rem;
  }
  .md\:text-right {
    text-align: right;
  }
  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .md\:text-base {
    font-size: 18px;
    line-height: 1.75;
  }
  .md\:text-lg {
    font-size: 20px;
    line-height: 2;
  }
  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .md\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 1024px) {
  .lg\:left-8 {
    left: 2rem;
  }
  .lg\:-mx-12 {
    margin-left: -3rem;
    margin-right: -3rem;
  }
  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  .lg\:block {
    display: block;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:h-10 {
    height: 2.5rem;
  }
  .lg\:h-48 {
    height: 12rem;
  }
  .lg\:h-64 {
    height: 16rem;
  }
  .lg\:h-72 {
    height: 18rem;
  }
  .lg\:min-h-\[450px\] {
    min-height: 450px;
  }
  .lg\:w-1\/3 {
    width: 33.333333%;
  }
  .lg\:w-10 {
    width: 2.5rem;
  }
  .lg\:w-60 {
    width: 15rem;
  }
  .lg\:w-auto {
    width: auto;
  }
  .lg\:max-w-none {
    max-width: none;
  }
  .lg\:basis-\[calc\(16\.66\%-0\.42rem\)\] {
    flex-basis: calc(16.66% - 0.42rem);
  }
  .lg\:basis-\[calc\(20\%-0\.4rem\)\] {
    flex-basis: calc(20% - 0.4rem);
  }
  .lg\:basis-\[calc\(25\%-0\.38rem\)\] {
    flex-basis: calc(25% - 0.38rem);
  }
  .lg\:columns-3 {
    -moz-columns: 3;
         columns: 3;
  }
  .lg\:columns-4 {
    -moz-columns: 4;
         columns: 4;
  }
  .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-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:flex-row {
    flex-direction: row;
  }
  .lg\:items-center {
    align-items: center;
  }
  .lg\:gap-10 {
    gap: 2.5rem;
  }
  .lg\:gap-12 {
    gap: 3rem;
  }
  .lg\:gap-8 {
    gap: 2rem;
  }
  .lg\:space-x-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .lg\:border-r {
    border-right-width: 1px;
  }
  .lg\:p-4 {
    padding: 1rem;
  }
  .lg\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .lg\:text-left {
    text-align: left;
  }
  .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-lg {
    font-size: 20px;
    line-height: 2;
  }
}
@media (min-width: 1280px) {
  .xl\:left-12 {
    left: 3rem;
  }
  .xl\:block {
    display: block;
  }
  .xl\:w-\[35\%\] {
    width: 35%;
  }
  .xl\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .xl\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}