*, ::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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

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

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
    body {
        font-family: "Bethany Elingston", Georgia, serif;
        font-synthesis: none;
    }
.\!container {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }

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

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }

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

  .\!container {
    max-width: 1280px !important;
    padding-right: 5rem !important;
    padding-left: 5rem !important;
  }

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

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
.text-display {
        font-family: "PP Neue World", sans-serif;
        font-size: var(--text-display);
        font-weight: 300;
        line-height: 0.8; /* Figma 120/150 */
        letter-spacing: -0.02em; /* Figma -2% */
        text-transform: uppercase;
        font-synthesis: none;
    }
.text-script {
        font-family: "Sloop Script", cursive;
        font-size: var(--text-script);
        font-weight: 400;
        line-height: 0.8;
        letter-spacing: 0;
        text-transform: none;
        font-synthesis: none;
    }
.text-brand {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-brand);
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        font-synthesis: none;
    }
.text-lead {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-lead);
        font-weight: 400;
        line-height: 3.3vw; /* 50px @ 1500 */
        letter-spacing: 0;
        text-transform: uppercase;
        text-align: center;
        font-synthesis: none;
    }
.text-body {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-body);
        font-weight: 400;
        line-height: 1.45;
        font-synthesis: none;
    }
.text-label {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-label);
        font-weight: 400;
        line-height: 1.3vw; /* 20px @ 1500 */
        letter-spacing: 0.2em; /* Figma 20% */
        text-align: center;
        text-transform: uppercase;
        font-synthesis: none;
    }
.text-kicker {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-kicker);
        font-weight: 400;
        line-height: 2.6vw; /* 39px @ 1500 */
        letter-spacing: 0.2em; /* Figma 20% */
        text-align: center;
        text-transform: uppercase;
        font-synthesis: none;
    }
.text-btn {
        font-family: "PP Neue World", sans-serif;
        font-size: var(--text-btn);
        font-weight: 300;
        line-height: 2.1vw; /* 32px @ 1500 */
        letter-spacing: 0;
        text-transform: none;
        font-synthesis: none;
    }
.text-nav {
        font-family: "Bethany Elingston", Georgia, serif;
        font-size: var(--text-nav);
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        font-synthesis: none;
    }
.btn-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 1.5rem;
        text-decoration: none;
        position: relative;
        overflow: hidden;
        isolation: isolate;
        border-style: solid;
        border-width: 1px;
        /* Stessa curva/durata di ::before (fill): solid e outline restano in sync */
        transition:
            color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            border-radius 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.2s ease;
    }
.btn-pill::before {
        content: "";
        position: absolute;
        /* -1px: evita hairline in basso/lati durante scaleX + border-radius */
        inset: -1px;
        z-index: -1;
        background-color: var(--btn-pill-fill, var(--color-white));
        transform-origin: left center;
        transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
        pointer-events: none;
    }
/* Solid: fill pieno → outline su hover */
.btn-pill--solid {
        --btn-pill-fill: var(--color-white);
        --btn-pill-color: var(--color-olive);
        --btn-pill-hover-color: var(--color-white);
        --btn-pill-hover-border: rgba(255, 255, 255, 0.85);

        background-color: transparent;
        border-color: transparent;
        color: var(--btn-pill-color);
        border-radius: 0.7vw; /* 10px @ 1500 */
    }
.btn-pill--solid::before {
        transform: scaleX(1);
    }
/* Outline: bordo → fill su hover */
.btn-pill--outline {
        --btn-pill-fill: var(--color-white);
        --btn-pill-color: var(--color-white);
        --btn-pill-hover-color: var(--color-olive);
        --btn-pill-hover-border: var(--color-white);

        background-color: transparent;
        border-color: rgba(255, 255, 255, 0.85);
        color: var(--btn-pill-color);
        border-radius: 2vw; /* 30px @ 1500 */
    }
.btn-pill--outline::before {
        transform: scaleX(0);
    }
/* Outline ink (su fondi chiari) */
.btn-pill--outline-ink {
        --btn-pill-fill: var(--color-ink);
        --btn-pill-color: var(--color-ink);
        --btn-pill-hover-color: var(--color-white);
        --btn-pill-hover-border: var(--color-ink);

        background-color: transparent;
        border-color: rgba(17, 17, 17, 0.85);
        color: var(--btn-pill-color);
        border-radius: 2vw;
    }
.btn-pill--outline-ink::before {
        transform: scaleX(0);
    }
@media (hover: hover) and (pointer: fine) {
        .btn-pill--solid:hover,
        .btn-pill--solid:focus-visible {
            opacity: 1;
            color: var(--btn-pill-hover-color);
            border-color: var(--btn-pill-hover-border);
            border-radius: 2vw;
        }

        .btn-pill--solid:hover::before,
        .btn-pill--solid:focus-visible::before {
            transform: scaleX(0);
        }

        .btn-pill--outline:hover,
        .btn-pill--outline:focus-visible,
        .btn-pill--outline-ink:hover,
        .btn-pill--outline-ink:focus-visible {
            opacity: 1;
            color: var(--btn-pill-hover-color);
            border-color: var(--btn-pill-hover-border);
            border-radius: 0.7vw;
        }

        .btn-pill--outline:hover::before,
        .btn-pill--outline:focus-visible::before,
        .btn-pill--outline-ink:hover::before,
        .btn-pill--outline-ink:focus-visible::before {
            transform: scaleX(1);
        }
    }
@media (prefers-reduced-motion: reduce) {
        .btn-pill,
        .btn-pill::before {
            transition: none;
        }

        .btn-pill--solid:hover,
        .btn-pill--solid:focus-visible {
            background-color: transparent;
            color: var(--btn-pill-hover-color);
            border-color: var(--btn-pill-hover-border);
            border-radius: 2vw;
        }

        .btn-pill--solid:hover::before,
        .btn-pill--solid:focus-visible::before {
            transform: scaleX(0);
        }

        .btn-pill--outline:hover,
        .btn-pill--outline:focus-visible,
        .btn-pill--outline-ink:hover,
        .btn-pill--outline-ink:focus-visible {
            background-color: var(--btn-pill-fill);
            color: var(--btn-pill-hover-color);
            border-color: var(--btn-pill-hover-border);
            border-radius: 0.7vw;
        }

        .btn-pill--outline:hover::before,
        .btn-pill--outline:focus-visible::before,
        .btn-pill--outline-ink:hover::before,
        .btn-pill--outline-ink:focus-visible::before {
            display: none;
        }
    }
/* Cerchio freccia: fill bg dal basso → ink, icona bianca */
.btn-circle-arrow {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        isolation: isolate;
        border-style: solid;
        border-width: 1px;
        border-color: var(--color-ink, #111);
        border-radius: 9999px;
        background: transparent;
        color: var(--color-ink, #111);
        text-decoration: none;
        cursor: pointer;
        transition:
            color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.2s ease;
    }
.btn-circle-arrow:disabled {
        cursor: default;
        opacity: 0.35;
        pointer-events: none;
    }
.btn-circle-arrow__icon {
        display: block;
        position: relative;
        transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    }
.btn-circle-arrow::before {
        content: "";
        position: absolute;
        inset: -1px;
        z-index: -1;
        background-color: var(--color-ink, #111);
        transform: scaleY(0);
        transform-origin: bottom center;
        transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
        pointer-events: none;
    }
@media (hover: hover) and (pointer: fine) {
        .btn-circle-arrow:hover:not(:disabled),
        .btn-circle-arrow:focus-visible:not(:disabled) {
            color: #fff;
            border-color: var(--color-ink, #111);
        }

        .btn-circle-arrow:hover:not(:disabled)::before,
        .btn-circle-arrow:focus-visible:not(:disabled)::before {
            transform: scaleY(1);
        }

        .btn-circle-arrow--tilt:hover:not(:disabled) .btn-circle-arrow__icon,
        .btn-circle-arrow--tilt:focus-visible:not(:disabled) .btn-circle-arrow__icon {
            transform: rotate(-45deg);
        }
    }
@media (prefers-reduced-motion: reduce) {
        .btn-circle-arrow,
        .btn-circle-arrow::before,
        .btn-circle-arrow__icon {
            transition: none;
        }

        .btn-circle-arrow:hover:not(:disabled),
        .btn-circle-arrow:focus-visible:not(:disabled) {
            background-color: var(--color-ink, #111);
            color: #fff;
        }

        .btn-circle-arrow:hover:not(:disabled)::before,
        .btn-circle-arrow:focus-visible:not(:disabled)::before {
            display: none;
        }

        .btn-circle-arrow--tilt:hover:not(:disabled) .btn-circle-arrow__icon,
        .btn-circle-arrow--tilt:focus-visible:not(:disabled) .btn-circle-arrow__icon {
            transform: rotate(-45deg);
        }
    }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-\[6\.6vw\] {
  left: 6.6vw;
  right: 6.6vw;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.inset-x-\[4\%\] {
  left: 4%;
  right: 4%;
}
.inset-x-\[5\%\] {
  left: 5%;
  right: 5%;
}
.inset-x-\[6\%\] {
  left: 6%;
  right: 6%;
}
.inset-x-\[8\%\] {
  left: 8%;
  right: 8%;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-\[1\.5\%\] {
  bottom: 1.5%;
}
.bottom-\[10\%\] {
  bottom: 10%;
}
.bottom-\[12\%\] {
  bottom: 12%;
}
.bottom-\[12vw\] {
  bottom: 12vw;
}
.bottom-\[14\%\] {
  bottom: 14%;
}
.bottom-\[15\%\] {
  bottom: 15%;
}
.bottom-\[6\%\] {
  bottom: 6%;
}
.bottom-\[6vw\] {
  bottom: 6vw;
}
.bottom-\[8\%\] {
  bottom: 8%;
}
.bottom-\[8vw\] {
  bottom: 8vw;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-4 {
  left: 1rem;
}
.left-\[0\%\] {
  left: 0%;
}
.left-\[10\.6vw\] {
  left: 10.6vw;
}
.left-\[100\%\] {
  left: 100%;
}
.left-\[105\%\] {
  left: 105%;
}
.left-\[110\%\] {
  left: 110%;
}
.left-\[135\%\] {
  left: 135%;
}
.left-\[15\%\] {
  left: 15%;
}
.left-\[21vw\] {
  left: 21vw;
}
.left-\[28\%\] {
  left: 28%;
}
.left-\[28vw\] {
  left: 28vw;
}
.left-\[40\%\] {
  left: 40%;
}
.left-\[45\%\] {
  left: 45%;
}
.left-\[50\%\] {
  left: 50%;
}
.left-\[55\%\] {
  left: 55%;
}
.left-\[58\%\] {
  left: 58%;
}
.left-\[6\.6vw\] {
  left: 6.6vw;
}
.left-\[60\%\] {
  left: 60%;
}
.left-\[65\%\] {
  left: 65%;
}
.left-\[67\%\] {
  left: 67%;
}
.left-\[6vw\] {
  left: 6vw;
}
.left-\[70\%\] {
  left: 70%;
}
.left-\[90\%\] {
  left: 90%;
}
.right-0 {
  right: 0px;
}
.right-\[1\.4vw\] {
  right: 1.4vw;
}
.right-\[10vw\] {
  right: 10vw;
}
.right-\[5\%\] {
  right: 5%;
}
.right-\[5vw\] {
  right: 5vw;
}
.right-\[6\.6vw\] {
  right: 6.6vw;
}
.right-\[6vw\] {
  right: 6vw;
}
.right-\[8vw\] {
  right: 8vw;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-\[-25\%\] {
  top: -25%;
}
.top-\[-40\%\] {
  top: -40%;
}
.top-\[-50\%\] {
  top: -50%;
}
.top-\[0\%\] {
  top: 0%;
}
.top-\[1\.4vw\] {
  top: 1.4vw;
}
.top-\[10\%\] {
  top: 10%;
}
.top-\[20\%\] {
  top: 20%;
}
.top-\[20vh\] {
  top: 20vh;
}
.top-\[25\%\] {
  top: 25%;
}
.top-\[30\%\] {
  top: 30%;
}
.top-\[35\%\] {
  top: 35%;
}
.top-\[40\%\] {
  top: 40%;
}
.top-\[42\%\] {
  top: 42%;
}
.top-\[48\%\] {
  top: 48%;
}
.top-\[4vw\] {
  top: 4vw;
}
.top-\[5\%\] {
  top: 5%;
}
.top-\[5\.5vw\] {
  top: 5.5vw;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[55\%\] {
  top: 55%;
}
.top-\[5vw\] {
  top: 5vw;
}
.top-\[80\%\] {
  top: 80%;
}
.top-\[85\%\] {
  top: 85%;
}
.left-\[5\%\] {
  left: 5%;
}
.left-\[6\%\] {
  left: 6%;
}
.top-\[28\%\] {
  top: 28%;
}
.top-\[70\%\] {
  top: 70%;
}
.bottom-\[7\%\] {
  bottom: 7%;
}
.left-\[8\%\] {
  left: 8%;
}
.right-\[8\%\] {
  right: 8%;
}
.top-\[34\%\] {
  top: 34%;
}
.top-\[57\%\] {
  top: 57%;
}
.top-\[6\%\] {
  top: 6%;
}
.top-\[-15\%\] {
  top: -15%;
}
.left-\[18\%\] {
  left: 18%;
}
.top-\[8\%\] {
  top: 8%;
}
.top-\[32\%\] {
  top: 32%;
}
.top-\[52\%\] {
  top: 52%;
}
.isolate {
  isolation: isolate;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[80\] {
  z-index: 80;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-5 {
  grid-column: span 5 / span 5;
}
.col-span-7 {
  grid-column: span 7 / span 7;
}
.col-start-6 {
  grid-column-start: 6;
}
.m-0 {
  margin: 0px;
}
.mx-\[0\.08em\] {
  margin-left: 0.08em;
  margin-right: 0.08em;
}
.mx-\[0\.6vw\] {
  margin-left: 0.6vw;
  margin-right: 0.6vw;
}
.mx-\[4vw\] {
  margin-left: 4vw;
  margin-right: 4vw;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.-mb-px {
  margin-bottom: -1px;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-\[0\.08em\] {
  margin-bottom: 0.08em;
}
.mb-\[0\.275vw\] {
  margin-bottom: 0.275vw;
}
.mb-\[1\.2vw\] {
  margin-bottom: 1.2vw;
}
.mb-\[1\.4vw\] {
  margin-bottom: 1.4vw;
}
.mb-\[1\.8vw\] {
  margin-bottom: 1.8vw;
}
.mb-\[10vh\] {
  margin-bottom: 10vh;
}
.mb-\[1vw\] {
  margin-bottom: 1vw;
}
.mb-\[2\.5vw\] {
  margin-bottom: 2.5vw;
}
.mb-\[2vw\] {
  margin-bottom: 2vw;
}
.mb-\[3vw\] {
  margin-bottom: 3vw;
}
.mb-\[4vw\] {
  margin-bottom: 4vw;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-\[0\.15em\] {
  margin-left: 0.15em;
}
.ml-\[0\.2em\] {
  margin-left: 0.2em;
}
.ml-\[0\.35em\] {
  margin-left: 0.35em;
}
.ml-\[12vw\] {
  margin-left: 12vw;
}
.ml-\[16vw\] {
  margin-left: 16vw;
}
.ml-\[18vw\] {
  margin-left: 18vw;
}
.ml-\[1vw\] {
  margin-left: 1vw;
}
.ml-\[20vw\] {
  margin-left: 20vw;
}
.ml-\[22vw\] {
  margin-left: 22vw;
}
.ml-\[2vw\] {
  margin-left: 2vw;
}
.ml-\[3\.3vw\] {
  margin-left: 3.3vw;
}
.ml-\[3vw\] {
  margin-left: 3vw;
}
.ml-\[5vw\] {
  margin-left: 5vw;
}
.ml-\[6vw\] {
  margin-left: 6vw;
}
.ml-auto {
  margin-left: auto;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-\[3vw\] {
  margin-right: 3vw;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[-0\.15em\] {
  margin-top: -0.15em;
}
.mt-\[-0\.4vw\] {
  margin-top: -0.4vw;
}
.mt-\[-0\.5vw\] {
  margin-top: -0.5vw;
}
.mt-\[-1\.2vw\] {
  margin-top: -1.2vw;
}
.mt-\[-1vw\] {
  margin-top: -1vw;
}
.mt-\[-2vw\] {
  margin-top: -2vw;
}
.mt-\[0\.1vw\] {
  margin-top: 0.1vw;
}
.mt-\[0\.45vw\] {
  margin-top: 0.45vw;
}
.mt-\[0\.55vw\] {
  margin-top: 0.55vw;
}
.mt-\[0\.6vw\] {
  margin-top: 0.6vw;
}
.mt-\[1\.2em\] {
  margin-top: 1.2em;
}
.mt-\[1\.2vw\] {
  margin-top: 1.2vw;
}
.mt-\[1\.4vw\] {
  margin-top: 1.4vw;
}
.mt-\[1\.6vw\] {
  margin-top: 1.6vw;
}
.mt-\[1\.8vw\] {
  margin-top: 1.8vw;
}
.mt-\[10vh\] {
  margin-top: 10vh;
}
.mt-\[1vw\] {
  margin-top: 1vw;
}
.mt-\[2\.2vw\] {
  margin-top: 2.2vw;
}
.mt-\[2\.4vw\] {
  margin-top: 2.4vw;
}
.mt-\[2\.5vw\] {
  margin-top: 2.5vw;
}
.mt-\[20vh\] {
  margin-top: 20vh;
}
.mt-\[2vw\] {
  margin-top: 2vw;
}
.mt-\[3\.5vw\] {
  margin-top: 3.5vw;
}
.mt-\[3vw\] {
  margin-top: 3vw;
}
.mt-\[4\.5vw\] {
  margin-top: 4.5vw;
}
.mt-\[4vw\] {
  margin-top: 4vw;
}
.mt-\[6vw\] {
  margin-top: 6vw;
}
.mt-\[8vw\] {
  margin-top: 8vw;
}
.mt-auto {
  margin-top: auto;
}
.ml-\[4vw\] {
  margin-left: 4vw;
}
.mt-\[-3vw\] {
  margin-top: -3vw;
}
.mt-16 {
  margin-top: 4rem;
}
.ml-\[28vw\] {
  margin-left: 28vw;
}
.mt-12 {
  margin-top: 3rem;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-\[1500\/800\] {
  aspect-ratio: 1500/800;
}
.aspect-\[1500\/820\] {
  aspect-ratio: 1500/820;
}
.aspect-\[1500\/900\] {
  aspect-ratio: 1500/900;
}
.aspect-\[16\/11\] {
  aspect-ratio: 16/11;
}
.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-20 {
  height: 5rem;
}
.h-3 {
  height: 0.75rem;
}
.h-32 {
  height: 8rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-\[0\.9vw\] {
  height: 0.9vw;
}
.h-\[1\.1vw\] {
  height: 1.1vw;
}
.h-\[1\.2vw\] {
  height: 1.2vw;
}
.h-\[100svh\] {
  height: 100svh;
}
.h-\[100vh\] {
  height: 100vh;
}
.h-\[10vw\] {
  height: 10vw;
}
.h-\[12vw\] {
  height: 12vw;
}
.h-\[13vw\] {
  height: 13vw;
}
.h-\[14vw\] {
  height: 14vw;
}
.h-\[16vw\] {
  height: 16vw;
}
.h-\[17\.3vw\] {
  height: 17.3vw;
}
.h-\[18vw\] {
  height: 18vw;
}
.h-\[2\.4vw\] {
  height: 2.4vw;
}
.h-\[2\.6vw\] {
  height: 2.6vw;
}
.h-\[22vw\] {
  height: 22vw;
}
.h-\[25vw\] {
  height: 25vw;
}
.h-\[28\.6vw\] {
  height: 28.6vw;
}
.h-\[28vw\] {
  height: 28vw;
}
.h-\[2vw\] {
  height: 2vw;
}
.h-\[3\.3vw\] {
  height: 3.3vw;
}
.h-\[30vw\] {
  height: 30vw;
}
.h-\[32\.6vw\] {
  height: 32.6vw;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[4\.3vw\] {
  height: 4.3vw;
}
.h-\[40vh\] {
  height: 40vh;
}
.h-\[42vw\] {
  height: 42vw;
}
.h-\[44\.6vw\] {
  height: 44.6vw;
}
.h-\[45\.3vw\] {
  height: 45.3vw;
}
.h-\[48vw\] {
  height: 48vw;
}
.h-\[52vh\] {
  height: 52vh;
}
.h-\[55vh\] {
  height: 55vh;
}
.h-\[7\.3vw\] {
  height: 7.3vw;
}
.h-\[72vw\] {
  height: 72vw;
}
.h-\[78vh\] {
  height: 78vh;
}
.h-\[8\.6vw\] {
  height: 8.6vw;
}
.h-\[85vh\] {
  height: 85vh;
}
.h-\[calc\(90vh-180px\)\] {
  height: calc(90vh - 180px);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.h-svh {
  height: 100svh;
}
.h-\[55vw\] {
  height: 55vw;
}
.h-\[4\.5vw\] {
  height: 4.5vw;
}
.h-\[32vw\] {
  height: 32vw;
}
.max-h-\[78vh\] {
  max-height: 78vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-full {
  max-height: 100%;
}
.max-h-\[70vw\] {
  max-height: 70vw;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[100svh\] {
  min-height: 100svh;
}
.min-h-\[175vw\] {
  min-height: 175vw;
}
.min-h-\[28vh\] {
  min-height: 28vh;
}
.min-h-\[28vw\] {
  min-height: 28vw;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.min-h-\[200vw\] {
  min-height: 200vw;
}
.min-h-\[210vw\] {
  min-height: 210vw;
}
.min-h-\[225vw\] {
  min-height: 225vw;
}
.min-h-\[110vw\] {
  min-height: 110vw;
}
.min-h-\[230vw\] {
  min-height: 230vw;
}
.w-1\/3 {
  width: 33.333333%;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-16 {
  width: 4rem;
}
.w-6 {
  width: 1.5rem;
}
.w-\[0\.9vw\] {
  width: 0.9vw;
}
.w-\[1\.1vw\] {
  width: 1.1vw;
}
.w-\[1\.2vw\] {
  width: 1.2vw;
}
.w-\[1\.6vw\] {
  width: 1.6vw;
}
.w-\[10vw\] {
  width: 10vw;
}
.w-\[13\.3vw\] {
  width: 13.3vw;
}
.w-\[13vw\] {
  width: 13vw;
}
.w-\[14vw\] {
  width: 14vw;
}
.w-\[16\.6vw\] {
  width: 16.6vw;
}
.w-\[16vw\] {
  width: 16vw;
}
.w-\[18vw\] {
  width: 18vw;
}
.w-\[19vw\] {
  width: 19vw;
}
.w-\[2\.6vw\] {
  width: 2.6vw;
}
.w-\[20vw\] {
  width: 20vw;
}
.w-\[22vw\] {
  width: 22vw;
}
.w-\[25vw\] {
  width: 25vw;
}
.w-\[26vw\] {
  width: 26vw;
}
.w-\[28\.6vw\] {
  width: 28.6vw;
}
.w-\[28vw\] {
  width: 28vw;
}
.w-\[2vw\] {
  width: 2vw;
}
.w-\[3\.3vw\] {
  width: 3.3vw;
}
.w-\[30vw\] {
  width: 30vw;
}
.w-\[31\.6vw\] {
  width: 31.6vw;
}
.w-\[32vw\] {
  width: 32vw;
}
.w-\[34vw\] {
  width: 34vw;
}
.w-\[35vw\] {
  width: 35vw;
}
.w-\[38vw\] {
  width: 38vw;
}
.w-\[42vw\] {
  width: 42vw;
}
.w-\[45vw\] {
  width: 45vw;
}
.w-\[46\%\] {
  width: 46%;
}
.w-\[48vw\] {
  width: 48vw;
}
.w-\[55vw\] {
  width: 55vw;
}
.w-\[58vw\] {
  width: 58vw;
}
.w-\[72\%\] {
  width: 72%;
}
.w-\[85vw\] {
  width: 85vw;
}
.w-\[88vw\] {
  width: 88vw;
}
.w-\[calc\(\(100vw-13\.2vw\)\/3\)\] {
  width: calc((100vw - 13.2vw) / 3);
}
.w-\[calc\(\(100vw-13\.2vw-1\.5vw\)\/2\)\] {
  width: calc((100vw - 13.2vw - 1.5vw) / 2);
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-screen {
  width: 100vw;
}
.w-\[52vw\] {
  width: 52vw;
}
.w-\[4\.5vw\] {
  width: 4.5vw;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[1\.25rem\] {
  min-width: 1.25rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[20vw\] {
  max-width: 20vw;
}
.max-w-\[22vw\] {
  max-width: 22vw;
}
.max-w-\[24vw\] {
  max-width: 24vw;
}
.max-w-\[28vw\] {
  max-width: 28vw;
}
.max-w-\[30vw\] {
  max-width: 30vw;
}
.max-w-\[32vw\] {
  max-width: 32vw;
}
.max-w-\[36vw\] {
  max-width: 36vw;
}
.max-w-\[40vw\] {
  max-width: 40vw;
}
.max-w-\[42vw\] {
  max-width: 42vw;
}
.max-w-\[45vw\] {
  max-width: 45vw;
}
.max-w-\[46vw\] {
  max-width: 46vw;
}
.max-w-\[48vw\] {
  max-width: 48vw;
}
.max-w-\[52vw\] {
  max-width: 52vw;
}
.max-w-\[54vw\] {
  max-width: 54vw;
}
.max-w-\[58vw\] {
  max-width: 58vw;
}
.max-w-\[60vw\] {
  max-width: 60vw;
}
.max-w-\[62vw\] {
  max-width: 62vw;
}
.max-w-\[70vw\] {
  max-width: 70vw;
}
.max-w-\[75vw\] {
  max-width: 75vw;
}
.max-w-\[78vw\] {
  max-width: 78vw;
}
.max-w-\[88vw\] {
  max-width: 88vw;
}
.max-w-full {
  max-width: 100%;
}
.max-w-none {
  max-width: none;
}
.max-w-\[55\%\] {
  max-width: 55%;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[0\.95\] {
  flex: 0.95;
}
.flex-shrink {
  flex-shrink: 1;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.-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-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-\[8vw_minmax\(0\2c 1fr\)_3\.5vw\] {
  grid-template-columns: 8vw minmax(0,1fr) 3.5vw;
}
.grid-cols-\[repeat\(14\2c minmax\(0\2c 1fr\)\)\] {
  grid-template-columns: repeat(14,minmax(0,1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[0\.35vw\] {
  gap: 0.35vw;
}
.gap-\[0\.6vw\] {
  gap: 0.6vw;
}
.gap-\[0\.7vw\] {
  gap: 0.7vw;
}
.gap-\[1\.2vw\] {
  gap: 1.2vw;
}
.gap-\[1\.4vw\] {
  gap: 1.4vw;
}
.gap-\[1\.5vw\] {
  gap: 1.5vw;
}
.gap-\[1\.6vw\] {
  gap: 1.6vw;
}
.gap-\[1\.8vw\] {
  gap: 1.8vw;
}
.gap-\[1vw\] {
  gap: 1vw;
}
.gap-\[2\.4vw\] {
  gap: 2.4vw;
}
.gap-\[2\.5vw\] {
  gap: 2.5vw;
}
.gap-\[2\.7vw\] {
  gap: 2.7vw;
}
.gap-\[2vw\] {
  gap: 2vw;
}
.gap-\[3vw\] {
  gap: 3vw;
}
.gap-\[4vw\] {
  gap: 4vw;
}
.gap-\[5vw\] {
  gap: 5vw;
}
.gap-x-\[0\.6vw\] {
  -moz-column-gap: 0.6vw;
       column-gap: 0.6vw;
}
.gap-x-\[0\.8vw\] {
  -moz-column-gap: 0.8vw;
       column-gap: 0.8vw;
}
.gap-x-\[1\.5vw\] {
  -moz-column-gap: 1.5vw;
       column-gap: 1.5vw;
}
.gap-x-\[2vw\] {
  -moz-column-gap: 2vw;
       column-gap: 2vw;
}
.gap-x-\[3vw\] {
  -moz-column-gap: 3vw;
       column-gap: 3vw;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-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-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-y-auto {
  overflow-y: auto;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[0\.7vw\] {
  border-radius: 0.7vw;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-0 {
  border-bottom-width: 0px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-r-0 {
  border-right-width: 0px;
}
.border-t {
  border-top-width: 1px;
}
.border-\[\#b7b7b7\] {
  --tw-border-opacity: 1;
  border-color: rgb(183 183 183 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-ink {
  --tw-border-opacity: 1;
  border-color: rgb(17 17 17 / var(--tw-border-opacity, 1));
}
.border-ink\/15 {
  border-color: rgb(17 17 17 / 0.15);
}
.border-ink\/20 {
  border-color: rgb(17 17 17 / 0.2);
}
.border-ink\/25 {
  border-color: rgb(17 17 17 / 0.25);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.bg-\[\#C8DADF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(200 218 223 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3F0E6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 240 230 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFFFFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ffffff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-ink {
  --tw-bg-opacity: 1;
  background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1));
}
.bg-ink\/20 {
  background-color: rgb(17 17 17 / 0.2);
}
.bg-ink\/25 {
  background-color: rgb(17 17 17 / 0.25);
}
.bg-ink\/35 {
  background-color: rgb(17 17 17 / 0.35);
}
.bg-ink\/40 {
  background-color: rgb(17 17 17 / 0.4);
}
.bg-ink\/5 {
  background-color: rgb(17 17 17 / 0.05);
}
.bg-moss {
  --tw-bg-opacity: 1;
  background-color: rgb(181 172 65 / var(--tw-bg-opacity, 1));
}
.bg-olive {
  --tw-bg-opacity: 1;
  background-color: rgb(113 107 43 / var(--tw-bg-opacity, 1));
}
.bg-olive-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(46 42 28 / var(--tw-bg-opacity, 1));
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-sage {
  --tw-bg-opacity: 1;
  background-color: rgb(203 202 177 / var(--tw-bg-opacity, 1));
}
.bg-slate {
  --tw-bg-opacity: 1;
  background-color: rgb(65 76 86 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-wine {
  --tw-bg-opacity: 1;
  background-color: rgb(74 10 25 / var(--tw-bg-opacity, 1));
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-opacity-50 {
  --tw-bg-opacity: 0.5;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-\[center_35\%\] {
  -o-object-position: center 35%;
     object-position: center 35%;
}
.object-\[center_70\%\] {
  -o-object-position: center 70%;
     object-position: center 70%;
}
.p-0 {
  padding: 0px;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-\[4vw\] {
  padding: 4vw;
}
.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-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[0\.2em\] {
  padding-left: 0.2em;
  padding-right: 0.2em;
}
.px-\[0\.35em\] {
  padding-left: 0.35em;
  padding-right: 0.35em;
}
.px-\[0\.8vw\] {
  padding-left: 0.8vw;
  padding-right: 0.8vw;
}
.px-\[1\.5vw\] {
  padding-left: 1.5vw;
  padding-right: 1.5vw;
}
.px-\[1vw\] {
  padding-left: 1vw;
  padding-right: 1vw;
}
.px-\[2\.2vw\] {
  padding-left: 2.2vw;
  padding-right: 2.2vw;
}
.px-\[2\.4vw\] {
  padding-left: 2.4vw;
  padding-right: 2.4vw;
}
.px-\[2\.5vw\] {
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}
.px-\[2vw\] {
  padding-left: 2vw;
  padding-right: 2vw;
}
.px-\[3vw\] {
  padding-left: 3vw;
  padding-right: 3vw;
}
.px-\[4vw\] {
  padding-left: 4vw;
  padding-right: 4vw;
}
.px-\[5vw\] {
  padding-left: 5vw;
  padding-right: 5vw;
}
.px-\[6\.6vw\] {
  padding-left: 6.6vw;
  padding-right: 6.6vw;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.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-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-\[0\.6vw\] {
  padding-top: 0.6vw;
  padding-bottom: 0.6vw;
}
.py-\[1\.6vw\] {
  padding-top: 1.6vw;
  padding-bottom: 1.6vw;
}
.py-\[1vw\] {
  padding-top: 1vw;
  padding-bottom: 1vw;
}
.py-\[2\.2vw\] {
  padding-top: 2.2vw;
  padding-bottom: 2.2vw;
}
.py-\[2\.5vw\] {
  padding-top: 2.5vw;
  padding-bottom: 2.5vw;
}
.py-\[2vh\] {
  padding-top: 2vh;
  padding-bottom: 2vh;
}
.py-\[2vw\] {
  padding-top: 2vw;
  padding-bottom: 2vw;
}
.py-\[3\.5vw\] {
  padding-top: 3.5vw;
  padding-bottom: 3.5vw;
}
.py-\[3vw\] {
  padding-top: 3vw;
  padding-bottom: 3vw;
}
.py-\[4vw\] {
  padding-top: 4vw;
  padding-bottom: 4vw;
}
.py-\[5vw\] {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
.py-\[6vw\] {
  padding-top: 6vw;
  padding-bottom: 6vw;
}
.py-\[7\.5vh\] {
  padding-top: 7.5vh;
  padding-bottom: 7.5vh;
}
.py-\[8vw\] {
  padding-top: 8vw;
  padding-bottom: 8vw;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-\[0\.15em\] {
  padding-bottom: 0.15em;
}
.pb-\[1\.2vw\] {
  padding-bottom: 1.2vw;
}
.pb-\[1\.8vw\] {
  padding-bottom: 1.8vw;
}
.pb-\[2rem\] {
  padding-bottom: 2rem;
}
.pb-\[3\.2vw\] {
  padding-bottom: 3.2vw;
}
.pb-\[3vw\] {
  padding-bottom: 3vw;
}
.pb-\[5vw\] {
  padding-bottom: 5vw;
}
.pb-\[6vw\] {
  padding-bottom: 6vw;
}
.pb-\[8\.5vw\] {
  padding-bottom: 8.5vw;
}
.pb-\[8vw\] {
  padding-bottom: 8vw;
}
.pb-\[calc\(6vw\+10vh\)\] {
  padding-bottom: calc(6vw + 10vh);
}
.pl-0 {
  padding-left: 0px;
}
.pl-\[1\.6vw\] {
  padding-left: 1.6vw;
}
.pl-\[3vw\] {
  padding-left: 3vw;
}
.pr-0 {
  padding-right: 0px;
}
.pr-\[1vw\] {
  padding-right: 1vw;
}
.pr-\[2\.4vw\] {
  padding-right: 2.4vw;
}
.pt-0 {
  padding-top: 0px;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[0\.45vw\] {
  padding-top: 0.45vw;
}
.pt-\[0\.4vw\] {
  padding-top: 0.4vw;
}
.pt-\[0\.5vw\] {
  padding-top: 0.5vw;
}
.pt-\[0\.9vw\] {
  padding-top: 0.9vw;
}
.pt-\[1vw\] {
  padding-top: 1vw;
}
.pt-\[2\.5vw\] {
  padding-top: 2.5vw;
}
.pt-\[2vw\] {
  padding-top: 2vw;
}
.pt-\[4vw\] {
  padding-top: 4vw;
}
.pt-\[5vh\] {
  padding-top: 5vh;
}
.pt-\[5vw\] {
  padding-top: 5vw;
}
.pt-\[6vw\] {
  padding-top: 6vw;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-bethany {
  font-family: "Bethany Elingston", Georgia, serif;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-pp-neue-world {
  font-family: "PP Neue World", sans-serif;
}
.font-sloop {
  font-family: "Sloop Script", cursive;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[\.9vw\] {
  font-size: .9vw;
}
.text-\[0\.65vw\] {
  font-size: 0.65vw;
}
.text-\[0\.75vw\] {
  font-size: 0.75vw;
}
.text-\[0\.7vw\] {
  font-size: 0.7vw;
}
.text-\[0\.85vw\] {
  font-size: 0.85vw;
}
.text-\[0\.95vw\] {
  font-size: 0.95vw;
}
.text-\[0\.9vw\] {
  font-size: 0.9vw;
}
.text-\[1\.05vw\] {
  font-size: 1.05vw;
}
.text-\[1\.1vw\] {
  font-size: 1.1vw;
}
.text-\[1\.2vw\] {
  font-size: 1.2vw;
}
.text-\[1\.35vw\] {
  font-size: 1.35vw;
}
.text-\[1\.4vw\] {
  font-size: 1.4vw;
}
.text-\[1\.5vw\] {
  font-size: 1.5vw;
}
.text-\[1\.6vw\] {
  font-size: 1.6vw;
}
.text-\[1\.75vw\] {
  font-size: 1.75vw;
}
.text-\[1\.7vw\] {
  font-size: 1.7vw;
}
.text-\[1\.9vw\] {
  font-size: 1.9vw;
}
.text-\[10vw\] {
  font-size: 10vw;
}
.text-\[11\.5vw\] {
  font-size: 11.5vw;
}
.text-\[11vw\] {
  font-size: 11vw;
}
.text-\[12vw\] {
  font-size: 12vw;
}
.text-\[14vw\] {
  font-size: 14vw;
}
.text-\[15vw\] {
  font-size: 15vw;
}
.text-\[1vw\] {
  font-size: 1vw;
}
.text-\[2\.2vw\] {
  font-size: 2.2vw;
}
.text-\[2\.3vw\] {
  font-size: 2.3vw;
}
.text-\[2\.4vw\] {
  font-size: 2.4vw;
}
.text-\[2\.6vw\] {
  font-size: 2.6vw;
}
.text-\[2\.8vw\] {
  font-size: 2.8vw;
}
.text-\[22vw\] {
  font-size: 22vw;
}
.text-\[2vw\] {
  font-size: 2vw;
}
.text-\[3\.3vw\] {
  font-size: 3.3vw;
}
.text-\[3\.7vw\] {
  font-size: 3.7vw;
}
.text-\[33vw\] {
  font-size: 33vw;
}
.text-\[4\.2vw\] {
  font-size: 4.2vw;
}
.text-\[4\.4vw\] {
  font-size: 4.4vw;
}
.text-\[5\.5vw\] {
  font-size: 5.5vw;
}
.text-\[5\.8vw\] {
  font-size: 5.8vw;
}
.text-\[5vw\] {
  font-size: 5vw;
}
.text-\[6\.6vw\] {
  font-size: 6.6vw;
}
.text-\[6vw\] {
  font-size: 6vw;
}
.text-\[7\.3vw\] {
  font-size: 7.3vw;
}
.text-\[7\.5vw\] {
  font-size: 7.5vw;
}
.text-\[7vw\] {
  font-size: 7vw;
}
.text-\[8vw\] {
  font-size: 8vw;
}
.text-\[9\.3vw\] {
  font-size: 9.3vw;
}
.text-\[9vw\] {
  font-size: 9vw;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-body {
  font-size: var(--text-body);
  line-height: 1.45;
}
.text-brand {
  font-size: var(--text-brand);
  line-height: 1;
}
.text-btn {
  font-size: var(--text-btn);
  line-height: 2.1vw;
  letter-spacing: 0;
}
.text-display {
  font-size: var(--text-display);
  line-height: 0.8;
  letter-spacing: -0.02em;
}
.text-kicker {
  font-size: var(--text-kicker);
  line-height: 2.6vw;
  letter-spacing: 0.2em;
}
.text-label {
  font-size: var(--text-label);
  line-height: 1.3vw;
  letter-spacing: 0.2em;
}
.text-lead {
  font-size: var(--text-lead);
  line-height: 3.3vw;
  letter-spacing: 0;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-nav {
  font-size: var(--text-nav);
  line-height: 1;
  letter-spacing: 0.18em;
}
.text-script {
  font-size: var(--text-script);
  line-height: 0.8;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.text-\[16vw\] {
  font-size: 16vw;
}
.text-\[18vw\] {
  font-size: 18vw;
}
.text-\[3\.2vw\] {
  font-size: 3.2vw;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[0\.82\] {
  line-height: 0.82;
}
.leading-\[0\.84\] {
  line-height: 0.84;
}
.leading-\[0\.85\] {
  line-height: 0.85;
}
.leading-\[0\.86\] {
  line-height: 0.86;
}
.leading-\[0\.92\] {
  line-height: 0.92;
}
.leading-\[0\.95\] {
  line-height: 0.95;
}
.leading-\[0\.9\] {
  line-height: 0.9;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.12\] {
  line-height: 1.12;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-\[1\.25\] {
  line-height: 1.25;
}
.leading-\[1\.2\] {
  line-height: 1.2;
}
.leading-\[1\.35\] {
  line-height: 1.35;
}
.leading-\[1\.45\] {
  line-height: 1.45;
}
.leading-\[1\.55\] {
  line-height: 1.55;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.6\] {
  line-height: 1.6;
}
.leading-\[120\%\] {
  line-height: 120%;
}
.leading-\[1\] {
  line-height: 1;
}
.leading-\[2\.6vw\] {
  line-height: 2.6vw;
}
.leading-\[3\.3vw\] {
  line-height: 3.3vw;
}
.leading-\[80\%\] {
  line-height: 80%;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-\[0\.88\] {
  line-height: 0.88;
}
.leading-\[1\.3\] {
  line-height: 1.3;
}
.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[-0\.04em\] {
  letter-spacing: -0.04em;
}
.tracking-\[-2\%\] {
  letter-spacing: -2%;
}
.tracking-\[-3\%\] {
  letter-spacing: -3%;
}
.tracking-\[0\.01em\] {
  letter-spacing: 0.01em;
}
.tracking-\[0\.02em\] {
  letter-spacing: 0.02em;
}
.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[20\%\] {
  letter-spacing: 20%;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-\[-0\.03em\] {
  letter-spacing: -0.03em;
}
.text-\[\#111E2A\] {
  --tw-text-opacity: 1;
  color: rgb(17 30 42 / var(--tw-text-opacity, 1));
}
.text-\[\#C8DADF\] {
  --tw-text-opacity: 1;
  color: rgb(200 218 223 / var(--tw-text-opacity, 1));
}
.text-\[\#C8DADF\]\/60 {
  color: rgb(200 218 223 / 0.6);
}
.text-\[\#C8DADF\]\/80 {
  color: rgb(200 218 223 / 0.8);
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-ink {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.text-ink\/30 {
  color: rgb(17 17 17 / 0.3);
}
.text-ink\/35 {
  color: rgb(17 17 17 / 0.35);
}
.text-ink\/40 {
  color: rgb(17 17 17 / 0.4);
}
.text-ink\/55 {
  color: rgb(17 17 17 / 0.55);
}
.text-ink\/80 {
  color: rgb(17 17 17 / 0.8);
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-800 {
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-purple-800 {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.underline {
  text-decoration-line: underline;
}
.no-underline {
  text-decoration-line: none;
}
.opacity-0 {
  opacity: 0;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-90 {
  opacity: 0.9;
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
  outline-style: solid;
}
.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);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.will-change-transform {
  will-change: transform;
}
.\[--btn-pill-color\:theme\(colors\.ink\.DEFAULT\)\] {
  --btn-pill-color: #111111;
}
.\[--btn-pill-color\:theme\(colors\.moss\.DEFAULT\)\] {
  --btn-pill-color: #B5AC41;
}
.\[--btn-pill-color\:theme\(colors\.olive-dark\.DEFAULT\)\] {
  --btn-pill-color: #2E2A1C;
}
.\[--btn-pill-color\:theme\(colors\.sage\.DEFAULT\)\] {
  --btn-pill-color: #CBCAB1;
}
.\[--btn-pill-color\:theme\(colors\.wine\.DEFAULT\)\] {
  --btn-pill-color: #4A0A19;
}
.\[--btn-pill-color\:var\(--color-ink\)\] {
  --btn-pill-color: var(--color-ink);
}
.\[--btn-pill-fill\:theme\(colors\.ink\.DEFAULT\)\] {
  --btn-pill-fill: #111111;
}
.\[--btn-pill-hover-border\:theme\(colors\.ink\.DEFAULT\)\] {
  --btn-pill-hover-border: #111111;
}
.\[--btn-pill-hover-color\:theme\(colors\.ink\.DEFAULT\)\] {
  --btn-pill-hover-color: #111111;
}

/* ============================================================
   FONT (tema /font)
   ============================================================ */

@font-face {
    font-family: 'Bethany Elingston';
    src: url('../../font/Bethany Elingston.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue World';
    src: url('../../font/PPNeueWorld-SuperCondensedLight.otf') format('opentype');
    font-weight: 300 400;
    font-style: normal;
    font-display: swap;
    /*
      Metriche native ~ ascent 70% + descent 30% (= 100% em).
      Con line-height 0.8 (Figma 120/150) il line-box CSS è più basso dei glifi
      e i container “ballano”. Allineiamo le metriche usate all’ingombro reale
      delle maiuscole (~0–70% em) così box e glifi coincidono.
    */
    ascent-override: 70%;
    descent-override: 5%;
    line-gap-override: 0%;
}

@font-face {
    font-family: 'Sloop Script';
    src: url('../../font/sloopscript.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    /*
      Metriche native ~ ascent 80% + descent 52% (= 132% em).
      Il descent gonfia il line-box (spazio vuoto sotto) e rompe
      l’allineamento flex verticale. Teniamo l’ascent per le aste
      alte; il descent stretto lascia overfloware i riccioli.
    */
    ascent-override: 80%;
    descent-override: 20%;
    line-gap-override: 0%;
}

/* ============================================================
   DESIGN TOKENS — colori + tipografia (riuso progetto)
   ============================================================ */

:root {
    --color-olive: #716b2b;
    --color-white: #ffffff;
    --color-ink: #111111;
    --color-slate: #414c56;
    --color-olive-dark: #2e2a1c;
    --color-wine: #4a0a19;
    --color-moss: #b5ac41;
    --color-sage: #cbcab1;

    --text-display: 10vw;
    --text-script: 10vw;
    --text-brand: 2vw; /* ~30px @ 1500 */
    --text-lead: 2vw; /* 30px @ 1500 */
    --text-body: 1.1vw; /* ~17px @ 1500 */
    --text-label: 0.8vw; /* 12px @ 1500 */
    --text-kicker: 0.9vw; /* 14px @ 1500 */
    --text-btn: 2.3vw; /* 35px @ 1500 */
    --text-nav: 0.8vw; /* 12px @ 1500 */
}

/* ============================================================
   TIPOGRAFIA E UTILITY DI PROGETTO (starter)
   ============================================================ */

.lh-title {
    line-height: 1;
}

.lh-body {
    line-height: 1.3;
}

.ls-label {
    letter-spacing: 0.15em;
}

.ls-logo {
    letter-spacing: 0.1em;
}

.hero-title {
    font-size: 2rem;
    line-height: 1;
}

@media (min-width: 1024px) {
    .hero-title {
        font-size: 4rem;
    }
}

.error-title {
    font-size: 4rem;
    line-height: 1;
}

.section-y {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 1024px) {
    .section-y {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.min-h-60vh {
    min-height: 60vh;
}

/* Menu WP (markup generato) */
.site-nav .menu {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav .menu a {
    text-decoration: none;
}

.site-footer-nav .menu {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer-nav .menu a {
    text-decoration: none;
}

.site-footer-nav--main .menu {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.15vw;
}

.site-footer-nav--main .menu > li {
    margin: 0;
    padding: 0;
    line-height: 0;
}

.site-footer-nav--main .menu a {
    display: block;
    color: #fff;
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.12em;
    line-height: 1.05;
    text-transform: uppercase;
    transition: opacity 0.2s ease;
}

.site-footer-nav--main .menu a:hover {
    opacity: 0.7;
}

/* Fullscreen site menu nav */
/* Header action cells (Map / Menu / Contact) — full column hit + fill L→R */
.header-action {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: inherit;
    /* colore superficie: immediato; hover fill resta sul ::before */
    transition: none;
    --header-action-fill: #fff;
    --header-action-hover-color: var(--color-ink, #111);
}

.header-action--on-dark {
    --header-action-fill: #fff;
    --header-action-hover-color: var(--color-ink, #111);
}

.header-action--on-light {
    --header-action-fill: var(--color-ink, #111);
    --header-action-hover-color: #fff;
}

.header-action::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: var(--header-action-fill, #fff);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

.header-action__bar {
    transition: none;
}

@media (hover: hover) and (pointer: fine) {
    .header-action:hover,
    .header-action:focus-visible {
        color: var(--header-action-hover-color);
    }

    .header-action:hover::before,
    .header-action:focus-visible::before {
        transform: scaleX(1);
    }

    .header-action:hover .header-action__bar,
    .header-action:focus-visible .header-action__bar {
        background-color: var(--header-action-hover-color);
    }
}

@media (prefers-reduced-motion: reduce) {
    .header-action,
    .header-action::before,
    .header-action__bar {
        transition: none;
    }

    .header-action:hover,
    .header-action:focus-visible {
        background-color: var(--header-action-fill);
        color: var(--header-action-hover-color);
    }

    .header-action:hover::before,
    .header-action:focus-visible::before {
        display: none;
    }

    .header-action:hover .header-action__bar,
    .header-action:focus-visible .header-action__bar {
        background-color: var(--header-action-hover-color);
    }

    body.header-on-light-surface .site-header .header-action:hover .header-action__bar,
    body.header-on-light-surface .site-header .header-action:focus-visible .header-action__bar {
        background-color: #fff;
    }
}

/* Header fixed chrome: bianco default / ink su superficie chiara */
.site-header {
    transition:
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.32s ease;
    will-change: transform;
}

.site-header .header-logo,
.site-header .header-action__bar {
    transition: none;
}

body.header-scroll-hidden .site-header {
    transform: translate3d(0, -100%, 0);
    pointer-events: none;
}

body.header-on-light-surface .site-header {
    color: var(--color-ink, #111);
    border-color: rgba(17, 17, 17, 0.15);
}

body.header-on-light-surface .site-header .header-sep {
    border-color: rgba(17, 17, 17, 0.15);
}

body.header-on-light-surface .site-header .header-logo--light {
    display: none;
}

body.header-on-light-surface .site-header .header-logo--dark {
    display: block;
}

body.header-on-light-surface .site-header .header-action {
    --header-action-fill: var(--color-ink, #111);
    --header-action-hover-color: #fff;
}

body.header-on-light-surface .site-header .header-action__bar {
    background-color: var(--color-ink, #111);
}

@media (hover: hover) and (pointer: fine) {
    body.header-on-light-surface .site-header .header-action:hover .header-action__bar,
    body.header-on-light-surface .site-header .header-action:focus-visible .header-action__bar {
        background-color: #fff;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-header .header-logo,
    .site-header .header-action__bar {
        transition: none;
    }

    body.header-scroll-hidden .site-header {
        transform: none;
        opacity: 0;
        visibility: hidden;
    }
}

.site-menu-nav .menu {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.35vw;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.site-menu-nav .menu > li {
    margin: 0;
    padding: 0;
    line-height: 0;
}

.site-menu-nav .menu a {
    display: block;
    color: var(--color-ink, #111);
    font-family: "PP Neue World", sans-serif;
    font-size: 7.3vw;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 0.7;
    text-decoration: none;
    text-transform: uppercase;
    transition: opacity 0.2s ease;
}

.site-menu-nav .menu a:hover {
    opacity: 0.55;
}

@media (max-width: 1023px) {
    .site-footer-nav--main .menu a {
        font-size: 0.8rem;
        letter-spacing: 0.1em;
    }
}

/* MWG 051 — vertical multi-track (gallery) */
.vertical-multi-track__list {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.vertical-multi-track__media {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
    will-change: transform;
    pointer-events: none;
    backface-visibility: hidden;
}

.vertical-multi-track__media--1 {
    width: 28vw;
    height: 20vw;
}

.vertical-multi-track__media--2 {
    width: 18vw;
    height: 24vw;
}

.vertical-multi-track__media--3 {
    width: 12vw;
    height: 16vw;
}

@media (max-width: 1023px) {
    .vertical-multi-track__media--1 {
        width: 55vw;
        height: 40vw;
    }

    .vertical-multi-track__media--2 {
        width: 38vw;
        height: 48vw;
    }

    .vertical-multi-track__media--3 {
        width: 28vw;
        height: 36vw;
    }
}

/* FAQ accordion */
.faq-item__summary {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
}

.faq-item__icon--minus {
    display: none;
}

.faq-item.is-open .faq-item__icon--plus {
    display: none;
}

.faq-item.is-open .faq-item__icon--minus {
    display: block;
}

.faq-item__answer {
    overflow: hidden;
    height: 0;
}

.faq-item__richtext p {
    margin: 0 0 1.1vw;
}

.faq-item__richtext p:last-child {
    margin-bottom: 0;
}

.faq-item__richtext br {
    line-height: 1.15;
}

/* Estate map */
.map-estate__svg {
    display: block;
}

.map-estate__svg [data-map-building] {
    fill-opacity: 1;
    transition: opacity 0.25s ease, fill-opacity 0.25s ease;
}

/* Categoria attiva: tutto ciò che NON è focus resta al proprio colore al 20% */
[data-animate-estate-map].is-map-active .map-estate__svg > path {
    opacity: 0.2;
    transition: opacity 0.25s ease, fill-opacity 0.25s ease;
}

/* Terreno esterno (base beige): sempre pieno, non dimmare */
[data-animate-estate-map].is-map-active .map-estate__svg > path[fill="#D1D1B9"] {
    opacity: 1;
}

/* Edifici (Villas): focus → fill scuro pieno */
[data-animate-estate-map].is-map-active:not([data-map-active-category="4"]) .map-estate__svg [data-map-building].is-map-focus:not([data-map-terrain]) {
    opacity: 1;
    fill: #34301e !important;
    fill-opacity: 1;
}

/* Historic (cat 4): edifici zoomati al 20%, 100% solo all’hover voce */
[data-animate-estate-map][data-map-active-category="4"] .map-estate__svg [data-map-building].is-map-focus:not([data-map-terrain]) {
    opacity: 0.2;
    fill: #34301e !important;
    fill-opacity: 1;
}

[data-animate-estate-map][data-map-active-category="4"] .map-estate__svg [data-map-building].is-map-focus.is-active:not([data-map-terrain]) {
    opacity: 1;
}

/* Terreni (The Grounds): focus → colore originale SVG */
[data-animate-estate-map].is-map-active .map-estate__svg [data-map-terrain].is-map-focus {
    opacity: 1;
    fill-opacity: 1;
}

.map-menu__poi {
    color: rgba(52, 48, 30, 0.2);
    transition: color 0.2s ease;
}

.map-menu__poi:hover,
.map-menu__poi.is-active {
    color: #34301e;
}

/* Accordion trigger: tipografia 1.6vw + hover ink / cream */
.map-menu__trigger {
    color: #34301e;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.map-menu__trigger:hover,
.map-menu__trigger:focus-visible {
    background-color: #34301e;
    color: #fffde4;
    outline: none;
}

.map-menu__trigger:hover .map-menu__num,
.map-menu__trigger:focus-visible .map-menu__num {
    color: #fffde4;
}

.map-menu__icon {
    display: grid;
    place-items: center;
    line-height: 0;
}

.map-menu__icon-svg {
    grid-area: 1 / 1;
    display: block;
    width: 2vw;
    height: 2vw;
}

.map-menu__icon .faq-item__icon--minus {
    display: none;
}

.map-menu .faq-item.is-open .map-menu__icon .faq-item__icon--plus {
    display: none;
}

.map-menu .faq-item.is-open .map-menu__icon .faq-item__icon--minus {
    display: block;
}

/* Pin overview (Event Areas) */
.map-estate__pin {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.map-estate__pin.is-map-pin-visible {
    opacity: 1;
    pointer-events: auto;
}

[data-animate-estate-map].is-map-poi-zoomed .map-estate__pin {
    opacity: 0;
    pointer-events: none;
}

.map-estate__pin-dot {
    fill: #bdb647;
    transition: fill 0.2s ease;
}

.map-estate__pin.is-active .map-estate__pin-dot {
    fill: #34301e;
}

.map-estate__label {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.map-estate__label.is-active {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

.map-estate__label-dot {
    fill: #bdb647;
}

.map-estate__label.is-active .map-estate__label-dot {
    fill: #34301e;
}

.map-estate__label-text {
    fill: #34301e;
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.01em;
    white-space: nowrap;
    pointer-events: none;
}

/* ============================================================
   ANIMAZIONI (libreria base-theme)
   ============================================================ */

.animate-border-link {
    position: relative;
}

.animate-border-link__line {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(1);
    transform-origin: right center;
}

/* CTA pill: riempimento L→R su hover (CSS only) */
.animate-btn-fill {
    --animate-btn-fill-bg: rgb(255 255 255 / 0.1);
    --animate-btn-fill-color: #ffffff;
    --animate-btn-fill-hover-fill: #ffffff;
    --animate-btn-fill-hover-color: #111111;

    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: var(--animate-btn-fill-color);
    background-color: var(--animate-btn-fill-bg);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: color 0.45s ease;
}

.animate-btn-fill__label {
    position: relative;
    z-index: 1;
}

.animate-btn-fill::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 0;
    background: var(--animate-btn-fill-hover-fill);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .animate-btn-fill:hover,
    .animate-btn-fill:focus-visible {
        color: var(--animate-btn-fill-hover-color);
    }

    .animate-btn-fill:hover::before,
    .animate-btn-fill:focus-visible::before {
        transform: scaleX(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .animate-btn-fill,
    .animate-btn-fill::before {
        transition: none;
    }

    .animate-btn-fill:hover,
    .animate-btn-fill:focus-visible {
        background-color: var(--animate-btn-fill-hover-fill);
        color: var(--animate-btn-fill-hover-color);
    }

    .animate-btn-fill:hover::before,
    .animate-btn-fill:focus-visible::before {
        transform: none;
        opacity: 0;
    }
}

[data-animate-fullwidth-parallax] > .animate-fw-parallax__inner {
    position: absolute;
    left: 0;
    top: -8%;
    z-index: 0;
    width: 100%;
    height: 116%;
    pointer-events: none;
    will-change: transform;
}

[data-animate-fullwidth-parallax] > .animate-fw-parallax__inner > img,
[data-animate-fullwidth-parallax] > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

[data-animate-image-zoom-out] > img {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform-origin: 50% 50%;
}

[data-animate-fullwidth-parallax][data-animate-fullwidth-parallax-fit="contain"] > .animate-fw-parallax__inner > img,
[data-animate-fullwidth-parallax][data-animate-fullwidth-parallax-fit="contain"] > img {
    -o-object-fit: contain;
       object-fit: contain;
}

[data-animate-title-reveal].animate-title-reveal--split :is(p, h1, h2, h3, h4, h5, h6) {
    margin: 0;
    line-height: inherit;
}

[data-animate-title-reveal].animate-title-reveal--split .animate-title-reveal__line {
    display: block;
    line-height: inherit;
}

.text-center [data-animate-title-reveal].animate-title-reveal--split .animate-title-reveal__line,
[data-animate-title-reveal][data-animate-title-reveal-align="center"].animate-title-reveal--split .animate-title-reveal__line {
    text-align: center;
}

[data-animate-title-reveal].animate-title-reveal--split .animate-title-reveal__word {
    display: inline;
    white-space: nowrap;
    line-height: inherit;
}

[data-animate-title-reveal].animate-title-reveal--split .animate-title-reveal__char {
    display: inline;
    line-height: inherit;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
}

[data-animate-hero-split-word].animate-hero-split-word--split .animate-hero-split-word__char {
    display: inline;
    line-height: inherit;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
}

[data-animate-lines-reveal].animate-lines-reveal--split {
    visibility: visible;
}

[data-animate-lines-reveal].animate-lines-reveal--split p,
[data-animate-lines-reveal].animate-lines-reveal--split h1,
[data-animate-lines-reveal].animate-lines-reveal--split h2,
[data-animate-lines-reveal].animate-lines-reveal--split h3,
[data-animate-lines-reveal].animate-lines-reveal--split h4,
[data-animate-lines-reveal].animate-lines-reveal--split h5,
[data-animate-lines-reveal].animate-lines-reveal--split h6 {
    margin: 0;
}

[data-animate-lines-reveal].animate-lines-reveal--split [class*="-mask"] {
    padding-bottom: 0 !important;
}

/* Archive: css/archive-animations.css — importare/enqueue se servono i moduli archive */

/* ============================================================
   PAGINA QA ANIMAZIONI (/animazioni-demo/) — dark mode
   Body class: anim-demo-page (in page-animazioni-demo.php)
   ============================================================ */

:root {
    --anim-demo-bg: #0b1219;
    --anim-demo-bg-elevated: #111e2a;
    --anim-demo-bg-panel: #162433;
    --anim-demo-border: rgba(255, 255, 255, 0.12);
    --anim-demo-text: #f4f7fa;
    --anim-demo-muted: #9aa8b5;
    --anim-demo-accent: #c8dadf;
    --anim-demo-code: #8ecae6;
    --anim-demo-radius: 0.375rem;
}

body.anim-demo-page {
    color-scheme: dark;
    background-color: var(--anim-demo-bg);
    color: var(--anim-demo-text);
}

body.anim-demo-page #smooth-wrapper,
body.anim-demo-page #smooth-content,
body.anim-demo-page main,
body.anim-demo-page [data-barba="wrapper"],
body.anim-demo-page [data-barba="container"] {
    background-color: var(--anim-demo-bg);
}

body.anim-demo-page header,
body.anim-demo-page footer {
    background-color: var(--anim-demo-bg-elevated) !important;
    border-color: var(--anim-demo-border) !important;
    color: var(--anim-demo-text);
}

body.anim-demo-page header a,
body.anim-demo-page footer a,
body.anim-demo-page .site-nav .menu a,
body.anim-demo-page .site-footer-nav .menu a {
    color: var(--anim-demo-text);
}

body.anim-demo-page header a:hover,
body.anim-demo-page footer a:hover,
body.anim-demo-page .site-nav .menu a:hover,
body.anim-demo-page .site-footer-nav .menu a:hover {
    color: var(--anim-demo-accent);
}

.anim-demo {
    background: var(--anim-demo-bg);
    color: var(--anim-demo-text);
    min-height: 100%;
}

.anim-demo-hero {
    padding: 3rem 0 2rem;
    border-bottom: 1px solid var(--anim-demo-border);
    background: var(--anim-demo-bg-elevated);
}

.anim-demo-nav {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(11, 18, 25, 0.94);
    border-bottom: 1px solid var(--anim-demo-border);
    backdrop-filter: blur(8px);
}

.anim-demo-nav__link {
    font-size: 0.8125rem;
    color: var(--anim-demo-muted);
    text-decoration: none;
    padding: 0.35rem 0.65rem;
    border-radius: var(--anim-demo-radius);
    white-space: nowrap;
}

.anim-demo-nav__link:hover,
.anim-demo-nav__link:focus {
    color: var(--anim-demo-accent);
    background: var(--anim-demo-bg-panel);
}

.anim-demo-section {
    padding: 4rem 0;
    border-bottom: 1px solid var(--anim-demo-border);
    background: var(--anim-demo-bg);
}

.anim-demo-section--alt {
    background: var(--anim-demo-bg-elevated);
}

.anim-demo-section__label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--anim-demo-muted);
    margin-bottom: 0.5rem;
}

.anim-demo-section__attrs {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.8125rem;
    color: var(--anim-demo-code);
    background: var(--anim-demo-bg-panel);
    border: 1px solid var(--anim-demo-border);
    border-radius: var(--anim-demo-radius);
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
}

.anim-demo code {
    color: var(--anim-demo-code);
}

.anim-demo-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: var(--anim-demo-radius);
    border: 1px solid var(--anim-demo-border);
    background: var(--anim-demo-bg-panel);
    color: var(--anim-demo-text);
    text-decoration: none;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.anim-demo-btn:hover {
    background: var(--anim-demo-accent);
    border-color: var(--anim-demo-accent);
    color: var(--anim-demo-bg);
}

.anim-demo-btn--outline {
    background: transparent;
}

.anim-demo-btn--sm {
    padding: 0.25rem 0.6rem;
    font-size: 0.8125rem;
}

.anim-demo-spacer {
    height: 50vh;
    background: var(--anim-demo-bg);
}

.anim-demo-parallax-wrap {
    height: 60vh;
}

.anim-demo-zoom-wrap {
    height: 280px;
    max-width: 420px;
    border: 1px solid var(--anim-demo-border);
}

.anim-demo-fade-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

@media (max-width: 767.98px) {
    .anim-demo-fade-grid {
        grid-template-columns: 1fr;
    }
}

.anim-demo-fade-grid__item {
    padding: 2rem 1rem;
    text-align: center;
    background: var(--anim-demo-bg-panel);
    border: 1px solid var(--anim-demo-border);
    border-radius: var(--anim-demo-radius);
    color: var(--anim-demo-text);
}

.anim-demo-carousel {
    background: var(--anim-demo-bg-panel);
    color: var(--anim-demo-text);
    padding: 2rem 0;
    width: 100%;
    border: 1px solid var(--anim-demo-border);
    border-radius: var(--anim-demo-radius);
}

.anim-demo-carousel [data-animate-carousel] {
    width: 100%;
}

.anim-demo-carousel .animate-carousel__viewport {
    overflow: hidden;
    padding: 0 1.5rem;
    width: 100%;
}

.anim-demo-carousel .animate-carousel__track {
    display: flex;
    gap: 1rem;
    transition: transform 0.45s ease;
}

.anim-demo-carousel .animate-carousel__slide {
    flex-shrink: 0;
}

.anim-demo-carousel .animate-carousel__slide img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: var(--anim-demo-radius);
}

.anim-demo-carousel .animate-carousel__dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    opacity: 0.5;
}

.anim-demo-carousel .animate-carousel__dot.is-active {
    opacity: 1;
    background: var(--anim-demo-accent);
}

.anim-demo-stack {
    background: var(--anim-demo-bg-elevated);
}

.anim-demo-stack [data-animate-stack-viewport] {
    min-height: 100vh;
}

.anim-demo-stack .animate-stack-cards__stage {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    padding: 5vh 1.5rem;
}

.anim-demo-stack .animate-stack-cards__deck {
    position: relative;
    height: 76vh;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.anim-demo-stack [data-animate-stack-card] {
    position: absolute;
    inset: 0;
    display: flex;
    overflow: hidden;
    background: var(--anim-demo-bg-panel);
    color: var(--anim-demo-text);
    border: 1px solid var(--anim-demo-border);
    border-radius: var(--anim-demo-radius);
}

.anim-demo-stack__card-media {
    width: 50%;
    flex-shrink: 0;
    overflow: hidden;
}

.anim-demo-stack__card-media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.anim-demo-stack__card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    width: 50%;
}

.anim-demo-archive-note {
    font-size: 0.875rem;
    color: var(--anim-demo-muted);
    background: var(--anim-demo-bg-panel);
    border-left: 3px solid var(--anim-demo-accent);
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
}

.anim-demo .animate-border-link {
    color: var(--anim-demo-text);
}

.anim-demo-mobile-stack__body {
    background: var(--anim-demo-bg-panel);
    color: var(--anim-demo-text);
    border-top: 1px solid var(--anim-demo-border);
}

.anim-demo-mobile-stack__card {
    border: 1px solid var(--anim-demo-border);
    background: var(--anim-demo-bg-panel);
}

/* ACF debug — transizione gruppi (modale dev) */
.group-children {
    transition: all 0.2s ease;
}

/* ============================================================
   HOVER MEDIAS (lista esperienze — MWG tutorial 030)
   ============================================================ */

[data-animate-hover-medias] {
    overflow: visible;
}

[data-animate-hover-medias] .hover-medias__item {
    isolation: isolate;
}

[data-animate-hover-medias] .hover-medias__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 6.6vw;
    right: 6.6vw;
    height: 0;
    border-top: 1px solid rgb(255 255 255 / 0.25);
    pointer-events: none;
    z-index: 2;
    transition: opacity 0.45s ease;
}

[data-animate-hover-medias] .hover-medias__item:first-child::before {
    display: none;
}

/* Fill bianco: entra snello, in uscita fade progressivo */
[data-animate-hover-medias] .hover-medias__item::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: #ffffff;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.55s ease;
}

[data-animate-hover-medias] .hover-medias__item.is-active::after {
    opacity: 1;
    transition-duration: 0.15s;
    transition-timing-function: ease-out;
}

[data-animate-hover-medias] .hover-medias__item.is-active {
    color: #111111;
}

[data-animate-hover-medias] .hover-medias__item.is-active::before,
[data-animate-hover-medias] .hover-medias__item.is-active + .hover-medias__item::before {
    opacity: 0;
    transition-duration: 0.15s;
}

[data-animate-hover-medias] .hover-medias__index,
[data-animate-hover-medias] .hover-medias__title,
[data-animate-hover-medias] .hover-medias__sub {
    position: relative;
    z-index: 1;
    transition: color 0.4s ease;
}

[data-animate-hover-medias] .hover-medias__item.is-active .hover-medias__index,
[data-animate-hover-medias] .hover-medias__item.is-active .hover-medias__title {
    color: #111111;
    transition-duration: 0.15s;
}

[data-animate-hover-medias] .hover-medias__item.is-active .hover-medias__sub {
    color: rgb(17 17 17 / 0.7);
    transition-duration: 0.15s;
}

[data-animate-hover-medias] .hover-medias__container {
    z-index: 50;
}

[data-animate-hover-medias] .hover-medias__container img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
    [data-animate-hover-medias] .hover-medias__item::after,
    [data-animate-hover-medias] .hover-medias__item::before,
    [data-animate-hover-medias] .hover-medias__index,
    [data-animate-hover-medias] .hover-medias__title,
    [data-animate-hover-medias] .hover-medias__sub {
        transition: none;
    }
}

@media (max-width: 1023px) {
    [data-animate-hover-medias] .hover-medias__container {
        display: none;
    }
}

/* Horizontal scroll (pin + scrub) */
[data-animate-horizontal-scroll] .horizontal-scroll__track {
    will-change: transform;
}

/* Accommodations carousel */
[data-animate-accommodations] {
    overflow-x: clip;
}

[data-animate-accommodations] .acc-carousel__viewport {
    max-width: 100vw;
}

[data-animate-accommodations] .acc-progress {
    height: 3px;
}

[data-animate-accommodations] [data-acc-track] {
    position: relative;
    will-change: transform;
}

/* Image marquee (loop infinito) */
[data-animate-image-marquee] {
    overflow: hidden;
}

[data-animate-image-marquee] .image-marquee__track {
    will-change: transform;
}

/* ============================================================
   Contatti — Ninja Forms (.nf-contatti)
   ============================================================ */

.nf-contatti-shell .nf-form-cont {
    margin: 0;
}

.nf-contatti .nf-form-title,
.nf-contatti .nf-before-form,
.nf-contatti .nf-after-form,
.nf-contatti .nf-form-fields-required,
.nf-contatti .nf-field-container.hr-container,
.nf-contatti .nf-field-label .ninja-forms-req-symbol {
    display: none !important;
}

.nf-contatti .nf-field-container {
    margin: 0 0 2vw;
}

.nf-contatti .nf-field-label label {
    display: block;
    margin: 0 0 0.6vw;
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 0.85vw;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink);
}

.nf-contatti .nf-field-element input[type="text"],
.nf-contatti .nf-field-element input[type="email"],
.nf-contatti .nf-field-element input[type="tel"],
.nf-contatti .nf-field-element input[type="number"],
.nf-contatti .nf-field-element textarea {
    width: 100%;
    margin: 0;
    padding: 0 0 0.6vw;
    border: 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.25);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 1.05vw;
    font-weight: 400;
    line-height: 1.45;
    color: var(--color-ink);
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.nf-contatti .nf-field-element textarea {
    min-height: 6vw;
    resize: none;
}

.nf-contatti .nf-field-element input::-moz-placeholder, .nf-contatti .nf-field-element textarea::-moz-placeholder {
    color: rgba(17, 17, 17, 0.35);
    opacity: 1;
}

.nf-contatti .nf-field-element input::placeholder,
.nf-contatti .nf-field-element textarea::placeholder {
    color: rgba(17, 17, 17, 0.35);
    opacity: 1;
}

.nf-contatti .nf-field-element input:focus,
.nf-contatti .nf-field-element textarea:focus {
    border-bottom-color: var(--color-ink);
}

.nf-contatti .checkbox-container,
.nf-contatti .nf-field-container.checkbox-container {
    margin-top: 0.5vw;
}

.nf-contatti .checkbox-wrap,
.nf-contatti .field-wrap.checkbox-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0.7vw;
}

.nf-contatti .checkbox-wrap .nf-field-label {
    padding: 0;
}

.nf-contatti .checkbox-wrap .nf-field-label label {
    margin: 0;
    font-size: 0.9vw;
    letter-spacing: normal;
    text-transform: none;
    line-height: 1.4;
    cursor: pointer;
}

.nf-contatti .checkbox-wrap input[type="checkbox"] {
    width: 0.9vw;
    height: 0.9vw;
    margin: 0.25vw 0 0;
    flex-shrink: 0;
    accent-color: var(--color-ink);
}

.nf-contatti .nf-contatti-privacy-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nf-contatti .nf-contatti-privacy-link:hover {
    opacity: 0.7;
}

.nf-contatti .submit-container {
    margin: 1vw 0 0;
}

.nf-contatti .submit-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1vw;
}

.nf-contatti .submit-wrap input[type="submit"],
.nf-contatti .submit-wrap button[type="submit"] {
    --btn-pill-fill: var(--color-ink);
    --btn-pill-color: var(--color-white);
    --btn-pill-hover-color: var(--color-ink);
    --btn-pill-hover-border: var(--color-ink);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.4rem 1.5rem;
    border: 1px solid transparent;
    border-radius: 0.7vw;
    background-color: var(--color-ink);
    color: var(--color-white);
    box-shadow: none;
    cursor: pointer;
    font-family: "PP Neue World", Georgia, serif;
    font-size: var(--text-btn);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1;
    text-transform: none;
    transition:
        color 0.45s ease,
        border-color 0.45s ease,
        border-radius 0.45s ease,
        background-color 0.45s ease;
}

@media (hover: hover) and (pointer: fine) {
    .nf-contatti .submit-wrap input[type="submit"]:hover,
    .nf-contatti .submit-wrap button[type="submit"]:hover {
        background-color: transparent;
        color: var(--color-ink);
        border-color: var(--color-ink);
        border-radius: 2vw;
    }
}

.nf-contatti .nf-contatti-call {
    font-family: "PP Neue World", Georgia, serif;
    font-size: var(--text-btn);
    letter-spacing: -0.02em;
}

.nf-contatti .nf-error .nf-error-msg,
.nf-contatti .nf-error-field-errors {
    margin-top: 0.4vw;
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 0.8vw;
    color: var(--color-wine);
}

.nf-contatti .nf-response-msg {
    font-family: "Bethany Elingston", Georgia, serif;
    font-size: 1.05vw;
    color: var(--color-ink);
}

.last\:mb-0:last-child {
  margin-bottom: 0px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.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\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:text-blue-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-ink:hover {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}

.hover\:text-ink\/60:hover {
  color: rgb(17 17 17 / 0.6);
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-60:hover {
  opacity: 0.6;
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:opacity-85:hover {
  opacity: 0.85;
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus-visible\:ring-\[\#111E2A\]:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 30 42 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-\[\#C8DADF\]:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(200 218 223 / var(--tw-ring-opacity, 1));
}

.group:hover .group-hover\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (min-width: 1024px) {

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:pb-12 {
    padding-bottom: 3rem;
  }
}

.\[\&_\.btn-pill--outline\:focus-visible\]\:\!rounded-full .btn-pill--outline:focus-visible {
  border-radius: 9999px !important;
}

.\[\&_\.btn-pill--outline\:hover\]\:\!rounded-full .btn-pill--outline:hover {
  border-radius: 9999px !important;
}

.\[\&_\.btn-pill--outline\]\:\!rounded-full .btn-pill--outline {
  border-radius: 9999px !important;
}

.\[\&_\.btn-pill--solid\:focus-visible\]\:\!rounded-\[10px\] .btn-pill--solid:focus-visible {
  border-radius: 10px !important;
}

.\[\&_\.btn-pill--solid\:hover\]\:\!rounded-\[10px\] .btn-pill--solid:hover {
  border-radius: 10px !important;
}

.\[\&_\.btn-pill--solid\]\:\!rounded-\[10px\] .btn-pill--solid {
  border-radius: 10px !important;
}

.\[\&_\.btn-pill\]\:box-border .btn-pill {
  box-sizing: border-box;
}

.\[\&_\.btn-pill\]\:h-\[15vw\] .btn-pill {
  height: 15vw;
}

.\[\&_\.btn-pill\]\:w-\[85vw\] .btn-pill {
  width: 85vw;
}

.\[\&_\.btn-pill\]\:px-0 .btn-pill {
  padding-left: 0px;
  padding-right: 0px;
}

.\[\&_\.btn-pill\]\:py-0 .btn-pill {
  padding-top: 0px;
  padding-bottom: 0px;
}

.\[\&_\.text-btn\]\:\!text-\[5\.5vw\] .text-btn {
  font-size: 5.5vw !important;
}

.\[\&_\.text-btn\]\:\!text-\[8\.75vw\] .text-btn {
  font-size: 8.75vw !important;
}

.\[\&_\.text-btn\]\:\!leading-none .text-btn {
  line-height: 1 !important;
}

