/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/

/* Neue Kaine — the client's own variable face, served from this site.
   Declared exactly as proesthetique.ca declares it (no font-weight
   descriptor), so heavier weights synthesise the same way they do there. */
@font-face {
  font-family: 'Neue Kaine';
  src: url('/fonts/Neue-Kaine-Variable.ttf') format('truetype');
  font-display: swap;
}
*, ::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.19 | 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: Neue Kaine, system-ui, 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;
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; font-size: 16px; }
/* sites-0257: keep native UI (form controls, scrollbars, spellcheck
     underlines) in step with the active theme. `data-theme` is set pre-paint
     by THEME_BOOT in app/layout.tsx and is the single source of truth for
     theming — write theme rules as html[data-theme="dark"] .thing { … }. */
:root { color-scheme: light; }
html[data-theme='dark'] { color-scheme: dark; }
/* sites-0225: readable font-size floors. Form inputs at 16px prevent
     iOS Safari from auto-zooming on focus. Captions / footers should
     never go below these floors regardless of design mockup. */
input, textarea, select { font-size: max(16px, 1rem); }
small, figcaption { font-size: max(13px, 0.8125rem); }
@media (min-width: 901px) {
    small, figcaption { font-size: max(14px, 0.875rem); }
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}
.pointer-events-none {
  pointer-events: none;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-\[3px\] {
  inset: -3px;
}
.inset-0 {
  inset: 0px;
}
.inset-\[-3px\] {
  inset: -3px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.-top-\[3px\] {
  top: -3px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-\[-1px\] {
  bottom: -1px;
}
.bottom-\[49px\] {
  bottom: 49px;
}
.bottom-\[5px\] {
  bottom: 5px;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-\[109px\] {
  left: 109px;
}
.left-full {
  left: 100%;
}
.right-0 {
  right: 0px;
}
.right-\[15px\] {
  right: 15px;
}
.right-\[20px\] {
  right: 20px;
}
.right-\[5px\] {
  right: 5px;
}
.right-\[8px\] {
  right: 8px;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-\[-1px\] {
  top: -1px;
}
.top-\[13px\] {
  top: 13px;
}
.top-\[17px\] {
  top: 17px;
}
.top-\[20px\] {
  top: 20px;
}
.top-\[256px\] {
  top: 256px;
}
.top-\[8px\] {
  top: 8px;
}
.top-\[calc\(50\%-15px\)\] {
  top: calc(50% - 15px);
}
.top-\[calc\(50\%-7px\)\] {
  top: calc(50% - 7px);
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[90\] {
  z-index: 90;
}
.z-\[998\] {
  z-index: 998;
}
.z-\[999\] {
  z-index: 999;
}
.z-\[99\] {
  z-index: 99;
}
.order-first {
  order: -9999;
}
.m-0 {
  margin: 0px;
}
.-mx-\[25px\] {
  margin-left: -25px;
  margin-right: -25px;
}
.-mx-\[8px\] {
  margin-left: -8px;
  margin-right: -8px;
}
.mx-\[15px\] {
  margin-left: 15px;
  margin-right: 15px;
}
.mx-\[25px\] {
  margin-left: 25px;
  margin-right: 25px;
}
.mx-\[6px\] {
  margin-left: 6px;
  margin-right: 6px;
}
.mx-\[8px\] {
  margin-left: 8px;
  margin-right: 8px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.my-\[25px\] {
  margin-top: 25px;
  margin-bottom: 25px;
}
.-mb-\[55px\] {
  margin-bottom: -55px;
}
.-mt-\[61px\] {
  margin-top: -61px;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-\[10px\] {
  margin-bottom: 10px;
}
.mb-\[14\.4px\] {
  margin-bottom: 14.4px;
}
.mb-\[15px\] {
  margin-bottom: 15px;
}
.mb-\[16px\] {
  margin-bottom: 16px;
}
.mb-\[20px\] {
  margin-bottom: 20px;
}
.mb-\[34px\] {
  margin-bottom: 34px;
}
.mb-\[3px\] {
  margin-bottom: 3px;
}
.ml-4 {
  margin-left: 1rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-\[-37px\] {
  margin-top: -37px;
}
.mt-\[100px\] {
  margin-top: 100px;
}
.mt-\[10px\] {
  margin-top: 10px;
}
.mt-\[12\.5px\] {
  margin-top: 12.5px;
}
.mt-\[15px\] {
  margin-top: 15px;
}
.mt-\[2\.5px\] {
  margin-top: 2.5px;
}
.mt-\[20px\] {
  margin-top: 20px;
}
.mt-\[25px\] {
  margin-top: 25px;
}
.mt-\[31px\] {
  margin-top: 31px;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.mt-\[5px\] {
  margin-top: 5px;
}
.mt-\[61px\] {
  margin-top: 61px;
}
.mt-\[6px\] {
  margin-top: 6px;
}
.mt-\[86px\] {
  margin-top: 86px;
}
.mt-\[8px\] {
  margin-top: 8px;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-4 {
  height: 1rem;
}
.h-44 {
  height: 11rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[121px\] {
  height: 121px;
}
.h-\[14px\] {
  height: 14px;
}
.h-\[150px\] {
  height: 150px;
}
.h-\[15px\] {
  height: 15px;
}
.h-\[168\.75px\] {
  height: 168.75px;
}
.h-\[175px\] {
  height: 175px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1em\] {
  height: 1em;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[24px\] {
  height: 24px;
}
.h-\[250px\] {
  height: 250px;
}
.h-\[25px\] {
  height: 25px;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[35px\] {
  height: 35px;
}
.h-\[375px\] {
  height: 375px;
}
.h-\[38\.33px\] {
  height: 38.33px;
}
.h-\[380px\] {
  height: 380px;
}
.h-\[40px\] {
  height: 40px;
}
.h-\[415px\] {
  height: 415px;
}
.h-\[420px\] {
  height: 420px;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[431px\] {
  height: 431px;
}
.h-\[43px\] {
  height: 43px;
}
.h-\[44px\] {
  height: 44px;
}
.h-\[48px\] {
  height: 48px;
}
.h-\[50px\] {
  height: 50px;
}
.h-\[62px\] {
  height: 62px;
}
.h-\[653px\] {
  height: 653px;
}
.h-\[6px\] {
  height: 6px;
}
.h-\[81px\] {
  height: 81px;
}
.h-\[93px\] {
  height: 93px;
}
.h-\[calc\(100\%\+6px\)\] {
  height: calc(100% + 6px);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.max-h-\[75dvh\] {
  max-height: 75dvh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[95vh\] {
  max-height: 95vh;
}
.max-h-full {
  max-height: 100%;
}
.min-h-\[135px\] {
  min-height: 135px;
}
.min-h-\[250px\] {
  min-height: 250px;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[330px\] {
  min-height: 330px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[45vh\] {
  min-height: 45vh;
}
.min-h-\[657px\] {
  min-height: 657px;
}
.min-h-\[73vh\] {
  min-height: 73vh;
}
.min-h-\[750px\] {
  min-height: 750px;
}
.w-1\/2 {
  width: 50%;
}
.w-44 {
  width: 11rem;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[1100px\] {
  width: 1100px;
}
.w-\[116px\] {
  width: 116px;
}
.w-\[14px\] {
  width: 14px;
}
.w-\[15px\] {
  width: 15px;
}
.w-\[17\%\] {
  width: 17%;
}
.w-\[17\.5px\] {
  width: 17.5px;
}
.w-\[170px\] {
  width: 170px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[1em\] {
  width: 1em;
}
.w-\[20px\] {
  width: 20px;
}
.w-\[217px\] {
  width: 217px;
}
.w-\[218px\] {
  width: 218px;
}
.w-\[234px\] {
  width: 234px;
}
.w-\[25px\] {
  width: 25px;
}
.w-\[290px\] {
  width: 290px;
}
.w-\[299px\] {
  width: 299px;
}
.w-\[30\%\] {
  width: 30%;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[30vw\] {
  width: 30vw;
}
.w-\[33\%\] {
  width: 33%;
}
.w-\[342px\] {
  width: 342px;
}
.w-\[34px\] {
  width: 34px;
}
.w-\[35\%\] {
  width: 35%;
}
.w-\[35px\] {
  width: 35px;
}
.w-\[40px\] {
  width: 40px;
}
.w-\[431px\] {
  width: 431px;
}
.w-\[440px\] {
  width: 440px;
}
.w-\[478px\] {
  width: 478px;
}
.w-\[48px\] {
  width: 48px;
}
.w-\[50\%\] {
  width: 50%;
}
.w-\[50px\] {
  width: 50px;
}
.w-\[6px\] {
  width: 6px;
}
.w-\[70\%\] {
  width: 70%;
}
.w-\[74px\] {
  width: 74px;
}
.w-\[75\%\] {
  width: 75%;
}
.w-\[80vw\] {
  width: 80vw;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[86\%\] {
  width: 86%;
}
.w-\[900px\] {
  width: 900px;
}
.w-\[95\%\] {
  width: 95%;
}
.w-\[96\%\] {
  width: 96%;
}
.w-\[97\%\] {
  width: 97%;
}
.w-\[98\%\] {
  width: 98%;
}
.w-\[calc\(100\%\+1\.3px\)\] {
  width: calc(100% + 1.3px);
}
.w-\[calc\(100\%-20px\)\] {
  width: calc(100% - 20px);
}
.w-\[calc\(100\%_\+_6px\)\] {
  width: calc(100% + 6px);
}
.w-\[calc\(123\%\+1\.3px\)\] {
  width: calc(123% + 1.3px);
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[380px\] {
  min-width: 380px;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-\[100px\] {
  max-width: 100px;
}
.max-w-\[100vw\] {
  max-width: 100vw;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[478px\] {
  max-width: 478px;
}
.max-w-\[648px\] {
  max-width: 648px;
}
.max-w-\[767px\] {
  max-width: 767px;
}
.max-w-\[800px\] {
  max-width: 800px;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.max-w-\[993px\] {
  max-width: 993px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-none {
  max-width: none;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-auto {
  flex: 1 1 auto;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.origin-center {
  transform-origin: center;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-\[7px\] {
  --tw-translate-y: -7px;
  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-\[30px\] {
  --tw-translate-y: 30px;
  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-x-100 {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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));
}
.resize {
  resize: both;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: minmax(0,1fr) auto;
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.content-center {
  align-content: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.justify-evenly {
  justify-content: space-evenly;
}
.gap-0 {
  gap: 0px;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-\[10px\] {
  gap: 10px;
}
.gap-\[14px\] {
  gap: 14px;
}
.gap-\[15px\] {
  gap: 15px;
}
.gap-\[18px\] {
  gap: 18px;
}
.gap-\[20px\] {
  gap: 20px;
}
.gap-\[25px\] {
  gap: 25px;
}
.gap-\[30px\] {
  gap: 30px;
}
.gap-\[5px\] {
  gap: 5px;
}
.gap-\[7px\] {
  gap: 7px;
}
.gap-x-0 {
  -moz-column-gap: 0px;
       column-gap: 0px;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-\[16px\] {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.gap-x-\[2\%\] {
  -moz-column-gap: 2%;
       column-gap: 2%;
}
.gap-x-\[20px\] {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.gap-x-\[25px\] {
  -moz-column-gap: 25px;
       column-gap: 25px;
}
.gap-x-\[30px\] {
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.gap-x-\[5px\] {
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.gap-y-0 {
  row-gap: 0px;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-\[10px\] {
  row-gap: 10px;
}
.gap-y-\[19px\] {
  row-gap: 19px;
}
.gap-y-\[20px\] {
  row-gap: 20px;
}
.gap-y-\[30px\] {
  row-gap: 30px;
}
.gap-y-\[40px\] {
  row-gap: 40px;
}
.gap-y-\[9px\] {
  row-gap: 9px;
}
.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-\[16px\] > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(16px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(16px * var(--tw-space-y-reverse));
}
.space-y-\[9px\] > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(9px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(9px * var(--tw-space-y-reverse));
}
.self-start {
  align-self: flex-start;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-clip {
  overflow-x: clip;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre {
  white-space: pre;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[10\%\] {
  border-radius: 10%;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[15px\] {
  border-radius: 15px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[21px\] {
  border-radius: 21px;
}
.rounded-\[25px\] {
  border-radius: 25px;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[40px\] {
  border-radius: 40px;
}
.rounded-\[5px\] {
  border-radius: 5px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-\[13px\] {
  border-bottom-right-radius: 13px;
  border-bottom-left-radius: 13px;
}
.rounded-b-\[18px\] {
  border-bottom-right-radius: 18px;
  border-bottom-left-radius: 18px;
}
.rounded-l-\[10px\] {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.rounded-l-\[18px\] {
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}
.rounded-t-\[13px\] {
  border-top-left-radius: 13px;
  border-top-right-radius: 13px;
}
.rounded-t-\[18px\] {
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-\[4px\] {
  border-width: 4px;
}
.border-x-4 {
  border-left-width: 4px;
  border-right-width: 4px;
}
.border-x-\[10px\] {
  border-left-width: 10px;
  border-right-width: 10px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-0 {
  border-bottom-width: 0px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-\[2px\] {
  border-left-width: 2px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.border-t-4 {
  border-top-width: 4px;
}
.border-solid {
  border-style: solid;
}
.border-\[\#797979\] {
  --tw-border-opacity: 1;
  border-color: rgb(121 121 121 / var(--tw-border-opacity, 1));
}
.border-\[\#C0EF2E\] {
  --tw-border-opacity: 1;
  border-color: rgb(192 239 46 / var(--tw-border-opacity, 1));
}
.border-\[\#dddddd\] {
  --tw-border-opacity: 1;
  border-color: rgb(221 221 221 / var(--tw-border-opacity, 1));
}
.border-\[\#eee\] {
  --tw-border-opacity: 1;
  border-color: rgb(238 238 238 / var(--tw-border-opacity, 1));
}
.border-\[var\(--brand-primary\)\] {
  border-color: var(--brand-primary);
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/90 {
  border-color: rgb(255 255 255 / 0.9);
}
.bg-\[\#0b1111\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 17 17 / var(--tw-bg-opacity, 1));
}
.bg-\[\#797979\] {
  --tw-bg-opacity: 1;
  background-color: rgb(121 121 121 / var(--tw-bg-opacity, 1));
}
.bg-\[\#B7B7B7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(183 183 183 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C0EF2E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(192 239 46 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.52\)\] {
  background-color: rgba(0,0,0,0.52);
}
.bg-\[var\(--brand-primary\)\] {
  background-color: var(--brand-primary);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / 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\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-\[length\:257px\] {
  background-size: 257px;
}
.bg-auto {
  background-size: auto;
}
.bg-cover {
  background-size: cover;
}
.bg-\[position\:50\%_0\%\] {
  background-position: 50% 0%;
}
.bg-center {
  background-position: center;
}
.bg-left-top {
  background-position: left top;
}
.bg-no-repeat {
  background-repeat: no-repeat;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.p-0 {
  padding: 0px;
}
.p-3 {
  padding: 0.75rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-\[15px\] {
  padding: 15px;
}
.p-\[20px\] {
  padding: 20px;
}
.p-\[25px\] {
  padding: 25px;
}
.p-\[30px\] {
  padding: 30px;
}
.p-\[8px\] {
  padding: 8px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-\[10px\] {
  padding-left: 10px;
  padding-right: 10px;
}
.px-\[15px\] {
  padding-left: 15px;
  padding-right: 15px;
}
.px-\[20px\] {
  padding-left: 20px;
  padding-right: 20px;
}
.px-\[24px\] {
  padding-left: 24px;
  padding-right: 24px;
}
.px-\[30px\] {
  padding-left: 30px;
  padding-right: 30px;
}
.px-\[35px\] {
  padding-left: 35px;
  padding-right: 35px;
}
.px-\[42px\] {
  padding-left: 42px;
  padding-right: 42px;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-\[100px\] {
  padding-top: 100px;
  padding-bottom: 100px;
}
.py-\[10px\] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[12px\] {
  padding-top: 12px;
  padding-bottom: 12px;
}
.py-\[15px\] {
  padding-top: 15px;
  padding-bottom: 15px;
}
.py-\[20px\] {
  padding-top: 20px;
  padding-bottom: 20px;
}
.py-\[30px\] {
  padding-top: 30px;
  padding-bottom: 30px;
}
.py-\[5\.5px\] {
  padding-top: 5.5px;
  padding-bottom: 5.5px;
}
.py-\[60px\] {
  padding-top: 60px;
  padding-bottom: 60px;
}
.py-\[7\.5px\] {
  padding-top: 7.5px;
  padding-bottom: 7.5px;
}
.py-\[8px\] {
  padding-top: 8px;
  padding-bottom: 8px;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-\[100px\] {
  padding-bottom: 100px;
}
.pb-\[15px\] {
  padding-bottom: 15px;
}
.pb-\[16px\] {
  padding-bottom: 16px;
}
.pb-\[2\.5px\] {
  padding-bottom: 2.5px;
}
.pb-\[20px\] {
  padding-bottom: 20px;
}
.pb-\[24px\] {
  padding-bottom: 24px;
}
.pb-\[25px\] {
  padding-bottom: 25px;
}
.pb-\[28px\] {
  padding-bottom: 28px;
}
.pb-\[30px\] {
  padding-bottom: 30px;
}
.pb-\[33px\] {
  padding-bottom: 33px;
}
.pb-\[3px\] {
  padding-bottom: 3px;
}
.pb-\[45px\] {
  padding-bottom: 45px;
}
.pb-\[56\.25\%\] {
  padding-bottom: 56.25%;
}
.pb-\[60px\] {
  padding-bottom: 60px;
}
.pb-\[6px\] {
  padding-bottom: 6px;
}
.pb-\[9px\] {
  padding-bottom: 9px;
}
.pl-0 {
  padding-left: 0px;
}
.pl-\[12px\] {
  padding-left: 12px;
}
.pl-\[5px\] {
  padding-left: 5px;
}
.pr-\[15px\] {
  padding-right: 15px;
}
.pr-\[20px\] {
  padding-right: 20px;
}
.pr-\[7px\] {
  padding-right: 7px;
}
.pt-0 {
  padding-top: 0px;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-\[100px\] {
  padding-top: 100px;
}
.pt-\[10px\] {
  padding-top: 10px;
}
.pt-\[120px\] {
  padding-top: 120px;
}
.pt-\[12px\] {
  padding-top: 12px;
}
.pt-\[139px\] {
  padding-top: 139px;
}
.pt-\[150px\] {
  padding-top: 150px;
}
.pt-\[15px\] {
  padding-top: 15px;
}
.pt-\[20px\] {
  padding-top: 20px;
}
.pt-\[30px\] {
  padding-top: 30px;
}
.pt-\[32px\] {
  padding-top: 32px;
}
.pt-\[33px\] {
  padding-top: 33px;
}
.pt-\[35px\] {
  padding-top: 35px;
}
.pt-\[38px\] {
  padding-top: 38px;
}
.pt-\[40px\] {
  padding-top: 40px;
}
.pt-\[4px\] {
  padding-top: 4px;
}
.pt-\[50px\] {
  padding-top: 50px;
}
.pt-\[5px\] {
  padding-top: 5px;
}
.pt-\[60px\] {
  padding-top: 60px;
}
.pt-\[64px\] {
  padding-top: 64px;
}
.pt-\[8px\] {
  padding-top: 8px;
}
.pt-\[90px\] {
  padding-top: 90px;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.text-end {
  text-align: end;
}
.align-baseline {
  vertical-align: baseline;
}
.align-middle {
  vertical-align: middle;
}
.align-bottom {
  vertical-align: bottom;
}
.align-\[-0\.1em\] {
  vertical-align: -0.1em;
}
.font-sans {
  font-family: Neue Kaine, system-ui, sans-serif;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[21px\] {
  font-size: 21px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[23px\] {
  font-size: 23px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-\[25px\] {
  font-size: 25px;
}
.text-\[26px\] {
  font-size: 26px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[30px\] {
  font-size: 30px;
}
.text-\[32px\] {
  font-size: 32px;
}
.text-\[6\.1rem\] {
  font-size: 6.1rem;
}
.text-\[70px\] {
  font-size: 70px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.capitalize {
  text-transform: capitalize;
}
.leading-\[0\] {
  line-height: 0;
}
.leading-\[1\.2\] {
  line-height: 1.2;
}
.leading-\[1\.4em\] {
  line-height: 1.4em;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.7em\] {
  line-height: 1.7em;
}
.leading-\[15px\] {
  line-height: 15px;
}
.leading-\[16px\] {
  line-height: 16px;
}
.leading-\[17px\] {
  line-height: 17px;
}
.leading-\[18px\] {
  line-height: 18px;
}
.leading-\[19\.5px\] {
  line-height: 19.5px;
}
.leading-\[19px\] {
  line-height: 19px;
}
.leading-\[1em\] {
  line-height: 1em;
}
.leading-\[20\.4px\] {
  line-height: 20.4px;
}
.leading-\[20px\] {
  line-height: 20px;
}
.leading-\[21px\] {
  line-height: 21px;
}
.leading-\[22\.5px\] {
  line-height: 22.5px;
}
.leading-\[22px\] {
  line-height: 22px;
}
.leading-\[23px\] {
  line-height: 23px;
}
.leading-\[24px\] {
  line-height: 24px;
}
.leading-\[25\.5px\] {
  line-height: 25.5px;
}
.leading-\[25px\] {
  line-height: 25px;
}
.leading-\[26\.4px\] {
  line-height: 26.4px;
}
.leading-\[26px\] {
  line-height: 26px;
}
.leading-\[27px\] {
  line-height: 27px;
}
.leading-\[28\.5px\] {
  line-height: 28.5px;
}
.leading-\[28\.8px\] {
  line-height: 28.8px;
}
.leading-\[30px\] {
  line-height: 30px;
}
.leading-\[31\.2px\] {
  line-height: 31.2px;
}
.leading-\[31\.5px\] {
  line-height: 31.5px;
}
.leading-\[32px\] {
  line-height: 32px;
}
.leading-\[55px\] {
  line-height: 55px;
}
.leading-\[70px\] {
  line-height: 70px;
}
.leading-none {
  line-height: 1;
}
.tracking-\[1px\] {
  letter-spacing: 1px;
}
.text-\[\#333333\] {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
.text-\[\#797979\] {
  --tw-text-opacity: 1;
  color: rgb(121 121 121 / var(--tw-text-opacity, 1));
}
.text-\[\#B7B7B7\] {
  --tw-text-opacity: 1;
  color: rgb(183 183 183 / var(--tw-text-opacity, 1));
}
.text-\[\#C0EF2E\] {
  --tw-text-opacity: 1;
  color: rgb(192 239 46 / var(--tw-text-opacity, 1));
}
.text-\[rgba\(183\2c 183\2c 183\2c 0\.34\)\] {
  color: rgba(183,183,183,0.34);
}
.text-\[var\(--brand-primary\)\] {
  color: var(--brand-primary);
}
.text-\[var\(--brand-primary\2c \#111\)\] {
  color: var(--brand-primary,#111);
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-\[0\.18\] {
  opacity: 0.18;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[2px_8px_23px_3px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 2px 8px 23px 3px rgba(0,0,0,0.2);
  --tw-shadow-colored: 2px 8px 23px 3px 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-\[4px_4px_0_0_\#C0EF2E\] {
  --tw-shadow: 4px 4px 0 0 #C0EF2E;
  --tw-shadow-colored: 4px 4px 0 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-\[5px_5px_1px_0_\#C0EF2E\] {
  --tw-shadow: 5px 5px 1px 0 #C0EF2E;
  --tw-shadow-colored: 5px 5px 1px 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-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);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.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);
}
.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-\[background\2c border\2c border-radius\2c box-shadow\] {
  transition-property: background,border,border-radius,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-\[1500ms\] {
  transition-duration: 1500ms;
}
.duration-\[400ms\] {
  transition-duration: 400ms;
}
.ease-\[ease\] {
  transition-timing-function: ease;
}
.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);
}
.will-change-transform {
  will-change: transform;
}
.\[contain\:layout_style_paint\] {
  contain: layout style paint;
}

/* Elementor Pro's "swirl" animated-headline keyframes, copied verbatim from
   the stylesheet proesthetique.ca serves, so the rotating word in the hero
   moves exactly as it does there. Letters are staggered with an
   animation-delay set per letter in HomeHero.tsx. */
.pe-letter {
  display: inline-block;
  opacity: 0;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  transform: translateZ(-20px) rotateX(90deg);
}
.pe-letter-in { animation: pe-swirl-in 0.4s forwards; }
.pe-letter-out { animation: pe-swirl-out 0.4s forwards; }
@keyframes pe-swirl-in {
  0% { opacity: 0; transform: translateZ(-20px) rotateX(90deg); }
  60% { opacity: 1; transform: translateZ(-20px) rotateX(-10deg); }
  to { opacity: 1; transform: translateZ(-20px) rotateX(0deg); }
}
@keyframes pe-swirl-out {
  0% { opacity: 1; transform: translateZ(-20px) rotateX(0); }
  60% { opacity: 0; transform: translateZ(-20px) rotateX(-100deg); }
  to { opacity: 0; transform: translateZ(-20px) rotateX(-90deg); }
}
@media (prefers-reduced-motion: reduce) {
  .pe-letter-in, .pe-letter-out { animation-duration: 0s; animation-delay: 0s !important; }
}

/* Off-canvas entrances, copied from the Animate.css builds Elementor loads on
   proesthetique.ca. Measured there: the desktop menu panel plays `fadeInRight`
   for 800ms, the search overlay plays `slideInDown` for 1000ms, and the phone
   menu plays nothing at all (its off-canvas carries `no-animation`). Both are
   played in reverse to close, which is what Elementor does.

   The offsets are viewport units, not percentages: on the live site the
   animated element is a full-viewport wrapper, so its `translate3d(100%)` is
   100vw, not 100% of the panel. */
@keyframes pe-fade-in-right {
  from { opacity: 0; transform: translate3d(100vw, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes pe-slide-in-down {
  from { transform: translate3d(0, -100vh, 0); }
  to { transform: translate3d(0, 0, 0); }
}
/* The exits need their own names. Swapping a class to the same keyframes with
   `animation-direction: reverse` does NOT start a new animation — the browser
   sees one animation whose time is already past the end, and the element jumps
   straight to the off-screen frame instead of travelling to it. */
@keyframes pe-fade-out-right {
  from { opacity: 1; transform: translate3d(0, 0, 0); }
  to { opacity: 0; transform: translate3d(100vw, 0, 0); }
}
@keyframes pe-slide-out-up {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, -100vh, 0); }
}
.pe-anim-fade-in-right { animation: pe-fade-in-right 800ms ease both; }
.pe-anim-fade-in-right-out { animation: pe-fade-out-right 800ms ease both; }
.pe-anim-slide-in-down { animation: pe-slide-in-down 1000ms ease both; }
.pe-anim-slide-in-down-out { animation: pe-slide-out-up 1000ms ease both; }

@media (prefers-reduced-motion: reduce) {
  .pe-anim-fade-in-right, .pe-anim-fade-in-right-out,
  .pe-anim-slide-in-down, .pe-anim-slide-in-down-out { animation-duration: 1ms; }
}

/* Testimonial stars. On proesthetique.ca each slide's rating widget is placed
   by hand at an absolute offset that differs per slide AND per breakpoint, so
   the coordinates ride on the slide as custom properties. */
.pe-testimonial-stars { left: var(--star-left-m); top: var(--star-top-m); }
@media (min-width: 768px) {
  .pe-testimonial-stars { left: var(--star-left-t); top: var(--star-top-t); }
}
@media (min-width: 1025px) {
  .pe-testimonial-stars { left: var(--star-left-d); top: var(--star-top-d); }
}

/* The services band's hexagons. This is Elementor's own hexagon-vertical mask
   shape, inlined so the page carries no request for it: a 100x100 viewBox
   whose black path is the alpha channel, drawn at 396px and centred. The size
   is deliberately larger than the 373px card, which is why the hexagon's left
   and right tips run off the card — and why only ~1.7px of the card's 10px
   lime side borders survives the mask as the thin lime edge lines. */
.pe-hexagon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20100%27%3E%3Cpath%20d%3D%27M50%2C0%20L95%2C25%20L95%2C75%20L50%2C100%20L5%2C75%20L5%2C25%20Z%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 396px;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20100%27%3E%3Cpath%20d%3D%27M50%2C0%20L95%2C25%20L95%2C75%20L50%2C100%20L5%2C75%20L5%2C25%20Z%27%2F%3E%3C%2Fsvg%3E");
  mask-size: 396px;
  mask-position: 50% 50%;
  mask-repeat: no-repeat;
}

/* The tabbed services band's entrance animations. These are Elementor's own
   `fadeInUp` and `fadeInLeft` keyframes at its `animated-fast` duration, and
   they carry no fill mode for the same reason Elementor's do not: the element
   is at its normal state before and after, so a replay on every tab change
   leaves nothing stuck part-way. */
@keyframes pe-fade-in-up {
  from { opacity: 0; transform: translate3d(0, 100%, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes pe-fade-in-left {
  from { opacity: 0; transform: translate3d(-100%, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.pe-anim-fade-in-up { animation: pe-fade-in-up 750ms ease; }
.pe-anim-fade-in-left { animation: pe-fade-in-left 750ms ease; }

@media (prefers-reduced-motion: reduce) {
  .pe-anim-fade-in-up, .pe-anim-fade-in-left { animation-duration: 1ms; }
}

/* The tab panels' badge graphic. All five sit in the same place on desktop,
   but below 1025 the client placed each one by hand, so the coordinates ride
   on the element as custom properties rather than in the class list. */
.pe-tab-badge { top: var(--badge-top-m); left: var(--badge-left-m); width: var(--badge-w-m); }
@media (min-width: 768px) {
  .pe-tab-badge { top: var(--badge-top-t); left: var(--badge-left-t); width: var(--badge-w-t); }
}
@media (min-width: 1025px) {
  .pe-tab-badge { top: 38px; left: 148px; width: 220px; }
}


/* The scrolling band of service names. This is the client's own hand-written
   marquee, kept mechanism-for-mechanism: one line of text sliding its full
   width over 35 seconds, with a pseudo-element holding a second copy pinned
   at its right edge so the loop never shows a gap. `left: 100%` resolves
   against the TRACK rather than the visible strip because `will-change:
   transform` makes the track a containing block for it - remove that and the
   copy lands a viewport-width away. The trailing run of spaces on the copy is
   longer than on the line itself; that is theirs, and it is the gap you see
   between the last name and the first on the next lap. */
@keyframes pe-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}
.pe-marquee-track {
  animation: pe-marquee 35s linear infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .pe-marquee-track { animation: none; }
}


/* The FAQ band. This is the client's own hand-written accordion, kept
   mechanism-for-mechanism: a 1px gradient sleeve around each card, a near
   black inner panel, and a lime plus drawn as two bars on a pseudo-element.
   The rules for an OPEN answer are theirs too — and so is the fact that
   nothing on their page ever adds the class that would open one, which is
   why the answers sit in the markup, readable by search engines, and never
   unfold for a visitor. The 768px breakpoint below is the widget's OWN, not
   Elementor's: at exactly 768 this block is still in its phone layout while
   the rest of the page has moved to tablet. */
.pe-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.pe-faq-column { display: flex; flex-direction: column; gap: 16px; }
.pe-faq-item {
  border-radius: 12px;
  padding: 1px;
  background: linear-gradient(135deg, #3a3a3a 0%, #1a1a1a 100%);
  overflow: hidden;
}
.pe-faq-inner { background: #0a0a0a; border-radius: 11px; }
.pe-faq-question {
  /* A real button so the keyboard reaches it; these five lines only undo the
     button defaults so it renders exactly as the client's div did. */
  width: 100%;
  background: none;
  border: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  padding: 20px 24px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  transition: background-color 0.3s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.pe-faq-question:hover { background-color: rgba(255, 255, 255, 0.02); }
.pe-faq-question h3 { font-size: 16px; font-weight: 600; line-height: 1.4; color: #fff; margin: 0; }
.pe-faq-icon { flex-shrink: 0; width: 24px; height: 24px; position: relative; transition: transform 0.3s ease; }
.pe-faq-icon::before,
.pe-faq-icon::after { content: ''; position: absolute; background-color: #C0EF2E; transition: transform 0.3s ease; }
.pe-faq-icon::before { width: 16px; height: 2px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.pe-faq-icon::after { width: 2px; height: 16px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.pe-faq-item.active .pe-faq-icon { transform: rotate(45deg); }
.pe-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0 24px;
}
.pe-faq-item.active .pe-faq-answer { max-height: 500px; padding: 0 24px 20px; }
.pe-faq-answer p { font-size: 14px; line-height: 1.6; color: #fff; margin: 0; }

@media (max-width: 768px) {
  .pe-faq-grid { grid-template-columns: 1fr; gap: 16px; }
  .pe-faq-question { padding: 16px 20px; }
  .pe-faq-question h3 { font-size: 15px; }
  .pe-faq-answer p { font-size: 13px; }
  .pe-faq-item.active .pe-faq-answer { padding: 0 20px 16px; }
}

/* The contact page's detail cards: hovering anywhere on a card spins its icon
   one full turn about its vertical axis over 0.6s, which is what the client's
   own page does (sampled mid-transition, not read off a class name). */
.pe-spin-icon { transition: transform 0.6s; }
.pe-spin-card:hover .pe-spin-icon { transform: rotateY(360deg); }

/* The legal pages' prose: a measured 1:1 port of the single Elementor text
   widget that holds all of /contrat-de-service/. Every gap inside it comes
   from ordinary margin flow, so the port reproduces the margins rather than
   wrapping each block in a container: that is what puts 14.4px between
   paragraphs, 8px between a rule and the heading under it, and collapses the
   last list item's margin out of the list's own height. */
.pe-legal { display: flow-root; font-size: 18px; line-height: 27px; color: #fff; text-align: start; }
.pe-legal h2 { font-size: 32px; line-height: 38.4px; font-weight: 500; color: #fff; margin: 8px 0 16px; }
/* Politique de confidentialité: its H1 lives IN the prose (40/48) and it carries two H3s (28/33.6); both share the h2 margins. */
.pe-legal h1 { font-size: 40px; line-height: 48px; font-weight: 500; color: #fff; margin: 8px 0 16px; }
.pe-legal h3 { font-size: 28px; line-height: 33.6px; font-weight: 500; color: #fff; margin: 8px 0 16px; }
.pe-legal p { margin: 0 0 14.4px; }
.pe-legal ul { margin: 0; padding: 0 0 0 40px; list-style-type: disc; list-style-position: outside; }
.pe-legal li { margin: 0; padding: 0; }
.pe-legal hr { height: 0; margin: 0; color: #808080; border: 1px inset; }

@media (min-width: 768px) {
  .pe-legal { font-size: 19px; line-height: 28.5px; }
}

/* The service pages' hotspot markers: two rings growing out of the disc and
   fading, 3s apart, exactly as ElementsKit draws them on the client's page. */
.pe-hotspot-pulse {
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  animation: pe-hotspot-pulse 3s cubic-bezier(0.4, 0, 1, 1) infinite both;
}
.pe-hotspot-pulse-1 { animation-delay: 0.5s; }
.pe-hotspot-pulse-2 { animation-delay: 1.5s; }

@keyframes pe-hotspot-pulse {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(2.4); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pe-hotspot-pulse { animation: none; opacity: 0; }
}

/* The service pages ship the same accordion WITHOUT the phone shrink the
   home page applies: full-size questions and full padding at every width. */
@media (max-width: 768px) {
  .pe-faq-grid-roomy .pe-faq-question { padding: 20px 24px; }
  .pe-faq-grid-roomy .pe-faq-question h3 { font-size: 16px; }
  .pe-faq-grid-roomy .pe-faq-answer p { font-size: 14px; }
  .pe-faq-grid-roomy .pe-faq-item.active .pe-faq-answer { padding: 0 24px 20px; }
}

/* The window-tint tabs' chips (Teintage de vitres): closed chips are lime
   with black words, the open chip is grey with white words, and hovering a
   closed chip paints it like the open one - measured on the client's page,
   including the 0.3s. */
.pe-tint-chip { background-color: #c0ef2e; color: #000; transition: background-color 0.3s, color 0.3s; }
.pe-tint-chip:hover, .pe-tint-chip-open { background-color: #797979; color: #fff; }

/* The interior grid's lime cells: ElementsKit flip boxes, measured off the
   client's own widget - 1000px of perspective, a 0.6s ease-in-out turn about
   the vertical axis, and both faces hiding their backs. */
.pe-flip { perspective: 1000px; }
.pe-flip-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s ease-in-out;
}
.pe-flip:hover .pe-flip-inner { transform: rotateY(180deg); }
.pe-flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  overflow: hidden;
}
.pe-flip-back { transform: rotateY(180deg); }

@media (prefers-reduced-motion: reduce) {
  .pe-flip-inner { transition: none; }
}

/* The panel cards' glyphs turn ONE FULL TURN about the vertical axis when the
   mouse enters the CARD - measured on proesthetique.ca at 0.6s ease, on
   Protection de la peinture and Esthétique automobile.

   Written as real CSS rather than a Tailwind arbitrary property: the class
   `group-hover:[transform:rotateY(360deg)]` reached the element but Tailwind
   generated NO rule for it, so the markup looked correct and nothing moved.
   A 360 turn also ends exactly where it starts, so the transform reads
   identical before and after - it is only visible sampled mid-turn. */
.pe-turn { transition: transform 0.6s ease; }
.pe-turn-host:hover .pe-turn { transform: rotateY(360deg); }
@media (prefers-reduced-motion: reduce) {
  .pe-turn { transition: none; }
  .pe-turn-host:hover .pe-turn { transform: none; }
}
.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\:border-\[\#C0EF2E\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(192 239 46 / var(--tw-border-opacity, 1));
}
.hover\:bg-\[\#797979\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(121 121 121 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[var\(--brand-primary\)\]:hover {
  background-color: var(--brand-primary);
}
.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:text-\[\#C0EF2E\]:hover {
  --tw-text-opacity: 1;
  color: rgb(192 239 46 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.focus\:border-\[var\(--brand-primary\)\]:focus {
  border-color: var(--brand-primary);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-visible\:text-white:focus-visible {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group:focus-within .group-focus-within\: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));
}
.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\: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));
}
.group\/card:hover .group-hover\/card\:scale-\[1\.2\] {
  --tw-scale-x: 1.2;
  --tw-scale-y: 1.2;
  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\/cta:hover .group-hover\/cta\:bg-\[rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  background-color: rgba(0,0,0,0.3);
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
@media (min-width: 640px) {
  .sm\:h-52 {
    height: 13rem;
  }
  .sm\:w-52 {
    width: 13rem;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }
  .md\:right-\[-4px\] {
    right: -4px;
  }
  .md\:order-1 {
    order: 1;
  }
  .md\:order-2 {
    order: 2;
  }
  .md\:order-none {
    order: 0;
  }
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  .md\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .md\:my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .md\:my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .md\:-mb-\[40px\] {
    margin-bottom: -40px;
  }
  .md\:-mt-\[114px\] {
    margin-top: -114px;
  }
  .md\:-mt-\[20px\] {
    margin-top: -20px;
  }
  .md\:-mt-\[25px\] {
    margin-top: -25px;
  }
  .md\:mb-0 {
    margin-bottom: 0px;
  }
  .md\:mb-\[15px\] {
    margin-bottom: 15px;
  }
  .md\:mr-\[15px\] {
    margin-right: 15px;
  }
  .md\:mt-0 {
    margin-top: 0px;
  }
  .md\:mt-\[10px\] {
    margin-top: 10px;
  }
  .md\:mt-\[12\.5px\] {
    margin-top: 12.5px;
  }
  .md\:mt-\[150px\] {
    margin-top: 150px;
  }
  .md\:block {
    display: block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:hidden {
    display: none;
  }
  .md\:h-\[138px\] {
    height: 138px;
  }
  .md\:h-\[25px\] {
    height: 25px;
  }
  .md\:h-\[450px\] {
    height: 450px;
  }
  .md\:h-\[47px\] {
    height: 47px;
  }
  .md\:h-\[50px\] {
    height: 50px;
  }
  .md\:h-\[60px\] {
    height: 60px;
  }
  .md\:h-\[63px\] {
    height: 63px;
  }
  .md\:h-\[66px\] {
    height: 66px;
  }
  .md\:h-\[89\.33px\] {
    height: 89.33px;
  }
  .md\:h-auto {
    height: auto;
  }
  .md\:min-h-0 {
    min-height: 0px;
  }
  .md\:min-h-\[450px\] {
    min-height: 450px;
  }
  .md\:min-h-\[60vh\] {
    min-height: 60vh;
  }
  .md\:w-1\/2 {
    width: 50%;
  }
  .md\:w-\[13\.9\%\] {
    width: 13.9%;
  }
  .md\:w-\[158\.4px\] {
    width: 158.4px;
  }
  .md\:w-\[20\.67\%\] {
    width: 20.67%;
  }
  .md\:w-\[200px\] {
    width: 200px;
  }
  .md\:w-\[220px\] {
    width: 220px;
  }
  .md\:w-\[228px\] {
    width: 228px;
  }
  .md\:w-\[250px\] {
    width: 250px;
  }
  .md\:w-\[27\.5px\] {
    width: 27.5px;
  }
  .md\:w-\[270px\] {
    width: 270px;
  }
  .md\:w-\[30\%\] {
    width: 30%;
  }
  .md\:w-\[32\%\] {
    width: 32%;
  }
  .md\:w-\[32\.67\%\] {
    width: 32.67%;
  }
  .md\:w-\[350px\] {
    width: 350px;
  }
  .md\:w-\[40\%\] {
    width: 40%;
  }
  .md\:w-\[405\.5px\] {
    width: 405.5px;
  }
  .md\:w-\[45\%\] {
    width: 45%;
  }
  .md\:w-\[48\%\] {
    width: 48%;
  }
  .md\:w-\[49\%\] {
    width: 49%;
  }
  .md\:w-\[50px\] {
    width: 50px;
  }
  .md\:w-\[55\%\] {
    width: 55%;
  }
  .md\:w-\[60\%\] {
    width: 60%;
  }
  .md\:w-\[60px\] {
    width: 60px;
  }
  .md\:w-\[95\%\] {
    width: 95%;
  }
  .md\:w-\[97\%\] {
    width: 97%;
  }
  .md\:w-\[98\%\] {
    width: 98%;
  }
  .md\:w-\[993px\] {
    width: 993px;
  }
  .md\:w-\[calc\(\(100\%-100px\)\/3\)\] {
    width: calc((100% - 100px) / 3);
  }
  .md\:w-\[calc\(50\%-10px\)\] {
    width: calc(50% - 10px);
  }
  .md\:w-\[calc\(50\%-15px\)\] {
    width: calc(50% - 15px);
  }
  .md\:w-auto {
    width: auto;
  }
  .md\:w-full {
    width: 100%;
  }
  .md\:max-w-\[1024px\] {
    max-width: 1024px;
  }
  .md\:max-w-\[1200px\] {
    max-width: 1200px;
  }
  .md\:max-w-\[650px\] {
    max-width: 650px;
  }
  .md\:max-w-\[97\%\] {
    max-width: 97%;
  }
  .md\:flex-1 {
    flex: 1 1 0%;
  }
  .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-\[25fr_50fr_25fr\] {
    grid-template-columns: 25fr 50fr 25fr;
  }
  .md\:grid-cols-\[30fr_40fr_30fr\] {
    grid-template-columns: 30fr 40fr 30fr;
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .md\:content-start {
    align-content: flex-start;
  }
  .md\:items-start {
    align-items: flex-start;
  }
  .md\:items-stretch {
    align-items: stretch;
  }
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:gap-\[15px\] {
    gap: 15px;
  }
  .md\:gap-\[25px\] {
    gap: 25px;
  }
  .md\:gap-x-\[14px\] {
    -moz-column-gap: 14px;
         column-gap: 14px;
  }
  .md\:gap-x-\[20px\] {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
  .md\:gap-x-\[22px\] {
    -moz-column-gap: 22px;
         column-gap: 22px;
  }
  .md\:gap-x-\[50px\] {
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
  .md\:gap-x-\[5px\] {
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .md\:gap-y-0 {
    row-gap: 0px;
  }
  .md\:gap-y-\[20px\] {
    row-gap: 20px;
  }
  .md\:gap-y-\[47px\] {
    row-gap: 47px;
  }
  .md\:rounded-l-\[13px\] {
    border-top-left-radius: 13px;
    border-bottom-left-radius: 13px;
  }
  .md\:rounded-r-\[13px\] {
    border-top-right-radius: 13px;
    border-bottom-right-radius: 13px;
  }
  .md\:rounded-bl-none {
    border-bottom-left-radius: 0px;
  }
  .md\:rounded-tr-none {
    border-top-right-radius: 0px;
  }
  .md\:border-0 {
    border-width: 0px;
  }
  .md\:border-r {
    border-right-width: 1px;
  }
  .md\:border-t {
    border-top-width: 1px;
  }
  .md\:border-solid {
    border-style: solid;
  }
  .md\:border-\[\#C0EF2E\] {
    --tw-border-opacity: 1;
    border-color: rgb(192 239 46 / var(--tw-border-opacity, 1));
  }
  .md\:bg-\[length\:40\%\] {
    background-size: 40%;
  }
  .md\:p-0 {
    padding: 0px;
  }
  .md\:p-\[20px\] {
    padding: 20px;
  }
  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .md\:px-\[50px\] {
    padding-left: 50px;
    padding-right: 50px;
  }
  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .md\:py-\[150px\] {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .md\:py-\[50px\] {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .md\:pb-0 {
    padding-bottom: 0px;
  }
  .md\:pb-\[12\.5px\] {
    padding-bottom: 12.5px;
  }
  .md\:pb-\[150px\] {
    padding-bottom: 150px;
  }
  .md\:pb-\[20px\] {
    padding-bottom: 20px;
  }
  .md\:pb-\[40px\] {
    padding-bottom: 40px;
  }
  .md\:pb-\[8px\] {
    padding-bottom: 8px;
  }
  .md\:pl-0 {
    padding-left: 0px;
  }
  .md\:pl-\[12px\] {
    padding-left: 12px;
  }
  .md\:pl-\[35px\] {
    padding-left: 35px;
  }
  .md\:pr-\[85px\] {
    padding-right: 85px;
  }
  .md\:pt-0 {
    padding-top: 0px;
  }
  .md\:pt-\[100px\] {
    padding-top: 100px;
  }
  .md\:pt-\[10px\] {
    padding-top: 10px;
  }
  .md\:pt-\[139px\] {
    padding-top: 139px;
  }
  .md\:pt-\[150px\] {
    padding-top: 150px;
  }
  .md\:pt-\[157px\] {
    padding-top: 157px;
  }
  .md\:pt-\[15px\] {
    padding-top: 15px;
  }
  .md\:pt-\[160px\] {
    padding-top: 160px;
  }
  .md\:pt-\[20px\] {
    padding-top: 20px;
  }
  .md\:pt-\[30px\] {
    padding-top: 30px;
  }
  .md\:pt-\[35px\] {
    padding-top: 35px;
  }
  .md\:text-left {
    text-align: left;
  }
  .md\:text-start {
    text-align: start;
  }
  .md\:text-\[17px\] {
    font-size: 17px;
  }
  .md\:text-\[18px\] {
    font-size: 18px;
  }
  .md\:text-\[19px\] {
    font-size: 19px;
  }
  .md\:text-\[20px\] {
    font-size: 20px;
  }
  .md\:text-\[21px\] {
    font-size: 21px;
  }
  .md\:text-\[22px\] {
    font-size: 22px;
  }
  .md\:text-\[24px\] {
    font-size: 24px;
  }
  .md\:text-\[26px\] {
    font-size: 26px;
  }
  .md\:text-\[28px\] {
    font-size: 28px;
  }
  .md\:text-\[40px\] {
    font-size: 40px;
  }
  .md\:text-\[50px\] {
    font-size: 50px;
  }
  .md\:leading-\[20px\] {
    line-height: 20px;
  }
  .md\:leading-\[21\.6px\] {
    line-height: 21.6px;
  }
  .md\:leading-\[21px\] {
    line-height: 21px;
  }
  .md\:leading-\[22px\] {
    line-height: 22px;
  }
  .md\:leading-\[24px\] {
    line-height: 24px;
  }
  .md\:leading-\[26\.4px\] {
    line-height: 26.4px;
  }
  .md\:leading-\[26px\] {
    line-height: 26px;
  }
  .md\:leading-\[27px\] {
    line-height: 27px;
  }
  .md\:leading-\[28\.5px\] {
    line-height: 28.5px;
  }
  .md\:leading-\[28\.8px\] {
    line-height: 28.8px;
  }
  .md\:leading-\[28px\] {
    line-height: 28px;
  }
  .md\:leading-\[40px\] {
    line-height: 40px;
  }
  .md\:leading-\[50px\] {
    line-height: 50px;
  }
  .md\:leading-\[60px\] {
    line-height: 60px;
  }
  .md\:leading-\[86px\] {
    line-height: 86px;
  }
}
@media (min-width: 1025px) {
  .min-\[1025px\]\:left-\[209px\] {
    left: 209px;
  }
  .min-\[1025px\]\:top-\[239px\] {
    top: 239px;
  }
  .min-\[1025px\]\:z-\[1\] {
    z-index: 1;
  }
  .min-\[1025px\]\:order-none {
    order: 0;
  }
  .min-\[1025px\]\:col-span-1 {
    grid-column: span 1 / span 1;
  }
  .min-\[1025px\]\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  .min-\[1025px\]\:-mb-\[53px\] {
    margin-bottom: -53px;
  }
  .min-\[1025px\]\:-mt-\[123px\] {
    margin-top: -123px;
  }
  .min-\[1025px\]\:-mt-\[20px\] {
    margin-top: -20px;
  }
  .min-\[1025px\]\:-mt-\[36px\] {
    margin-top: -36px;
  }
  .min-\[1025px\]\:mb-0 {
    margin-bottom: 0px;
  }
  .min-\[1025px\]\:mt-\[150px\] {
    margin-top: 150px;
  }
  .min-\[1025px\]\:block {
    display: block;
  }
  .min-\[1025px\]\:flex {
    display: flex;
  }
  .min-\[1025px\]\:hidden {
    display: none;
  }
  .min-\[1025px\]\:h-\[119\.33px\] {
    height: 119.33px;
  }
  .min-\[1025px\]\:h-\[320px\] {
    height: 320px;
  }
  .min-\[1025px\]\:h-\[420px\] {
    height: 420px;
  }
  .min-\[1025px\]\:min-h-\[75vh\] {
    min-height: 75vh;
  }
  .min-\[1025px\]\:min-h-screen {
    min-height: 100vh;
  }
  .min-\[1025px\]\:w-1\/2 {
    width: 50%;
  }
  .min-\[1025px\]\:w-1\/4 {
    width: 25%;
  }
  .min-\[1025px\]\:w-\[1200px\] {
    width: 1200px;
  }
  .min-\[1025px\]\:w-\[224px\] {
    width: 224px;
  }
  .min-\[1025px\]\:w-\[240px\] {
    width: 240px;
  }
  .min-\[1025px\]\:w-\[299px\] {
    width: 299px;
  }
  .min-\[1025px\]\:w-\[32\%\] {
    width: 32%;
  }
  .min-\[1025px\]\:w-\[336px\] {
    width: 336px;
  }
  .min-\[1025px\]\:w-\[35px\] {
    width: 35px;
  }
  .min-\[1025px\]\:w-\[373px\] {
    width: 373px;
  }
  .min-\[1025px\]\:w-\[40\%\] {
    width: 40%;
  }
  .min-\[1025px\]\:w-\[431px\] {
    width: 431px;
  }
  .min-\[1025px\]\:w-\[450px\] {
    width: 450px;
  }
  .min-\[1025px\]\:w-\[480px\] {
    width: 480px;
  }
  .min-\[1025px\]\:w-\[calc\(\(100\%-30px\)\/2\)\] {
    width: calc((100% - 30px) / 2);
  }
  .min-\[1025px\]\:w-\[calc\(\(100\%-66px\)\/4\)\] {
    width: calc((100% - 66px) / 4);
  }
  .min-\[1025px\]\:w-full {
    width: 100%;
  }
  .min-\[1025px\]\:max-w-\[1200px\] {
    max-width: 1200px;
  }
  .min-\[1025px\]\:max-w-full {
    max-width: 100%;
  }
  .min-\[1025px\]\:flex-1 {
    flex: 1 1 0%;
  }
  .min-\[1025px\]\:flex-none {
    flex: none;
  }
  .min-\[1025px\]\:shrink-0 {
    flex-shrink: 0;
  }
  .min-\[1025px\]\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .min-\[1025px\]\:grid-cols-\[25fr_50fr_25fr\] {
    grid-template-columns: 25fr 50fr 25fr;
  }
  .min-\[1025px\]\:flex-row {
    flex-direction: row;
  }
  .min-\[1025px\]\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .min-\[1025px\]\:items-start {
    align-items: flex-start;
  }
  .min-\[1025px\]\:items-center {
    align-items: center;
  }
  .min-\[1025px\]\:items-stretch {
    align-items: stretch;
  }
  .min-\[1025px\]\:justify-start {
    justify-content: flex-start;
  }
  .min-\[1025px\]\:justify-center {
    justify-content: center;
  }
  .min-\[1025px\]\:justify-between {
    justify-content: space-between;
  }
  .min-\[1025px\]\:gap-0 {
    gap: 0px;
  }
  .min-\[1025px\]\:gap-x-\[22px\] {
    -moz-column-gap: 22px;
         column-gap: 22px;
  }
  .min-\[1025px\]\:gap-x-\[24px\] {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
  .min-\[1025px\]\:gap-x-\[30px\] {
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
  .min-\[1025px\]\:gap-x-\[41px\] {
    -moz-column-gap: 41px;
         column-gap: 41px;
  }
  .min-\[1025px\]\:gap-y-0 {
    row-gap: 0px;
  }
  .min-\[1025px\]\:border-r-2 {
    border-right-width: 2px;
  }
  .min-\[1025px\]\:border-solid {
    border-style: solid;
  }
  .min-\[1025px\]\:bg-fixed {
    background-attachment: fixed;
  }
  .min-\[1025px\]\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .min-\[1025px\]\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .min-\[1025px\]\:py-\[150px\] {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .min-\[1025px\]\:pb-0 {
    padding-bottom: 0px;
  }
  .min-\[1025px\]\:pb-\[8px\] {
    padding-bottom: 8px;
  }
  .min-\[1025px\]\:pl-\[35px\] {
    padding-left: 35px;
  }
  .min-\[1025px\]\:pl-\[49px\] {
    padding-left: 49px;
  }
  .min-\[1025px\]\:pt-0 {
    padding-top: 0px;
  }
  .min-\[1025px\]\:pt-\[150px\] {
    padding-top: 150px;
  }
  .min-\[1025px\]\:pt-\[160px\] {
    padding-top: 160px;
  }
  .min-\[1025px\]\:pt-\[60px\] {
    padding-top: 60px;
  }
  .min-\[1025px\]\:pt-\[8px\] {
    padding-top: 8px;
  }
  .min-\[1025px\]\:text-right {
    text-align: right;
  }
  .min-\[1025px\]\:text-start {
    text-align: start;
  }
  .min-\[1025px\]\:text-\[110px\] {
    font-size: 110px;
  }
  .min-\[1025px\]\:text-\[15px\] {
    font-size: 15px;
  }
  .min-\[1025px\]\:text-\[19px\] {
    font-size: 19px;
  }
  .min-\[1025px\]\:text-\[20px\] {
    font-size: 20px;
  }
  .min-\[1025px\]\:text-\[22px\] {
    font-size: 22px;
  }
  .min-\[1025px\]\:text-\[23px\] {
    font-size: 23px;
  }
  .min-\[1025px\]\:text-\[26px\] {
    font-size: 26px;
  }
  .min-\[1025px\]\:text-\[27px\] {
    font-size: 27px;
  }
  .min-\[1025px\]\:text-\[28px\] {
    font-size: 28px;
  }
  .min-\[1025px\]\:text-\[29px\] {
    font-size: 29px;
  }
  .min-\[1025px\]\:text-\[30px\] {
    font-size: 30px;
  }
  .min-\[1025px\]\:text-\[32px\] {
    font-size: 32px;
  }
  .min-\[1025px\]\:text-\[37px\] {
    font-size: 37px;
  }
  .min-\[1025px\]\:text-\[40px\] {
    font-size: 40px;
  }
  .min-\[1025px\]\:text-\[54px\] {
    font-size: 54px;
  }
  .min-\[1025px\]\:text-\[58px\] {
    font-size: 58px;
  }
  .min-\[1025px\]\:text-\[72px\] {
    font-size: 72px;
  }
  .min-\[1025px\]\:text-\[75px\] {
    font-size: 75px;
  }
  .min-\[1025px\]\:text-\[77px\] {
    font-size: 77px;
  }
  .min-\[1025px\]\:leading-\[110px\] {
    line-height: 110px;
  }
  .min-\[1025px\]\:leading-\[15px\] {
    line-height: 15px;
  }
  .min-\[1025px\]\:leading-\[20px\] {
    line-height: 20px;
  }
  .min-\[1025px\]\:leading-\[22\.5px\] {
    line-height: 22.5px;
  }
  .min-\[1025px\]\:leading-\[23px\] {
    line-height: 23px;
  }
  .min-\[1025px\]\:leading-\[24px\] {
    line-height: 24px;
  }
  .min-\[1025px\]\:leading-\[26\.4px\] {
    line-height: 26.4px;
  }
  .min-\[1025px\]\:leading-\[26px\] {
    line-height: 26px;
  }
  .min-\[1025px\]\:leading-\[28px\] {
    line-height: 28px;
  }
  .min-\[1025px\]\:leading-\[30px\] {
    line-height: 30px;
  }
  .min-\[1025px\]\:leading-\[31\.2px\] {
    line-height: 31.2px;
  }
  .min-\[1025px\]\:leading-\[32px\] {
    line-height: 32px;
  }
  .min-\[1025px\]\:leading-\[33\.6px\] {
    line-height: 33.6px;
  }
  .min-\[1025px\]\:leading-\[33px\] {
    line-height: 33px;
  }
  .min-\[1025px\]\:leading-\[36px\] {
    line-height: 36px;
  }
  .min-\[1025px\]\:leading-\[37px\] {
    line-height: 37px;
  }
  .min-\[1025px\]\:leading-\[40px\] {
    line-height: 40px;
  }
  .min-\[1025px\]\:leading-\[54px\] {
    line-height: 54px;
  }
  .min-\[1025px\]\:leading-\[58px\] {
    line-height: 58px;
  }
  .min-\[1025px\]\:leading-\[70px\] {
    line-height: 70px;
  }
  .min-\[1025px\]\:leading-\[72px\] {
    line-height: 72px;
  }
  .min-\[1025px\]\:leading-\[75px\] {
    line-height: 75px;
  }
}
@media (min-width: 1230px) {
  .min-\[1230px\]\:gap-\[35px\] {
    gap: 35px;
  }
}
.\[\&\:hover_svg\]\:fill-white:hover svg {
  fill: #fff;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&_svg\]\:transition-\[fill\] svg {
  transition-property: fill;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.\[\&_svg\]\:duration-300 svg {
  transition-duration: 300ms;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./components/callback-v2/CallbackModalV2.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.cb-dialog{--cb-bg:rgba(10,10,10,.92);--cb-accent:#c0ef2e;--cb-text:#f1f4ed;--cb-muted:#bbc5bc;--cb-space:28px;position:fixed;inset:0;width:min(560px,calc(100% - 40px));max-width:calc(100% - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid rgba(190,242,100,.3);border-radius:20px;background:var(--cb-bg);color:var(--cb-text);backdrop-filter:blur(16px);box-shadow:0 32px 100px #0009,0 0 56px #c0ef2e0a;overflow:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#58633d #101511;color-scheme:dark;font-size:16px;line-height:1.65;isolation:isolate}
.cb-dialog[open]{animation:cb-enter .24s cubic-bezier(.16,1,.3,1) both}.cb-dialog::backdrop{background:rgba(2,6,7,.76);backdrop-filter:blur(6px);animation:cb-backdrop .2s ease-out}.cb-dialog *{box-sizing:border-box}.cb-dialog :is(h2,p){margin:0}.cb-dialog :is(a,button){font:inherit;touch-action:manipulation}.cb-dialog :is(h2,p,a,button){overflow-wrap:anywhere}.cb-dialog :is(a,button):focus-visible{outline:3px solid var(--cb-accent);outline-offset:4px}.cb-scroll{max-height:calc(100dvh - 42px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#58633d #101511}.cb-header{position:relative;padding:var(--cb-space) 76px 24px var(--cb-space);background:linear-gradient(135deg,#172015f5,#0c1110f5 80%);border-bottom:1px solid #c0ef2e12;backdrop-filter:blur(16px)}.cb-kicker{display:flex;align-items:center;gap:12px;color:var(--cb-text);font-size:16px;font-weight:550;line-height:1.5;margin-bottom:14px}.cb-kicker svg{color:var(--cb-accent);flex-shrink:0}.cb-close{z-index:4;position:absolute;top:16px;right:16px;width:48px;height:48px;display:grid;place-items:center;cursor:pointer;border:1px solid #7b897d;border-radius:12px;background:#101713f5;color:var(--cb-text);transition:box-shadow .2s,border-color .2s,background .2s}.cb-header h2{font-size:clamp(28px,3vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:650;color:var(--cb-accent);max-width:440px}.cb-header>p{font-size:16px;line-height:1.7;color:var(--cb-muted);margin-top:16px;max-width:420px}.cb-body{padding:24px var(--cb-space) var(--cb-space);min-width:0}.cb-form-panel{position:relative;padding:14px;border-radius:12px;background:#101617;color:var(--cb-text);min-height:487px;overflow:hidden;color-scheme:light}.cb-form-panel iframe{display:block;width:100%;height:459px;border:0;border-radius:10px;background:transparent;color-scheme:light}.cb-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;min-height:120px;background:#101617;color:var(--cb-muted);font-size:16px;text-align:center;pointer-events:none}.cb-footer{margin-top:20px}.cb-footer>p,.cb-form-status{color:var(--cb-muted);font-size:16px;line-height:1.7}.cb-form-status{margin-top:20px!important}.cb-footer>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.cb-footer a{display:inline-flex;align-items:center;gap:8px;min-height:48px;color:var(--cb-accent);font-size:16px;line-height:1.5;text-decoration:none}.cb-footer a svg{flex-shrink:0}.cb-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes cb-enter{from{opacity:.65;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cb-backdrop{from{opacity:.65}to{opacity:1}}@media(hover:hover){.cb-close:hover{border-color:var(--cb-accent);background:#c0ef2e0d;box-shadow:0 0 20px #c0ef2e1c}.cb-footer a:hover{text-decoration:underline;text-underline-offset:5px}}
@media(max-width:640px){.cb-dialog{--cb-space:20px;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.cb-scroll{max-height:calc(100dvh - 26px)}.cb-header{padding-right:72px;padding-bottom:20px}.cb-header h2{font-size:30px;line-height:1.15}.cb-header>p{margin-top:12px}.cb-body{padding-top:20px}.cb-form-panel{padding:10px;min-height:479px}.cb-close{top:12px;right:12px}.cb-footer{margin-top:16px}.cb-footer>div{gap:8px 16px}.cb-footer a{font-size:16px}}
@media(max-height:600px){.cb-dialog{max-height:calc(100dvh - 16px)}.cb-scroll{max-height:calc(100dvh - 18px)}.cb-header{padding-block:20px}.cb-header h2{font-size:28px}.cb-header>p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.cb-dialog,.cb-dialog *,.cb-dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./components/SiteFooter.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
.pe-footer {
  --footer-bg: #0a0a0a;
  --footer-text: #f5f6f4;
  --footer-muted: #b7bdb8;
  --footer-accent: #C0EF2E;
  --footer-line: rgba(255,255,255,.12);
  background: var(--footer-bg);
  color: var(--footer-text);
  border-top: 1px solid rgba(190,242,100,.2);
  box-shadow: 0 -8px 32px -24px rgba(190,242,100,.28);
  margin-top: 48px;
  font-family: 'Neue Kaine', Arial, sans-serif;
}
.pe-footer__container { width: 100%; max-width: 1440px; padding: 0 20px; margin: 0 auto; }
.pe-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 32px 0 28px; border-bottom: 1px solid var(--footer-line); }
.pe-footer__logo { display: flex; align-items: center; min-height: 48px; width: 200px; max-width: 100%; }
.pe-footer__logo img { width: 100%; height: auto; }
.pe-footer__brand p { font-size: 16px; line-height: 1.6; color: var(--footer-muted); }
.pe-footer__brand p span { display: block; color: var(--footer-text); }
.pe-footer__grid { display: grid; grid-template-columns: minmax(0,1fr); padding: 28px 0; gap: 0; }
.pe-footer h2 { margin: 0 0 12px; color: var(--footer-text); font-size: 18px; line-height: 1.5; font-weight: 600; }
.pe-footer__contact { min-width: 0; padding-bottom: 24px; }
.pe-footer__contact address { font-style: normal; }
.pe-footer__contact address a { display: flex; align-items: center; gap: 12px; padding: 8px 0; min-height: 48px; color: var(--footer-muted); font-size: 16px; line-height: 1.6; }
.pe-footer__contact address a span { min-width: 0; overflow-wrap: anywhere; }
.pe-footer__contact address svg { color: var(--footer-accent); flex-shrink: 0; }
.pe-footer__contact address a:hover { color: var(--footer-text); }
.pe-footer__socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pe-footer__socials :is(a,button) { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; width: 48px; height: 48px; border: 1px solid var(--footer-line); border-radius: 999px; background: rgba(255,255,255,.025); color: var(--footer-accent); transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.pe-footer__socials :is(a,button):hover { border-color: var(--footer-accent); background: var(--footer-accent); color: var(--footer-bg); transform: translateY(-2px); }
.pe-footer__links { min-width: 0; border-top: 1px solid var(--footer-line); }
.pe-footer__links h2 { margin-bottom: 0; }
.pe-footer__desktop-title { display: none; }
.pe-footer__accordion { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; width: 100%; text-align: left; }
.pe-footer__accordion svg { color: var(--footer-accent); transition: transform .2s ease; }
.pe-footer__links[data-expanded='true'] .pe-footer__accordion svg { transform: rotate(180deg); }
.pe-footer__link-list { display: none; }
.pe-footer__links[data-expanded='true'] .pe-footer__link-list { display: block; padding-bottom: 12px; }
.pe-footer__link-list a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; font-size: 16px; line-height: 1.5; color: var(--footer-muted); transition: color .2s ease; }
.pe-footer__link-list a > span { transition: transform .2s ease; }
.pe-footer__link-list a svg { flex-shrink: 0; color: var(--footer-accent); opacity: 0; transition: opacity .2s ease; }
.pe-footer__link-list a:hover, .pe-footer__link-list a:focus-visible { color: var(--footer-text); }
.pe-footer__link-list a:hover > span { transform: translateX(3px); }
.pe-footer__link-list a:hover svg, .pe-footer__link-list a:focus-visible svg { opacity: 1; }
.pe-footer__newsletter { min-width: 0; border-top: 1px solid var(--footer-line); }
.pe-footer__newsletter h2 { margin-bottom: 0; }
.pe-footer__newsletter[data-expanded='true'] .pe-footer__accordion svg { transform: rotate(180deg); }
.pe-footer__newsletter-content { display: none; padding-top: 12px; }
.pe-footer__newsletter[data-expanded='true'] .pe-footer__newsletter-content { display: block; }
.pe-footer__newsletter-copy { margin: 0 0 12px; color: var(--footer-muted); font-size: 16px; line-height: 1.6; }
.pe-footer__form { border: 1px solid var(--footer-line); border-radius: 8px; background: rgba(255,255,255,.025); padding: 0 14px; transition: border-color .2s, box-shadow .2s; }
.pe-footer__form:focus-within { border-color: var(--footer-accent); box-shadow: 0 0 0 3px rgba(192,239,46,.15); }
.pe-footer__form iframe { display: block; border: 0; border-radius: 8px; width: 100%; height: 205px; }
.pe-footer__privacy, .pe-footer__message a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; font-size: 14px; line-height: 1.6; color: var(--footer-muted); }
.pe-footer__privacy:hover, .pe-footer__message a:hover { color: var(--footer-accent); }
.pe-footer__message { margin-top: 12px; color: var(--footer-muted); font-size: 16px; line-height: 1.6; }
.pe-footer__bottom { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; padding: 20px 0 max(24px,env(safe-area-inset-bottom)); border-top: 1px solid var(--footer-line); }
.pe-footer__bottom p { font-size: 16px; line-height: 1.7; color: var(--footer-muted); }
.pe-footer__bottom nav { display: flex; flex-wrap: wrap; align-items: center; -moz-column-gap: 20px; column-gap: 20px; }
.pe-footer__bottom nav a { display: inline-flex; align-items: center; min-height: 48px; font-size: 14px; line-height: 1.5; color: var(--footer-muted); }
.pe-footer__credit { display: flex; align-items: center; gap: 8px; min-height: 48px; width: -moz-fit-content; width: fit-content; font-size: 14px; line-height: 1.7; color: var(--footer-muted); }
.pe-footer__credit strong { color: var(--footer-text); font-weight: 600; }
.pe-footer__credit svg { flex-shrink: 0; color: var(--footer-accent); }
.pe-footer__bottom a:hover { color: var(--footer-accent); }
.pe-footer :is(a,button):focus-visible { outline: 2px solid var(--footer-accent); outline-offset: 4px; border-radius: 3px; }
html[data-pe-footer-in-view] chat-widget:not([data-active='true']) { display: none !important; }
html[data-pe-footer-in-view] [data-pe-contact-rail] { visibility: hidden; }
@media (min-width: 768px) {
  .pe-footer { margin-top: 64px; }
  .pe-footer__container { padding-inline: 32px; }
  .pe-footer__brand { flex-direction: row; align-items: center; gap: 40px; padding-block: 36px; }
  .pe-footer__logo { width: 220px; flex-shrink: 0; }
  .pe-footer__brand p { border-left: 1px solid var(--footer-line); padding-left: 40px; }
  .pe-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; padding-block: 36px; }
  .pe-footer__contact { padding-bottom: 0; }
  .pe-footer__newsletter { border-top: 0; }
  .pe-footer__newsletter h2 { margin-bottom: 12px; }
  .pe-footer__newsletter-content, .pe-footer__newsletter[data-expanded='true'] .pe-footer__newsletter-content { display: block; padding-top: 0; }
  .pe-footer__links { border: 0; }
  .pe-footer__links h2 { margin-bottom: 12px; }
  .pe-footer__desktop-title { display: block; }
  .pe-footer__accordion { display: none; }
  .pe-footer__link-list, .pe-footer__links[data-expanded='true'] .pe-footer__link-list { display: block; padding-bottom: 0; }
  .pe-footer__bottom { grid-template-columns: 1fr 1fr; align-items: center; gap: 8px 24px; }
  .pe-footer__bottom nav { justify-content: flex-end; }
  .pe-footer__credit { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .pe-footer__container { padding-inline: 48px; }
  .pe-footer__brand { padding-block: 40px; }
  .pe-footer__grid { grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.85fr) minmax(0,1.25fr); gap: 32px; padding: 40px 0; }
  .pe-footer__bottom { grid-template-columns: minmax(0,1.25fr) auto minmax(0,1fr); gap: 24px; padding-block: 20px; }
  .pe-footer__bottom nav { justify-content: center; gap: 20px; }
  .pe-footer__credit { grid-column: auto; justify-self: end; }
}
@media (prefers-reduced-motion: reduce) {
  .pe-footer *, .pe-footer *::after { transition: none !important; animation: none !important; }
  .pe-footer__socials :is(a,button):hover, .pe-footer__link-list a:hover > span { transform: none; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./components/SiteHeader.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
:root { --pe-header-height: 80px; }
html { scroll-padding-top: calc(var(--pe-header-height) + 16px); }
.pe-header, .pe-menu {
  --header-accent: #C0EF2E;
  --header-ink: #0f172a;
  --header-text: #fff;
  --header-muted: #cbd5e1;
  --header-line: rgba(255,255,255,.16);
  color: var(--header-text);
  font-family: 'Neue Kaine', Arial, sans-serif;
}
.pe-header { position: sticky; top: 0; z-index: 100; background: rgba(15,23,42,.85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--header-line); }
.pe-header__bar, .pe-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: var(--pe-header-height); padding: 0 20px; width: 100%; max-width: 1600px; margin: 0 auto; }
.pe-header__logo { display: flex; align-items: center; flex: 0 1 174px; min-width: 0; height: 60px; }
.pe-header__logo img { width: 100%; height: 54px; -o-object-fit: contain; object-fit: contain; -o-object-position: left center; object-position: left center; }
.pe-header__actions { display: flex; flex-shrink: 0; align-items: center; gap: 8px; }
.pe-header__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--header-line); border-radius: 3px; color: var(--header-text); transition: color .2s, background .2s, border-color .2s; }
.pe-header__icon:hover { color: var(--header-accent); border-color: var(--header-accent); background: rgba(255,255,255,.04); }
.pe-header__desktop-only, .pe-header__desktop-nav { display: none; }
.pe-header__link { position: relative; display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; font-size: 16px; font-weight: 600; line-height: 1.4; }
.pe-header__link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--header-accent); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.pe-header__link:hover::after, .pe-header__link:focus-visible::after, .pe-header__link[aria-current='page']::after { transform: scaleX(1); }
.pe-header__languages { display: flex; align-items: center; flex-shrink: 0; font-size: 14px; font-weight: 600; line-height: 1.4; }
.pe-header__languages a { display: flex; align-items: center; justify-content: center; min-width: 38px; min-height: 44px; }
.pe-header__languages a:hover, .pe-header__languages a[aria-current='page'] { color: var(--header-accent); }
.pe-header__languages a[aria-current='page'] { text-decoration: underline; text-underline-offset: 5px; }
.pe-header__languages > span { width: 1px; height: 14px; background: var(--header-line); }
.pe-header__book { align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 12px 18px; border: 1px solid transparent; border-radius: 3px; background: var(--header-accent); color: #080b07; font-size: 15px; font-weight: 700; line-height: 1.3; transition: transform .2s ease, box-shadow .2s ease; }
.pe-header__book:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(192,239,46,.16); }
.pe-header :is(a,button):focus-visible, .pe-menu :is(a,button):focus-visible { outline: 2px solid var(--header-accent); outline-offset: 4px; }
.pe-menu { position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(15,23,42,.9); backdrop-filter: blur(20px); overflow: hidden; color-scheme: dark; }
.pe-menu[open] { display: flex; flex-direction: column; animation: pe-menu-enter .25s ease both; }
.pe-menu::backdrop { background: rgba(15,23,42,.35); backdrop-filter: blur(20px); }
.pe-menu__top { flex-shrink: 0; border-bottom: 1px solid var(--header-line); }
.pe-menu__top .pe-header__toggle svg { animation: pe-menu-icon .25s ease both; }
.pe-menu__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.pe-menu__content { display: grid; gap: 28px; max-width: 1240px; margin: 0 auto; padding: 20px; }
.pe-menu__primary a { display: flex; align-items: center; gap: 14px; min-height: 57px; padding: 10px 0; border-bottom: 1px solid var(--header-line); font-size: clamp(22px,5.6vw,34px); line-height: 1.25; font-weight: 600; }
.pe-menu__primary a > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.pe-menu__primary a > svg { margin-left: auto; flex-shrink: 0; color: var(--header-muted); }
.pe-menu__primary a:hover, .pe-menu__primary a[aria-current='page'] { color: var(--header-accent); }
.pe-menu__number { flex-shrink: 0; width: 22px; font: 13px/1.5 Arial,sans-serif; color: var(--header-muted); }
.pe-menu__secondary { display: flex; flex-direction: column; gap: 20px; }
.pe-menu__secondary nav a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 0; font-size: 18px; line-height: 1.4; }
.pe-menu__secondary nav a > svg:last-child { margin-left: auto; flex-shrink: 0; }
.pe-menu__secondary small { display: block; margin-top: 3px; font-size: 14px; color: var(--header-muted); }
.pe-menu__secondary nav a:hover { color: var(--header-accent); }
.pe-menu__assistant { display: flex; align-items: center; gap: 12px; padding: 14px; min-height: 52px; border: 1px solid var(--header-line); border-radius: 3px; text-align: left; font-size: 16px; line-height: 1.4; }
.pe-menu__assistant > svg { flex-shrink: 0; color: var(--header-accent); }
.pe-menu__assistant > svg:last-child { margin-left: auto; }
.pe-menu__assistant:hover { border-color: var(--header-accent); }
.pe-menu__status { margin: 0; font-size: 16px; line-height: 1.5; color: var(--header-muted); }
.pe-menu__secondary .pe-header__book { display: flex; width: 100%; font-size: 18px; min-height: 52px; }
.pe-menu__bottom { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding: 12px 20px max(12px,env(safe-area-inset-bottom)); border-top: 1px solid var(--header-line); background: rgba(15,23,42,.9); }
.pe-menu__contacts { display: flex; flex-direction: column; gap: 2px; }
.pe-menu__contacts a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 5px 0; font-size: 15px; line-height: 1.5; }
.pe-menu__contacts a > svg { color: var(--header-accent); flex-shrink: 0; }
.pe-menu__contacts a:hover { text-decoration: underline; text-underline-offset: 4px; }
@keyframes pe-menu-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pe-menu-icon { from { transform: rotate(-90deg) scale(.85); } to { transform: rotate(0) scale(1); } }
@media (min-width: 768px) {
  .pe-header__bar, .pe-menu__top { padding-inline: 32px; }
  .pe-menu__content { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 64px; padding: 40px 32px; }
  .pe-menu__primary a { min-height: 74px; font-size: 34px; }
  .pe-menu__bottom { padding: 20px 32px max(20px,env(safe-area-inset-bottom)); }
  .pe-menu__contacts { flex-direction: row; align-items: center; gap: 40px; }
}
@media (min-width: 1200px) {
  :root { --pe-header-height: 88px; }
  .pe-header__bar { gap: 12px; padding-inline: 24px; }
  .pe-header__logo { flex-basis: 140px; flex-shrink: 0; }
  .pe-header__desktop-nav { display: flex; flex: 1; align-items: center; justify-content: center; gap: 12px; }
  .pe-header__link { font-size: 15px; }
  .pe-header__desktop-only { display: flex; }
  .pe-header__actions { gap: 8px; }
  .pe-header__book { padding-inline: 14px; }
}
@media (min-width: 1280px) {
  .pe-header__bar { gap: 18px; }
  .pe-header__logo { flex-basis: 160px; }
  .pe-header__desktop-nav { gap: 16px; }
  .pe-header__link { font-size: 16px; }
}
@media (min-width: 1440px) {
  .pe-header__bar { padding-inline: 40px; gap: 28px; }
  .pe-header__logo { flex-basis: 190px; }
  .pe-header__desktop-nav { gap: 24px; }
  .pe-header__link { font-size: 17px; }
  .pe-header__actions { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pe-header *, .pe-header *::after, .pe-menu, .pe-menu * { animation: none !important; transition: none !important; }
  .pe-header__book:hover { transform: none; }
}

