@import"https://fonts.googleapis.com/css2?family=Poetsen+One&family=Poppins:wght@400;500;600;700&display=swap";

/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-content: "";
            --tw-animation-delay: 0s;
            --tw-animation-direction: normal;
            --tw-animation-duration: initial;
            --tw-animation-fill-mode: none;
            --tw-animation-iteration-count: 1;
            --tw-enter-blur: 0;
            --tw-enter-opacity: 1;
            --tw-enter-rotate: 0;
            --tw-enter-scale: 1;
            --tw-enter-translate-x: 0;
            --tw-enter-translate-y: 0;
            --tw-exit-blur: 0;
            --tw-exit-opacity: 1;
            --tw-exit-rotate: 0;
            --tw-exit-scale: 1;
            --tw-exit-translate-x: 0;
            --tw-exit-translate-y: 0
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-red-100: oklch(93.6% .032 17.717);
        --color-red-500: oklch(63.7% .237 25.331);
        --color-blue-600: oklch(54.6% .245 262.881);
        --color-blue-700: oklch(48.8% .243 264.376);
        --color-slate-50: oklch(98.4% .003 247.858);
        --color-slate-100: oklch(96.8% .007 247.896);
        --color-slate-600: oklch(44.6% .043 257.281);
        --color-slate-700: oklch(37.2% .044 257.287);
        --color-slate-900: oklch(20.8% .042 265.755);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-sm: 24rem;
        --container-lg: 32rem;
        --container-2xl: 42rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75/1.25);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5/2.25);
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --tracking-tight: -.025em;
        --tracking-widest: .1em;
        --leading-snug: 1.375;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --radius-xs: .125rem;
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --animate-spin: spin 1s linear infinite;
        --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1)infinite;
        --blur-sm: 8px;
        --blur-2xl: 40px;
        --aspect-video: 16/9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-border: var(--border)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

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

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

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

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

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

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

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

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

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

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

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

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

    * {
        border-color: var(--border);
        outline-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        * {
            outline-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    html {
        scroll-behavior: smooth
    }

    body {
        background-color: var(--background);
        color: var(--foreground);
        min-width: 320px;
        margin: 0;
        font-family: Poppins, sans-serif
    }

    button,
    a {
        -webkit-tap-highlight-color: transparent
    }

    button:not(:disabled),
    a[href] {
        cursor: pointer
    }
}

@layer components {
    .container {
        width: 100%;
        max-width: 1240px;
        margin-inline: auto;
        padding-inline: 30px
    }

    .site-shell {
        background: var(--cream);
        color: var(--ink);
        overflow: hidden
    }

    .site-header {
        z-index: 30;
        color: #fff;
        align-items: center;
        height: 82px;
        display: flex;
        position: absolute;
        inset: 0 0 auto
    }

    .nav-inner {
        justify-content: space-between;
        align-items: center;
        gap: 28px;
        display: flex
    }

    .brand-mark {
        align-items: center;
        text-decoration: none;
        display: inline-flex
    }

    .official-logo {
        object-fit: contain;
        width: 88px;
        height: 70px;
        display: block
    }

    .main-nav {
        align-items: center;
        gap: 25px;
        margin-left: auto;
        display: flex
    }

    .main-nav a,
    .login-link {
        color: #ffffffdb;
        font-size: 12px;
        font-weight: 600;
        text-decoration: none;
        transition: color .2s
    }

    .main-nav a:hover,
    .login-link:hover {
        color: var(--sun)
    }

    .nav-actions {
        align-items: center;
        gap: 20px;
        display: flex
    }

    .nav-login-mobile,
    .menu-toggle {
        display: none
    }

    .button {
        white-space: nowrap;
        border: 1px solid #0000;
        border-radius: 999px;
        justify-content: center;
        align-items: center;
        gap: 9px;
        padding: 14px 22px;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: transform .18s, box-shadow .18s, background .18s, color .18s;
        display: inline-flex
    }

    .button:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 26px #514a7024
    }

    .button:active {
        transform: scale(.97)
    }

    .button-small {
        padding: 10px 17px;
        font-size: 12px
    }

    .button-dark {
        background: var(--ink);
        color: #fff
    }

    .button-dark:hover {
        background: #5f5790
    }

    .button-primary {
        background: var(--sun);
        color: var(--ink);
        box-shadow: 0 10px 24px #41b8b238
    }

    .button-primary:hover {
        background: #67cbc6
    }

    .button-lilac {
        background: var(--lilac);
        color: #fff
    }

    .button-lilac:hover {
        background: var(--lilac-deep)
    }

    .button-outline {
        color: var(--lilac-deep);
        border-color: var(--lilac);
        background: 0 0
    }

    .button-outline:hover {
        color: #fff;
        background: var(--lilac)
    }

    .hero {
        color: #fff;
        isolation: isolate;
        background: #514a70;
        align-items: center;
        height: min(90vh, 860px);
        min-height: 760px;
        display: flex;
        position: relative
    }

    .hero-image {
        z-index: -3;
        background: url(media/festou-hero_53809909.jpg) 50%/cover no-repeat;
        position: absolute;
        inset: 0
    }

    .hero-overlay {
        z-index: -2;
        background: linear-gradient(90deg, #7167a4f7, #514a70db 32%, #514a7033 77%), linear-gradient(#0000 50%, #7167a47a);
        position: absolute;
        inset: 0
    }

    .hero-content {
        justify-content: space-between;
        align-items: center;
        padding-top: 80px;
        display: flex;
        position: relative
    }

    .hero-copy {
        max-width: 650px
    }

    .hero-kicker,
    .eyebrow {
        text-transform: uppercase;
        letter-spacing: .11em;
        font-family: Poppins, sans-serif;
        font-size: 10px;
        font-weight: 500
    }

    .hero-kicker {
        color: var(--sun);
        align-items: center;
        gap: 9px;
        margin-bottom: 23px;
        display: flex
    }

    .kicker-dot {
        background: var(--sun);
        border-radius: 50%;
        width: 7px;
        height: 7px;
        display: inline-block;
        box-shadow: 0 0 0 5px #41b8b226
    }

    h1,
    h2,
    h3,
    p {
        margin: 0
    }

    h1,
    h2,
    h3 {
        font-family: Poppins, sans-serif
    }

    h1 {
        letter-spacing: -5px;
        max-width: 700px;
        font-size: clamp(46px, 6.4vw, 82px);
        font-weight: 800;
        line-height: .99
    }

    h1 em,
    h2 em {
        color: var(--sun);
        font-style: normal
    }

    .hero-lede {
        color: #fffc;
        max-width: 500px;
        margin-top: 26px;
        font-size: 17px;
        line-height: 1.58
    }

    .hero-actions {
        align-items: center;
        gap: 26px;
        margin-top: 32px;
        display: flex
    }

    .text-link {
        color: var(--lilac-deep);
        border-bottom: 1px solid #7167a461;
        align-items: center;
        gap: 8px;
        padding-bottom: 4px;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: gap .2s, color .2s;
        display: inline-flex
    }

    .text-link:hover {
        gap: 12px
    }

    .text-link-light {
        color: #ffffffeb;
        border-color: #ffffff59
    }

    .play-icon {
        background: #ffffff2b;
        border-radius: 50%;
        justify-content: center;
        align-items: center;
        width: 23px;
        height: 23px;
        display: inline-flex
    }

    .hero-proof {
        align-items: center;
        gap: 13px;
        margin-top: 82px;
        display: flex
    }

    .avatar-stack {
        align-items: center;
        display: flex
    }

    .avatar-stack span {
        background: var(--teal);
        color: #fff;
        border: 2px solid #514a70;
        border-radius: 50%;
        place-items: center;
        width: 28px;
        height: 28px;
        margin-left: -7px;
        font-family: Poppins, sans-serif;
        font-size: 10px;
        font-weight: 800;
        display: grid
    }

    .avatar-stack span:first-child {
        background: var(--sun);
        color: var(--ink);
        margin-left: 0
    }

    .avatar-stack span:nth-child(2) {
        background: var(--lilac)
    }

    .avatar-stack span:nth-child(3) {
        background: var(--teal)
    }

    .avatar-stack span:last-child {
        color: var(--lilac-deep);
        background: #fff
    }

    .hero-proof p {
        color: #ffffff9e;
        font-size: 11px;
        line-height: 1.45
    }

    .hero-side-note {
        color: #ffffff9e;
        text-transform: uppercase;
        letter-spacing: .12em;
        transform-origin: 100%;
        align-items: center;
        gap: 12px;
        font-family: Poppins, sans-serif;
        font-size: 9px;
        display: flex;
        position: absolute;
        bottom: 90px;
        right: 30px;
        transform: rotate(-90deg)
    }

    .hero-side-note div {
        background: var(--sun);
        width: 42px;
        height: 1px
    }

    .hero-bottom-shape {
        background: var(--cream);
        clip-path: ellipse(57% 100% at 50% 100%);
        width: 100%;
        height: 42px;
        position: absolute;
        bottom: -1px;
        left: 0
    }

    .metrics-strip {
        background: var(--cream);
        border-bottom: 1px solid #e9e6e1
    }

    .metrics-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        display: grid
    }

    .metric {
        border-right: 1px solid #e9e6e1;
        padding: 31px 22px 30px 0
    }

    .metric+.metric {
        padding-left: 29px
    }

    .metric:last-child {
        border-right: 0
    }

    .metric strong {
        color: var(--lilac-deep);
        letter-spacing: -1.8px;
        font: 800 clamp(25px, 3vw, 36px)/1 Poppins, sans-serif;
        display: block
    }

    .metric span {
        color: #737a88;
        margin-top: 8px;
        font-size: 11px;
        line-height: 1.35;
        display: block
    }

    .section {
        padding: 132px 0
    }

    .eyebrow {
        color: var(--teal-deep);
        margin-bottom: 20px
    }

    .eyebrow-light {
        color: var(--sun)
    }

    .intro-section {
        background: var(--cream)
    }

    .intro-grid,
    .section-heading-row {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .65fr);
        align-items: end;
        gap: 100px;
        display: grid
    }

    h2 {
        letter-spacing: -3.5px;
        font-size: clamp(38px, 4.5vw, 61px);
        font-weight: 800;
        line-height: 1.04
    }

    .intro-grid h2,
    .section-heading-row h2 {
        max-width: 690px
    }

    .highlight {
        color: var(--lilac-deep);
        white-space: nowrap;
        z-index: 0;
        position: relative
    }

    .highlight:after {
        content: "";
        background: var(--sun);
        z-index: -1;
        height: 8px;
        position: absolute;
        bottom: 1px;
        left: 2px;
        right: -3px;
        transform: rotate(-2deg)
    }

    .intro-aside {
        padding-bottom: 6px
    }

    .intro-aside p,
    .section-heading-row>p,
    .audience-text,
    .problem-copy>p,
    .faq-intro>p {
        color: var(--ink-soft);
        font-size: 16px;
        line-height: 1.7
    }

    .intro-aside .text-link {
        margin-top: 26px
    }

    .pillar-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        margin-top: 78px;
        display: grid
    }

    .pillar-card {
        background: #fff;
        border: 1px solid #e8e6eb;
        border-radius: 4px;
        min-height: 240px;
        padding: 26px 24px;
        transition: transform .25s, box-shadow .25s, border-color .25s;
        position: relative
    }

    .pillar-card:hover {
        border-color: #9389c38c;
        transform: translateY(-6px);
        box-shadow: 0 18px 35px #514a7017
    }

    .pillar-icon {
        width: 44px;
        height: 44px;
        color: var(--lilac-deep);
        background: #f0eef9;
        border-radius: 14px;
        place-items: center;
        margin-bottom: 45px;
        display: grid
    }

    .pillar-card:nth-child(2) .pillar-icon,
    .pillar-card:nth-child(4) .pillar-icon {
        color: var(--teal-deep);
        background: #e8f7f5
    }

    .pillar-card h3 {
        letter-spacing: -.5px;
        max-width: 180px;
        font-size: 17px;
        line-height: 1.2
    }

    .pillar-card p {
        color: #7a8290;
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.55
    }

    .pillar-arrow {
        color: #c7c4d9;
        position: absolute;
        top: 27px;
        right: 22px
    }

    .problem-section {
        background: #f0eef8;
        padding: 112px 0
    }

    .problem-grid {
        grid-template-columns: minmax(0, .9fr) minmax(410px, .8fr);
        align-items: center;
        gap: 110px;
        display: grid
    }

    .problem-copy h2 {
        max-width: 610px
    }

    .problem-copy>p {
        max-width: 500px;
        margin-top: 25px
    }

    .problem-copy .button {
        margin-top: 30px
    }

    .problem-panel {
        background: #fff;
        border: 1px solid #7167a429;
        padding: 28px;
        box-shadow: 16px 18px #9389c32e
    }

    .panel-line {
        border-bottom: 1px solid #ededf1;
        grid-template-columns: 44px 1fr auto;
        align-items: center;
        gap: 13px;
        padding: 19px 0;
        display: grid
    }

    .panel-line:last-of-type {
        border-bottom: 0
    }

    .panel-icon {
        border-radius: 12px;
        place-items: center;
        width: 42px;
        height: 42px;
        display: grid
    }

    .panel-icon-lilac {
        color: var(--lilac-deep);
        background: #f0eef9
    }

    .panel-icon-teal {
        color: var(--teal-deep);
        background: #e8f7f5
    }

    .panel-line strong,
    .panel-line span {
        display: block
    }

    .panel-line strong {
        font: 700 14px Poppins, sans-serif
    }

    .panel-line div span {
        color: #818795;
        margin-top: 4px;
        font-size: 11px
    }

    .panel-bad,
    .panel-good {
        text-transform: uppercase;
        letter-spacing: .08em;
        font: 500 9px Poppins, sans-serif
    }

    .panel-bad {
        color: #b77c70
    }

    .panel-good {
        color: var(--teal-deep)
    }

    .panel-note {
        color: var(--lilac-deep);
        background: #f8f7fc;
        align-items: center;
        gap: 9px;
        margin-top: 22px;
        padding: 15px 16px;
        font-size: 12px;
        line-height: 1.4;
        display: flex
    }

    .feature-section {
        background: #fff
    }

    .section-heading-row>p {
        max-width: 390px;
        padding-bottom: 5px
    }

    .feature-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-top: 78px;
        display: grid
    }

    .feature-card {
        background: var(--cream);
        border: 1px solid #ebe9e5;
        border-radius: 4px;
        min-height: 255px;
        padding: 28px 25px;
        transition: transform .25s, box-shadow .25s;
        position: relative;
        overflow: hidden
    }

    .feature-card:hover {
        transform: translateY(-7px);
        box-shadow: 0 20px 35px #514a7017
    }

    .feature-icon {
        width: 46px;
        height: 46px;
        color: var(--lilac-deep);
        background: #f0eef9;
        border-radius: 14px;
        place-items: center;
        margin-bottom: 25px;
        display: grid
    }

    .feature-card:nth-child(2n) .feature-icon {
        color: var(--teal-deep);
        background: #e8f7f5
    }

    .feature-card:nth-child(3n) .feature-icon {
        color: #7167a4;
        background: #f0eef9
    }

    .feature-eyebrow {
        color: var(--teal-deep);
        letter-spacing: .12em;
        text-transform: uppercase;
        font: 500 9px Poppins, sans-serif
    }

    .feature-card h3 {
        letter-spacing: -.5px;
        max-width: 230px;
        margin-top: 11px;
        font-size: 17px;
        line-height: 1.2
    }

    .feature-card p {
        color: #7a8290;
        max-width: 245px;
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.55
    }

    .feature-number {
        color: #d5d3db;
        font: 10px Poppins, sans-serif;
        position: absolute;
        top: 25px;
        right: 22px
    }

    .audience-section {
        background: var(--cream);
        padding-top: 120px
    }

    .audience-grid {
        grid-template-columns: minmax(0, .95fr) minmax(0, .85fr);
        align-items: center;
        gap: 105px;
        display: grid
    }

    .audience-image-wrap {
        padding: 0 27px 30px 0;
        position: relative
    }

    .audience-image-wrap:before {
        content: "";
        background-image: radial-gradient(var(--teal)1.5px, transparent 1.5px);
        opacity: .55;
        z-index: 0;
        background-size: 11px 11px;
        width: 105px;
        height: 105px;
        position: absolute;
        top: -28px;
        left: -25px
    }

    .audience-image-wrap img {
        aspect-ratio: 1.15;
        object-fit: cover;
        z-index: 1;
        filter: saturate(.92);
        border-radius: 2px;
        width: 100%;
        display: block;
        position: relative
    }

    .image-sticker {
        z-index: 2;
        background: var(--sun);
        width: 128px;
        height: 128px;
        color: var(--ink);
        border-radius: 50%;
        flex-direction: column;
        justify-content: center;
        padding-left: 20px;
        display: flex;
        position: absolute;
        top: 32px;
        right: -2px;
        transform: rotate(8deg)
    }

    .image-sticker span {
        letter-spacing: .1em;
        text-transform: uppercase;
        font: 8px Poppins, sans-serif
    }

    .image-sticker strong {
        letter-spacing: -.7px;
        margin-top: 5px;
        font: 800 18px/.93 Poppins, sans-serif
    }

    .image-caption {
        z-index: 2;
        color: #fff;
        text-transform: uppercase;
        letter-spacing: .08em;
        align-items: center;
        gap: 9px;
        font: 9px Poppins, sans-serif;
        display: flex;
        position: absolute;
        bottom: 0;
        left: 21px
    }

    .caption-line {
        background: var(--sun);
        width: 28px;
        height: 1px
    }

    .audience-copy {
        max-width: 535px
    }

    .audience-tabs {
        border-bottom: 1px solid #dddde4;
        gap: 23px;
        margin-bottom: 45px;
        display: flex
    }

    .audience-tabs button {
        appearance: none;
        color: #9aa0ad;
        letter-spacing: .06em;
        text-transform: uppercase;
        background: 0 0;
        border: 0;
        padding: 0 0 14px;
        font: 10px Poppins, sans-serif;
        position: relative
    }

    .audience-tabs button.active {
        color: var(--lilac-deep)
    }

    .audience-tabs button.active:after {
        content: "";
        background: var(--lilac);
        width: 100%;
        height: 2px;
        position: absolute;
        bottom: -1px;
        left: 0
    }

    .audience-icon {
        width: 52px;
        height: 52px;
        color: var(--lilac-deep);
        background: #f0eef9;
        border-radius: 50%;
        place-items: center;
        display: grid
    }

    .audience-eyebrow {
        color: var(--teal-deep);
        letter-spacing: .09em;
        text-transform: uppercase;
        margin-top: 19px;
        font: 10px Poppins, sans-serif
    }

    .audience-copy h2 {
        margin-top: 13px;
        font-size: clamp(36px, 4vw, 54px)
    }

    .audience-text {
        margin-top: 20px
    }

    .check-list {
        flex-direction: column;
        gap: 13px;
        margin: 27px 0 33px;
        padding: 0;
        list-style: none;
        display: flex
    }

    .check-list li {
        align-items: center;
        gap: 10px;
        font-size: 13px;
        font-weight: 600;
        display: flex
    }

    .check-list li span,
    .flow-check {
        width: 21px;
        height: 21px;
        color: var(--lilac-deep);
        background: #f0eef9;
        border-radius: 50%;
        place-items: center;
        display: grid
    }

    .flow-section {
        background: var(--lilac-deep);
        color: #fff;
        position: relative;
        overflow: hidden
    }

    .flow-section:after {
        content: "";
        border: 1px solid #ffffff29;
        border-radius: 50%;
        width: 530px;
        height: 530px;
        position: absolute;
        top: -220px;
        right: -230px;
        box-shadow: 0 0 0 45px #ffffff0a, 0 0 0 90px #ffffff06
    }

    .section-heading-centered {
        text-align: center;
        max-width: 620px;
        margin-inline: auto
    }

    .section-heading-centered h2 {
        color: #fff
    }

    .section-heading-centered>p {
        color: #ffffffb3;
        margin-top: 16px;
        font-size: 16px
    }

    .flow-grid {
        z-index: 1;
        grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr;
        align-items: center;
        margin-top: 75px;
        display: grid;
        position: relative
    }

    .flow-step {
        background: #ffffff12;
        border: 1px solid #fff3;
        min-height: 225px;
        padding: 30px 22px;
        position: relative
    }

    .flow-index {
        color: var(--sun);
        font: 10px Poppins, sans-serif;
        position: absolute;
        top: 18px;
        right: 20px
    }

    .flow-icon {
        width: 50px;
        height: 50px;
        color: var(--ink);
        background: var(--sun);
        border-radius: 50%;
        place-items: center;
        display: grid
    }

    .flow-step h3 {
        letter-spacing: -.5px;
        margin-top: 26px;
        font-size: 18px
    }

    .flow-step p {
        color: #ffffffb0;
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.55
    }

    .flow-connector {
        background: repeating-linear-gradient(90deg, #ffffff80 0 5px, #0000 5px 10px);
        height: 1px
    }

    .flow-bottom {
        color: #ffffffd6;
        flex-wrap: wrap;
        justify-content: center;
        gap: 35px;
        margin-top: 58px;
        font-size: 12px;
        display: flex
    }

    .flow-bottom>div {
        align-items: center;
        gap: 8px;
        display: inline-flex
    }

    .flow-check {
        color: var(--sun);
        background: #ffffff21
    }

    .events-section {
        background: #fff
    }

    .events-heading {
        align-items: end
    }

    .events-heading>p {
        max-width: 410px
    }

    .event-category-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-top: 72px;
        display: grid
    }

    .event-category {
        background: var(--cream);
        border: 1px solid #e7e6eb;
        min-height: 215px;
        padding: 25px;
        transition: transform .25s, box-shadow .25s;
        position: relative
    }

    .event-category:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 34px #514a7017
    }

    .event-category-top {
        color: var(--teal-deep);
        justify-content: space-between;
        align-items: center;
        display: flex
    }

    .event-index {
        color: #c9c5d9;
        font: 10px Poppins, sans-serif
    }

    .event-category h3 {
        margin-top: 36px;
        font-size: 18px
    }

    .event-category p {
        color: #78808d;
        max-width: 230px;
        margin-top: 9px;
        font-size: 12px;
        line-height: 1.55
    }

    .event-category a {
        width: 30px;
        height: 30px;
        color: var(--lilac-deep);
        background: #f0eef9;
        border-radius: 50%;
        place-items: center;
        transition: background .2s, color .2s;
        display: grid;
        position: absolute;
        bottom: 23px;
        right: 23px
    }

    .event-category a:hover {
        color: #fff;
        background: var(--lilac)
    }

    .benefit-band {
        color: #fff;
        background: var(--teal-deep);
        padding: 95px 0
    }

    .benefit-grid {
        grid-template-columns: 1.15fr .85fr;
        align-items: center;
        gap: 110px;
        display: grid
    }

    .benefit-grid h2 {
        max-width: 650px
    }

    .benefit-list {
        flex-direction: column;
        gap: 18px;
        display: flex
    }

    .benefit-list>div {
        border-bottom: 1px solid #fff3;
        gap: 13px;
        padding: 15px 0;
        display: flex
    }

    .benefit-list svg {
        color: var(--sun);
        flex: none;
        margin-top: 2px
    }

    .benefit-list strong,
    .benefit-list small {
        display: block
    }

    .benefit-list strong {
        font: 700 14px Poppins, sans-serif
    }

    .benefit-list small {
        color: #ffffffb3;
        margin-top: 4px;
        font-size: 11px
    }

    .quote-section {
        background: var(--sun);
        padding: 110px 0 122px
    }

    .quote-heading {
        grid-template-columns: minmax(0, 1.15fr) minmax(250px, .55fr);
        align-items: end
    }

    .quote-heading h2 {
        color: var(--ink);
        max-width: 700px
    }

    .quote-heading .eyebrow {
        color: var(--lilac-deep)
    }

    .quote-heading>p {
        color: #514a70ab;
        font-size: 15px;
        line-height: 1.6
    }

    .testimonial-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 12px;
        margin-top: 58px;
        display: grid
    }

    .testimonial-card {
        background: #ffffff4d;
        border: 1px solid #514a7021;
        border-radius: 4px;
        flex-direction: column;
        min-height: 330px;
        transition: transform .25s, box-shadow .25s;
        display: flex;
        overflow: hidden
    }

    .testimonial-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 30px #514a701a
    }

    .testimonial-featured {
        background: #fff;
        box-shadow: 0 18px 34px #514a701a
    }

    .testimonial-photo {
        background: #ddd;
        height: 148px;
        position: relative;
        overflow: hidden
    }

    .testimonial-photo:after {
        content: "";
        background: linear-gradient(#0000 48%, #514a7059);
        position: absolute;
        inset: 0
    }

    .testimonial-photo img {
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 100%;
        display: block
    }

    .testimonial-order {
        z-index: 1;
        width: 26px;
        height: 26px;
        color: var(--ink);
        background: var(--sun);
        border-radius: 50%;
        place-items: center;
        font: 10px Poppins, sans-serif;
        display: grid;
        position: absolute;
        top: 13px;
        right: 13px
    }

    .testimonial-content {
        flex-direction: column;
        flex: 1;
        padding: 22px 20px 20px;
        display: flex
    }

    .testimonial-label {
        color: var(--lilac-deep);
        letter-spacing: .08em;
        text-transform: uppercase;
        font: 9px Poppins, sans-serif
    }

    .testimonial-content>p {
        letter-spacing: -.45px;
        margin-top: 13px;
        font: 700 16px/1.25 Poppins, sans-serif
    }

    .quote-author {
        margin-top: auto;
        padding-top: 20px
    }

    .quote-author strong,
    .quote-author span {
        display: block
    }

    .quote-author strong {
        font-size: 12px
    }

    .quote-author span {
        color: #514a7094;
        margin-top: 4px;
        font-size: 10px
    }

    .testimonial-teal .testimonial-label {
        color: var(--teal-deep)
    }

    .testimonial-sun .testimonial-label {
        color: #238b87
    }

    .testimonial-coral .testimonial-label {
        color: #b66650
    }

    .testimonial-note {
        color: #514a70a1;
        text-transform: uppercase;
        letter-spacing: .08em;
        justify-content: center;
        align-items: center;
        gap: 9px;
        margin-top: 32px;
        font: 9px Poppins, sans-serif;
        display: flex
    }

    .testimonial-note .caption-line {
        background: var(--lilac-deep)
    }

    .faq-section {
        background: var(--cream)
    }

    .faq-grid {
        grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
        align-items: start;
        gap: 120px;
        display: grid
    }

    .faq-intro h2 {
        font-size: clamp(37px, 4.3vw, 55px)
    }

    .faq-intro>p {
        max-width: 310px;
        margin-top: 21px
    }

    .faq-intro .button {
        margin-top: 28px
    }

    .faq-list {
        border-top: 1px solid #dddde4
    }

    .faq-item {
        border-bottom: 1px solid #dddde4
    }

    .faq-item button {
        text-align: left;
        width: 100%;
        color: var(--ink);
        background: 0 0;
        border: 0;
        justify-content: space-between;
        gap: 20px;
        padding: 21px 0;
        font: 700 14px Poppins, sans-serif;
        display: flex
    }

    .faq-item button svg {
        color: var(--lilac-deep);
        flex-shrink: 0;
        transition: transform .2s
    }

    .faq-open button svg {
        transform: rotate(180deg)
    }

    .faq-item p {
        color: var(--ink-soft);
        max-width: 650px;
        padding: 0 38px 22px 0;
        font-size: 13px;
        line-height: 1.65
    }

    .cta-section {
        color: #fff;
        background: var(--ink);
        padding: 100px 0;
        position: relative;
        overflow: hidden
    }

    .cta-section:before {
        content: "";
        border: 1px solid #ffffff21;
        border-radius: 50%;
        width: 380px;
        height: 380px;
        position: absolute;
        top: -265px;
        right: 4%;
        box-shadow: 0 0 0 42px #ffffff08, 0 0 0 84px #ffffff05
    }

    .cta-inner {
        z-index: 1;
        grid-template-columns: 1.1fr .65fr;
        align-items: end;
        gap: 100px;
        display: grid;
        position: relative
    }

    .cta-inner h2 {
        letter-spacing: -4px;
        font-size: clamp(50px, 6vw, 76px)
    }

    .cta-side p {
        color: #ffffffb0;
        font-size: 14px;
        line-height: 1.65
    }

    .cta-side .button {
        margin-top: 26px
    }

    .cta-confetti {
        color: var(--sun);
        font: 42px Poppins, sans-serif;
        position: absolute
    }

    .confetti-one {
        bottom: 30px;
        left: 12%;
        transform: rotate(24deg)
    }

    .confetti-two {
        color: var(--teal);
        font-size: 25px;
        bottom: 44px;
        right: 15%;
        transform: rotate(-16deg)
    }

    .site-footer {
        color: #fff;
        background: var(--ink);
        border-top: 1px solid #ffffff24;
        padding: 53px 0 23px
    }

    .footer-top {
        justify-content: space-between;
        gap: 70px;
        display: flex
    }

    .footer-links {
        gap: 85px;
        display: flex
    }

    .footer-links div {
        flex-direction: column;
        gap: 10px;
        display: flex
    }

    .footer-links strong {
        color: var(--sun);
        letter-spacing: .1em;
        text-transform: uppercase;
        margin-bottom: 5px;
        font: 9px Poppins, sans-serif
    }

    .footer-links a {
        color: #ffffffa1;
        font-size: 12px;
        text-decoration: none;
        transition: color .2s
    }

    .footer-links a:hover {
        color: #fff
    }

    .footer-bottom {
        color: #ffffff61;
        letter-spacing: .03em;
        justify-content: space-between;
        gap: 20px;
        padding-top: 66px;
        font: 9px Poppins, sans-serif;
        display: flex
    }

    .whatsapp-float {
        z-index: 40;
        color: #fff;
        background: #25d366;
        border-radius: 50%;
        place-items: center;
        width: 52px;
        height: 52px;
        transition: transform .2s;
        display: grid;
        position: fixed;
        bottom: 22px;
        right: 24px;
        box-shadow: 0 10px 25px #514a7040
    }

    .whatsapp-float:hover {
        transform: translateY(-4px)scale(1.03)
    }

    @media (max-width:1080px) {
        .main-nav {
            gap: 16px
        }

        .login-link {
            display: none
        }

        .intro-grid,
        .section-heading-row,
        .problem-grid,
        .audience-grid,
        .benefit-grid,
        .faq-grid,
        .cta-inner {
            gap: 55px
        }

        .flow-grid {
            grid-template-columns: repeat(4, 1fr);
            gap: 12px
        }

        .flow-connector {
            display: none
        }

        .flow-step {
            padding: 23px 16px
        }

        .flow-step h3 {
            font-size: 16px
        }

        .testimonial-grid {
            grid-template-columns: repeat(3, 1fr)
        }

        .testimonial-card:nth-child(4),
        .testimonial-card:nth-child(5) {
            margin-top: 2px
        }

        .footer-links {
            gap: 40px
        }
    }

    @media (max-width:740px) {
        .container {
            padding-inline: 20px
        }

        .site-header {
            height: 72px
        }

        .official-logo {
            width: 78px;
            height: 62px
        }

        .nav-actions {
            display: none
        }

        .menu-toggle {
            color: #fff;
            background: 0 0;
            border: 0;
            place-items: center;
            padding: 7px;
            display: grid
        }

        .main-nav {
            background: var(--ink);
            border-radius: 7px;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding: 10px;
            display: none;
            position: absolute;
            top: 65px;
            left: 20px;
            right: 20px;
            box-shadow: 0 20px 35px #00000040
        }

        .main-nav-open {
            display: flex
        }

        .main-nav a {
            border-bottom: 1px solid #ffffff1a;
            padding: 13px 12px
        }

        .main-nav .nav-login-mobile {
            color: var(--sun);
            border-bottom: 0;
            display: block
        }

        .hero {
            align-items: flex-start;
            height: auto;
            min-height: 730px;
            padding-top: 145px;
            padding-bottom: 100px
        }

        .hero-image {
            background-position: 63%
        }

        .hero-overlay {
            background: linear-gradient(90deg, #7167a4f5, #514a70a8 72%, #514a7059)
        }

        .hero-content {
            padding-top: 0
        }

        h1 {
            letter-spacing: -3.5px;
            font-size: clamp(45px, 15vw, 65px)
        }

        .hero-lede {
            max-width: 390px;
            font-size: 15px
        }

        .hero-actions {
            flex-wrap: wrap;
            gap: 18px
        }

        .hero-proof {
            margin-top: 62px
        }

        .hero-side-note {
            display: none
        }

        .metrics-grid {
            grid-template-columns: 1fr 1fr
        }

        .metric {
            border-bottom: 1px solid #e9e6e1;
            border-right: 1px solid #e9e6e1;
            padding: 23px 14px 23px 0
        }

        .metric:nth-child(2n) {
            border-right: 0;
            padding-left: 18px
        }

        .metric:nth-child(3),
        .metric:nth-child(4) {
            border-bottom: 0
        }

        .section {
            padding: 84px 0
        }

        .intro-grid,
        .section-heading-row,
        .problem-grid,
        .audience-grid,
        .benefit-grid,
        .faq-grid,
        .cta-inner {
            display: block
        }

        .intro-aside,
        .section-heading-row>p,
        .events-heading>p {
            margin-top: 32px
        }

        .pillar-grid {
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-top: 55px
        }

        .pillar-card {
            min-height: 225px;
            padding: 20px 17px
        }

        .pillar-icon {
            margin-bottom: 28px
        }

        .problem-section {
            padding: 80px 0
        }

        .problem-panel {
            margin-top: 45px;
            box-shadow: 10px 12px #9389c32e
        }

        .feature-grid {
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-top: 55px
        }

        .feature-card {
            min-height: 240px;
            padding: 20px 17px
        }

        .feature-icon {
            margin-bottom: 24px
        }

        .feature-card h3 {
            font-size: 15px
        }

        .feature-card p {
            font-size: 11px
        }

        .audience-image-wrap {
            margin-bottom: 55px;
            padding-right: 17px
        }

        .audience-copy {
            max-width: none
        }

        .audience-tabs {
            gap: 16px
        }

        .audience-tabs button {
            font-size: 9px
        }

        .flow-grid {
            margin-top: 50px;
            display: block
        }

        .flow-step {
            min-height: auto;
            margin-bottom: 15px;
            padding: 25px 20px
        }

        .flow-bottom {
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 15px;
            margin-top: 35px
        }

        .event-category-grid {
            grid-template-columns: 1fr 1fr;
            margin-top: 50px
        }

        .event-category {
            min-height: 205px
        }

        .benefit-grid>*+* {
            margin-top: 43px
        }

        .quote-section {
            padding: 78px 0
        }

        .quote-heading>p {
            margin-top: 30px
        }

        .testimonial-grid {
            grid-template-columns: 1fr 1fr;
            margin-top: 40px
        }

        .testimonial-card:nth-child(4),
        .testimonial-card:nth-child(5) {
            margin-top: 0
        }

        .testimonial-card {
            min-height: 310px
        }

        .testimonial-photo {
            height: 160px
        }

        .faq-intro {
            margin-bottom: 54px
        }

        .faq-intro>p {
            max-width: 460px
        }

        .cta-inner h2 {
            letter-spacing: -3px;
            font-size: 54px
        }

        .cta-side {
            max-width: 410px;
            margin-top: 32px
        }

        .footer-top {
            display: block
        }

        .footer-links {
            grid-template-columns: 1fr 1fr;
            gap: 35px 20px;
            margin-top: 45px;
            display: grid
        }

        .footer-bottom {
            padding-top: 45px;
            display: block
        }

        .footer-bottom span {
            display: block
        }

        .footer-bottom span+span {
            margin-top: 9px
        }
    }

    @media (max-width:460px) {
        .hero {
            min-height: 750px
        }

        .hero-actions .button {
            width: 100%
        }

        .text-link-light {
            margin-left: 5px
        }

        .pillar-grid,
        .feature-grid,
        .event-category-grid,
        .testimonial-grid {
            grid-template-columns: 1fr
        }

        .pillar-card,
        .feature-card {
            min-height: auto
        }

        .testimonial-card {
            min-height: 300px
        }

        .testimonial-photo {
            height: 210px
        }

        .panel-line {
            grid-template-columns: 40px 1fr
        }

        .panel-bad,
        .panel-good {
            grid-column: 2;
            margin-top: -8px
        }

        .audience-tabs {
            gap: 11px
        }

        .audience-tabs button {
            font-size: 8px
        }

        .events-art {
            margin-left: -20px;
            margin-right: -20px;
            transform: scale(.78)
        }
    }
}

@layer utilities {
    .\@container\/card-header {
        container: card-header/inline-size
    }

    .\@container\/field-group {
        container: field-group/inline-size
    }

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

    .invisible {
        visibility: hidden
    }

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

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .inset-0 {
        inset: calc(var(--spacing)*0)
    }

    .inset-x-0 {
        inset-inline: calc(var(--spacing)*0)
    }

    .inset-y-0 {
        inset-block: calc(var(--spacing)*0)
    }

    .-top-12 {
        top: calc(var(--spacing)*-12)
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

    .top-1\.5 {
        top: calc(var(--spacing)*1.5)
    }

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

    .top-3\.5 {
        top: calc(var(--spacing)*3.5)
    }

    .top-4 {
        top: calc(var(--spacing)*4)
    }

    .top-\[1px\] {
        top: 1px
    }

    .top-\[50\%\] {
        top: 50%
    }

    .top-\[60\%\] {
        top: 60%
    }

    .top-full {
        top: 100%
    }

    .-right-12 {
        right: calc(var(--spacing)*-12)
    }

    .right-0 {
        right: calc(var(--spacing)*0)
    }

    .right-1 {
        right: calc(var(--spacing)*1)
    }

    .right-2 {
        right: calc(var(--spacing)*2)
    }

    .right-3 {
        right: calc(var(--spacing)*3)
    }

    .right-4 {
        right: calc(var(--spacing)*4)
    }

    .-bottom-12 {
        bottom: calc(var(--spacing)*-12)
    }

    .bottom-0 {
        bottom: calc(var(--spacing)*0)
    }

    .-left-12 {
        left: calc(var(--spacing)*-12)
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

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

    .left-2 {
        left: calc(var(--spacing)*2)
    }

    .left-\[50\%\] {
        left: 50%
    }

    .isolate {
        isolation: isolate
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

    .z-\[1\] {
        z-index: 1
    }

    .order-first {
        order: -9999
    }

    .order-last {
        order: 9999
    }

    .col-start-2 {
        grid-column-start: 2
    }

    .row-span-2 {
        grid-row: span 2/span 2
    }

    .row-start-1 {
        grid-row-start: 1
    }

    .container {
        width: 100%
    }

    @media (min-width:40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (min-width:48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (min-width:64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (min-width:80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (min-width:96rem) {
        .container {
            max-width: 96rem
        }
    }

    .\!m-0 {
        margin: calc(var(--spacing)*0) !important
    }

    .-mx-1 {
        margin-inline: calc(var(--spacing)*-1)
    }

    .mx-2 {
        margin-inline: calc(var(--spacing)*2)
    }

    .mx-3\.5 {
        margin-inline: calc(var(--spacing)*3.5)
    }

    .mx-4 {
        margin-inline: calc(var(--spacing)*4)
    }

    .mx-auto {
        margin-inline: auto
    }

    .-my-2 {
        margin-block: calc(var(--spacing)*-2)
    }

    .my-0 {
        margin-block: calc(var(--spacing)*0)
    }

    .my-0\.5 {
        margin-block: calc(var(--spacing)*.5)
    }

    .my-1 {
        margin-block: calc(var(--spacing)*1)
    }

    .-mt-4 {
        margin-top: calc(var(--spacing)*-4)
    }

    .mt-1\.5 {
        margin-top: calc(var(--spacing)*1.5)
    }

    .mt-2 {
        margin-top: calc(var(--spacing)*2)
    }

    .mt-4 {
        margin-top: calc(var(--spacing)*4)
    }

    .mt-auto {
        margin-top: auto
    }

    .mr-2 {
        margin-right: calc(var(--spacing)*2)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing)*2)
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing)*3)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing)*6)
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing)*8)
    }

    .-ml-4 {
        margin-left: calc(var(--spacing)*-4)
    }

    .ml-1 {
        margin-left: calc(var(--spacing)*1)
    }

    .ml-4 {
        margin-left: calc(var(--spacing)*4)
    }

    .ml-auto {
        margin-left: auto
    }

    .line-clamp-1 {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .line-clamp-2 {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline-flex {
        display: inline-flex
    }

    .table {
        display: table
    }

    .table-caption {
        display: table-caption
    }

    .table-cell {
        display: table-cell
    }

    .table-row {
        display: table-row
    }

    .field-sizing-content {
        field-sizing: content
    }

    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-video {
        aspect-ratio: var(--aspect-video)
    }

    .size-\(--cell-size\) {
        width: var(--cell-size);
        height: var(--cell-size)
    }

    .size-2 {
        width: calc(var(--spacing)*2);
        height: calc(var(--spacing)*2)
    }

    .size-2\.5 {
        width: calc(var(--spacing)*2.5);
        height: calc(var(--spacing)*2.5)
    }

    .size-3 {
        width: calc(var(--spacing)*3);
        height: calc(var(--spacing)*3)
    }

    .size-3\.5 {
        width: calc(var(--spacing)*3.5);
        height: calc(var(--spacing)*3.5)
    }

    .size-4 {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .size-6 {
        width: calc(var(--spacing)*6);
        height: calc(var(--spacing)*6)
    }

    .size-7 {
        width: calc(var(--spacing)*7);
        height: calc(var(--spacing)*7)
    }

    .size-8 {
        width: calc(var(--spacing)*8);
        height: calc(var(--spacing)*8)
    }

    .size-9 {
        width: calc(var(--spacing)*9);
        height: calc(var(--spacing)*9)
    }

    .size-10 {
        width: calc(var(--spacing)*10);
        height: calc(var(--spacing)*10)
    }

    .size-auto {
        width: auto;
        height: auto
    }

    .size-full {
        width: 100%;
        height: 100%
    }

    .h-\(--cell-size\) {
        height: var(--cell-size)
    }

    .h-1\.5 {
        height: calc(var(--spacing)*1.5)
    }

    .h-2 {
        height: calc(var(--spacing)*2)
    }

    .h-2\.5 {
        height: calc(var(--spacing)*2.5)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-5 {
        height: calc(var(--spacing)*5)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-7 {
        height: calc(var(--spacing)*7)
    }

    .h-8 {
        height: calc(var(--spacing)*8)
    }

    .h-9 {
        height: calc(var(--spacing)*9)
    }

    .h-10 {
        height: calc(var(--spacing)*10)
    }

    .h-12 {
        height: calc(var(--spacing)*12)
    }

    .h-16 {
        height: calc(var(--spacing)*16)
    }

    .h-\[1\.15rem\] {
        height: 1.15rem
    }

    .h-\[500px\] {
        height: 500px
    }

    .h-\[calc\(100\%-1px\)\] {
        height: calc(100% - 1px)
    }

    .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
        height: var(--radix-navigation-menu-viewport-height)
    }

    .h-\[var\(--radix-select-trigger-height\)\] {
        height: var(--radix-select-trigger-height)
    }

    .h-auto {
        height: auto
    }

    .h-full {
        height: 100%
    }

    .h-px {
        height: 1px
    }

    .h-svh {
        height: 100svh
    }

    .max-h-\(--radix-context-menu-content-available-height\) {
        max-height: var(--radix-context-menu-content-available-height)
    }

    .max-h-\(--radix-dropdown-menu-content-available-height\) {
        max-height: var(--radix-dropdown-menu-content-available-height)
    }

    .max-h-\(--radix-select-content-available-height\) {
        max-height: var(--radix-select-content-available-height)
    }

    .max-h-\[300px\] {
        max-height: 300px
    }

    .min-h-0 {
        min-height: calc(var(--spacing)*0)
    }

    .min-h-4 {
        min-height: calc(var(--spacing)*4)
    }

    .min-h-16 {
        min-height: calc(var(--spacing)*16)
    }

    .min-h-screen {
        min-height: 100vh
    }

    .min-h-svh {
        min-height: 100svh
    }

    .w-\(--cell-size\) {
        width: var(--cell-size)
    }

    .w-\(--sidebar-width\) {
        width: var(--sidebar-width)
    }

    .w-0 {
        width: calc(var(--spacing)*0)
    }

    .w-1 {
        width: calc(var(--spacing)*1)
    }

    .w-2 {
        width: calc(var(--spacing)*2)
    }

    .w-2\.5 {
        width: calc(var(--spacing)*2.5)
    }

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-3\/4 {
        width: 75%
    }

    .w-4 {
        width: calc(var(--spacing)*4)
    }

    .w-5 {
        width: calc(var(--spacing)*5)
    }

    .w-8 {
        width: calc(var(--spacing)*8)
    }

    .w-9 {
        width: calc(var(--spacing)*9)
    }

    .w-10 {
        width: calc(var(--spacing)*10)
    }

    .w-16 {
        width: calc(var(--spacing)*16)
    }

    .w-64 {
        width: calc(var(--spacing)*64)
    }

    .w-72 {
        width: calc(var(--spacing)*72)
    }

    .w-\[100px\] {
        width: 100px
    }

    .w-\[400px\] {
        width: 400px
    }

    .w-auto {
        width: auto
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .w-max {
        width: max-content
    }

    .w-px {
        width: 1px
    }

    .max-w-\(--skeleton-width\) {
        max-width: var(--skeleton-width)
    }

    .max-w-2xl {
        max-width: var(--container-2xl)
    }

    .max-w-\[calc\(100\%-2rem\)\] {
        max-width: calc(100% - 2rem)
    }

    .max-w-lg {
        max-width: var(--container-lg)
    }

    .max-w-max {
        max-width: max-content
    }

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .min-w-\(--cell-size\) {
        min-width: var(--cell-size)
    }

    .min-w-0 {
        min-width: calc(var(--spacing)*0)
    }

    .min-w-5 {
        min-width: calc(var(--spacing)*5)
    }

    .min-w-8 {
        min-width: calc(var(--spacing)*8)
    }

    .min-w-9 {
        min-width: calc(var(--spacing)*9)
    }

    .min-w-10 {
        min-width: calc(var(--spacing)*10)
    }

    .min-w-\[8rem\] {
        min-width: 8rem
    }

    .min-w-\[12rem\] {
        min-width: 12rem
    }

    .min-w-\[var\(--radix-select-trigger-width\)\] {
        min-width: var(--radix-select-trigger-width)
    }

    .flex-1 {
        flex: 1
    }

    .flex-shrink-0,
    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .grow-0 {
        flex-grow: 0
    }

    .basis-full {
        flex-basis: 100%
    }

    .caption-bottom {
        caption-side: bottom
    }

    .border-collapse {
        border-collapse: collapse
    }

    .origin-\(--radix-context-menu-content-transform-origin\) {
        transform-origin: var(--radix-context-menu-content-transform-origin)
    }

    .origin-\(--radix-dropdown-menu-content-transform-origin\) {
        transform-origin: var(--radix-dropdown-menu-content-transform-origin)
    }

    .origin-\(--radix-hover-card-content-transform-origin\) {
        transform-origin: var(--radix-hover-card-content-transform-origin)
    }

    .origin-\(--radix-menubar-content-transform-origin\) {
        transform-origin: var(--radix-menubar-content-transform-origin)
    }

    .origin-\(--radix-popover-content-transform-origin\) {
        transform-origin: var(--radix-popover-content-transform-origin)
    }

    .origin-\(--radix-select-content-transform-origin\) {
        transform-origin: var(--radix-select-content-transform-origin)
    }

    .origin-\(--radix-tooltip-content-transform-origin\) {
        transform-origin: var(--radix-tooltip-content-transform-origin)
    }

    .-translate-x-1\/2 {
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .-translate-x-px {
        --tw-translate-x: -1px;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-x-\[-50\%\] {
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-x-px {
        --tw-translate-x: 1px;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .-translate-y-1\/2 {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-0\.5 {
        --tw-translate-y: calc(var(--spacing)*.5);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-\[-50\%\] {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-\[calc\(-50\%_-_2px\)\] {
        --tw-translate-y: calc(-50% - 2px);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .rotate-45 {
        rotate: 45deg
    }

    .rotate-90 {
        rotate: 90deg
    }

    .transform {
        transform: var(--tw-rotate-x, )var(--tw-rotate-y, )var(--tw-rotate-z, )var(--tw-skew-x, )var(--tw-skew-y, )
    }

    .animate-caret-blink {
        animation: 1.25s ease-out infinite caret-blink
    }

    .animate-in {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .animate-pulse {
        animation: var(--animate-pulse)
    }

    .animate-spin {
        animation: var(--animate-spin)
    }

    .cursor-default {
        cursor: default
    }

    .cursor-pointer {
        cursor: pointer
    }

    .cursor-text {
        cursor: text
    }

    .touch-none {
        touch-action: none
    }

    .resize-none {
        resize: none
    }

    .scroll-my-1 {
        scroll-margin-block: calc(var(--spacing)*1)
    }

    .scroll-py-1 {
        scroll-padding-block: calc(var(--spacing)*1)
    }

    .list-disc {
        list-style-type: disc
    }

    .list-none {
        list-style-type: none
    }

    .auto-rows-min {
        grid-auto-rows: min-content
    }

    .grid-cols-\[0_1fr\] {
        grid-template-columns: 0 1fr
    }

    .grid-rows-\[auto_auto\] {
        grid-template-rows: auto auto
    }

    .flex-col {
        flex-direction: column
    }

    .flex-col-reverse {
        flex-direction: column-reverse
    }

    .flex-row {
        flex-direction: row
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .items-center {
        align-items: center
    }

    .items-end {
        align-items: flex-end
    }

    .items-start {
        align-items: flex-start
    }

    .items-stretch {
        align-items: stretch
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .justify-start {
        justify-content: flex-start
    }

    .justify-items-start {
        justify-items: start
    }

    .gap-0 {
        gap: calc(var(--spacing)*0)
    }

    .gap-0\.5 {
        gap: calc(var(--spacing)*.5)
    }

    .gap-1 {
        gap: calc(var(--spacing)*1)
    }

    .gap-1\.5 {
        gap: calc(var(--spacing)*1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing)*2)
    }

    .gap-2\.5 {
        gap: calc(var(--spacing)*2.5)
    }

    .gap-3 {
        gap: calc(var(--spacing)*3)
    }

    .gap-4 {
        gap: calc(var(--spacing)*4)
    }

    .gap-6 {
        gap: calc(var(--spacing)*6)
    }

    .gap-7 {
        gap: calc(var(--spacing)*7)
    }

    .gap-y-0\.5 {
        row-gap: calc(var(--spacing)*.5)
    }

    .self-start {
        align-self: flex-start
    }

    .self-stretch {
        align-self: stretch
    }

    .justify-self-end {
        justify-self: flex-end
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .overflow-auto {
        overflow: auto
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-x-hidden {
        overflow-x: hidden
    }

    .overflow-y-auto {
        overflow-y: auto
    }

    .rounded {
        border-radius: .25rem
    }

    .rounded-\[2px\] {
        border-radius: 2px
    }

    .rounded-\[4px\] {
        border-radius: 4px
    }

    .rounded-\[10px\] {
        border-radius: 10px
    }

    .rounded-\[20px\] {
        border-radius: 20px
    }

    .rounded-\[calc\(var\(--radius\)-5px\)\] {
        border-radius: calc(var(--radius) - 5px)
    }

    .rounded-\[inherit\] {
        border-radius: inherit
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-lg {
        border-radius: var(--radius)
    }

    .rounded-md {
        border-radius: calc(var(--radius) - 2px)
    }

    .rounded-none {
        border-radius: 0
    }

    .rounded-sm {
        border-radius: calc(var(--radius) - 4px)
    }

    .rounded-xl {
        border-radius: calc(var(--radius) + 4px)
    }

    .rounded-xs {
        border-radius: var(--radius-xs)
    }

    .rounded-l-md {
        border-top-left-radius: calc(var(--radius) - 2px);
        border-bottom-left-radius: calc(var(--radius) - 2px)
    }

    .rounded-tl-sm {
        border-top-left-radius: calc(var(--radius) - 4px)
    }

    .rounded-r-md {
        border-top-right-radius: calc(var(--radius) - 2px);
        border-bottom-right-radius: calc(var(--radius) - 2px)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-0 {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .border-\[1\.5px\] {
        border-style: var(--tw-border-style);
        border-width: 1.5px
    }

    .border-y {
        border-block-style: var(--tw-border-style);
        border-block-width: 1px
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-l {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .border-dashed {
        --tw-border-style: dashed;
        border-style: dashed
    }

    .border-\(--color-border\) {
        border-color: var(--color-border)
    }

    .border-\[rgba\(0\,0\,0\,0\.08\)\] {
        border-color: #00000014
    }

    .border-border,
    .border-border\/50 {
        border-color: var(--border)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-border\/50 {
            border-color: color-mix(in oklab, var(--border)50%, transparent)
        }
    }

    .border-input {
        border-color: var(--input)
    }

    .border-primary {
        border-color: var(--primary)
    }

    .border-transparent {
        border-color: #0000
    }

    .border-t-transparent {
        border-top-color: #0000
    }

    .border-l-transparent {
        border-left-color: #0000
    }

    .bg-\(--color-bg\) {
        background-color: var(--color-bg)
    }

    .bg-\[\#1a1a19\] {
        background-color: #1a1a19
    }

    .bg-\[\#f8f8f7\] {
        background-color: #f8f8f7
    }

    .bg-accent {
        background-color: var(--accent)
    }

    .bg-background {
        background-color: var(--background)
    }

    .bg-black\/50 {
        background-color: #00000080
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/50 {
            background-color: color-mix(in oklab, var(--color-black)50%, transparent)
        }
    }

    .bg-blue-600 {
        background-color: var(--color-blue-600)
    }

    .bg-border {
        background-color: var(--border)
    }

    .bg-card {
        background-color: var(--card)
    }

    .bg-foreground {
        background-color: var(--foreground)
    }

    .bg-input {
        background-color: var(--input)
    }

    .bg-muted,
    .bg-muted\/50 {
        background-color: var(--muted)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-muted\/50 {
            background-color: color-mix(in oklab, var(--muted)50%, transparent)
        }
    }

    .bg-popover {
        background-color: var(--popover)
    }

    .bg-primary,
    .bg-primary\/20 {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-primary\/20 {
            background-color: color-mix(in oklab, var(--primary)20%, transparent)
        }
    }

    .bg-red-100 {
        background-color: var(--color-red-100)
    }

    .bg-secondary {
        background-color: var(--secondary)
    }

    .bg-transparent {
        background-color: #0000
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-white\/80 {
        background-color: #fffc
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/80 {
            background-color: color-mix(in oklab, var(--color-white)80%, transparent)
        }
    }

    .bg-gradient-to-br {
        --tw-gradient-position: to bottom right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-slate-50 {
        --tw-gradient-from: var(--color-slate-50);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-slate-100 {
        --tw-gradient-to: var(--color-slate-100);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .fill-current {
        fill: currentColor
    }

    .fill-foreground {
        fill: var(--foreground)
    }

    .fill-primary {
        fill: var(--primary)
    }

    .p-0 {
        padding: calc(var(--spacing)*0)
    }

    .p-1 {
        padding: calc(var(--spacing)*1)
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-3 {
        padding: calc(var(--spacing)*3)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-5 {
        padding: calc(var(--spacing)*5)
    }

    .p-6 {
        padding: calc(var(--spacing)*6)
    }

    .p-8 {
        padding: calc(var(--spacing)*8)
    }

    .p-\[3px\] {
        padding: 3px
    }

    .p-px {
        padding: 1px
    }

    .px-\(--cell-size\) {
        padding-inline: var(--cell-size)
    }

    .px-1 {
        padding-inline: calc(var(--spacing)*1)
    }

    .px-1\.5 {
        padding-inline: calc(var(--spacing)*1.5)
    }

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-2\.5 {
        padding-inline: calc(var(--spacing)*2.5)
    }

    .px-3 {
        padding-inline: calc(var(--spacing)*3)
    }

    .px-4 {
        padding-inline: calc(var(--spacing)*4)
    }

    .px-5 {
        padding-inline: calc(var(--spacing)*5)
    }

    .px-6 {
        padding-inline: calc(var(--spacing)*6)
    }

    .py-0\.5 {
        padding-block: calc(var(--spacing)*.5)
    }

    .py-1 {
        padding-block: calc(var(--spacing)*1)
    }

    .py-1\.5 {
        padding-block: calc(var(--spacing)*1.5)
    }

    .py-2 {
        padding-block: calc(var(--spacing)*2)
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing)*2.5)
    }

    .py-3 {
        padding-block: calc(var(--spacing)*3)
    }

    .py-4 {
        padding-block: calc(var(--spacing)*4)
    }

    .py-5 {
        padding-block: calc(var(--spacing)*5)
    }

    .py-6 {
        padding-block: calc(var(--spacing)*6)
    }

    .pt-0 {
        padding-top: calc(var(--spacing)*0)
    }

    .pt-3 {
        padding-top: calc(var(--spacing)*3)
    }

    .pt-4 {
        padding-top: calc(var(--spacing)*4)
    }

    .pt-8 {
        padding-top: calc(var(--spacing)*8)
    }

    .pt-12 {
        padding-top: calc(var(--spacing)*12)
    }

    .pr-1 {
        padding-right: calc(var(--spacing)*1)
    }

    .pr-2 {
        padding-right: calc(var(--spacing)*2)
    }

    .pr-2\.5 {
        padding-right: calc(var(--spacing)*2.5)
    }

    .pr-3 {
        padding-right: calc(var(--spacing)*3)
    }

    .pr-8 {
        padding-right: calc(var(--spacing)*8)
    }

    .pb-3 {
        padding-bottom: calc(var(--spacing)*3)
    }

    .pb-4 {
        padding-bottom: calc(var(--spacing)*4)
    }

    .pb-8 {
        padding-bottom: calc(var(--spacing)*8)
    }

    .pl-2 {
        padding-left: calc(var(--spacing)*2)
    }

    .pl-3 {
        padding-left: calc(var(--spacing)*3)
    }

    .pl-4 {
        padding-left: calc(var(--spacing)*4)
    }

    .pl-8 {
        padding-left: calc(var(--spacing)*8)
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .align-middle {
        vertical-align: middle
    }

    .font-mono {
        font-family: var(--font-mono)
    }

    .font-sans {
        font-family: var(--font-sans)
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading, var(--text-4xl--line-height))
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .text-sm\/relaxed {
        font-size: var(--text-sm);
        line-height: var(--leading-relaxed)
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .text-\[0\.8rem\] {
        font-size: .8rem
    }

    .leading-5 {
        --tw-leading: calc(var(--spacing)*5);
        line-height: calc(var(--spacing)*5)
    }

    .leading-\[26px\] {
        --tw-leading: 26px;
        line-height: 26px
    }

    .leading-none {
        --tw-leading: 1;
        line-height: 1
    }

    .leading-normal {
        --tw-leading: var(--leading-normal);
        line-height: var(--leading-normal)
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .leading-snug {
        --tw-leading: var(--leading-snug);
        line-height: var(--leading-snug)
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .tracking-\[-0\.44px\] {
        --tw-tracking: -.44px;
        letter-spacing: -.44px
    }

    .tracking-\[-0\.154px\] {
        --tw-tracking: -.154px;
        letter-spacing: -.154px
    }

    .tracking-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight)
    }

    .tracking-widest {
        --tw-tracking: var(--tracking-widest);
        letter-spacing: var(--tracking-widest)
    }

    .text-balance {
        text-wrap: balance
    }

    .break-words {
        overflow-wrap: break-word
    }

    .whitespace-break-spaces {
        white-space: break-spaces
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[\#34322d\] {
        color: #34322d
    }

    .text-\[\#858481\] {
        color: #858481
    }

    .text-accent-foreground {
        color: var(--accent-foreground)
    }

    .text-background {
        color: var(--background)
    }

    .text-card-foreground {
        color: var(--card-foreground)
    }

    .text-current {
        color: currentColor
    }

    .text-foreground {
        color: var(--foreground)
    }

    .text-muted-foreground {
        color: var(--muted-foreground)
    }

    .text-popover-foreground {
        color: var(--popover-foreground)
    }

    .text-primary {
        color: var(--primary)
    }

    .text-primary-foreground {
        color: var(--primary-foreground)
    }

    .text-red-500 {
        color: var(--color-red-500)
    }

    .text-secondary-foreground {
        color: var(--secondary-foreground)
    }

    .text-slate-600 {
        color: var(--color-slate-600)
    }

    .text-slate-700 {
        color: var(--color-slate-700)
    }

    .text-slate-900 {
        color: var(--color-slate-900)
    }

    .text-white {
        color: var(--color-white)
    }

    .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, )
    }

    .underline-offset-4 {
        text-underline-offset: 4px
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-70 {
        opacity: .7
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
        --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-\[0px_4px_11px_0px_rgba\(0\,0\,0\,0\.08\)\] {
        --tw-shadow: 0px 4px 11px 0px var(--tw-shadow-color, #00000014);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-none {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xs {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-0 {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-ring\/50 {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .ring-ring\/50 {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .ring-offset-background {
        --tw-ring-offset-color: var(--background)
    }

    .outline-hidden {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .outline-hidden {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .backdrop-blur-2xl {
        --tw-backdrop-blur: blur(var(--blur-2xl));
        -webkit-backdrop-filter: var(--tw-backdrop-blur, )var(--tw-backdrop-brightness, )var(--tw-backdrop-contrast, )var(--tw-backdrop-grayscale, )var(--tw-backdrop-hue-rotate, )var(--tw-backdrop-invert, )var(--tw-backdrop-opacity, )var(--tw-backdrop-saturate, )var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, )var(--tw-backdrop-brightness, )var(--tw-backdrop-contrast, )var(--tw-backdrop-grayscale, )var(--tw-backdrop-hue-rotate, )var(--tw-backdrop-invert, )var(--tw-backdrop-opacity, )var(--tw-backdrop-saturate, )var(--tw-backdrop-sepia, )
    }

    .backdrop-blur-sm {
        --tw-backdrop-blur: blur(var(--blur-sm));
        -webkit-backdrop-filter: var(--tw-backdrop-blur, )var(--tw-backdrop-brightness, )var(--tw-backdrop-contrast, )var(--tw-backdrop-grayscale, )var(--tw-backdrop-hue-rotate, )var(--tw-backdrop-invert, )var(--tw-backdrop-opacity, )var(--tw-backdrop-saturate, )var(--tw-backdrop-sepia, );
        backdrop-filter: var(--tw-backdrop-blur, )var(--tw-backdrop-brightness, )var(--tw-backdrop-contrast, )var(--tw-backdrop-grayscale, )var(--tw-backdrop-hue-rotate, )var(--tw-backdrop-invert, )var(--tw-backdrop-opacity, )var(--tw-backdrop-saturate, )var(--tw-backdrop-sepia, )
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[color\,box-shadow\] {
        transition-property: color, box-shadow;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[left\,right\,width\] {
        transition-property: left, right, width;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[margin\,opacity\] {
        transition-property: margin, opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[width\,height\,padding\] {
        transition-property: width, height, padding;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[width\] {
        transition-property: width;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-shadow {
        transition-property: box-shadow;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-none {
        transition-property: none
    }

    .duration-100 {
        --tw-duration: .1s;
        transition-duration: .1s
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .duration-300 {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .duration-1000 {
        --tw-duration: 1s;
        transition-duration: 1s
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .ease-linear {
        --tw-ease: linear;
        transition-timing-function: linear
    }

    .fade-in-0 {
        --tw-enter-opacity: 0
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none
    }

    .select-none {
        -webkit-user-select: none;
        user-select: none
    }

    .zoom-in-95 {
        --tw-enter-scale: .95
    }

    .\[--cell-size\:--spacing\(8\)\] {
        --cell-size: calc(var(--spacing)*8)
    }

    .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
        opacity: 1
    }

    @media (hover:hover) {
        .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
            opacity: 1
        }
    }

    .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *) {
        padding-right: calc(var(--spacing)*8)
    }

    .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *) {
        text-wrap: balance
    }

    .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *) {
        --tw-translate-y: calc(var(--spacing)*.5);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *) {
        align-self: flex-start
    }

    .group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *) {
        padding-top: calc(var(--spacing)*2.5)
    }

    .group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *) {
        padding-bottom: calc(var(--spacing)*2.5)
    }

    .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *) {
        margin-top: calc(var(--spacing)*-8)
    }

    .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *) {
        display: none
    }

    .group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--spacing)*8) !important;
        height: calc(var(--spacing)*8) !important
    }

    .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *) {
        width: var(--sidebar-width-icon)
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)
    }

    .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *) {
        overflow: hidden
    }

    .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing)*0) !important
    }

    .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing)*2) !important
    }

    .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *) {
        opacity: 0
    }

    .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *) {
        right: calc(var(--sidebar-width)*-1)
    }

    .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *) {
        left: calc(var(--sidebar-width)*-1)
    }

    .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        width: calc(var(--spacing)*0)
    }

    .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        --tw-translate-x: calc(var(--spacing)*0);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *) {
        pointer-events: none
    }

    .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *) {
        opacity: .5
    }

    .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *) {
        position: relative
    }

    .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *) {
        z-index: 10
    }

    .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *) {
        border-color: var(--ring)
    }

    .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *) {
        right: calc(var(--spacing)*-4)
    }

    .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *) {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *) {
        left: calc(var(--spacing)*0)
    }

    .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *) {
        rotate: 180deg
    }

    .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *) {
        rotate: 180deg
    }

    .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *) {
        border-radius: var(--radius)
    }

    .group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *) {
        margin-bottom: calc(var(--spacing)*-2)
    }

    .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *) {
        display: block
    }

    .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),
    .group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *) {
        text-align: center
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        top: 100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        margin-top: calc(var(--spacing)*1.5)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        overflow: hidden
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        border-radius: calc(var(--radius) - 2px)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        background-color: var(--popover)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        color: var(--popover-foreground)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*) {
        cursor: not-allowed
    }

    .peer-disabled\:opacity-50:is(:where(.peer):disabled~*) {
        opacity: .5
    }

    .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*) {
        top: calc(var(--spacing)*1.5)
    }

    .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*) {
        top: calc(var(--spacing)*2.5)
    }

    .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*) {
        top: calc(var(--spacing)*1)
    }

    .selection\:bg-primary ::selection {
        background-color: var(--primary)
    }

    .selection\:bg-primary::selection {
        background-color: var(--primary)
    }

    .selection\:text-primary-foreground ::selection {
        color: var(--primary-foreground)
    }

    .selection\:text-primary-foreground::selection {
        color: var(--primary-foreground)
    }

    .file\:inline-flex::file-selector-button {
        display: inline-flex
    }

    .file\:h-7::file-selector-button {
        height: calc(var(--spacing)*7)
    }

    .file\:border-0::file-selector-button {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .file\:bg-transparent::file-selector-button {
        background-color: #0000
    }

    .file\:text-sm::file-selector-button {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .file\:font-medium::file-selector-button {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .file\:text-foreground::file-selector-button {
        color: var(--foreground)
    }

    .placeholder\:text-muted-foreground::placeholder {
        color: var(--muted-foreground)
    }

    .after\:absolute:after {
        content: var(--tw-content);
        position: absolute
    }

    .after\:-inset-2:after {
        content: var(--tw-content);
        inset: calc(var(--spacing)*-2)
    }

    .after\:inset-y-0:after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing)*0)
    }

    .after\:left-1\/2:after {
        content: var(--tw-content);
        left: 50%
    }

    .after\:w-1:after {
        content: var(--tw-content);
        width: calc(var(--spacing)*1)
    }

    .after\:w-\[2px\]:after {
        content: var(--tw-content);
        width: 2px
    }

    .after\:-translate-x-1\/2:after {
        content: var(--tw-content);
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after {
        content: var(--tw-content);
        left: 100%
    }

    .first\:rounded-l-md:first-child {
        border-top-left-radius: calc(var(--radius) - 2px);
        border-bottom-left-radius: calc(var(--radius) - 2px)
    }

    .first\:border-l:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .last\:mt-0:last-child {
        margin-top: calc(var(--spacing)*0)
    }

    .last\:rounded-r-md:last-child {
        border-top-right-radius: calc(var(--radius) - 2px);
        border-bottom-right-radius: calc(var(--radius) - 2px)
    }

    .last\:border-b-0:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0
    }

    @media (hover:hover) {
        .hover\:bg-\[\#1a1a19\]\/90:hover {
            background-color: #1a1a19e6
        }

        .hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        .hover\:bg-blue-700:hover {
            background-color: var(--color-blue-700)
        }

        .hover\:bg-muted:hover,
        .hover\:bg-muted\/50:hover {
            background-color: var(--muted)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-muted\/50:hover {
                background-color: color-mix(in oklab, var(--muted)50%, transparent)
            }
        }

        .hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-primary\/90:hover {
                background-color: color-mix(in oklab, var(--primary)90%, transparent)
            }
        }

        .hover\:bg-secondary\/80:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-secondary\/80:hover {
                background-color: color-mix(in oklab, var(--secondary)80%, transparent)
            }
        }

        .hover\:text-accent-foreground:hover {
            color: var(--accent-foreground)
        }

        .hover\:text-foreground:hover {
            color: var(--foreground)
        }

        .hover\:text-muted-foreground:hover {
            color: var(--muted-foreground)
        }

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

        .hover\:opacity-90:hover {
            opacity: .9
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }

        .hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
            --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .hover\:shadow-lg:hover {
            --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .hover\:ring-4:hover {
            --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }
    }

    .focus\:z-10:focus {
        z-index: 10
    }

    .focus\:bg-accent:focus {
        background-color: var(--accent)
    }

    .focus\:text-accent-foreground:focus {
        color: var(--accent-foreground)
    }

    .focus\:ring-2:focus {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus\:ring-ring:focus {
        --tw-ring-color: var(--ring)
    }

    .focus\:ring-offset-2:focus {
        --tw-ring-offset-width: 2px;
        --tw-ring-offset-shadow: var(--tw-ring-inset, )0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)
    }

    .focus\:outline-hidden:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .focus\:outline-hidden:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .focus-visible\:z-10:focus-visible {
        z-index: 10
    }

    .focus-visible\:border-ring:focus-visible {
        border-color: var(--ring)
    }

    .focus-visible\:ring-0:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-1:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-2:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-4:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-\[3px\]:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-ring:focus-visible,
    .focus-visible\:ring-ring\/50:focus-visible {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-ring\/50:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .focus-visible\:ring-offset-1:focus-visible {
        --tw-ring-offset-width: 1px;
        --tw-ring-offset-shadow: var(--tw-ring-inset, )0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)
    }

    .focus-visible\:outline-hidden:focus-visible {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .focus-visible\:outline-hidden:focus-visible {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .focus-visible\:outline-1:focus-visible {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .focus-visible\:outline-ring:focus-visible {
        outline-color: var(--ring)
    }

    .disabled\:pointer-events-none:disabled {
        pointer-events: none
    }

    .disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed
    }

    .disabled\:opacity-50:disabled {
        opacity: .5
    }

    :where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize {
        cursor: w-resize
    }

    :where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize {
        cursor: e-resize
    }

    .has-focus\:border-ring:has(:focus) {
        border-color: var(--ring)
    }

    .has-focus\:ring-\[3px\]:has(:focus) {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-focus\:ring-ring\/50:has(:focus) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-focus\:ring-ring\/50:has(:focus) {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .has-disabled\:opacity-50:has(:disabled) {
        opacity: .5
    }

    .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]) {
        grid-template-columns: 1fr auto
    }

    .has-data-\[state\=checked\]\:border-primary:has([data-state=checked]) {
        border-color: var(--primary)
    }

    .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]) {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]) {
            background-color: color-mix(in oklab, var(--primary)5%, transparent)
        }
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible) {
        border-color: var(--ring)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
        flex-direction: column
    }

    .has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
        gap: calc(var(--spacing)*2)
    }

    .has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
        gap: calc(var(--spacing)*3)
    }

    .has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
        align-items: flex-start
    }

    .has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
        width: 100%
    }

    .has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]) {
        border-radius: calc(var(--radius) - 2px)
    }

    .has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
        gap: calc(var(--spacing)*3)
    }

    .has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button) {
        margin-right: -.45rem
    }

    .has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button) {
        margin-left: -.45rem
    }

    .has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd) {
        margin-right: -.35rem
    }

    .has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd) {
        margin-left: -.35rem
    }

    .has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg) {
        grid-template-columns: calc(var(--spacing)*4)1fr
    }

    .has-\[\>svg\]\:gap-x-3:has(>svg) {
        column-gap: calc(var(--spacing)*3)
    }

    .has-\[\>svg\]\:p-0:has(>svg) {
        padding: calc(var(--spacing)*0)
    }

    .has-\[\>svg\]\:px-2:has(>svg) {
        padding-inline: calc(var(--spacing)*2)
    }

    .has-\[\>svg\]\:px-2\.5:has(>svg) {
        padding-inline: calc(var(--spacing)*2.5)
    }

    .has-\[\>svg\]\:px-3:has(>svg) {
        padding-inline: calc(var(--spacing)*3)
    }

    .has-\[\>svg\]\:px-4:has(>svg) {
        padding-inline: calc(var(--spacing)*4)
    }

    .has-\[\>textarea\]\:h-auto:has(>textarea) {
        height: auto
    }

    .aria-disabled\:pointer-events-none[aria-disabled=true] {
        pointer-events: none
    }

    .aria-disabled\:opacity-50[aria-disabled=true] {
        opacity: .5
    }

    .aria-selected\:text-muted-foreground[aria-selected=true] {
        color: var(--muted-foreground)
    }

    .data-\[active\=true\]\:z-10[data-active=true] {
        z-index: 10
    }

    .data-\[active\=true\]\:border-ring[data-active=true] {
        border-color: var(--ring)
    }

    .data-\[active\=true\]\:bg-accent\/50[data-active=true] {
        background-color: var(--accent)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:bg-accent\/50[data-active=true] {
            background-color: color-mix(in oklab, var(--accent)50%, transparent)
        }
    }

    .data-\[active\=true\]\:font-medium[data-active=true] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .data-\[active\=true\]\:text-accent-foreground[data-active=true] {
        color: var(--accent-foreground)
    }

    .data-\[active\=true\]\:ring-\[3px\][data-active=true] {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    @media (hover:hover) {
        .data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover {
            background-color: var(--accent)
        }
    }

    .data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus {
        background-color: var(--accent)
    }

    .data-\[disabled\]\:pointer-events-none[data-disabled] {
        pointer-events: none
    }

    .data-\[disabled\]\:opacity-50[data-disabled] {
        opacity: .5
    }

    .data-\[disabled\=true\]\:pointer-events-none[data-disabled=true] {
        pointer-events: none
    }

    .data-\[disabled\=true\]\:opacity-50[data-disabled=true] {
        opacity: .5
    }

    .data-\[inset\]\:pl-8[data-inset] {
        padding-left: calc(var(--spacing)*8)
    }

    .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end] {
        --tw-enter-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start] {
        --tw-enter-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end] {
        --tw-exit-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start] {
        --tw-exit-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\^\=from-\]\:animate-in[data-motion^=from-] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=from-\]\:fade-in[data-motion^=from-] {
        --tw-enter-opacity: 0
    }

    .data-\[motion\^\=to-\]\:animate-out[data-motion^=to-] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=to-\]\:fade-out[data-motion^=to-] {
        --tw-exit-opacity: 0
    }

    .data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal] {
        height: calc(var(--spacing)*1.5)
    }

    .data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal] {
        height: 100%
    }

    .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal] {
        height: 1px
    }

    .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal] {
        width: 100%
    }

    .data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical] {
        height: auto
    }

    .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical] {
        height: 100%
    }

    .data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical] {
        min-height: calc(var(--spacing)*44)
    }

    .data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical] {
        width: calc(var(--spacing)*1.5)
    }

    .data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical] {
        width: auto
    }

    .data-\[orientation\=vertical\]\:w-full[data-orientation=vertical] {
        width: 100%
    }

    .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical] {
        width: 1px
    }

    .data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical] {
        flex-direction: column
    }

    .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical] {
        height: 1px
    }

    .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical] {
        width: 100%
    }

    .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical] {
        flex-direction: column
    }

    .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after {
        content: var(--tw-content);
        left: calc(var(--spacing)*0)
    }

    .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after {
        content: var(--tw-content);
        height: calc(var(--spacing)*1)
    }

    .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after {
        content: var(--tw-content);
        width: 100%
    }

    .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing)*0);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after {
        content: var(--tw-content);
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
        color: var(--muted-foreground)
    }

    .data-\[range-end\=true\]\:rounded-md[data-range-end=true] {
        border-radius: calc(var(--radius) - 2px)
    }

    .data-\[range-end\=true\]\:rounded-r-md[data-range-end=true] {
        border-top-right-radius: calc(var(--radius) - 2px);
        border-bottom-right-radius: calc(var(--radius) - 2px)
    }

    .data-\[range-end\=true\]\:bg-primary[data-range-end=true] {
        background-color: var(--primary)
    }

    .data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true] {
        color: var(--primary-foreground)
    }

    .data-\[range-middle\=true\]\:rounded-none[data-range-middle=true] {
        border-radius: 0
    }

    .data-\[range-middle\=true\]\:bg-accent[data-range-middle=true] {
        background-color: var(--accent)
    }

    .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true] {
        color: var(--accent-foreground)
    }

    .data-\[range-start\=true\]\:rounded-md[data-range-start=true] {
        border-radius: calc(var(--radius) - 2px)
    }

    .data-\[range-start\=true\]\:rounded-l-md[data-range-start=true] {
        border-top-left-radius: calc(var(--radius) - 2px);
        border-bottom-left-radius: calc(var(--radius) - 2px)
    }

    .data-\[range-start\=true\]\:bg-primary[data-range-start=true] {
        background-color: var(--primary)
    }

    .data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected-single\=true\]\:bg-primary[data-selected-single=true] {
        background-color: var(--primary)
    }

    .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected\=true\]\:rounded-none[data-selected=true] {
        border-radius: 0
    }

    .data-\[selected\=true\]\:bg-accent[data-selected=true] {
        background-color: var(--accent)
    }

    .data-\[selected\=true\]\:text-accent-foreground[data-selected=true] {
        color: var(--accent-foreground)
    }

    .data-\[side\=bottom\]\:translate-y-1[data-side=bottom] {
        --tw-translate-y: calc(var(--spacing)*1);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
        --tw-enter-translate-y: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=left\]\:-translate-x-1[data-side=left] {
        --tw-translate-x: calc(var(--spacing)*-1);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
        --tw-enter-translate-x: calc(2*var(--spacing))
    }

    .data-\[side\=right\]\:translate-x-1[data-side=right] {
        --tw-translate-x: calc(var(--spacing)*1);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
        --tw-enter-translate-x: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=top\]\:-translate-y-1[data-side=top] {
        --tw-translate-y: calc(var(--spacing)*-1);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
        --tw-enter-translate-y: calc(2*var(--spacing))
    }

    .data-\[size\=default\]\:h-9[data-size=default] {
        height: calc(var(--spacing)*9)
    }

    .data-\[size\=sm\]\:h-8[data-size=sm] {
        height: calc(var(--spacing)*8)
    }

    .data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group] {
        gap: calc(var(--spacing)*3)
    }

    :is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper] {
        height: calc(var(--spacing)*12)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value] {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    :is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value] {
        display: flex
    }

    :is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value] {
        align-items: center
    }

    :is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value] {
        gap: calc(var(--spacing)*2)
    }

    .data-\[state\=active\]\:bg-background[data-state=active] {
        background-color: var(--background)
    }

    .data-\[state\=active\]\:shadow-sm[data-state=active] {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked] {
        --tw-translate-x: calc(100% - 2px);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[state\=checked\]\:border-primary[data-state=checked] {
        border-color: var(--primary)
    }

    .data-\[state\=checked\]\:bg-primary[data-state=checked] {
        background-color: var(--primary)
    }

    .data-\[state\=checked\]\:text-primary-foreground[data-state=checked] {
        color: var(--primary-foreground)
    }

    .data-\[state\=closed\]\:animate-accordion-up[data-state=closed] {
        animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=closed\]\:animate-out[data-state=closed] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=closed\]\:duration-300[data-state=closed] {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .data-\[state\=closed\]\:fade-out-0[data-state=closed] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=closed\]\:zoom-out-95[data-state=closed] {
        --tw-exit-scale: .95
    }

    .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed] {
        --tw-exit-translate-y: 100%
    }

    .data-\[state\=closed\]\:slide-out-to-left[data-state=closed] {
        --tw-exit-translate-x: -100%
    }

    .data-\[state\=closed\]\:slide-out-to-right[data-state=closed] {
        --tw-exit-translate-x: 100%
    }

    .data-\[state\=closed\]\:slide-out-to-top[data-state=closed] {
        --tw-exit-translate-y: -100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        --tw-exit-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        --tw-exit-scale: .95
    }

    .data-\[state\=hidden\]\:animate-out[data-state=hidden] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=hidden\]\:fade-out[data-state=hidden] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=on\]\:bg-accent[data-state=on] {
        background-color: var(--accent)
    }

    .data-\[state\=on\]\:text-accent-foreground[data-state=on] {
        color: var(--accent-foreground)
    }

    .data-\[state\=open\]\:animate-accordion-down[data-state=open] {
        animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=open\]\:animate-in[data-state=open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=open\]\:bg-accent[data-state=open],
    .data-\[state\=open\]\:bg-accent\/50[data-state=open] {
        background-color: var(--accent)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[state\=open\]\:bg-accent\/50[data-state=open] {
            background-color: color-mix(in oklab, var(--accent)50%, transparent)
        }
    }

    .data-\[state\=open\]\:bg-secondary[data-state=open] {
        background-color: var(--secondary)
    }

    .data-\[state\=open\]\:text-accent-foreground[data-state=open] {
        color: var(--accent-foreground)
    }

    .data-\[state\=open\]\:text-muted-foreground[data-state=open] {
        color: var(--muted-foreground)
    }

    .data-\[state\=open\]\:opacity-100[data-state=open] {
        opacity: 1
    }

    .data-\[state\=open\]\:duration-500[data-state=open] {
        --tw-duration: .5s;
        transition-duration: .5s
    }

    .data-\[state\=open\]\:fade-in-0[data-state=open] {
        --tw-enter-opacity: 0
    }

    .data-\[state\=open\]\:zoom-in-90[data-state=open] {
        --tw-enter-scale: .9
    }

    .data-\[state\=open\]\:zoom-in-95[data-state=open] {
        --tw-enter-scale: .95
    }

    .data-\[state\=open\]\:slide-in-from-bottom[data-state=open] {
        --tw-enter-translate-y: 100%
    }

    .data-\[state\=open\]\:slide-in-from-left[data-state=open] {
        --tw-enter-translate-x: -100%
    }

    .data-\[state\=open\]\:slide-in-from-right[data-state=open] {
        --tw-enter-translate-x: 100%
    }

    .data-\[state\=open\]\:slide-in-from-top[data-state=open] {
        --tw-enter-translate-y: -100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        --tw-enter-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        --tw-enter-scale: .95
    }

    @media (hover:hover) {
        .data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover {
            background-color: var(--accent)
        }
    }

    .data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus {
        background-color: var(--accent)
    }

    .data-\[state\=selected\]\:bg-muted[data-state=selected] {
        background-color: var(--muted)
    }

    .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked] {
        --tw-translate-x: calc(var(--spacing)*0);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .data-\[state\=unchecked\]\:bg-input[data-state=unchecked] {
        background-color: var(--input)
    }

    .data-\[state\=visible\]\:animate-in[data-state=visible] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=visible\]\:fade-in[data-state=visible] {
        --tw-enter-opacity: 0
    }

    .data-\[variant\=label\]\:text-sm[data-variant=label] {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .data-\[variant\=legend\]\:text-base[data-variant=legend] {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .data-\[variant\=outline\]\:border-l-0[data-variant=outline] {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    .data-\[variant\=outline\]\:shadow-xs[data-variant=outline] {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[variant\=outline\]\:first\:border-l[data-variant=outline]:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom] {
        inset-inline: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom] {
        bottom: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom] {
        margin-top: calc(var(--spacing)*24)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom] {
        max-height: 80vh
    }

    .data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom] {
        border-top-left-radius: var(--radius);
        border-top-right-radius: var(--radius)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom] {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left] {
        inset-block: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left] {
        left: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left] {
        width: 75%
    }

    .data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left] {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right] {
        inset-block: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right] {
        right: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right] {
        width: 75%
    }

    .data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right] {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top] {
        inset-inline: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top] {
        top: calc(var(--spacing)*0)
    }

    .data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top] {
        margin-bottom: calc(var(--spacing)*24)
    }

    .data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top] {
        max-height: 80vh
    }

    .data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top] {
        border-bottom-right-radius: var(--radius);
        border-bottom-left-radius: var(--radius)
    }

    .data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top] {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .nth-last-2\:-mt-1:nth-last-child(2) {
        margin-top: calc(var(--spacing)*-1)
    }

    @media (min-width:40rem) {
        .sm\:block {
            display: block
        }

        .sm\:flex {
            display: flex
        }

        .sm\:max-w-lg {
            max-width: var(--container-lg)
        }

        .sm\:max-w-sm {
            max-width: var(--container-sm)
        }

        .sm\:flex-row {
            flex-direction: row
        }

        .sm\:justify-end {
            justify-content: flex-end
        }

        .sm\:gap-2\.5 {
            gap: calc(var(--spacing)*2.5)
        }

        .sm\:pr-2\.5 {
            padding-right: calc(var(--spacing)*2.5)
        }

        .sm\:pl-2\.5 {
            padding-left: calc(var(--spacing)*2.5)
        }

        .sm\:text-left {
            text-align: left
        }

        .data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],
        .data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right] {
            max-width: var(--container-sm)
        }
    }

    @media (min-width:48rem) {
        .md\:absolute {
            position: absolute
        }

        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
            width: var(--radix-navigation-menu-viewport-width)
        }

        .md\:w-auto {
            width: auto
        }

        .md\:flex-row {
            flex-direction: row
        }

        .md\:gap-1\.5 {
            gap: calc(var(--spacing)*1.5)
        }

        .md\:p-12 {
            padding: calc(var(--spacing)*12)
        }

        .md\:text-left {
            text-align: left
        }

        .md\:text-sm {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height))
        }

        .md\:opacity-0 {
            opacity: 0
        }

        .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*) {
            margin: calc(var(--spacing)*2)
        }

        .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*) {
            margin-left: calc(var(--spacing)*0)
        }

        .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*) {
            border-radius: calc(var(--radius) + 4px)
        }

        .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*) {
            --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*) {
            margin-left: calc(var(--spacing)*2)
        }

        .md\:after\:hidden:after {
            content: var(--tw-content);
            display: none
        }
    }

    @container field-group (min-width:28rem) {
        .\@md\/field-group\:flex-row {
            flex-direction: row
        }

        .\@md\/field-group\:items-center {
            align-items: center
        }

        .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
            align-items: flex-start
        }
    }

    .dark\:border-input:is(.dark *) {
        border-color: var(--input)
    }

    .dark\:bg-input\/30:is(.dark *) {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:bg-input\/30:is(.dark *) {
            background-color: color-mix(in oklab, var(--input)30%, transparent)
        }
    }

    .dark\:bg-transparent:is(.dark *) {
        background-color: #0000
    }

    .dark\:text-muted-foreground:is(.dark *) {
        color: var(--muted-foreground)
    }

    @media (hover:hover) {
        .dark\:hover\:bg-accent\/50:is(.dark *):hover {
            background-color: var(--accent)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:hover\:bg-accent\/50:is(.dark *):hover {
                background-color: color-mix(in oklab, var(--accent)50%, transparent)
            }
        }

        .dark\:hover\:bg-input\/50:is(.dark *):hover {
            background-color: var(--input)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:hover\:bg-input\/50:is(.dark *):hover {
                background-color: color-mix(in oklab, var(--input)50%, transparent)
            }
        }

        .dark\:hover\:text-accent-foreground:is(.dark *):hover {
            color: var(--accent-foreground)
        }
    }

    .dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]) {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]) {
            background-color: color-mix(in oklab, var(--primary)10%, transparent)
        }
    }

    .dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active] {
        border-color: var(--input)
    }

    .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active] {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active] {
            background-color: color-mix(in oklab, var(--input)30%, transparent)
        }
    }

    .dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active] {
        color: var(--foreground)
    }

    .dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked] {
        background-color: var(--primary)
    }

    .dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked] {
        background-color: var(--primary-foreground)
    }

    .dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked] {
        background-color: var(--foreground)
    }

    .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked] {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked] {
            background-color: color-mix(in oklab, var(--input)80%, transparent)
        }
    }

    .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
        fill: var(--muted-foreground)
    }

    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
        stroke: var(--border)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
            stroke: color-mix(in oklab, var(--border)50%, transparent)
        }
    }

    .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
        stroke: var(--border)
    }

    .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
        stroke: #0000
    }

    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,
    .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
        fill: var(--muted)
    }

    .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
        stroke: #0000
    }

    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
        padding-inline: calc(var(--spacing)*2)
    }

    .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
        padding-block: calc(var(--spacing)*1.5)
    }

    .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
        color: var(--muted-foreground)
    }

    .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
        padding-inline: calc(var(--spacing)*2)
    }

    .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group] {
        padding-top: calc(var(--spacing)*0)
    }

    .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
        height: calc(var(--spacing)*5)
    }

    .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
        width: calc(var(--spacing)*5)
    }

    .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
        height: calc(var(--spacing)*12)
    }

    .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
        padding-inline: calc(var(--spacing)*2)
    }

    .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
        padding-block: calc(var(--spacing)*3)
    }

    .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
        height: calc(var(--spacing)*5)
    }

    .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
        width: calc(var(--spacing)*5)
    }

    .\[\&_img\]\:size-full img {
        width: 100%;
        height: 100%
    }

    .\[\&_img\]\:object-cover img {
        object-fit: cover
    }

    .\[\&_p\]\:leading-relaxed p {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .\[\&_svg\]\:pointer-events-none svg {
        pointer-events: none
    }

    .\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]) {
        width: calc(var(--spacing)*3);
        height: calc(var(--spacing)*3)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]) {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]) {
        width: calc(var(--spacing)*6);
        height: calc(var(--spacing)*6)
    }

    .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]) {
        color: var(--muted-foreground)
    }

    .\[\&_tr\]\:border-b tr {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .\[\&_tr\:last-child\]\:border-0 tr:last-child {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
        flex: none
    }

    .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
        border-top-left-radius: calc(var(--radius) - 2px);
        border-bottom-left-radius: calc(var(--radius) - 2px)
    }

    .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
        padding-right: calc(var(--spacing)*0)
    }

    .\[\.border-b\]\:pb-3.border-b {
        padding-bottom: calc(var(--spacing)*3)
    }

    .\[\.border-b\]\:pb-6.border-b {
        padding-bottom: calc(var(--spacing)*6)
    }

    .\[\.border-t\]\:pt-3.border-t {
        padding-top: calc(var(--spacing)*3)
    }

    .\[\.border-t\]\:pt-6.border-t {
        padding-top: calc(var(--spacing)*6)
    }

    :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_next>svg),
    :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_previous>svg) {
        rotate: 180deg
    }

    .\[a\]\:transition-colors:is(a) {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    @media (hover:hover) {
        .\[a\]\:hover\:bg-accent\/50:is(a):hover {
            background-color: var(--accent)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .\[a\]\:hover\:bg-accent\/50:is(a):hover {
                background-color: color-mix(in oklab, var(--accent)50%, transparent)
            }
        }
    }

    :is(.\*\:\[span\]\:last\:flex>*):is(span):last-child {
        display: flex
    }

    :is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child {
        align-items: center
    }

    :is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child {
        gap: calc(var(--spacing)*2)
    }

    .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
        border-top-right-radius: calc(var(--radius) - 2px);
        border-bottom-right-radius: calc(var(--radius) - 2px)
    }

    .\[\&\>\*\]\:w-full>* {
        width: 100%
    }

    .\[\&\>\*\]\:focus-visible\:relative>:focus-visible {
        position: relative
    }

    .\[\&\>\*\]\:focus-visible\:z-10>:focus-visible {
        z-index: 10
    }

    .\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field] {
        padding: calc(var(--spacing)*4)
    }

    @container field-group (min-width:28rem) {
        .\@md\/field-group\:\[\&\>\*\]\:w-auto>* {
            width: auto
        }
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child) {
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child) {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child) {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    .\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child) {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    .\[\&\>\.sr-only\]\:w-auto>.sr-only {
        width: auto
    }

    .\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group] {
        gap: calc(var(--spacing)*4)
    }

    .\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
        flex: auto
    }

    @container field-group (min-width:28rem) {
        .\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
            flex: auto
        }
    }

    .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type {
        border-top-right-radius: calc(var(--radius) - 2px);
        border-bottom-right-radius: calc(var(--radius) - 2px)
    }

    .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]) {
        width: fit-content
    }

    .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] {
        --tw-translate-y: 2px;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],
    .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio] {
        margin-top: 1px
    }

    @container field-group (min-width:28rem) {

        .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],
        .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio] {
            margin-top: 1px
        }
    }

    .\[\&\>a\]\:underline>a {
        text-decoration-line: underline
    }

    .\[\&\>a\]\:underline-offset-4>a {
        text-underline-offset: 4px
    }

    .\[\&\>a\:hover\]\:text-primary>a:hover {
        color: var(--primary)
    }

    .\[\&\>button\]\:hidden>button {
        display: none
    }

    .\[\&\>input\]\:flex-1>input {
        flex: 1
    }

    .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input {
        padding-top: calc(var(--spacing)*3)
    }

    .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input {
        padding-bottom: calc(var(--spacing)*3)
    }

    .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input {
        padding-right: calc(var(--spacing)*2)
    }

    .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input {
        padding-left: calc(var(--spacing)*2)
    }

    .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd {
        border-radius: calc(var(--radius) - 5px)
    }

    .\[\&\>span\]\:text-xs>span {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .\[\&\>span\]\:opacity-70>span {
        opacity: .7
    }

    .\[\&\>span\:last-child\]\:truncate>span:last-child {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .\[\&\>svg\]\:pointer-events-none>svg {
        pointer-events: none
    }

    .\[\&\>svg\]\:size-3>svg {
        width: calc(var(--spacing)*3);
        height: calc(var(--spacing)*3)
    }

    .\[\&\>svg\]\:size-3\.5>svg {
        width: calc(var(--spacing)*3.5);
        height: calc(var(--spacing)*3.5)
    }

    .\[\&\>svg\]\:size-4>svg {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .\[\&\>svg\]\:h-2\.5>svg {
        height: calc(var(--spacing)*2.5)
    }

    .\[\&\>svg\]\:h-3>svg {
        height: calc(var(--spacing)*3)
    }

    .\[\&\>svg\]\:w-2\.5>svg {
        width: calc(var(--spacing)*2.5)
    }

    .\[\&\>svg\]\:w-3>svg {
        width: calc(var(--spacing)*3)
    }

    .\[\&\>svg\]\:shrink-0>svg {
        flex-shrink: 0
    }

    .\[\&\>svg\]\:translate-y-0\.5>svg {
        --tw-translate-y: calc(var(--spacing)*.5);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .\[\&\>svg\]\:text-current>svg {
        color: currentColor
    }

    .\[\&\>svg\]\:text-muted-foreground>svg {
        color: var(--muted-foreground)
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]) {
        width: calc(var(--spacing)*3.5);
        height: calc(var(--spacing)*3.5)
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]) {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .\[\&\>tr\]\:last\:border-b-0>tr:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0
    }

    .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
        rotate: 90deg
    }

    .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
        rotate: 180deg
    }

    [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
        right: calc(var(--spacing)*-2)
    }

    [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
        cursor: e-resize
    }

    [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
        left: calc(var(--spacing)*-2)
    }

    [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
        cursor: w-resize
    }

    [data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,
    [data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
        background-color: #0000
    }

    [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
            background-color: color-mix(in oklab, var(--background)20%, transparent)
        }
    }

    [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
        color: var(--background)
    }

    [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
            background-color: color-mix(in oklab, var(--background)10%, transparent)
        }
    }

    [data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
        margin-top: calc(var(--spacing)*-1.5)
    }

    @media (hover:hover) {
        a.\[a\&\]\:hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        a.\[a\&\]\:hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-primary\/90:hover {
                background-color: color-mix(in oklab, var(--primary)90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:bg-secondary\/90:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-secondary\/90:hover {
                background-color: color-mix(in oklab, var(--secondary)90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:text-accent-foreground:hover {
            color: var(--accent-foreground)
        }
    }
}

@property --tw-animation-delay {
    syntax: "*";
    inherits: false;
    initial-value: 0s
}

@property --tw-animation-direction {
    syntax: "*";
    inherits: false;
    initial-value: normal
}

@property --tw-animation-duration {
    syntax: "*";
    inherits: false
}

@property --tw-animation-fill-mode {
    syntax: "*";
    inherits: false;
    initial-value: none
}

@property --tw-animation-iteration-count {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

:root {
    --primary: #9389c3;
    --primary-foreground: #fff;
    --background: #fbfaf7;
    --foreground: #514a70;
    --card: #fff;
    --card-foreground: #514a70;
    --popover: #fff;
    --popover-foreground: #514a70;
    --secondary: #eef8f7;
    --secondary-foreground: #514a70;
    --muted: #697080;
    --muted-foreground: #697080;
    --accent: #eef0fb;
    --accent-foreground: #7167a4;
    --border: #e5e4e8;
    --input: #e5e4e8;
    --ring: #9389c3;
    --radius: .75rem;
    --lilac: #9389c3;
    --lilac-deep: #7167a4;
    --teal: #41b8b2;
    --teal-deep: #238b87;
    --ink: #514a70;
    --ink-soft: #566071;
    --cream: #fbfaf7;
    --sun: #41b8b2;
    --coral: #ef987b
}

.nav-dropdown-wrap {
    position: relative
}

.nav-dropdown-trigger {
    appearance: none;
    color: #ffffffdb;
    background: 0 0;
    border: 0;
    align-items: center;
    gap: 5px;
    padding: 0;
    font: 600 12px Poppins, sans-serif;
    transition: color .2s;
    display: inline-flex
}

.nav-dropdown-trigger:hover,
.nav-dropdown-wrap.is-open .nav-dropdown-trigger {
    color: var(--sun)
}

.nav-dropdown-trigger svg {
    transition: transform .2s
}

.nav-dropdown-wrap.is-open .nav-dropdown-trigger svg {
    transform: rotate(180deg)
}

.nav-dropdown-panel {
    background: var(--ink);
    border: 1px solid #ffffff24;
    border-radius: 7px;
    width: 235px;
    padding: 9px;
    display: none;
    position: absolute;
    top: calc(100% + 20px);
    left: -17px;
    box-shadow: 0 18px 35px #00000042
}

.nav-dropdown-wrap:hover .nav-dropdown-panel,
.nav-dropdown-wrap.is-open .nav-dropdown-panel {
    flex-direction: column;
    display: flex
}

.nav-dropdown-panel:before {
    content: "";
    background: var(--ink);
    border-top: 1px solid #ffffff24;
    border-left: 1px solid #ffffff24;
    width: 10px;
    height: 10px;
    position: absolute;
    top: -5px;
    left: 25px;
    transform: rotate(45deg)
}

.nav-dropdown-panel a {
    color: #ffffffc7;
    border-radius: 4px;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 12px 10px;
    font-size: 12px;
    display: flex
}

.hero {
    background: var(--ink)
}

.hero-image {
    z-index: -3;
    opacity: .96;
    background: url(media/festou-dashboard-real_6bb9f197.png) 50%/contain no-repeat;
    inset: 0 2% 17px 52%
}

.hero-overlay {
    background: linear-gradient(90deg, #7167a4, #514a70fa 38%, #514a709e 63%, #514a7038), linear-gradient(#0000 50%, #7167a46b)
}

.hero-lede {
    max-width: 560px
}

.metrics-title {
    color: var(--teal-deep);
    letter-spacing: .16em;
    text-align: center;
    padding-top: 31px;
    font: 500 10px Poppins, sans-serif
}

.metrics-grid {
    margin-top: 16px
}

.partner-row {
    border-top: 1px solid #e9e6e1;
    align-items: center;
    gap: 25px;
    padding: 27px 0 30px;
    display: flex
}

.partner-row>p {
    color: #747b88;
    flex: 0 0 235px;
    font-size: 11px;
    line-height: 1.4
}

.partner-logos {
    flex-wrap: wrap;
    flex: 1;
    align-items: center;
    gap: 8px;
    display: flex
}

.partner-logo {
    color: #6d678d;
    background: #fff;
    border: 1px solid #e6e2ea;
    border-radius: 99px;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    font: 600 9px Poppins, sans-serif;
    display: inline-flex
}

.movement-badge {
    object-fit: contain;
    border-radius: 50%;
    flex: 0 0 132px;
    width: 132px;
    height: 132px
}

.intro-heading {
    text-align: center;
    max-width: 780px;
    margin-inline: auto
}

.intro-heading h2 {
    max-width: none
}

.intro-heading>p {
    max-width: 580px;
    color: var(--ink-soft);
    margin: 19px auto 0;
    font-size: 16px;
    line-height: 1.65
}

.experience-carousel {
    width: calc(100% + 60px);
    margin: 68px -30px -12px;
    padding: 0 30px 25px;
    position: relative;
    overflow: hidden
}

.experience-carousel:before,
.experience-carousel:after {
    content: "";
    z-index: 2;
    pointer-events: none;
    width: 80px;
    position: absolute;
    top: 0;
    bottom: 18px
}

.experience-carousel:before {
    background: linear-gradient(90deg, var(--cream), transparent);
    left: 0
}

.experience-carousel:after {
    background: linear-gradient(270deg, var(--cream), transparent);
    right: 0
}

.experience-track {
    gap: 14px;
    width: max-content;
    animation: 38s linear infinite festou-scroll;
    display: flex
}

.experience-track:hover {
    animation-play-state: paused
}

@keyframes festou-scroll {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(calc(-50% - 7px))
    }
}

.experience-card {
    color: #fff;
    background: var(--lilac-deep);
    border-radius: 7px;
    flex: 0 0 250px;
    width: 250px;
    height: 278px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 14px 24px #514a701f
}

.experience-card:before {
    content: "";
    opacity: .95;
    background: radial-gradient(circle at 80% 18%, #ffffff6b 0 2px, #0000 3px), radial-gradient(circle at 20% 25%, #ffffff40 0 1px, #0000 2px), linear-gradient(140deg, #0000 35%, #ffffff29 35% 43%, #0000 43%);
    position: absolute;
    inset: 0
}

.experience-card:after {
    content: "";
    border: 1px solid #ffffff5c;
    border-radius: 50%;
    width: 210px;
    height: 210px;
    position: absolute;
    top: 36px;
    right: -72px;
    box-shadow: 0 0 0 27px #ffffff14, 0 0 0 54px #ffffff0d
}

.experience-junina {
    background: linear-gradient(145deg, #8b76b8, #594889)
}

.experience-formatura {
    background: linear-gradient(145deg, #7167a4, #5a648a)
}

.experience-maes {
    background: linear-gradient(145deg, #e39b9f, #a9668a)
}

.experience-pais {
    background: linear-gradient(145deg, #3b8892, #238b87)
}

.experience-viagens {
    background: linear-gradient(145deg, #53b3a2, #238b87)
}

.experience-saidas {
    background: linear-gradient(145deg, #41b8b2, #238b87)
}

.experience-apresentacoes {
    background: linear-gradient(145deg, #e38265, #a94c61)
}

.experience-brand,
.experience-art-icon,
.experience-copy {
    z-index: 1;
    position: absolute
}

.experience-brand {
    letter-spacing: -.5px;
    font: 800 13px Poppins, sans-serif;
    top: 18px;
    left: 20px
}

.experience-brand span {
    color: var(--sun)
}

.experience-art-icon {
    width: 72px;
    height: 72px;
    color: var(--sun);
    border: 1px solid #ffffff7a;
    border-radius: 50%;
    place-items: center;
    display: grid;
    top: 53px;
    right: 22px
}

.experience-copy {
    bottom: 22px;
    left: 20px;
    right: 18px
}

.experience-copy span {
    color: #ffffffb3;
    letter-spacing: .09em;
    text-transform: uppercase;
    font: 9px Poppins, sans-serif
}

.experience-copy h3 {
    letter-spacing: -1.5px;
    margin-top: 7px;
    font-size: 25px;
    line-height: 1
}

.store-section {
    background: #f0eef8;
    padding: 122px 0
}

.store-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
    align-items: center;
    gap: 100px;
    display: grid
}

.store-copy h2 {
    max-width: 530px
}

.store-copy>p {
    max-width: 470px;
    color: var(--ink-soft);
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.7
}

.store-steps {
    flex-direction: column;
    gap: 17px;
    margin: 30px 0 29px;
    display: flex
}

.store-steps>div {
    align-items: flex-start;
    gap: 13px;
    display: flex
}

.store-steps>div>span {
    width: 28px;
    height: 28px;
    color: var(--lilac-deep);
    background: #fff;
    border-radius: 50%;
    place-items: center;
    font: 10px Poppins, sans-serif;
    display: grid
}

.store-steps strong,
.store-steps small {
    display: block
}

.store-steps strong {
    font: 700 14px Poppins, sans-serif
}

.store-steps small {
    color: #7b8190;
    margin-top: 3px;
    font-size: 11px
}

.store-visual {
    background: #fff9;
    border-radius: 8px;
    padding: 16px;
    position: relative;
    box-shadow: 18px 18px #9389c333
}

.store-visual img {
    border-radius: 4px;
    width: 100%;
    display: block
}

.visual-tag {
    color: var(--teal-deep);
    background: #fff;
    border-radius: 99px;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    font: 600 10px Poppins, sans-serif;
    display: inline-flex;
    position: absolute;
    bottom: 26px;
    right: 26px;
    box-shadow: 0 8px 18px #514a7029
}

.testimonial-grid {
    grid-template-columns: repeat(3, 1fr)
}

.testimonial-card {
    min-height: 0
}

.testimonial-content blockquote {
    color: var(--ink);
    letter-spacing: -.3px;
    margin: 15px 0 20px;
    font: 600 15px/1.42 Poppins, sans-serif
}

.testimonial-photo {
    background: #f4f1f8;
    place-items: center;
    height: 250px;
    padding: 10px 18px;
    display: grid
}

.testimonial-photo img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%
}

@media (max-width:1080px) {
    .nav-dropdown-panel {
        left: -10px
    }

    .partner-row {
        flex-wrap: wrap;
        align-items: flex-start
    }

    .partner-row>p {
        flex-basis: 100%
    }

    .experience-carousel {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
        padding-inline: 20px
    }

    .store-grid {
        gap: 55px
    }

    .testimonial-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .testimonial-card:nth-child(5) {
        grid-column: span 2
    }
}

@media (max-width:740px) {
    .official-logo {
        width: 84px;
        height: 62px
    }

    .main-nav .nav-dropdown-wrap {
        border-bottom: 1px solid #ffffff1a
    }

    .main-nav .nav-dropdown-trigger {
        justify-content: space-between;
        width: 100%;
        padding: 13px 12px;
        font-size: 13px
    }

    .nav-dropdown-panel {
        width: auto;
        box-shadow: none;
        background: #ffffff12;
        border: 0;
        border-radius: 4px;
        margin: 0 4px 8px;
        padding: 4px;
        position: static
    }

    .nav-dropdown-panel:before {
        display: none
    }

    .nav-dropdown-panel a {
        border-bottom: 0;
        padding: 10px 12px
    }

    .hero-image {
        opacity: .68;
        background-size: 115%;
        height: 360px;
        inset: auto 0 28px 45%
    }

    .hero-overlay {
        background: linear-gradient(90deg, #7167a4fa, #514a70cc 68%, #514a708c)
    }

    .metrics-title {
        padding-top: 25px
    }

    .partner-row {
        gap: 17px;
        padding-top: 23px
    }

    .partner-logos {
        gap: 6px
    }

    .partner-logo {
        font-size: 8px
    }

    .movement-badge {
        flex-basis: 110px;
        width: 110px;
        height: 110px
    }

    .intro-heading {
        text-align: left
    }

    .intro-heading>p {
        margin-left: 0
    }

    .experience-carousel {
        margin-top: 48px
    }

    .experience-card {
        flex-basis: 220px;
        width: 220px;
        height: 245px
    }

    .experience-copy h3 {
        font-size: 22px
    }

    .store-section {
        padding: 84px 0
    }

    .store-grid {
        display: block
    }

    .store-visual {
        margin-top: 50px
    }

    .testimonial-content blockquote {
        font-size: 14px
    }
}

@media (max-width:460px) {
    .hero-image {
        opacity: .43;
        background-size: 125%;
        height: 320px;
        inset: auto -8% 24px 22%
    }

    .hero {
        min-height: 780px
    }

    .partner-row {
        display: block
    }

    .partner-logos {
        margin-top: 15px
    }

    .movement-badge {
        width: 118px;
        height: 118px;
        margin-top: 22px;
        display: block
    }

    .experience-card {
        flex-basis: 205px;
        width: 205px;
        height: 230px
    }

    .testimonial-grid {
        grid-template-columns: 1fr
    }

    .testimonial-card:nth-child(5) {
        grid-column: auto
    }

    .testimonial-photo {
        height: 270px;
        padding-inline: 24px
    }
}

.formatura-page {
    min-height: 100vh;
    color: var(--ink);
    background: var(--cream)
}

.formatura-header {
    color: #fff;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    height: 78px;
    padding: 0 max(30px, 50vw - 590px);
    display: flex
}

.formatura-logo {
    align-items: center;
    display: inline-flex
}

.formatura-logo img {
    object-fit: contain;
    width: 91px;
    height: 62px
}

.formatura-header nav {
    align-items: center;
    gap: 26px;
    display: flex
}

.formatura-header nav a {
    color: #ffffffc7;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none
}

.formatura-header nav a:hover {
    color: var(--sun)
}

.formatura-nav-cta {
    background: var(--sun);
    border-radius: 99px;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    display: inline-flex;
    color: var(--ink) !important
}

.formatura-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 30px
}

.formatura-hero {
    color: #fff;
    background: linear-gradient(120deg, #7167a4, #7167a4);
    align-items: center;
    gap: 70px;
    min-height: 660px;
    padding: 85px max(30px, 50vw - 590px);
    display: flex;
    position: relative;
    overflow: hidden
}

.formatura-hero:before {
    content: "";
    opacity: .3;
    background: radial-gradient(circle at 14% 22%, var(--teal)0 2px, transparent 3px), radial-gradient(circle at 72% 24%, var(--sun)0 2px, transparent 3px), radial-gradient(circle at 42% 80%, white 0 1px, transparent 2px);
    background-size: 160px 160px, 220px 220px, 130px 130px;
    position: absolute;
    inset: 0
}

.formatura-orbit {
    border: 1px solid #ffffff2e;
    border-radius: 50%;
    width: 600px;
    height: 600px;
    position: absolute;
    top: -150px;
    right: -120px;
    box-shadow: 0 0 0 42px #ffffff0a, 0 0 0 84px #ffffff08
}

.formatura-hero-copy {
    z-index: 1;
    max-width: 650px;
    position: relative
}

.back-link {
    color: #ffffffb8;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    text-decoration: none;
    display: inline-flex
}

.back-link:hover {
    color: #fff
}

.formatura-kicker {
    color: var(--teal);
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.formatura-hero-copy .formatura-kicker {
    margin-top: 53px
}

.formatura-hero h1 {
    letter-spacing: -4px;
    max-width: 680px;
    margin-top: 16px;
    font-size: clamp(50px, 6vw, 78px);
    line-height: 1
}

.formatura-hero-copy>p:not(.formatura-kicker) {
    color: #ffffffbd;
    max-width: 520px;
    margin-top: 26px;
    font-size: 17px;
    line-height: 1.6
}

.formatura-hero-actions {
    align-items: center;
    gap: 25px;
    margin-top: 32px;
    display: flex
}

.formatura-button-primary {
    color: var(--ink);
    background: var(--sun)
}

.formatura-text-link {
    color: #fff;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex
}

.formatura-ticket {
    z-index: 1;
    width: 315px;
    min-height: 390px;
    color: var(--ink);
    background: #fffdfa;
    flex: 0 0 315px;
    padding: 30px 26px;
    position: relative;
    transform: rotate(5deg);
    box-shadow: 19px 23px #514a702b
}

.formatura-ticket:before,
.formatura-ticket:after {
    content: "";
    background: #5f5795;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.formatura-ticket:before {
    left: -13px
}

.formatura-ticket:after {
    right: -13px
}

.formatura-ticket>span {
    color: var(--lilac-deep);
    letter-spacing: .15em;
    font: 600 10px Poppins, sans-serif
}

.formatura-ticket strong {
    letter-spacing: -2px;
    margin-top: 82px;
    font: 800 36px/1 Poppins, sans-serif;
    display: block
}

.formatura-ticket small {
    color: #777b87;
    max-width: 140px;
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.4;
    display: block
}

.ticket-line {
    border-top: 1px dashed #b8b5c4;
    margin-top: 68px
}

.ticket-bottom {
    color: var(--teal-deep);
    justify-content: space-between;
    align-items: end;
    margin-top: 20px;
    font: 10px Poppins, sans-serif;
    display: flex
}

.formatura-challenge {
    background: #fff;
    padding: 115px 0
}

.formatura-challenge h2,
.formatura-section-head h2,
.formatura-cta h2 {
    letter-spacing: -3px;
    max-width: 700px;
    margin-top: 15px;
    font-size: clamp(40px, 4.8vw, 62px);
    line-height: 1.04
}

.formatura-lede {
    max-width: 560px;
    color: var(--ink-soft);
    margin-top: 23px;
    font-size: 16px;
    line-height: 1.7
}

.formatura-proof-row {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 65px;
    display: grid
}

.formatura-proof-row>div {
    border-top: 1px solid #dfdce8;
    align-items: center;
    gap: 15px;
    padding: 19px 0;
    display: flex
}

.formatura-proof-row strong {
    color: var(--lilac-deep);
    font: 11px Poppins, sans-serif
}

.formatura-proof-row span {
    font: 600 13px Poppins, sans-serif
}

.formatura-help {
    background: #f0eef8;
    padding: 120px 0
}

.formatura-section-head {
    grid-template-columns: 1fr .55fr;
    align-items: end;
    gap: 110px;
    display: grid
}

.formatura-section-head>p {
    color: var(--ink-soft);
    padding-bottom: 4px;
    font-size: 15px;
    line-height: 1.65
}

.formatura-help-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 70px;
    display: grid
}

.formatura-help-card {
    background: #fff;
    border: 1px solid #7167a424;
    min-height: 245px;
    padding: 25px;
    transition: transform .2s, box-shadow .2s;
    position: relative
}

.formatura-help-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 30px #514a701a
}

.formatura-card-index {
    color: #c7c2d8;
    font: 10px Poppins, sans-serif;
    position: absolute;
    top: 20px;
    right: 20px
}

.formatura-help-icon {
    width: 45px;
    height: 45px;
    color: var(--lilac-deep);
    background: #f0eef9;
    border-radius: 13px;
    place-items: center;
    display: grid
}

.formatura-help-card:nth-child(2n) .formatura-help-icon {
    color: var(--teal-deep);
    background: #e8f7f5
}

.formatura-help-card:nth-child(3n) .formatura-help-icon {
    color: #a67d00;
    background: #f0eef9
}

.formatura-help-card h3 {
    max-width: 190px;
    margin-top: 42px;
    font-size: 16px;
    line-height: 1.2
}

.formatura-help-card p {
    color: #7a8190;
    margin-top: 11px;
    font-size: 12px;
    line-height: 1.55
}

.formatura-cta {
    color: #fff;
    background: var(--teal-deep);
    padding: 110px 0
}

.formatura-cta .formatura-kicker {
    color: var(--sun)
}

.formatura-cta h2 {
    max-width: 720px
}

.formatura-cta>.formatura-container>p:not(.formatura-kicker) {
    color: #ffffffbf;
    max-width: 500px;
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.65
}

.formatura-cta .button {
    margin-top: 29px
}

.formatura-footer {
    color: #ffffff87;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 33px max(30px, 50vw - 590px);
    font: 10px Poppins, sans-serif;
    display: flex
}

.formatura-footer .formatura-logo img {
    width: 78px;
    height: 52px
}

@media (max-width:920px) {
    .formatura-header nav {
        gap: 14px
    }

    .formatura-header nav a:not(.formatura-nav-cta) {
        display: none
    }

    .formatura-hero {
        gap: 35px;
        padding-top: 70px;
        padding-bottom: 80px
    }

    .formatura-ticket {
        flex-basis: 260px;
        width: 260px
    }

    .formatura-help-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:680px) {
    .formatura-header {
        height: 70px;
        padding-inline: 20px
    }

    .formatura-header nav {
        margin-left: auto
    }

    .formatura-nav-cta {
        padding: 9px 11px;
        font-size: 10px
    }

    .formatura-container {
        padding-inline: 20px
    }

    .formatura-hero {
        padding: 60px 20px 90px;
        display: block
    }

    .formatura-hero-copy .formatura-kicker {
        margin-top: 40px
    }

    .formatura-hero h1 {
        letter-spacing: -3px;
        font-size: clamp(44px, 14vw, 62px)
    }

    .formatura-hero-actions {
        flex-wrap: wrap
    }

    .formatura-ticket {
        width: 280px;
        min-height: 350px;
        margin: 65px auto 0
    }

    .formatura-ticket strong {
        margin-top: 58px
    }

    .ticket-line {
        margin-top: 44px
    }

    .formatura-challenge,
    .formatura-help {
        padding: 82px 0
    }

    .formatura-proof-row,
    .formatura-section-head {
        display: block
    }

    .formatura-proof-row {
        margin-top: 44px
    }

    .formatura-proof-row>div {
        margin-top: 8px
    }

    .formatura-section-head>p {
        margin-top: 28px
    }

    .formatura-help-grid {
        grid-template-columns: 1fr 1fr;
        margin-top: 45px
    }

    .formatura-help-card {
        min-height: 225px;
        padding: 18px
    }

    .formatura-help-card h3 {
        margin-top: 33px;
        font-size: 15px
    }

    .formatura-footer {
        padding-inline: 20px;
        display: block
    }

    .formatura-footer span {
        margin-top: 18px;
        display: block
    }
}

@media (max-width:420px) {
    .formatura-help-grid {
        grid-template-columns: 1fr
    }
}

.testimonial-carousel {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 24px;
    margin-top: 48px;
    display: grid
}

.testimonial-stage {
    min-width: 0
}

.testimonial-active {
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    min-height: 0;
    margin: 0;
    display: grid;
    overflow: hidden
}

.testimonial-active .testimonial-photo {
    height: 330px;
    padding: 14px 25px
}

.testimonial-active .testimonial-content {
    flex-direction: column;
    justify-content: center;
    padding: 42px 48px;
    display: flex
}

.testimonial-active .testimonial-content blockquote {
    max-width: 720px;
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.48
}

.testimonial-nav {
    width: 48px;
    height: 48px;
    color: var(--lilac-deep);
    background: #fff;
    border: 1px solid #d9d5e2;
    border-radius: 50%;
    place-items: center;
    transition: transform .18s, color .18s, background .18s, box-shadow .18s;
    display: grid
}

.testimonial-nav:hover {
    color: var(--ink);
    background: var(--sun);
    transform: translateY(-2px);
    box-shadow: 0 8px 16px #514a701f
}

.testimonial-dots {
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    display: flex
}

.testimonial-dots button {
    background: #c9c3da;
    border: 0;
    border-radius: 99px;
    width: 7px;
    height: 7px;
    padding: 0;
    transition: width .18s, background .18s
}

.testimonial-dots button.active {
    background: var(--teal-deep);
    width: 25px
}

@media (max-width:740px) {
    .testimonial-carousel {
        margin-top: 40px;
        display: block;
        position: relative
    }

    .testimonial-active {
        grid-template-columns: 1fr
    }

    .testimonial-active .testimonial-photo {
        height: 270px;
        padding-inline: 40px
    }

    .testimonial-active .testimonial-content {
        padding: 30px 25px 32px
    }

    .testimonial-active .testimonial-content blockquote {
        font-size: 15px
    }

    .testimonial-nav {
        z-index: 3;
        position: absolute;
        top: 112px
    }

    .testimonial-nav-prev {
        left: 12px
    }

    .testimonial-nav-next {
        right: 12px
    }
}

.testimonial-carousel:focus-visible {
    outline: 2px solid var(--teal-deep);
    outline-offset: 8px;
    border-radius: 10px
}

.testimonial-enter {
    animation: .36s cubic-bezier(.23, 1, .32, 1) both testimonial-reveal
}

@keyframes testimonial-reveal {
    0% {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.testimonial-rotation-note {
    color: #77758a;
    letter-spacing: .04em;
    text-align: center;
    margin-top: 10px;
    font: 10px Poppins, sans-serif
}

@media (prefers-reduced-motion:reduce) {
    .testimonial-enter {
        animation: none
    }

    .testimonial-nav,
    .testimonial-dots button {
        transition: none
    }
}

.testimonial-stage {
    touch-action: pan-y;
    cursor: grab
}

.testimonial-stage:active,
.testimonial-stage.testimonial-dragging {
    cursor: grabbing
}

.testimonial-dragging {
    -webkit-user-select: none;
    user-select: none
}

@media (max-width:740px) {
    .site-header {
        background: var(--ink);
        height: 82px;
        position: relative
    }

    .hero {
        padding-top: 52px
    }

    .hero-content {
        padding-top: 0
    }
}

@media (max-width:900px) {
    .site-header {
        background: var(--ink);
        height: 82px;
        position: relative
    }

    .nav-actions {
        display: none
    }

    .menu-toggle {
        color: #fff;
        background: 0 0;
        border: 0;
        place-items: center;
        padding: 7px;
        display: grid
    }

    .main-nav {
        z-index: 50;
        background: var(--ink);
        border-radius: 7px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px;
        display: none;
        position: absolute;
        top: 72px;
        left: 20px;
        right: 20px;
        box-shadow: 0 20px 35px #00000040
    }

    .main-nav-open {
        display: flex
    }

    .main-nav>a {
        border-bottom: 1px solid #ffffff1a;
        padding: 13px 12px
    }

    .main-nav .nav-login-mobile {
        color: var(--sun);
        border-bottom: 0;
        display: block
    }

    .hero {
        padding-top: 52px
    }

    .hero-content {
        padding-top: 0
    }
}

@media (max-width:1200px) {
    .official-logo {
        width: 84px;
        height: 66px
    }
}

@media (max-width:900px) {
    .official-logo {
        width: 80px;
        height: 62px
    }

    .main-nav {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        max-height: 0;
        transition: opacity .22s, transform .22s cubic-bezier(.23, 1, .32, 1), max-height .28s, visibility 0s linear .28s;
        display: flex;
        overflow: hidden;
        transform: translateY(-10px)
    }

    .main-nav-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        max-height: min(720px, 100vh - 96px);
        transition-delay: 0s;
        overflow-y: auto;
        transform: translateY(0)
    }
}

@media (max-width:600px) {
    .official-logo {
        width: 76px;
        height: 58px
    }

    .site-header {
        height: 76px
    }

    .main-nav {
        top: 70px;
        left: 16px;
        right: 16px
    }
}

@media (prefers-reduced-motion:reduce) {
    .main-nav {
        transition: none
    }
}

@media (max-width:900px) {
    .main-nav .nav-dropdown-wrap {
        border-bottom: 1px solid #ffffff1a
    }

    .main-nav .nav-dropdown-trigger {
        justify-content: space-between;
        width: 100%;
        padding: 13px 12px;
        font-size: 13px
    }

    .main-nav .nav-dropdown-panel {
        width: auto;
        box-shadow: none;
        background: #ffffff12;
        border: 0;
        border-radius: 4px;
        margin: 0 4px 8px;
        padding: 4px;
        position: static
    }

    .main-nav .nav-dropdown-panel:before {
        display: none
    }

    .main-nav .nav-dropdown-panel a {
        border-bottom: 0;
        padding: 10px 12px
    }

    .hero {
        align-items: flex-start
    }
}

@media (min-width:901px) {
    .official-logo {
        width: 84px;
        height: 64px
    }

    .hero-content {
        padding-top: 112px
    }
}

.event-preview-section {
    background: #f1eff8;
    padding: 112px 0
}

.event-preview-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 54px;
    display: grid
}

.event-preview-grid article {
    color: #fff;
    background: linear-gradient(140deg, #7167a4, #9389c3);
    border-radius: 5px;
    flex-direction: column;
    align-items: flex-start;
    min-height: 255px;
    padding: 28px;
    display: flex;
    box-shadow: 12px 14px #7167a426
}

.event-preview-grid article:nth-child(2) {
    color: var(--ink);
    background: linear-gradient(140deg, #41b8b2, #bfe9e7);
    box-shadow: 12px 14px #41b8b233
}

.event-preview-grid article:nth-child(3) {
    background: linear-gradient(140deg, #238b87, #41b8b2);
    box-shadow: 12px 14px #41b8b22e
}

.event-preview-grid article>span {
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .72;
    font: 500 10px Poppins, sans-serif
}

.event-preview-grid strong {
    letter-spacing: -1.2px;
    max-width: 260px;
    margin-top: auto;
    font: 800 25px/1.05 Poppins, sans-serif
}

.event-preview-grid small {
    opacity: .78;
    max-width: 260px;
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.45
}

.event-preview-grid a {
    color: inherit;
    border-bottom: 1px solid;
    align-items: center;
    gap: 7px;
    margin-top: 20px;
    padding-bottom: 4px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex
}

.solution-page {
    min-height: 100vh;
    color: var(--ink);
    background: var(--cream)
}

.solution-header {
    color: #fff;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    height: 82px;
    padding: 0 max(30px, 50vw - 590px);
    display: flex
}

.solution-logo img {
    object-fit: contain;
    width: 84px;
    height: 62px
}

.solution-header nav {
    align-items: center;
    gap: 24px;
    display: flex
}

.solution-header nav a {
    color: #ffffffc7;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none
}

.solution-header nav a:hover {
    color: var(--sun)
}

.solution-header-cta {
    background: var(--sun);
    border-radius: 99px;
    align-items: center;
    gap: 7px;
    padding: 10px 14px;
    display: inline-flex;
    color: var(--ink) !important
}

.solution-hero {
    color: #fff;
    background: linear-gradient(120deg, #7167a4, #7167a4);
    justify-content: space-between;
    align-items: center;
    gap: 70px;
    min-height: 610px;
    padding: 80px max(30px, 50vw - 590px);
    display: flex;
    position: relative;
    overflow: hidden
}

.solution-hero:before {
    content: "";
    opacity: .25;
    background: radial-gradient(circle at 14% 22%, var(--teal)0 2px, transparent 3px), radial-gradient(circle at 72% 24%, var(--sun)0 2px, transparent 3px);
    background-size: 160px 160px, 220px 220px;
    position: absolute;
    inset: 0
}

.solution-orbit {
    border: 1px solid #ffffff2e;
    border-radius: 50%;
    width: 600px;
    height: 600px;
    position: absolute;
    top: -170px;
    right: -160px;
    box-shadow: 0 0 0 42px #ffffff0a, 0 0 0 84px #ffffff08
}

.solution-hero-copy {
    z-index: 1;
    max-width: 690px;
    position: relative
}

.solution-back {
    color: #ffffffb8;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    text-decoration: none;
    display: inline-flex
}

.solution-kicker {
    color: var(--teal-deep);
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.solution-hero .solution-kicker {
    color: var(--teal);
    margin-top: 48px
}

.solution-hero h1 {
    letter-spacing: -4px;
    max-width: 700px;
    margin-top: 16px;
    font-size: clamp(46px, 6vw, 76px);
    line-height: 1
}

.solution-hero-copy>p:not(.solution-kicker) {
    color: #ffffffc2;
    max-width: 570px;
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.6
}

.solution-button {
    color: var(--ink);
    background: var(--sun);
    margin-top: 28px
}

.solution-ticket {
    z-index: 1;
    width: 300px;
    min-height: 360px;
    color: var(--ink);
    background: #fffdfa;
    flex: 0 0 300px;
    padding: 29px 25px;
    position: relative;
    transform: rotate(4deg);
    box-shadow: 18px 22px #514a702e
}

.solution-ticket>span {
    color: var(--lilac-deep);
    letter-spacing: .15em;
    font: 600 10px Poppins, sans-serif
}

.solution-ticket strong {
    letter-spacing: -2px;
    margin-top: 92px;
    font: 800 36px/1 Poppins, sans-serif;
    display: block
}

.solution-ticket small {
    color: #777b87;
    max-width: 160px;
    margin-top: 12px;
    font-size: 11px;
    line-height: 1.4;
    display: block
}

.solution-ticket-line {
    border-top: 1px dashed #b8b5c4;
    margin-top: 68px
}

.solution-ticket-bottom {
    color: var(--teal-deep);
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    font: 10px Poppins, sans-serif;
    display: flex
}

.solution-section {
    padding: 110px 0
}

.solution-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 30px
}

.solution-section h2 {
    letter-spacing: -3px;
    max-width: 780px;
    margin-top: 15px;
    font: 800 clamp(38px, 5vw, 62px)/1.03 Poppins, sans-serif
}

.solution-white {
    background: #fff
}

.solution-lilac {
    background: #f0eef8
}

.solution-dark {
    color: #fff;
    background: var(--ink)
}

.solution-dark .solution-kicker,
.solution-teal .solution-kicker {
    color: var(--sun)
}

.solution-teal {
    color: #fff;
    background: var(--teal-deep)
}

.solution-card-grid {
    gap: 14px;
    margin-top: 58px;
    display: grid
}

.challenge-grid {
    grid-template-columns: repeat(3, 1fr)
}

.help-grid {
    grid-template-columns: repeat(4, 1fr)
}

.solution-card {
    background: #fff;
    border: 1px solid #7167a41f;
    min-height: 190px;
    padding: 23px
}

.solution-lilac .solution-card {
    border-color: #7167a426
}

.solution-card-icon {
    width: 44px;
    height: 44px;
    color: var(--lilac-deep);
    background: #f0eef9;
    border-radius: 13px;
    place-items: center;
    display: grid
}

.solution-card:nth-child(2n) .solution-card-icon {
    color: var(--teal-deep);
    background: #e8f7f5
}

.solution-card:nth-child(3n) .solution-card-icon {
    color: #a67d00;
    background: #f0eef9
}

.solution-card h3 {
    max-width: 220px;
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.2
}

.solution-card p {
    color: var(--ink-soft);
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.55
}

.solution-dark h2 {
    color: #fff
}

.solution-resource-list,
.solution-results {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 52px;
    display: grid
}

.solution-resource-list span,
.solution-results span {
    color: #ffffffd1;
    border-top: 1px solid #ffffff2e;
    align-items: center;
    gap: 9px;
    padding: 15px 0;
    font-size: 13px;
    display: flex
}

.solution-resource-list svg,
.solution-results svg {
    color: var(--sun);
    flex: none
}

.solution-partner {
    grid-template-columns: 1fr .3fr;
    align-items: center;
    gap: 100px;
    display: grid
}

.solution-partner>div:first-child>p:last-child {
    max-width: 650px;
    color: var(--ink-soft);
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.7
}

.solution-partner-stamp {
    color: var(--teal-deep);
    text-align: center;
    justify-items: center;
    gap: 14px;
    display: grid
}

.solution-partner-stamp span {
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.solution-teal h2 {
    max-width: 820px
}

.solution-teal .solution-button {
    color: var(--ink)
}

.solution-footer {
    color: #ffffff8a;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 28px max(30px, 50vw - 590px);
    font: 10px Poppins, sans-serif;
    display: flex
}

.solution-footer img {
    object-fit: contain;
    width: 76px;
    height: 54px
}

.explore-page {
    min-height: 100vh;
    color: var(--ink);
    background: #fbfaf7
}

.explore-header {
    color: #fff;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    height: 82px;
    padding: 0 max(30px, 50vw - 590px);
    display: flex
}

.explore-logo img {
    object-fit: contain;
    width: 84px;
    height: 62px
}

.explore-header nav {
    align-items: center;
    gap: 25px;
    display: flex
}

.explore-header nav a {
    color: #ffffffc7;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none
}

.explore-header-cta {
    background: var(--sun);
    border-radius: 99px;
    padding: 10px 14px;
    color: var(--ink) !important
}

.explore-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 30px
}

.explore-hero {
    color: #fff;
    background: linear-gradient(125deg, #514a70, #7167a4);
    padding: 92px 0 75px
}

.explore-kicker {
    color: var(--teal-deep);
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.explore-hero .explore-kicker {
    color: var(--sun)
}

.explore-hero h1 {
    letter-spacing: -4px;
    max-width: 690px;
    margin-top: 16px;
    font-size: clamp(45px, 6vw, 76px);
    line-height: 1
}

.explore-hero h1 em {
    color: var(--sun);
    font-style: normal
}

.explore-hero>.explore-container>p:not(.explore-kicker) {
    color: #ffffffbd;
    max-width: 600px;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.6
}

.explore-search {
    max-width: 720px;
    color: var(--ink);
    background: #fff;
    border-radius: 5px;
    align-items: center;
    gap: 12px;
    margin-top: 35px;
    padding: 16px 18px;
    display: flex
}

.explore-search input {
    width: 100%;
    color: var(--ink);
    border: 0;
    outline: 0;
    font: 14px Poppins, sans-serif
}

.explore-filters {
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
    display: flex
}

.explore-filters button,
.explore-category-row button {
    color: #fffc;
    background: 0 0;
    border: 1px solid #ffffff40;
    border-radius: 99px;
    padding: 9px 13px;
    font-size: 11px
}

.explore-filters button.active,
.explore-filters button:hover {
    color: var(--ink);
    background: var(--sun)
}

.explore-section {
    padding: 90px 0 110px
}

.explore-section-head {
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    display: flex
}

.explore-section-head h2 {
    letter-spacing: -2px;
    margin-top: 13px;
    font: 800 46px/1 Poppins, sans-serif
}

.explore-section-head>span {
    color: var(--ink-soft);
    font-size: 12px
}

.explore-category-row {
    gap: 9px;
    margin-top: 38px;
    padding-bottom: 4px;
    display: flex;
    overflow-x: auto
}

.explore-category-row button {
    color: var(--ink-soft);
    background: #fff;
    border-color: #ddd9e5;
    flex: none;
    align-items: center;
    gap: 8px;
    display: inline-flex
}

.explore-category-row button:hover {
    color: var(--lilac-deep);
    border-color: var(--lilac)
}

.explore-category-row button span {
    color: var(--teal-deep);
    place-items: center;
    display: grid
}

.explore-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 28px;
    display: grid
}

.explore-card {
    background: #fff;
    border: 1px solid #e7e4eb;
    transition: transform .2s, box-shadow .2s;
    overflow: hidden
}

.explore-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px #514a701c
}

.explore-card-art {
    color: #fff;
    background: linear-gradient(135deg, #7167a4, #9389c3);
    flex-direction: column;
    justify-content: space-between;
    min-height: 155px;
    padding: 18px;
    display: flex
}

.explore-sun .explore-card-art {
    color: var(--ink);
    background: linear-gradient(135deg, #41b8b2, #bfe9e7)
}

.explore-teal .explore-card-art {
    background: linear-gradient(135deg, #238b87, #41b8b2)
}

.explore-coral .explore-card-art {
    background: linear-gradient(135deg, #d47762, #ef987b)
}

.explore-card-art span {
    letter-spacing: .12em;
    font: 500 11px Poppins, sans-serif
}

.explore-card-art strong {
    letter-spacing: -1px;
    max-width: 170px;
    font: 800 25px/1.05 Poppins, sans-serif
}

.explore-card-body {
    padding: 19px
}

.explore-tag {
    color: var(--teal-deep);
    letter-spacing: .1em;
    text-transform: uppercase;
    font: 500 9px Poppins, sans-serif
}

.explore-card-body h3 {
    margin-top: 10px;
    font-size: 18px;
    line-height: 1.15
}

.explore-card-body p {
    color: var(--ink-soft);
    align-items: center;
    gap: 7px;
    margin-top: 11px;
    font-size: 12px;
    display: flex
}

.explore-card-body button {
    color: var(--lilac-deep);
    background: 0 0;
    border: 0;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex
}

.explore-empty {
    text-align: center;
    color: var(--ink-soft);
    padding: 70px 20px
}

.explore-empty svg {
    color: var(--teal-deep)
}

.explore-empty h3 {
    color: var(--ink);
    margin-top: 18px;
    font-size: 23px
}

.explore-empty p {
    max-width: 420px;
    margin: 10px auto 20px;
    font-size: 13px;
    line-height: 1.5
}

.explore-empty button,
.explore-cta a {
    color: var(--ink);
    background: var(--sun);
    border: 0;
    border-radius: 99px;
    padding: 12px 17px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none
}

.explore-cta {
    color: #fff;
    background: var(--teal-deep);
    padding: 88px 0
}

.explore-cta .explore-kicker {
    color: var(--sun)
}

.explore-cta h2 {
    letter-spacing: -2px;
    margin-top: 14px;
    font: 800 50px/1.02 Poppins, sans-serif
}

.explore-cta p:not(.explore-kicker) {
    color: #ffffffbf;
    max-width: 510px;
    margin: 19px 0 28px;
    font-size: 15px;
    line-height: 1.6
}

.explore-footer {
    color: #ffffff8a;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 28px max(30px, 50vw - 590px);
    font: 10px Poppins, sans-serif;
    display: flex
}

.explore-footer img {
    object-fit: contain;
    width: 76px;
    height: 54px
}

@media (max-width:900px) {

    .event-preview-grid,
    .challenge-grid {
        grid-template-columns: 1fr 1fr
    }

    .help-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .solution-hero {
        gap: 35px
    }

    .solution-ticket {
        flex-basis: 260px;
        width: 260px
    }

    .solution-resource-list,
    .solution-results,
    .explore-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:680px) {

    .solution-header,
    .explore-header {
        height: 72px;
        padding-inline: 20px
    }

    .solution-header nav a:not(.solution-header-cta),
    .explore-header nav a:not(.explore-header-cta) {
        display: none
    }

    .solution-header nav,
    .explore-header nav {
        margin-left: auto
    }

    .solution-header-cta,
    .explore-header-cta {
        padding: 9px 11px;
        font-size: 10px
    }

    .solution-hero {
        padding: 58px 20px 85px;
        display: block
    }

    .solution-container,
    .explore-container {
        padding-inline: 20px
    }

    .solution-hero h1 {
        letter-spacing: -3px;
        font-size: clamp(42px, 13vw, 61px)
    }

    .solution-ticket {
        width: 280px;
        margin: 60px auto 0
    }

    .solution-section {
        padding: 82px 0
    }

    .solution-section h2 {
        font-size: clamp(38px, 12vw, 55px)
    }

    .event-preview-grid,
    .challenge-grid,
    .help-grid,
    .solution-resource-list,
    .solution-results {
        grid-template-columns: 1fr
    }

    .solution-partner {
        display: block
    }

    .solution-partner-stamp {
        margin-top: 45px
    }

    .solution-footer,
    .explore-footer {
        padding-inline: 20px;
        display: block
    }

    .solution-footer span,
    .explore-footer span {
        margin-top: 18px;
        display: block
    }

    .explore-hero {
        padding: 72px 0 60px
    }

    .explore-hero h1 {
        letter-spacing: -3px;
        font-size: clamp(44px, 14vw, 62px)
    }

    .explore-section-head {
        display: block
    }

    .explore-section-head>span {
        margin-top: 15px;
        display: block
    }

    .explore-grid {
        grid-template-columns: 1fr
    }

    .explore-cta h2 {
        font-size: 43px
    }
}

.nav-mobile-only {
    display: none
}

@media (max-width:900px) {
    .main-nav .nav-mobile-only {
        display: block
    }
}

.site-header {
    background: var(--ink);
    flex: 0 0 96px;
    height: 96px;
    position: relative;
    inset: auto
}

.hero {
    align-items: flex-start;
    height: auto;
    min-height: calc(100svh - 96px);
    padding-top: 48px
}

.hero-content {
    padding-top: 0;
    padding-bottom: 112px
}

@media (max-width:900px) {
    .site-header {
        flex-basis: 82px;
        height: 82px;
        position: relative
    }

    .hero {
        min-height: calc(100svh - 82px);
        padding-top: 44px
    }

    .hero-content {
        padding-top: 0;
        padding-bottom: 96px
    }
}

@media (max-width:600px) {
    .site-header {
        flex-basis: 76px;
        height: 76px
    }

    .hero {
        min-height: calc(100svh - 76px);
        padding-top: 46px
    }

    .hero-content {
        padding-bottom: 82px
    }
}

.testimonial-active .testimonial-image-3 {
    object-fit: cover;
    object-position: 50% 32%
}

.testimonial-active .testimonial-photo .testimonial-image-3 {
    object-fit: cover;
    object-position: 50% 32%;
    width: calc(100% - 50px);
    height: calc(100% - 28px);
    position: absolute;
    inset: 14px 25px
}

@media (max-width:740px) {
    .testimonial-active .testimonial-photo .testimonial-image-3 {
        width: calc(100% - 80px);
        inset-inline: 40px
    }
}

.account-trigger,
.nav-account-button {
    appearance: none;
    letter-spacing: 0;
    background: 0 0;
    border: 0;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2
}

.account-trigger {
    padding: 0
}

.nav-explore {
    border: 1px solid #ffffff3d;
    border-radius: 999px;
    padding: 9px 13px
}

.main-nav .nav-club {
    color: var(--ink);
    background: #41b8b20a;
    border: 1px solid #41b8b2;
    border-radius: 999px;
    padding: 9px 14px;
    transition: color .18s cubic-bezier(.23, 1, .32, 1), background-color .18s cubic-bezier(.23, 1, .32, 1), box-shadow .18s cubic-bezier(.23, 1, .32, 1), transform .18s cubic-bezier(.23, 1, .32, 1)
}

.main-nav .nav-club:hover {
    color: var(--teal-deep);
    background: #41b8b21a;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px #41b8b224
}

.partner-logos {
    grid-template-columns: repeat(4, minmax(78px, 1fr));
    gap: 10px;
    display: grid
}

.partner-logo {
    border-radius: 8px;
    justify-content: center;
    min-height: 58px;
    padding: 9px 12px
}

.partner-logo img {
    object-fit: contain;
    filter: saturate(.88);
    width: 100%;
    height: 36px;
    display: block
}

.store-photo img {
    aspect-ratio: 4/3;
    object-fit: cover;
    object-position: 50% 45%
}

.modal-backdrop {
    z-index: 100;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #141622b8;
    place-items: center;
    padding: 24px;
    animation: .22s cubic-bezier(.23, 1, .32, 1) both modal-fade;
    display: grid;
    position: fixed;
    inset: 0
}

.access-modal {
    width: min(780px, 100%);
    color: var(--ink);
    background: #fff;
    border-radius: 22px;
    padding: 42px;
    animation: .28s cubic-bezier(.23, 1, .32, 1) both modal-rise;
    position: relative;
    box-shadow: 0 32px 90px #0c0e1852
}

.modal-close,
.consultancy-close {
    width: 42px;
    height: 42px;
    color: var(--ink);
    background: #f1eff8;
    border: 0;
    border-radius: 50%;
    place-items: center;
    display: grid;
    position: absolute;
    top: 18px;
    right: 18px
}

.modal-kicker {
    color: var(--teal-deep);
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.access-modal h2 {
    letter-spacing: -2.8px;
    max-width: 620px;
    margin-top: 13px;
    font-size: clamp(32px, 5vw, 52px)
}

.access-options {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 34px;
    display: grid
}

.access-options a {
    min-height: 190px;
    color: var(--ink);
    background: linear-gradient(145deg, #fbfaff, #f0eef8);
    border: 1px solid #e4e0ed;
    border-radius: 14px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 24px;
    text-decoration: none;
    transition: transform .18s, border-color .18s, box-shadow .18s;
    display: flex
}

.access-options a:nth-child(2),
.access-options a:nth-child(3) {
    background: linear-gradient(145deg, #fbfaff, #eaf8f6)
}

.access-options a:hover {
    border-color: var(--lilac);
    transform: translateY(-4px);
    box-shadow: 0 16px 30px #514a701a
}

.access-options svg {
    color: var(--lilac-deep);
    margin-bottom: auto
}

.access-options strong {
    font: 800 18px Poppins, sans-serif
}

.access-options span {
    color: var(--ink-soft);
    margin-top: 7px;
    font-size: 12px
}

.consultancy-popup {
    z-index: 90;
    width: min(420px, 100vw - 32px);
    color: var(--ink);
    background: #fffffffa;
    border: 1px solid #9389c340;
    border-radius: 18px;
    padding: 28px;
    animation: .35s cubic-bezier(.23, 1, .32, 1) both popup-enter;
    position: fixed;
    bottom: 90px;
    right: 24px;
    box-shadow: 0 28px 75px #514a7040
}

.consultancy-close {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px
}

.consultancy-badge {
    color: var(--teal-deep);
    letter-spacing: .1em;
    text-transform: uppercase;
    background: #e8f7f5;
    border-radius: 99px;
    padding: 7px 10px;
    font: 600 9px Poppins, sans-serif;
    display: inline-flex
}

.consultancy-popup p {
    color: var(--ink-soft);
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.55
}

.consultancy-popup>a {
    color: var(--lilac-deep);
    border-bottom: 1px solid;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding-bottom: 3px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

@keyframes modal-fade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes modal-rise {
    0% {
        opacity: 0;
        transform: translateY(18px)scale(.98)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes popup-enter {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

:focus-visible {
    outline: 3px solid var(--teal);
    outline-offset: 3px
}

@media (max-width:1200px) and (min-width:901px) {
    .main-nav {
        gap: 13px
    }

    .main-nav a,
    .login-link,
    .nav-dropdown-trigger {
        font-size: 11px
    }

    .nav-actions {
        gap: 12px
    }

    .button-small {
        padding-inline: 13px
    }
}

@media (max-width:900px) {
    .main-nav .nav-account-button {
        width: 100%;
        color: var(--sun);
        text-align: left;
        border-bottom: 1px solid #ffffff1a;
        padding: 13px 12px;
        font-size: 12px;
        font-weight: 700;
        display: block
    }

    .nav-explore {
        border-inline: 0;
        border-top: 0;
        border-radius: 0
    }

    .partner-logos {
        grid-template-columns: repeat(3, 1fr);
        width: 100%
    }

    .access-modal {
        padding: 34px 24px 26px
    }
}

@media (max-width:600px) {
    .partner-logos {
        grid-template-columns: repeat(2, 1fr)
    }

    .partner-logo {
        min-height: 54px
    }

    .access-options {
        grid-template-columns: 1fr;
        gap: 9px
    }

    .access-options a {
        min-height: 105px;
        padding: 18px
    }

    .access-options svg {
        margin: 0 0 20px
    }

    .consultancy-popup {
        padding: 24px 22px;
        bottom: 82px;
        right: 16px
    }
}

@media (prefers-reduced-motion:reduce) {

    .modal-backdrop,
    .access-modal,
    .consultancy-popup,
    .experience-track {
        animation: none
    }
}

.solution-menu-button {
    display: none
}

.challenge-grid-compact {
    grid-template-columns: repeat(5, 1fr);
    gap: 10px
}

.challenge-grid-compact .solution-card {
    min-height: 176px;
    padding: 18px
}

.challenge-grid-compact .solution-card-icon {
    width: 38px;
    height: 38px
}

.challenge-grid-compact .solution-card h3 {
    margin-top: 23px;
    font-size: 14px
}

.challenge-grid-compact .solution-card p {
    font-size: 11px
}

.seating-showcase {
    color: #fff;
    background: linear-gradient(125deg, #7167a4, #9389c3)
}

.seating-grid,
.data-grid {
    grid-template-columns: minmax(0, .75fr) minmax(420px, 1fr);
    align-items: center;
    gap: 80px;
    display: grid
}

.seating-grid .solution-kicker {
    color: var(--sun)
}

.seating-grid>div:first-child>p:not(.solution-kicker),
.data-grid>div:first-child>p:not(.solution-kicker) {
    color: #ffffffc7;
    max-width: 540px;
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.65
}

.seating-grid ul {
    gap: 12px;
    margin: 27px 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.seating-grid li {
    align-items: center;
    gap: 9px;
    font-size: 13px;
    display: flex
}

.seating-grid li svg {
    color: var(--sun)
}

.table-map {
    color: var(--ink);
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 20px 22px #514a7021
}

.table-map-stage {
    color: #fff;
    background: var(--ink);
    letter-spacing: .18em;
    text-align: center;
    border-radius: 8px;
    padding: 11px;
    font: 600 10px Poppins, sans-serif
}

.table-map-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 24px;
    display: grid
}

.table-unit {
    border: 2px solid var(--teal);
    background: #ebf9f7;
    border-radius: 50%;
    place-items: center;
    width: 66px;
    height: 66px;
    margin: auto;
    display: grid;
    position: relative
}

.table-unit span {
    font: 700 11px Poppins, sans-serif
}

.table-unit i {
    background: var(--teal);
    border-radius: 3px;
    width: 11px;
    height: 11px;
    position: absolute
}

.table-unit i:first-of-type {
    top: -8px
}

.table-unit i:nth-of-type(2) {
    right: -8px
}

.table-unit i:nth-of-type(3) {
    bottom: -8px
}

.table-unit i:nth-of-type(4) {
    left: -8px
}

.table-unit.reserved {
    background: #f0eef9;
    border-color: #41b8b2
}

.table-unit.reserved i {
    background: #41b8b2
}

.table-unit.sold {
    color: #8a8990;
    background: #efeff2;
    border-color: #c7c5ce
}

.table-unit.sold i {
    background: #c7c5ce
}

.table-map-legend {
    color: var(--ink-soft);
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin-top: 28px;
    font-size: 11px;
    display: flex
}

.table-map-legend span {
    align-items: center;
    gap: 6px;
    display: inline-flex
}

.table-map-legend i {
    background: var(--teal);
    border-radius: 50%;
    width: 10px;
    height: 10px
}

.table-map-legend i.reserved {
    background: #41b8b2
}

.table-map-legend i.sold {
    background: #c7c5ce
}

.data-section {
    background: #eaf8f6
}

.data-grid>div:first-child>p:not(.solution-kicker) {
    color: var(--ink-soft)
}

.data-field-list {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    display: grid
}

.data-field-list span {
    background: #ffffffb8;
    border: 1px solid #238b872e;
    border-radius: 8px;
    padding: 18px;
    font-size: 13px;
    font-weight: 700
}

.data-field-list small {
    color: var(--teal-deep);
    grid-column: 1/-1;
    align-items: center;
    gap: 8px;
    padding: 14px 17px;
    font-size: 11px;
    display: flex
}

.partner-service-grid,
.audience-type-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 55px;
    display: grid
}

.partner-service-grid article,
.audience-type-grid article {
    background: #fbfaf7;
    border: 1px solid #e5e2eb;
    border-radius: 8px;
    padding: 24px
}

.partner-service-grid svg,
.audience-type-grid svg {
    color: var(--teal-deep)
}

.partner-service-grid h3,
.audience-type-grid h3 {
    margin-top: 28px;
    font-size: 16px
}

.partner-service-grid p,
.audience-type-grid p {
    color: var(--ink-soft);
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.55
}

.audience-types {
    background: #f0eef8
}

.audience-type-grid {
    grid-template-columns: repeat(3, 1fr)
}

.solution-final-copy {
    border-top: 1px solid #ffffff38;
    max-width: 700px;
    margin-top: 50px;
    padding-top: 34px
}

.solution-final-copy h3 {
    letter-spacing: -2px;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.06
}

.solution-final-copy p {
    color: #ffffffbf;
    margin-top: 13px;
    font-size: 14px;
    line-height: 1.6
}

@media (max-width:1000px) {
    .challenge-grid-compact {
        grid-template-columns: repeat(3, 1fr)
    }

    .seating-grid,
    .data-grid {
        grid-template-columns: 1fr
    }

    .partner-service-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:680px) {
    .solution-menu-button {
        color: #fff;
        background: #ffffff14;
        border: 0;
        border-radius: 50%;
        place-items: center;
        width: 44px;
        height: 44px;
        margin-left: auto;
        display: grid
    }

    .solution-header {
        position: relative
    }

    .solution-header nav {
        z-index: 40;
        background: var(--ink);
        border-radius: 10px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 9px;
        display: none;
        position: absolute;
        top: 64px;
        left: 16px;
        right: 16px;
        box-shadow: 0 18px 40px #00000047
    }

    .solution-header nav.solution-nav-open {
        display: flex
    }

    .solution-header nav a:not(.solution-header-cta) {
        border-bottom: 1px solid #ffffff1a;
        padding: 13px 12px;
        display: block
    }

    .solution-header-cta {
        justify-content: center;
        min-height: 44px;
        margin-top: 8px;
        font-size: 11px
    }

    .challenge-grid-compact {
        grid-template-columns: 1fr 1fr
    }

    .challenge-grid-compact .solution-card {
        min-height: 165px
    }

    .table-map {
        padding: 18px 12px
    }

    .table-map-grid {
        gap: 14px 6px
    }

    .table-unit {
        width: 52px;
        height: 52px
    }

    .data-field-list,
    .partner-service-grid,
    .audience-type-grid {
        grid-template-columns: 1fr
    }

    .data-field-list small {
        grid-column: auto
    }
}

@media (max-width:400px) {
    .challenge-grid-compact {
        grid-template-columns: 1fr
    }
}

.formatura-menu-button {
    display: none
}

.formatura-seating {
    color: #fff;
    background: linear-gradient(125deg, #514a70, #7167a4);
    padding: 115px 0
}

.formatura-seating-grid {
    grid-template-columns: minmax(0, .72fr) minmax(420px, 1fr);
    align-items: center;
    gap: 80px;
    display: grid
}

.formatura-seating .formatura-kicker {
    color: var(--teal)
}

.formatura-seating h2 {
    letter-spacing: -3px;
    max-width: 650px;
    margin-top: 15px;
    font-size: clamp(40px, 4.8vw, 62px);
    line-height: 1.04
}

.formatura-seating p:not(.formatura-kicker) {
    color: #ffffffbd;
    max-width: 520px;
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.65
}

.formatura-seating ul {
    gap: 11px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
    display: grid
}

.formatura-seating li {
    align-items: center;
    gap: 9px;
    font-size: 13px;
    display: flex
}

.formatura-seating li svg {
    color: var(--sun)
}

.seat-map {
    color: var(--ink);
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 20px 22px #9389c338
}

.seat-stage {
    color: #fff;
    background: var(--ink);
    letter-spacing: .18em;
    text-align: center;
    border-radius: 60% 60% 8px 8px;
    padding: 12px;
    font: 600 10px Poppins, sans-serif
}

.seat-rows {
    grid-template-columns: repeat(8, 1fr);
    gap: 10px;
    margin-top: 27px;
    display: grid
}

.seat-rows span {
    aspect-ratio: 1;
    border-radius: 8px 8px 4px 4px;
    place-items: center;
    font: 600 8px Poppins, sans-serif;
    display: grid
}

.seat-free {
    color: #176d68;
    background: #cfeeea
}

.seat-reserved {
    color: #7167a4;
    background: #d8f1ef
}

.seat-sold {
    color: #777983;
    background: #e3e3e7
}

.seat-legend {
    color: var(--ink-soft);
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin-top: 24px;
    font-size: 11px;
    display: flex
}

.seat-legend span {
    align-items: center;
    gap: 6px;
    display: inline-flex
}

.seat-legend i {
    border-radius: 3px;
    width: 10px;
    height: 10px
}

@media (max-width:920px) {
    .formatura-seating-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width:680px) {
    .formatura-menu-button {
        color: #fff;
        background: #ffffff14;
        border: 0;
        border-radius: 50%;
        place-items: center;
        width: 44px;
        height: 44px;
        margin-left: auto;
        display: grid
    }

    .formatura-header {
        position: relative
    }

    .formatura-header nav {
        z-index: 40;
        background: var(--ink);
        border-radius: 10px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 9px;
        display: none;
        position: absolute;
        top: 64px;
        left: 16px;
        right: 16px;
        box-shadow: 0 18px 40px #00000047
    }

    .formatura-header nav.formatura-nav-open {
        display: flex
    }

    .formatura-header nav a:not(.formatura-nav-cta) {
        border-bottom: 1px solid #ffffff1a;
        padding: 13px 12px;
        display: block
    }

    .formatura-nav-cta {
        justify-content: center;
        min-height: 44px;
        margin-top: 8px
    }

    .formatura-seating {
        padding: 82px 0
    }

    .seat-map {
        padding: 18px 12px
    }

    .seat-rows {
        gap: 7px
    }
}

.event-filter-panel {
    background: #fff;
    border: 1px solid #e2dfe8;
    border-radius: 12px;
    grid-template-columns: repeat(3, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-top: 32px;
    padding: 18px;
    display: grid
}

.event-filter-panel label>span {
    color: var(--ink-soft);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 8px;
    font: 500 9px Poppins, sans-serif;
    display: block
}

.event-filter-panel label>div {
    min-height: 44px;
    color: var(--lilac-deep);
    border: 1px solid #ddd9e5;
    border-radius: 8px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    display: flex
}

.event-filter-panel select {
    appearance: none;
    width: 100%;
    color: var(--ink);
    background: 0 0;
    border: 0;
    outline: 0;
    font-size: 12px
}

.event-filter-panel label>div>svg:last-child {
    margin-left: auto
}

.filter-clear,
.filter-apply,
.mobile-filter-button {
    border: 0;
    border-radius: 99px;
    min-height: 44px;
    padding: 0 17px;
    font-size: 12px;
    font-weight: 800
}

.filter-clear {
    color: var(--lilac-deep);
    background: #f0eef8
}

.filter-apply {
    color: var(--ink);
    background: var(--sun);
    display: none
}

.mobile-filter-button,
.event-filter-mobile-head {
    display: none
}

.explore-featured-grid {
    margin-top: 30px
}

.all-events-heading {
    margin-top: 90px
}

.all-events-heading h2 {
    letter-spacing: -2px;
    margin-top: 12px;
    font: 800 46px/1 Poppins, sans-serif
}

.event-category-section {
    border-top: 1px solid #e3e0e7;
    margin-top: 45px;
    padding-top: 45px
}

.event-category-heading {
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    display: flex
}

.event-category-heading h3 {
    letter-spacing: -1.2px;
    font-size: 29px;
    line-height: 1.08
}

.event-category-heading p {
    max-width: 620px;
    color: var(--ink-soft);
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.55
}

.event-category-heading>span {
    color: var(--teal-deep);
    font: 500 10px Poppins, sans-serif
}

.event-price {
    color: var(--ink);
    margin-top: 15px;
    font-size: 12px;
    display: block
}

.explore-card-body>a {
    color: var(--lilac-deep);
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

@media (max-width:760px) {
    .mobile-filter-button {
        color: #fff;
        background: var(--lilac-deep);
        align-items: center;
        gap: 8px;
        margin-top: 25px;
        display: inline-flex
    }

    .event-filter-panel {
        z-index: 100;
        border-radius: 22px 22px 0 0;
        grid-template-columns: 1fr;
        max-height: 85vh;
        margin: 0;
        padding: 22px 20px 28px;
        display: none;
        position: fixed;
        inset: auto 0 0;
        overflow-y: auto;
        box-shadow: 0 -18px 60px #514a7047
    }

    .event-filter-panel.filter-panel-open {
        display: grid
    }

    .event-filter-mobile-head {
        justify-content: space-between;
        align-items: center;
        margin-bottom: 5px;
        display: flex
    }

    .event-filter-mobile-head strong {
        font: 800 22px Poppins, sans-serif
    }

    .event-filter-mobile-head button {
        background: #f0eef8;
        border: 0;
        border-radius: 50%;
        place-items: center;
        width: 40px;
        height: 40px;
        display: grid
    }

    .filter-clear,
    .filter-apply,
    .event-category-heading {
        display: block
    }

    .event-category-heading>span {
        margin-top: 12px;
        display: block
    }

    .all-events-heading {
        margin-top: 70px
    }
}

.service-page {
    min-height: 100vh;
    color: var(--ink);
    background: var(--cream)
}

.service-header {
    color: #fff;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    height: 82px;
    padding: 0 max(30px, 50vw - 590px);
    display: flex
}

.service-header img,
.service-footer img {
    object-fit: contain;
    width: 84px;
    height: 62px
}

.service-header nav {
    align-items: center;
    gap: 24px;
    display: flex
}

.service-header nav a {
    color: #ffffffc7;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none
}

.service-header-cta {
    background: var(--sun);
    border-radius: 99px;
    padding: 10px 14px;
    color: var(--ink) !important
}

.service-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 30px
}

.service-hero {
    color: #fff;
    background: linear-gradient(125deg, #514a70, #7167a4);
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .65fr);
    align-items: center;
    gap: 80px;
    min-height: 620px;
    padding: 85px max(30px, 50vw - 590px);
    display: grid
}

.service-hero>div:first-child {
    max-width: 720px
}

.service-back {
    color: #ffffffb8;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    text-decoration: none;
    display: inline-flex
}

.service-kicker {
    color: var(--teal-deep);
    letter-spacing: .14em;
    text-transform: uppercase;
    font: 500 10px Poppins, sans-serif
}

.service-hero .service-kicker {
    color: var(--teal);
    margin-top: 48px
}

.service-hero h1 {
    letter-spacing: -4px;
    margin-top: 16px;
    font-size: clamp(48px, 6vw, 78px);
    line-height: .99
}

.service-hero>div:first-child>p:not(.service-kicker) {
    color: #ffffffbf;
    max-width: 570px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.65
}

.service-hero .button {
    margin-top: 29px
}

.producer-dashboard {
    min-height: 390px;
    color: var(--ink);
    background: #fff;
    border-radius: 18px;
    padding: 32px;
    transform: rotate(2deg);
    box-shadow: 22px 24px #41b8b233
}

.producer-dashboard span {
    color: var(--teal-deep);
    letter-spacing: .12em;
    font: 600 10px Poppins, sans-serif
}

.producer-dashboard strong {
    letter-spacing: -2px;
    margin-top: 13px;
    font: 800 42px Poppins, sans-serif;
    display: block
}

.producer-bars {
    background: #f0eef8;
    border-radius: 12px;
    align-items: end;
    gap: 12px;
    height: 185px;
    margin-top: 35px;
    padding: 20px;
    display: flex
}

.producer-bars i {
    background: var(--lilac);
    border-radius: 5px 5px 0 0;
    flex: 1
}

.producer-bars i:first-child {
    height: 35%
}

.producer-bars i:nth-child(2) {
    height: 55%
}

.producer-bars i:nth-child(3) {
    height: 43%
}

.producer-bars i:nth-child(4) {
    height: 74%
}

.producer-bars i:nth-child(5) {
    height: 62%
}

.producer-bars i:nth-child(6) {
    background: var(--teal);
    height: 91%
}

.producer-dashboard small {
    color: var(--ink-soft);
    align-items: center;
    gap: 7px;
    margin-top: 22px;
    font-size: 11px;
    display: flex
}

.producer-dashboard small svg {
    color: var(--teal-deep)
}

.service-section {
    background: #fff;
    padding: 112px 0
}

.service-lilac {
    background: #f0eef8
}

.service-section h2,
.partner-directory h2,
.service-results h2 {
    letter-spacing: -3px;
    max-width: 760px;
    margin-top: 14px;
    font-size: clamp(40px, 5vw, 62px);
    line-height: 1.03
}

.service-card-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-top: 60px;
    display: grid
}

.service-card-grid article,
.service-audience-grid article {
    background: var(--cream);
    border: 1px solid #e6e3eb;
    border-radius: 8px;
    min-height: 225px;
    padding: 24px
}

.service-card-grid svg,
.service-audience-grid svg {
    color: var(--teal-deep)
}

.service-card-grid h3,
.service-audience-grid h3 {
    margin-top: 43px;
    font-size: 17px
}

.service-card-grid p,
.service-audience-grid p {
    color: var(--ink-soft);
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.55
}

.service-audience-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
    margin-top: 60px;
    display: grid
}

.service-audience-grid article {
    background: #fff
}

.service-results {
    color: #fff;
    background: var(--teal-deep);
    padding: 105px 0
}

.service-results .service-kicker {
    color: var(--sun)
}

.service-results>.service-container>div {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 45px;
    display: grid
}

.service-results>.service-container>div span {
    border-top: 1px solid #fff3;
    align-items: center;
    gap: 8px;
    padding: 14px 0;
    font-size: 13px;
    display: flex
}

.service-results>.service-container>div svg {
    color: var(--sun)
}

.service-results .button {
    margin-top: 33px
}

.service-results-lede {
    color: #ffffffbf;
    max-width: 560px;
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.65
}

.partner-hero {
    background: linear-gradient(125deg, #514a70, #238b87)
}

.partner-orbit {
    color: #fff;
    text-align: center;
    border: 1px solid #ffffff40;
    border-radius: 50%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 340px;
    height: 340px;
    display: flex;
    box-shadow: 0 0 0 38px #ffffff0a, 0 0 0 76px #ffffff06
}

.partner-orbit svg {
    color: var(--sun)
}

.partner-orbit strong {
    margin-top: 20px;
    font: 800 24px Poppins, sans-serif
}

.partner-orbit span {
    color: #ffffffa6;
    margin-top: 7px;
    font-size: 11px
}

.partner-directory {
    background: #f0eef8;
    padding: 112px 0
}

.partner-directory-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-top: 58px;
    display: grid
}

.partner-directory-grid a {
    min-height: 190px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #e2dfea;
    border-radius: 10px;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 10px;
    padding: 22px;
    text-decoration: none;
    transition: transform .18s, box-shadow .18s;
    display: grid
}

.partner-directory-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px #514a701a
}

.partner-directory-grid img {
    object-fit: contain;
    grid-column: 1/-1;
    align-self: center;
    width: 100%;
    height: 78px
}

.partner-directory-grid span {
    font-size: 12px;
    font-weight: 800
}

.partner-directory-grid svg {
    color: var(--teal-deep)
}

.service-footer {
    color: #ffffff8a;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    padding: 28px max(30px, 50vw - 590px);
    font: 10px Poppins, sans-serif;
    display: flex
}

@media (max-width:900px) {
    .service-hero {
        grid-template-columns: 1fr
    }

    .producer-dashboard,
    .partner-orbit {
        margin-inline: auto
    }

    .service-card-grid,
    .partner-directory-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:680px) {
    .service-header {
        height: 72px;
        padding-inline: 20px
    }

    .service-header nav a:not(.service-header-cta) {
        display: none
    }

    .service-header-cta {
        align-items: center;
        min-height: 44px;
        display: inline-flex;
        font-size: 10px !important
    }

    .service-hero {
        padding: 60px 20px 85px;
        display: block
    }

    .service-hero h1 {
        letter-spacing: -3px;
        font-size: clamp(43px, 14vw, 62px)
    }

    .producer-dashboard {
        min-height: 340px;
        margin-top: 60px;
        padding: 24px;
        transform: none
    }

    .partner-orbit {
        width: 250px;
        height: 250px;
        margin-top: 70px
    }

    .service-container {
        padding-inline: 20px
    }

    .service-section,
    .partner-directory {
        padding: 82px 0
    }

    .service-card-grid,
    .service-audience-grid,
    .partner-directory-grid,
    .service-results>.service-container>div {
        grid-template-columns: 1fr
    }

    .service-card-grid article,
    .service-audience-grid article {
        min-height: auto
    }

    .service-footer {
        padding-inline: 20px;
        display: block
    }

    .service-footer span {
        margin-top: 16px;
        display: block
    }
}

.event-view-toolbar {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
    display: flex
}

.favorites-filter {
    min-height: 44px;
    color: var(--lilac-deep);
    background: #fff;
    border: 1px solid #ddd9e5;
    border-radius: 999px;
    align-items: center;
    gap: 9px;
    padding: 0 15px;
    font-size: 12px;
    font-weight: 800;
    transition: transform .18s cubic-bezier(.23, 1, .32, 1), color .18s, border-color .18s, background .18s, box-shadow .18s;
    display: inline-flex
}

.favorites-filter:hover {
    border-color: var(--lilac);
    transform: translateY(-2px);
    box-shadow: 0 9px 20px #514a7017
}

.favorites-filter.active {
    color: #fff;
    border-color: var(--lilac-deep);
    background: var(--lilac-deep)
}

.favorites-filter>span {
    min-width: 22px;
    height: 22px;
    color: var(--ink);
    background: var(--sun);
    border-radius: 99px;
    place-items: center;
    font: 700 9px Poppins, sans-serif;
    display: grid
}

.event-feedback {
    min-height: 20px;
    color: var(--teal-deep);
    opacity: 0;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
    transition: opacity .2s, transform .2s cubic-bezier(.23, 1, .32, 1);
    transform: translateY(-3px)
}

.event-feedback.is-visible {
    opacity: 1;
    transform: none
}

.explore-card {
    transition: transform .24s cubic-bezier(.23, 1, .32, 1), box-shadow .24s, border-color .24s;
    position: relative;
    transform: translateZ(0)
}

.explore-card:hover {
    border-color: #9389c38c;
    transform: translateY(-8px);
    box-shadow: 0 22px 42px #514a7026
}

.explore-card-art {
    isolation: isolate;
    transition: filter .24s;
    position: relative;
    overflow: hidden
}

.explore-card-art:after {
    content: "";
    z-index: -1;
    background: linear-gradient(90deg, #0000, #ffffff38, #0000);
    width: 145%;
    height: 70px;
    transition: left .55s cubic-bezier(.23, 1, .32, 1);
    position: absolute;
    top: 30%;
    left: -155%;
    transform: rotate(-18deg)
}

.explore-card:hover .explore-card-art:after {
    left: 70%
}

.explore-card:hover .explore-card-art {
    filter: saturate(1.08)
}

.card-quick-actions {
    z-index: 3;
    opacity: 0;
    gap: 8px;
    transition: opacity .18s, transform .18s cubic-bezier(.23, 1, .32, 1);
    display: flex;
    position: absolute;
    top: 13px;
    right: 13px;
    transform: translateY(-6px)
}

.explore-card:hover .card-quick-actions,
.card-quick-actions:focus-within {
    opacity: 1;
    transform: none
}

.card-quick-actions button,
.card-quick-actions a {
    width: 40px;
    height: 40px;
    color: var(--ink);
    background: #fffffff0;
    border: 1px solid #ffffff8f;
    border-radius: 50%;
    place-items: center;
    padding: 0;
    text-decoration: none;
    transition: transform .16s, color .16s, background .16s;
    display: grid;
    box-shadow: 0 8px 18px #514a7024
}

.card-quick-actions button:hover,
.card-quick-actions a:hover {
    color: var(--lilac-deep);
    background: #fff;
    transform: scale(1.08)
}

.card-quick-actions button:active,
.card-quick-actions a:active {
    transform: scale(.94)
}

.card-quick-actions button.is-favorite {
    color: #fff;
    background: #d76782;
    border-color: #d76782
}

.explore-card-body>a {
    transition: color .18s, gap .18s cubic-bezier(.23, 1, .32, 1)
}

.explore-card-body>a:hover {
    color: var(--teal-deep);
    gap: 12px
}

.explore-loading-grid {
    margin-top: 30px
}

.event-skeleton {
    background: #fff;
    border: 1px solid #ebe9ee;
    overflow: hidden
}

.skeleton-art,
.skeleton-body i {
    background: #eceaf0;
    position: relative;
    overflow: hidden
}

.skeleton-art:after,
.skeleton-body i:after {
    content: "";
    background: linear-gradient(100deg, #0000 25%, #ffffffc7, #0000 75%);
    animation: 1.15s linear infinite skeleton-shimmer;
    position: absolute;
    inset: 0;
    transform: translate(-100%)
}

.skeleton-art {
    background: #e7e3ef;
    min-height: 155px
}

.skeleton-body {
    gap: 12px;
    padding: 20px;
    display: grid
}

.skeleton-body i {
    border-radius: 99px;
    height: 12px;
    display: block
}

.skeleton-body i:first-child {
    width: 38%;
    height: 8px
}

.skeleton-body i:nth-child(2) {
    width: 82%;
    height: 20px
}

.skeleton-body i:nth-child(3) {
    width: 68%
}

.skeleton-body i:last-child {
    width: 46%
}

@keyframes skeleton-shimmer {
    to {
        transform: translate(100%)
    }
}

@media (hover:none),
(max-width:760px) {
    .card-quick-actions {
        opacity: 1;
        transform: none
    }
}

@media (max-width:760px) {
    .event-view-toolbar {
        align-items: stretch
    }

    .favorites-filter,
    .mobile-filter-button {
        flex: 1;
        justify-content: center;
        margin-top: 0
    }

    .event-feedback {
        margin-top: 12px
    }
}

@media (max-width:390px) {
    .event-view-toolbar {
        flex-direction: column
    }
}

@media (prefers-reduced-motion:reduce) {

    .explore-card,
    .explore-card-art,
    .explore-card-art:after,
    .card-quick-actions,
    .card-quick-actions button,
    .card-quick-actions a,
    .event-feedback,
    .favorites-filter,
    .explore-card-body>a {
        transition: none
    }

    .explore-card:hover {
        transform: none
    }

    .skeleton-art:after,
    .skeleton-body i:after {
        animation: none
    }
}

.event-card-main-link {
    height: 100%;
    color: inherit;
    text-decoration: none;
    display: block
}

.event-details-link {
    color: var(--lilac-deep);
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: 12px;
    font-weight: 800;
    transition: color .18s, gap .18s cubic-bezier(.23, 1, .32, 1);
    display: inline-flex
}

.explore-card:hover .event-details-link {
    color: var(--teal-deep);
    gap: 12px
}

.event-detail-page {
    --event-accent: #9389c3;
    --event-accent-deep: #7167a4;
    --event-soft: #eeebf7;
    min-height: 100vh;
    color: var(--ink);
    background: #fbfaf7
}

.event-theme-coral {
    --event-accent: #ef987b;
    --event-accent-deep: #c76f58;
    --event-soft: #fff0ea
}

.event-theme-teal {
    --event-accent: #41b8b2;
    --event-accent-deep: #238b87;
    --event-soft: #e5f5f3
}

.event-theme-sun {
    --event-accent: #41b8b2;
    --event-accent-deep: #238b87;
    --event-soft: #eaf8f6
}

.event-detail-shell {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 30px
}

.event-detail-header {
    color: #fff;
    background: var(--ink);
    justify-content: space-between;
    align-items: center;
    height: 82px;
    padding: 0 max(30px, 50vw - 590px);
    display: flex
}

.event-detail-logo img {
    object-fit: contain;
    width: 84px;
    height: 62px
}

.event-detail-header nav {
    align-items: center;
    gap: 24px;
    display: flex
}

.event-detail-header nav a {
    color: #ffffffbf;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: color .18s;
    display: inline-flex
}

.event-detail-header nav a:hover {
    color: #fff
}

.event-detail-hero {
    color: #fff;
    background: radial-gradient(circle at 80% 30%, var(--event-accent), transparent 30%), linear-gradient(125deg, #514a70, #625a93);
    padding: 82px 0 94px;
    overflow: hidden
}

@supports (color:color-mix(in lab, red, red)) {
    .event-detail-hero {
        background: radial-gradient(circle at 80% 30%, color-mix(in srgb, var(--event-accent)32%, transparent), transparent 30%), linear-gradient(125deg, #514a70, #625a93)
    }
}

.event-detail-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .62fr);
    align-items: center;
    gap: 90px;
    display: grid
}

.event-detail-copy {
    max-width: 710px
}

.event-detail-back {
    color: #ffffff9e;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex
}

.event-detail-category {
    border: 1px solid var(--event-accent);
    width: fit-content;
    margin-top: 45px;
    padding: 8px 11px;
    display: block
}

@supports (color:color-mix(in lab, red, red)) {
    .event-detail-category {
        border: 1px solid color-mix(in srgb, var(--event-accent)58%, white)
    }
}

.event-detail-category {
    color: #fff;
    background: var(--event-accent);
    border-radius: 99px
}

@supports (color:color-mix(in lab, red, red)) {
    .event-detail-category {
        background: color-mix(in srgb, var(--event-accent)24%, transparent)
    }
}

.event-detail-category {
    letter-spacing: .1em;
    text-transform: uppercase;
    font: 600 9px Poppins, sans-serif
}

.event-detail-copy h1 {
    letter-spacing: -4px;
    max-width: 760px;
    margin-top: 18px;
    font-size: clamp(51px, 6.4vw, 84px);
    line-height: .96
}

.event-detail-copy>p {
    color: #ffffffb8;
    max-width: 680px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.65
}

.event-hero-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
    display: grid
}

.event-hero-meta>span {
    background: #ffffff0e;
    border: 1px solid #ffffff21;
    border-radius: 10px;
    grid-template-columns: 22px 1fr;
    align-content: center;
    column-gap: 11px;
    min-height: 96px;
    padding: 18px;
    display: grid
}

.event-hero-meta svg {
    color: var(--event-accent);
    grid-row: 1/3
}

.event-hero-meta b {
    font-size: 13px
}

.event-hero-meta small {
    color: #fff9;
    margin-top: 4px;
    font-size: 10px;
    line-height: 1.4
}

.event-detail-actions {
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
    display: flex
}

.event-detail-actions button,
.event-detail-actions a {
    color: #fff;
    background: #ffffff0f;
    border: 1px solid #ffffff3d;
    border-radius: 99px;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 15px;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .16s cubic-bezier(.23, 1, .32, 1), background .16s;
    display: inline-flex
}

.event-detail-actions button:hover,
.event-detail-actions a:hover {
    background: #ffffff21;
    transform: translateY(-2px)
}

.event-detail-actions button.active {
    color: #fff;
    background: #d76782;
    border-color: #d76782
}

.event-poster {
    color: #fff;
    background: linear-gradient(145deg, var(--event-accent-deep), var(--event-accent));
    min-height: 470px;
    box-shadow: 25px 28px 0 var(--event-accent);
    border-radius: 18px;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    display: flex;
    position: relative;
    overflow: hidden
}

@supports (color:color-mix(in lab, red, red)) {
    .event-poster {
        box-shadow: 25px 28px color-mix(in srgb, var(--event-accent)18%, transparent)
    }
}

.event-poster {
    transform: rotate(2deg)
}

.event-poster:before,
.event-poster:after {
    content: "";
    border: 1px solid #fff3;
    border-radius: 50%;
    position: absolute
}

.event-poster:before {
    width: 330px;
    height: 330px;
    top: -80px;
    right: -150px;
    box-shadow: 0 0 0 48px #ffffff0a, 0 0 0 96px #ffffff06
}

.event-poster:after {
    width: 170px;
    height: 170px;
    bottom: -60px;
    left: -80px
}

.event-theme-sun .event-poster {
    color: var(--ink)
}

.event-poster>span,
.event-poster>i {
    z-index: 1;
    letter-spacing: .13em;
    text-transform: uppercase;
    font: 600 10px Poppins, sans-serif;
    position: relative
}

.event-poster>i {
    align-self: end;
    font-style: normal
}

.event-poster>div {
    z-index: 1;
    position: relative
}

.event-poster small {
    letter-spacing: .1em;
    text-transform: uppercase;
    font: 600 10px Poppins, sans-serif;
    display: block
}

.event-poster strong {
    letter-spacing: -2.5px;
    max-width: 310px;
    margin-top: 15px;
    font: 800 45px/.98 Poppins, sans-serif;
    display: block
}

.event-poster p {
    margin-top: 18px;
    font-size: 13px;
    font-weight: 700
}

.event-detail-content {
    padding: 90px 0 120px
}

.event-content-grid {
    grid-template-columns: minmax(0, 1fr) 370px;
    align-items: start;
    gap: 68px;
    display: grid
}

.event-content-main {
    min-width: 0
}

.event-info-strip {
    background: #fff;
    border: 1px solid #e5e1e8;
    border-radius: 12px;
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    overflow: hidden;
    box-shadow: 0 12px 35px #514a700d
}

.event-info-strip>div {
    align-items: center;
    gap: 13px;
    min-height: 104px;
    padding: 20px;
    display: flex
}

.event-info-strip>div+div {
    border-left: 1px solid #e5e1e8
}

.event-info-strip svg {
    color: var(--event-accent-deep);
    flex: none
}

.event-info-strip span {
    gap: 4px;
    display: grid
}

.event-info-strip small {
    color: var(--ink-soft);
    letter-spacing: .08em;
    text-transform: uppercase;
    font: 500 9px Poppins, sans-serif
}

.event-info-strip strong {
    font-size: 13px;
    line-height: 1.25
}

.event-about,
.event-schedule,
.event-location-section {
    padding-top: 92px
}

.event-detail-kicker {
    color: var(--event-accent-deep);
    letter-spacing: .13em;
    text-transform: uppercase;
    font: 600 10px Poppins, sans-serif
}

.event-about h2,
.event-schedule h2,
.event-location-section h2 {
    letter-spacing: -2.6px;
    max-width: 650px;
    margin-top: 15px;
    font-size: clamp(36px, 4.5vw, 56px);
    line-height: 1.03
}

.event-about>p:not(.event-detail-kicker) {
    max-width: 720px;
    color: var(--ink-soft);
    margin-top: 23px;
    font-size: 15px;
    line-height: 1.75
}

.event-highlights {
    grid-template-columns: repeat(2, 1fr);
    gap: 11px;
    margin-top: 36px;
    display: grid
}

.event-highlights span {
    background: #fff;
    border: 1px solid #e5e1e8;
    border-radius: 8px;
    align-items: center;
    gap: 10px;
    padding: 17px;
    font-size: 12px;
    font-weight: 750;
    display: flex
}

.event-highlights svg {
    color: var(--event-accent-deep)
}

.event-schedule>div {
    margin-top: 38px;
    position: relative
}

.event-schedule>div:before {
    content: "";
    background: #ddd9e4;
    width: 1px;
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 52px
}

.event-schedule article {
    grid-template-columns: 78px 1fr;
    gap: 20px;
    padding: 0 0 30px;
    display: grid;
    position: relative
}

.event-schedule article:last-child {
    padding-bottom: 0
}

.event-schedule time {
    z-index: 1;
    color: #fff;
    background: var(--event-accent-deep);
    text-align: center;
    border-radius: 99px;
    width: 55px;
    padding: 7px 0;
    font: 700 9px Poppins, sans-serif;
    position: relative
}

.event-schedule article strong {
    font-size: 15px
}

.event-schedule article p {
    color: var(--ink-soft);
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.55
}

.event-location-card {
    background: #fff;
    border: 1px solid #e2dfe7;
    border-radius: 14px;
    margin-top: 36px;
    overflow: hidden;
    box-shadow: 0 18px 45px #514a7012
}

.event-map {
    height: 390px !important
}

.event-online-map {
    text-align: center;
    color: #fff;
    background: radial-gradient(circle at center, var(--event-accent), transparent 42%), var(--ink);
    place-content: center;
    height: 330px;
    padding: 30px;
    display: grid
}

@supports (color:color-mix(in lab, red, red)) {
    .event-online-map {
        background: radial-gradient(circle at center, color-mix(in srgb, var(--event-accent)50%, transparent), transparent 42%), var(--ink)
    }
}

.event-online-map span {
    color: var(--event-accent);
    letter-spacing: .16em;
    font: 700 10px Poppins, sans-serif
}

.event-online-map strong {
    margin-top: 12px;
    font-size: 24px;
    display: block
}

.event-online-map p {
    color: #ffffffa6;
    max-width: 430px;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.5
}

.event-location-copy {
    gap: 13px;
    padding: 22px;
    display: flex
}

.event-location-copy>svg {
    color: var(--event-accent-deep);
    flex: none
}

.event-location-copy span {
    min-width: 0
}

.event-location-copy strong {
    font-size: 14px
}

.event-location-copy p {
    color: var(--ink-soft);
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.45
}

.event-location-copy a {
    color: var(--event-accent-deep);
    margin-top: 12px;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    display: inline-block
}

.event-organizer {
    color: #fff;
    background: var(--ink);
    border-radius: 12px;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    min-height: 135px;
    margin-top: 70px;
    padding: 28px;
    display: flex
}

.event-organizer small {
    color: var(--event-accent);
    letter-spacing: .12em;
    text-transform: uppercase;
    font: 600 9px Poppins, sans-serif
}

.event-organizer strong {
    margin-top: 8px;
    font-size: 20px;
    display: block
}

.event-organizer p {
    color: #ffffff9e;
    max-width: 480px;
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.5
}

.event-organizer>svg {
    color: var(--event-accent);
    flex: none
}

.ticket-purchase-panel {
    background: #fff;
    border: 1px solid #e2dfe7;
    border-radius: 14px;
    padding: 28px;
    position: sticky;
    top: 28px;
    box-shadow: 0 18px 50px #514a7017
}

.ticket-purchase-panel h2 {
    letter-spacing: -1.4px;
    margin-top: 10px;
    font-size: 30px;
    line-height: 1
}

.ticket-panel-lede {
    color: var(--ink-soft);
    margin-top: 13px;
    font-size: 12px;
    line-height: 1.5
}

.ticket-options {
    gap: 10px;
    margin-top: 24px;
    display: grid
}

.ticket-option {
    background: #fbfaf7;
    border: 1px solid #e7e4eb;
    border-radius: 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 16px;
    transition: border-color .18s, background .18s;
    display: grid
}

.ticket-option:has(.ticket-stepper span:not(:empty)) {
    border-color: #e7e4eb
}

.ticket-option-copy {
    min-width: 0
}

.ticket-option-copy strong {
    font-size: 13px;
    display: block
}

.ticket-option-copy span {
    color: var(--ink-soft);
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.4;
    display: block
}

.ticket-option-copy small {
    color: var(--event-accent-deep);
    text-transform: uppercase;
    margin-top: 8px;
    font: 600 8px Poppins, sans-serif;
    display: block
}

.ticket-option-side {
    justify-items: end;
    gap: 13px;
    display: grid
}

.ticket-option-side>b {
    white-space: nowrap;
    font-size: 12px
}

.ticket-stepper {
    background: #fff;
    border: 1px solid #ddd9e5;
    border-radius: 99px;
    grid-template-columns: 30px 27px 30px;
    align-items: center;
    display: grid;
    overflow: hidden
}

.ticket-stepper button {
    width: 30px;
    height: 30px;
    color: var(--event-accent-deep);
    background: 0 0;
    border: 0;
    place-items: center;
    transition: background .14s, transform .14s;
    display: grid
}

.ticket-stepper button:hover:not(:disabled) {
    background: var(--event-soft)
}

.ticket-stepper button:active:not(:disabled) {
    transform: scale(.9)
}

.ticket-stepper button:disabled {
    cursor: not-allowed;
    opacity: .3
}

.ticket-stepper span {
    text-align: center;
    font-size: 11px;
    font-weight: 800
}

.ticket-summary {
    border-top: 1px solid #e5e1e8;
    margin-top: 24px;
    padding-top: 21px
}

.ticket-summary>span {
    justify-content: space-between;
    align-items: end;
    gap: 15px;
    display: flex
}

.ticket-summary small {
    color: var(--ink-soft);
    font-size: 10px
}

.ticket-summary strong {
    letter-spacing: -1px;
    font-size: 22px
}

.ticket-summary button {
    color: #fff;
    background: var(--event-accent-deep);
    border: 0;
    border-radius: 99px;
    width: 100%;
    min-height: 50px;
    margin-top: 17px;
    font-size: 12px;
    font-weight: 850;
    transition: transform .16s cubic-bezier(.23, 1, .32, 1), box-shadow .16s
}

.ticket-summary button:hover:not(:disabled) {
    box-shadow: 0 12px 22px var(--event-accent);
    transform: translateY(-2px)
}

@supports (color:color-mix(in lab, red, red)) {
    .ticket-summary button:hover:not(:disabled) {
        box-shadow: 0 12px 22px color-mix(in srgb, var(--event-accent)28%, transparent)
    }
}

.ticket-summary button:active:not(:disabled) {
    transform: scale(.97)
}

.ticket-summary button:disabled {
    cursor: not-allowed;
    opacity: .45
}

.ticket-summary>p {
    color: var(--ink-soft);
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: 9px;
    display: flex
}

.ticket-summary>p svg {
    color: var(--teal-deep)
}

.event-mobile-buy {
    display: none
}

.event-not-found {
    color: #fff;
    text-align: center;
    background: var(--ink);
    place-content: center;
    justify-items: center;
    min-height: 100vh;
    padding: 30px;
    display: grid
}

.event-not-found img {
    object-fit: contain;
    width: 96px;
    height: 70px
}

.event-not-found p {
    color: var(--teal);
    letter-spacing: .13em;
    text-transform: uppercase;
    margin-top: 35px;
    font: 600 10px Poppins, sans-serif
}

.event-not-found h1 {
    letter-spacing: -3px;
    max-width: 620px;
    margin-top: 12px;
    font-size: clamp(42px, 7vw, 70px);
    line-height: 1
}

.event-not-found a {
    min-height: 46px;
    color: var(--ink);
    background: var(--sun);
    border-radius: 99px;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
    padding: 0 18px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

@media (max-width:980px) {
    .event-detail-hero-grid {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 45px
    }

    .event-poster {
        min-height: 390px
    }

    .event-poster strong {
        font-size: 35px
    }

    .event-content-grid {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 32px
    }

    .event-info-strip {
        grid-template-columns: 1fr
    }

    .event-info-strip>div {
        min-height: 82px
    }

    .event-info-strip>div+div {
        border-top: 1px solid #e5e1e8;
        border-left: 0
    }
}

@media (max-width:760px) {
    .event-detail-page {
        padding-bottom: 79px
    }

    .event-detail-shell {
        padding-inline: 20px
    }

    .event-detail-header {
        height: 72px;
        padding-inline: 20px
    }

    .event-detail-header nav a:last-child {
        display: none
    }

    .event-detail-header nav a {
        font-size: 10px
    }

    .event-detail-hero {
        padding: 48px 0 76px
    }

    .event-detail-hero-grid {
        flex-direction: column;
        align-items: stretch;
        gap: 50px;
        display: flex
    }

    .event-detail-category {
        margin-top: 34px
    }

    .event-detail-copy h1 {
        letter-spacing: -3px;
        font-size: clamp(45px, 14vw, 64px)
    }

    .event-detail-copy>p {
        font-size: 14px
    }

    .event-hero-meta {
        grid-template-columns: 1fr
    }

    .event-poster {
        min-height: 330px;
        box-shadow: 13px 16px 0 var(--event-accent);
        order: -1;
        margin: 0 8px;
        padding: 24px;
        transform: rotate(1deg)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .event-poster {
            box-shadow: 13px 16px color-mix(in srgb, var(--event-accent)18%, transparent)
        }
    }

    .event-poster strong {
        max-width: 270px;
        font-size: 38px
    }

    .event-detail-content {
        padding: 60px 0 85px
    }

    .event-content-grid {
        flex-direction: column;
        gap: 55px;
        display: flex
    }

    .event-content-main {
        width: 100%
    }

    .event-info-strip {
        grid-template-columns: 1fr
    }

    .event-about,
    .event-schedule,
    .event-location-section {
        padding-top: 72px
    }

    .event-about h2,
    .event-schedule h2,
    .event-location-section h2 {
        letter-spacing: -2px;
        font-size: 40px
    }

    .event-highlights {
        grid-template-columns: 1fr
    }

    .event-map {
        height: 310px !important
    }

    .event-location-copy {
        padding: 19px
    }

    .ticket-purchase-panel {
        width: 100%;
        padding: 22px;
        position: static
    }

    .ticket-option {
        padding: 14px
    }

    .event-mobile-buy {
        z-index: 45;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
        background: #fffffff5;
        border-top: 1px solid #e0dde5;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        display: flex;
        position: fixed;
        inset: auto 0 0;
        box-shadow: 0 -12px 35px #514a7021
    }

    .event-mobile-buy span {
        gap: 2px;
        display: grid
    }

    .event-mobile-buy small {
        color: var(--ink-soft);
        font-size: 9px
    }

    .event-mobile-buy strong {
        font-size: 15px
    }

    .event-mobile-buy a {
        color: #fff;
        background: var(--event-accent-deep);
        border-radius: 99px;
        align-items: center;
        min-height: 43px;
        padding: 0 17px;
        font-size: 11px;
        font-weight: 800;
        text-decoration: none;
        display: inline-flex
    }

    .event-organizer {
        align-items: start
    }
}

@media (max-width:410px) {
    .event-detail-actions {
        grid-template-columns: 1fr 1fr;
        display: grid
    }

    .event-detail-actions button,
    .event-detail-actions a {
        justify-content: center;
        padding-inline: 10px;
        font-size: 10px
    }

    .ticket-option {
        grid-template-columns: 1fr
    }

    .ticket-option-side {
        justify-content: space-between;
        align-items: center;
        display: flex
    }
}

@media (prefers-reduced-motion:reduce) {

    .event-detail-actions button,
    .event-detail-actions a,
    .ticket-stepper button,
    .ticket-summary button {
        transition: none
    }
}

.metrics-strip .partner-row {
    grid-template-columns: minmax(0, 1fr) 108px;
    align-items: center;
    gap: 22px;
    padding: 30px 0 32px;
    display: grid
}

.metrics-strip .partner-row>p {
    color: #686f7d;
    grid-column: 1/-1;
    max-width: 560px;
    font-size: 11px;
    line-height: 1.5
}

.metrics-strip .partner-logos {
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    display: grid
}

.metrics-strip .partner-logo {
    background: #fff;
    border: 1px solid #e1dde7;
    border-radius: 10px;
    place-items: center;
    min-width: 0;
    min-height: 70px;
    padding: 11px 9px;
    display: grid;
    overflow: hidden;
    box-shadow: 0 6px 16px #514a7009
}

.metrics-strip .partner-logo img {
    object-fit: contain;
    filter: saturate(.92);
    width: auto;
    max-width: 86px;
    height: auto;
    max-height: 44px;
    display: block
}

.metrics-strip .partner-logo-builders img {
    width: 78px;
    max-width: 78px
}

.metrics-strip .partner-logo-gara img {
    width: 50px;
    max-width: 50px
}

.metrics-strip .partner-logo-red-house img {
    width: 82px;
    max-width: 82px
}

.metrics-strip .partner-logo-maple-bear img {
    width: 48px;
    max-width: 48px;
    max-height: 48px
}

.metrics-strip .partner-logo-interactivo img {
    width: 84px;
    max-width: 84px
}

.metrics-strip .partner-logo-coc img {
    width: 43px;
    max-width: 43px;
    max-height: 48px
}

.metrics-strip .partner-logo-pedacinho img {
    width: 82px;
    max-width: 82px
}

.metrics-strip .partner-logo-biangulo img {
    width: 61px;
    max-width: 61px;
    max-height: 48px
}

.metrics-strip .partner-logo-vitare img {
    width: 84px;
    max-width: 84px
}

.movement-partner {
    text-align: center;
    justify-items: center;
    gap: 7px;
    width: 108px;
    display: grid
}

.movement-partner>span {
    color: #888391;
    letter-spacing: .11em;
    text-transform: uppercase;
    font: 600 7px Poppins, sans-serif
}

.metrics-strip .movement-badge {
    object-fit: contain;
    border-radius: 50%;
    width: 96px;
    height: 96px;
    display: block
}

@media (max-width:1100px) {
    .metrics-strip .partner-row {
        grid-template-columns: minmax(0, 1fr) 108px
    }

    .metrics-strip .partner-row>p {
        grid-column: 1/-1;
        max-width: 490px
    }

    .metrics-strip .partner-logos {
        flex-wrap: wrap;
        justify-content: center;
        display: flex
    }

    .metrics-strip .partner-logo {
        flex: 0 0 calc(20% - 7px)
    }
}

@media (max-width:700px) {
    .metrics-strip .partner-row {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 25px
    }

    .metrics-strip .partner-row>p {
        text-align: center;
        grid-column: auto;
        max-width: 360px;
        margin-inline: auto
    }

    .metrics-strip .partner-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        display: grid
    }

    .metrics-strip .partner-logo {
        width: auto
    }

    .metrics-strip .partner-logo:last-child {
        grid-column: 1/-1;
        justify-self: center;
        width: calc(50% - 4px)
    }

    .metrics-strip .partner-logo {
        min-height: 66px
    }

    .movement-partner {
        width: auto;
        margin-top: 5px
    }

    .metrics-strip .movement-badge {
        width: 104px;
        height: 104px
    }
}

.metrics-strip .partner-row {
    grid-template-columns: minmax(0, 1fr) 132px
}

.metrics-strip .partner-logo {
    z-index: 0;
    transform-origin: 50%;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), box-shadow .22s cubic-bezier(.23, 1, .32, 1), border-color .22s;
    position: relative
}

.metrics-strip .partner-logo img {
    transform-origin: 50%;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), filter .22s
}

.movement-partner {
    width: 132px
}

.metrics-strip .movement-badge {
    width: 118px;
    height: 118px;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), filter .22s
}

@media (hover:hover) and (pointer:fine) {
    .metrics-strip .partner-logo:hover {
        z-index: 6;
        border-color: #9389c38c;
        transform: translateY(-7px)scale(1.08);
        box-shadow: 0 16px 34px #514a7029
    }

    .metrics-strip .partner-logo:hover img {
        filter: saturate(1.05);
        transform: scale(1.16)
    }

    .metrics-strip .movement-badge:hover {
        filter: drop-shadow(0 12px 18px #514a7024);
        transform: scale(1.06)
    }
}

@media (max-width:1100px) {
    .metrics-strip .partner-row {
        grid-template-columns: minmax(0, 1fr) 132px
    }
}

@media (max-width:700px) {
    .metrics-strip .partner-row {
        grid-template-columns: 1fr
    }

    .movement-partner {
        width: auto
    }

    .metrics-strip .movement-badge {
        width: 116px;
        height: 116px
    }
}

@media (prefers-reduced-motion:reduce) {

    .metrics-strip .partner-logo,
    .metrics-strip .partner-logo img,
    .metrics-strip .movement-badge {
        transition: none
    }
}

h1,
h2,
h3 {
    font-family: Poetsen One, Poppins, sans-serif;
    font-weight: 400
}

body,
button,
a,
input,
select,
textarea {
    font-family: Poppins, sans-serif
}

.section,
.store-section {
    padding: 82px 0
}

.audience-section {
    padding-top: 82px;
    padding-bottom: 82px
}

.flow-section {
    padding-top: 82px;
    padding-bottom: 76px
}

.quote-section {
    padding: 76px 0 82px
}

.faq-section {
    padding-top: 82px;
    padding-bottom: 82px
}

.cta-section {
    padding: 78px 0
}

.section-heading-row {
    gap: 64px
}

.feature-grid {
    margin-top: 44px
}

.flow-grid {
    margin-top: 48px
}

.flow-bottom {
    margin-top: 38px
}

.metrics-strip .partner-row {
    padding: 24px 0 27px;
    display: block;
    overflow: visible
}

.metrics-strip .partner-row>p {
    max-width: 560px;
    margin-bottom: 18px
}

.metrics-strip .partner-carousel {
    touch-action: pan-y;
    width: 100vw;
    max-width: none;
    margin-inline: calc(50% - 50vw);
    overflow: hidden
}

.metrics-strip .partner-carousel::-webkit-scrollbar {
    display: none
}

.metrics-strip .partner-carousel:focus-visible {
    outline-offset: 4px;
    border-radius: 14px;
    outline: 3px solid #41b8b2b8
}

.metrics-strip .partner-carousel-track {
    will-change: transform;
    width: max-content;
    padding: 8px 0 12px;
    animation: 30s linear infinite partner-logo-scroll;
    display: flex
}

.metrics-strip .partner-logo-sequence {
    flex: none;
    justify-content: space-around;
    gap: 12px;
    min-width: 100vw;
    padding-right: 12px;
    display: flex
}

.metrics-strip .partner-logo {
    aspect-ratio: 1;
    flex: 0 0 clamp(126px, 10.5vw, 154px);
    width: clamp(126px, 10.5vw, 154px);
    min-width: clamp(126px, 10.5vw, 154px);
    height: auto;
    min-height: 0
}

@keyframes partner-logo-scroll {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

@media (hover:hover) and (pointer:fine) {
    .metrics-strip .partner-carousel:hover .partner-carousel-track {
        animation-play-state: paused
    }
}

.metrics-strip .partner-carousel:focus .partner-carousel-track {
    animation-play-state: paused
}

.experience-showcase {
    background: radial-gradient(circle at 4% 8%, #9389c31f, #0000 24%), radial-gradient(circle at 96% 90%, #41b8b21a, #0000 23%), #faf9fc;
    padding-block: 52px;
    position: relative;
    overflow: hidden
}

.experience-carousel-shell {
    position: relative
}

.experience-carousel-frame {
    grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
    align-items: stretch;
    gap: 16px;
    display: grid
}

.experience-carousel-heading {
    isolation: isolate;
    color: #fff;
    background: linear-gradient(145deg, #514a70, #6f65a0 55%, #9389c3);
    border-radius: 30px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    height: 390px;
    min-height: 390px;
    padding: clamp(34px, 4vw, 52px);
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 60px #514a702b
}

.experience-carousel-heading:before {
    content: "";
    z-index: -1;
    border: 1px solid #fff3;
    border-radius: 50%;
    width: 290px;
    height: 290px;
    position: absolute;
    top: -112px;
    right: -92px;
    box-shadow: 0 0 0 40px #ffffff0a, 0 0 0 84px #ffffff06
}

.experience-carousel-heading:after {
    content: "";
    z-index: -1;
    background: linear-gradient(#0000 24%, #231e3724);
    position: absolute;
    inset: 0
}

.experience-carousel-heading .eyebrow {
    color: #ffffffb8
}

.experience-carousel-heading h2 {
    letter-spacing: -.025em;
    max-width: 310px;
    margin-top: 19px;
    font-size: clamp(40px, 4vw, 52px);
    line-height: .98
}

.experience-carousel-heading h2 em {
    color: #8fe0da
}

.experience-carousel-heading>p {
    color: #fffc;
    max-width: 300px;
    margin-top: 22px;
    font-size: 13px;
    line-height: 1.6
}

.experience-carousel {
    outline: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: visible
}

.experience-carousel:before,
.experience-carousel:after {
    display: none
}

.experience-carousel:focus-visible {
    outline-offset: 7px;
    border-radius: 30px;
    outline: 3px solid #41b8b28c
}

.experience-carousel-viewport {
    touch-action: pan-y;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
    border-radius: 30px;
    gap: 14px;
    min-width: 0;
    display: flex;
    overflow: hidden
}

.experience-carousel-viewport.is-dragging {
    cursor: grabbing
}

.experience-editorial-slide {
    isolation: isolate;
    color: #fff;
    background: #5d557f;
    border-radius: 30px;
    flex: 0 0 calc(100% - 124px);
    min-height: 390px;
    animation: .36s cubic-bezier(.23, 1, .32, 1) both experience-slide-in;
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 60px #514a702b
}

.experience-editorial-slide>img {
    z-index: -2;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.experience-editorial-shade {
    z-index: -1;
    background: linear-gradient(#0000 22%, #261f3b1f 41%, #261f3bab 74%, #261f3bf0), linear-gradient(90deg, #261f3b57, #0000 48%);
    position: absolute;
    inset: 0
}

.experience-editorial-copy {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 100%;
    min-height: 390px;
    padding: clamp(30px, 4vw, 48px);
    display: flex
}

.experience-editorial-count {
    color: #ffffffad;
    letter-spacing: .16em;
    align-items: center;
    gap: 8px;
    font-size: 9px;
    font-weight: 700;
    display: inline-flex
}

.experience-editorial-count i {
    color: #73d4ce;
    font-style: normal
}

.experience-editorial-icon {
    color: #fff;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #ffffff1f;
    border: 1px solid #ffffff3d;
    border-radius: 14px;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-top: 16px;
    display: grid
}

.experience-editorial-copy h3 {
    letter-spacing: -.025em;
    max-width: 560px;
    margin-top: 16px;
    font-size: clamp(40px, 5vw, 62px);
    line-height: .96
}

.experience-editorial-copy p {
    color: #fffc;
    max-width: 390px;
    margin-top: 11px;
    font-size: 13px;
    line-height: 1.5
}

.experience-editorial-line {
    background: #41b8b2;
    border-radius: 999px;
    width: 72px;
    height: 3px;
    margin-top: 18px
}

.experience-autoplay-progress {
    z-index: 2;
    transform-origin: 0;
    background: #62d1cb;
    width: 100%;
    height: 4px;
    animation: 7s linear both experience-autoplay-progress;
    position: absolute;
    bottom: 0;
    left: 0
}

.experience-autoplay-progress.is-paused {
    animation-play-state: paused
}

.experience-next-peek {
    isolation: isolate;
    color: #fff;
    text-align: left;
    cursor: pointer;
    background: #514a70;
    border: 0;
    border-radius: 30px;
    flex-direction: column;
    flex: 0 0 110px;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 11px;
    min-height: 390px;
    padding: 20px 15px;
    transition: flex-basis .22s cubic-bezier(.23, 1, .32, 1), transform .18s;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 42px #514a701f
}

.experience-next-peek:after {
    content: "";
    z-index: -1;
    background: linear-gradient(#261f3b1f 32%, #261f3be6);
    position: absolute;
    inset: 0
}

.experience-next-peek img {
    z-index: -2;
    object-fit: cover;
    object-position: 64% center;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
}

.experience-next-peek:hover {
    flex-basis: 128px
}

.experience-next-peek:active {
    transform: scale(.985)
}

.experience-next-peek:focus-visible {
    outline-offset: -5px;
    outline: 3px solid #41b8b2
}

.experience-next-peek-icon {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #ffffff2e;
    border-radius: 11px;
    place-items: center;
    width: 36px;
    height: 36px;
    display: grid
}

.experience-next-peek>span:not(.experience-next-peek-icon) {
    max-width: 82px;
    font: 400 15px/1.05 Poetsen One, sans-serif
}

.experience-next-peek>svg {
    color: #85dfd9
}

.experience-carousel-controls {
    align-items: flex-start;
    gap: 14px;
    margin-top: 14px;
    display: flex
}

.experience-carousel-tabs {
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    flex: 1;
    gap: 5px;
    min-width: 0;
    padding: 2px 2px 7px;
    display: flex;
    overflow-x: auto
}

.experience-carousel-tabs::-webkit-scrollbar {
    display: none
}

.experience-carousel-tabs button {
    color: #777184;
    cursor: pointer;
    scroll-snap-align: start;
    background: 0 0;
    border: 1px solid #0000;
    border-radius: 999px;
    flex: none;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 8px 10px;
    font-family: Poppins, sans-serif;
    font-size: 9px;
    font-weight: 600;
    transition: color .18s, background-color .18s, border-color .18s, transform .16s;
    display: inline-flex
}

.experience-carousel-tabs button:hover {
    color: #514a70;
    background: #9389c314
}

.experience-carousel-tabs button.is-active {
    color: #514a70;
    background: #fff;
    border-color: #9389c338;
    box-shadow: 0 8px 22px #514a7014
}

.experience-carousel-tabs button:active {
    transform: scale(.97)
}

.experience-carousel-tabs button:focus-visible {
    outline-offset: 2px;
    outline: 2px solid #41b8b2
}

.experience-carousel-arrows {
    flex: none;
    gap: 8px;
    display: flex
}

.experience-carousel-arrows button {
    color: #514a70;
    cursor: pointer;
    background: #fff;
    border: 1px solid #9389c347;
    border-radius: 50%;
    place-items: center;
    width: 40px;
    height: 40px;
    transition: color .18s, background-color .18s, transform .16s;
    display: grid;
    box-shadow: 0 9px 24px #514a7014
}

.experience-carousel-arrows button:hover {
    color: #fff;
    background: #9389c3
}

.experience-carousel-arrows button:active {
    transform: scale(.95)
}

.experience-carousel-arrows button:focus-visible {
    outline-offset: 2px;
    outline: 2px solid #41b8b2
}

.experience-carousel-status {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden
}

@keyframes experience-slide-in {
    0% {
        opacity: 0;
        transform: translate(18px)
    }

    to {
        opacity: 1;
        transform: translate(0)
    }
}

@keyframes experience-autoplay-progress {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

.feature-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-top: 34px
}

.feature-card {
    border-radius: 11px;
    grid-template-rows: auto auto;
    grid-template-columns: 32px minmax(0, 1fr);
    align-content: start;
    column-gap: 10px;
    min-height: 0;
    padding: 10px 12px;
    display: grid
}

.feature-icon {
    border-radius: 9px;
    grid-row: 1/3;
    width: 32px;
    height: 32px;
    margin: 0
}

.feature-eyebrow {
    letter-spacing: .09em;
    grid-column: 2;
    align-self: end;
    font-size: 7px;
    line-height: 1.2
}

.feature-card h3 {
    grid-column: 2;
    align-self: start;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.18
}

.feature-card p {
    display: none
}

.feature-number {
    top: 13px;
    right: 13px
}

.cases-layout {
    grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr);
    align-items: stretch;
    gap: 18px;
    margin-top: 36px;
    display: grid
}

.case-video-slot {
    color: #fff;
    background: linear-gradient(145deg, var(--lilac-deep), var(--lilac)54%, var(--teal));
    border-radius: 14px;
    flex-direction: column;
    justify-content: flex-end;
    gap: 22px;
    min-height: 300px;
    padding: 28px;
    display: flex;
    box-shadow: 0 18px 38px #514a7021
}

.case-video-slot:before {
    content: "";
    background: #ffffff80;
    width: 76px;
    height: 1px
}

.case-video-icon {
    background: #ffffff21;
    border: 1px solid #ffffff7a;
    border-radius: 50%;
    place-items: center;
    width: 56px;
    height: 56px;
    display: grid
}

.case-video-slot span,
.case-video-slot strong,
.case-video-slot small {
    display: block
}

.case-video-slot div>span {
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .72;
    font-size: 9px
}

.case-video-slot strong {
    margin-top: 7px;
    font: 400 24px/1.1 Poetsen One, sans-serif
}

.case-video-slot small {
    opacity: .74;
    margin-top: 7px;
    font-size: 10px
}

.case-testimonial {
    min-width: 0
}

.case-testimonial .testimonial-carousel {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 10px;
    margin-top: 0
}

.case-testimonial .testimonial-nav {
    width: 38px;
    height: 38px
}

.case-testimonial .testimonial-active {
    grid-template-columns: minmax(170px, .58fr) minmax(0, 1.42fr);
    min-height: 300px
}

.case-testimonial .testimonial-active .testimonial-photo {
    height: 300px;
    padding: 10px 18px
}

.case-testimonial .testimonial-active .testimonial-content {
    padding: 25px 27px
}

.case-testimonial .testimonial-active .testimonial-content blockquote {
    font-size: clamp(13px, 1.15vw, 16px);
    line-height: 1.45
}

.case-testimonial .testimonial-dots {
    margin-top: 14px
}

.case-testimonial .testimonial-rotation-note {
    margin-top: 7px
}

@media (max-width:1080px) {
    .feature-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .experience-carousel-frame {
        grid-template-columns: minmax(280px, 33%) minmax(0, 1fr)
    }

    .experience-carousel-heading {
        height: 380px;
        min-height: 380px;
        padding: 32px
    }

    .experience-carousel-heading h2 {
        font-size: clamp(38px, 4.7vw, 48px)
    }

    .experience-editorial-slide {
        flex-basis: calc(100% - 106px);
        min-height: 380px
    }

    .experience-editorial-copy {
        min-height: 380px;
        padding: 32px
    }

    .experience-next-peek {
        flex-basis: 92px;
        min-height: 380px
    }

    .experience-next-peek:hover {
        flex-basis: 104px
    }

    .experience-carousel-tabs button {
        padding-inline: 10px;
        font-size: 9px
    }

    .cases-layout {
        grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr)
    }

    .case-testimonial .testimonial-active {
        grid-template-columns: 150px minmax(0, 1fr)
    }
}

@media (max-width:820px) {

    .section,
    .store-section,
    .quote-section,
    .faq-section,
    .audience-section,
    .flow-section {
        padding-top: 68px;
        padding-bottom: 68px
    }

    .feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .experience-showcase {
        padding-block: 32px
    }

    .experience-carousel-frame {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .experience-carousel-heading {
        border-radius: 26px;
        justify-content: flex-end;
        height: auto;
        min-height: 190px;
        padding: 20px 24px
    }

    .experience-carousel-heading h2 {
        max-width: 620px;
        margin-top: 14px;
        font-size: clamp(36px, 5.8vw, 43px)
    }

    .experience-carousel-heading>p {
        max-width: 560px;
        margin-top: 10px
    }

    .experience-editorial-slide {
        flex-basis: calc(100% - 88px);
        min-height: 330px
    }

    .experience-editorial-copy {
        min-height: 330px;
        padding: 26px
    }

    .experience-next-peek {
        flex-basis: 76px;
        min-height: 330px;
        padding-inline: 12px
    }

    .experience-next-peek:hover {
        flex-basis: 84px
    }

    .cases-layout {
        grid-template-columns: 1fr
    }

    .case-video-slot {
        min-height: 220px
    }
}

@media (max-width:740px) {
    .metrics-strip .partner-row>p {
        text-align: center;
        margin-inline: auto
    }

    .metrics-strip .partner-logo {
        width: 114px;
        min-width: 114px
    }

    .experience-showcase {
        padding-block: 44px
    }

    .experience-carousel-heading {
        border-radius: 24px;
        min-height: 0;
        padding: 22px 20px
    }

    .experience-carousel-heading h2 {
        margin-top: 10px;
        font-size: clamp(30px, 9vw, 36px)
    }

    .experience-carousel-heading>p {
        margin-top: 10px;
        font-size: 10px;
        line-height: 1.45
    }

    .experience-carousel-viewport {
        border-radius: 24px;
        gap: 10px
    }

    .experience-editorial-slide {
        border-radius: 24px;
        flex-basis: calc(100% - 54px);
        min-height: 300px
    }

    .experience-editorial-slide>img {
        object-position: 62% center
    }

    .experience-editorial-shade {
        background: linear-gradient(#27203d08, #27203d40 38%, #27203ddb 70%, #27203dfa)
    }

    .experience-editorial-copy {
        justify-content: flex-end;
        width: 100%;
        min-height: 300px;
        padding: 16px 18px 20px
    }

    .experience-editorial-icon {
        border-radius: 13px;
        width: 40px;
        height: 40px;
        margin-top: 14px
    }

    .experience-editorial-copy h3 {
        max-width: 290px;
        margin-top: 13px;
        font-size: clamp(30px, 9.5vw, 38px)
    }

    .experience-editorial-copy p {
        margin-top: 10px;
        font-size: 12px
    }

    .experience-editorial-line {
        width: 62px;
        height: 3px;
        margin-top: 18px
    }

    .experience-next-peek {
        border-radius: 24px;
        flex-basis: 44px;
        justify-content: flex-end;
        align-items: center;
        min-height: 300px;
        padding: 14px 8px
    }

    .experience-next-peek:hover {
        flex-basis: 44px
    }

    .experience-next-peek img {
        object-position: 58% center
    }

    .experience-next-peek>span {
        display: none
    }

    .experience-next-peek>svg {
        flex: none
    }

    .experience-carousel-controls {
        margin-top: 12px;
        display: flex
    }

    .experience-carousel-tabs {
        width: auto;
        margin-inline: -2px;
        padding-bottom: 6px
    }

    .experience-carousel-tabs button {
        min-height: 40px;
        padding: 8px 11px;
        font-size: 9px
    }

    .experience-carousel-arrows {
        justify-content: flex-start;
        margin-top: 0
    }

    .feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 32px
    }

    .feature-card {
        border-radius: 11px;
        grid-template-columns: 26px minmax(0, 1fr);
        column-gap: 7px;
        min-height: 0;
        padding: 10px
    }

    .feature-icon {
        border-radius: 8px;
        width: 26px;
        height: 26px
    }

    .feature-eyebrow {
        letter-spacing: .08em;
        grid-column: 2;
        align-self: end;
        font-size: 6px;
        line-height: 1.25
    }

    .feature-card h3 {
        grid-column: 2;
        align-self: start;
        margin-top: 4px;
        font-size: 10.5px;
        line-height: 1.16
    }

    .case-testimonial .testimonial-carousel {
        display: block;
        position: relative
    }

    .case-testimonial .testimonial-active {
        grid-template-columns: 1fr
    }

    .case-testimonial .testimonial-active .testimonial-photo {
        height: 220px
    }

    .case-testimonial .testimonial-nav {
        top: 92px
    }

    .cta-section {
        padding: 68px 0
    }
}

@media (prefers-reduced-motion:reduce) {

    .metrics-strip .partner-carousel-track,
    .experience-editorial-slide {
        animation: none
    }

    .experience-autoplay-progress {
        animation: none;
        display: none
    }

    .experience-next-peek,
    .experience-carousel-tabs button,
    .experience-carousel-arrows button {
        transition: none
    }
}

.feature-card {
    --feature-accent: var(--lilac);
    isolation: isolate;
    transform-origin: 50%;
    transition: transform .24s cubic-bezier(.23, 1, .32, 1), box-shadow .24s cubic-bezier(.23, 1, .32, 1), border-color .2s, background-color .2s
}

.feature-card:nth-child(2n) {
    --feature-accent: var(--teal)
}

.feature-card:before {
    content: "";
    z-index: 0;
    background: var(--feature-accent);
    opacity: 0;
    pointer-events: none;
    border-radius: 50%;
    width: 150px;
    height: 150px;
    transition: opacity .24s, transform .32s cubic-bezier(.23, 1, .32, 1);
    position: absolute;
    top: -84px;
    right: -72px;
    transform: scale(.62)
}

.feature-card:after {
    content: "";
    z-index: 2;
    background: var(--feature-accent);
    transform-origin: 0;
    pointer-events: none;
    border-radius: 999px 999px 0 0;
    height: 4px;
    transition: transform .26s cubic-bezier(.23, 1, .32, 1);
    position: absolute;
    bottom: 0;
    left: 18px;
    right: 18px;
    transform: scaleX(0)
}

.feature-card>* {
    z-index: 1;
    position: relative
}

.feature-icon {
    transition: transform .24s cubic-bezier(.23, 1, .32, 1), color .2s, background-color .2s, box-shadow .24s
}

.feature-icon svg {
    transition: transform .26s cubic-bezier(.23, 1, .32, 1)
}

.feature-card h3 {
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), color .2s
}

.feature-eyebrow {
    transition: color .2s, letter-spacing .22s
}

.feature-number {
    transition: transform .24s cubic-bezier(.23, 1, .32, 1), color .2s
}

@media (hover:hover) and (pointer:fine) {
    .feature-card:hover {
        z-index: 4;
        border-color: var(--feature-accent);
        transform: translateY(-9px)scale(1.018)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .feature-card:hover {
            border-color: color-mix(in srgb, var(--feature-accent)68%, white)
        }
    }

    .feature-card:hover {
        background: #fff;
        box-shadow: 0 20px 42px #514a7024
    }

    .feature-card:hover:before {
        opacity: .1;
        transform: scale(1)
    }

    .feature-card:hover:after {
        transform: scaleX(1)
    }

    .feature-card:hover .feature-icon {
        color: #fff;
        background: var(--feature-accent);
        box-shadow: 0 10px 22px var(--feature-accent);
        transform: translateY(-3px)rotate(-6deg)scale(1.12)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .feature-card:hover .feature-icon {
            box-shadow: 0 10px 22px color-mix(in srgb, var(--feature-accent)28%, transparent)
        }
    }

    .feature-card:hover .feature-icon svg {
        transform: rotate(6deg)
    }

    .feature-card:hover h3 {
        color: var(--feature-accent);
        transform: translateY(-2px)
    }

    .feature-card:hover .feature-eyebrow {
        color: var(--feature-accent);
        letter-spacing: .15em
    }

    .feature-card:hover .feature-number {
        color: var(--feature-accent);
        transform: translate(-2px, 3px)scale(1.18)
    }
}

.feature-card:active {
    transform: scale(.985)
}

@media (prefers-reduced-motion:reduce) {

    .feature-card,
    .feature-card:before,
    .feature-card:after,
    .feature-icon,
    .feature-icon svg,
    .feature-card h3,
    .feature-eyebrow,
    .feature-number {
        transition: none
    }

    .feature-card:hover {
        transform: none
    }
}

.site-header,
.hero {
    background: var(--lilac)
}

.hero-image {
    z-index: -2
}

.hero-overlay {
    z-index: -1;
    background: linear-gradient(90deg, #594f89fa, #7167a4f0 39%, #9389c39e 70%, #9389c333)
}

.hero-mobile-visual {
    display: none
}

.hero-kicker {
    color: #d9f3f1
}

.hero .kicker-dot {
    background: var(--teal);
    box-shadow: 0 0 0 5px #41b8b233
}

.hero .button-primary {
    color: #fff;
    background: var(--teal);
    box-shadow: 0 10px 24px #41b8b247
}

.hero .button-primary:hover {
    background: var(--teal-deep)
}

.hero .avatar-stack span:first-child {
    color: #fff;
    background: var(--teal)
}

.hero .avatar-stack span:nth-child(2) {
    background: #b8b0dc
}

.hero .avatar-stack span:nth-child(3) {
    background: var(--teal-deep)
}

.hero .avatar-stack span:last-child {
    color: var(--lilac-deep);
    background: #fff
}

.hero-side-note div {
    background: var(--teal)
}

.metrics-strip .partner-copy {
    max-width: 680px;
    margin-bottom: 18px
}

.metrics-strip .partner-copy strong {
    color: var(--lilac-deep);
    font: 400 23px/1 Poetsen One, sans-serif;
    display: block
}

.metrics-strip .partner-copy p {
    color: #747b88;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.45
}

.audience-compact {
    color: var(--lilac-deep);
    background: #f3f1fa
}

.audience-compact-heading {
    text-align: center;
    max-width: 700px;
    margin-inline: auto
}

.audience-compact-heading h2 {
    color: var(--lilac-deep);
    margin-top: 9px
}

.audience-card-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 42px;
    display: grid
}

.audience-card {
    min-height: 210px;
    color: var(--lilac-deep);
    background: #fff;
    border: 1px solid #9389c33d;
    border-radius: 15px;
    padding: 28px;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), box-shadow .22s, border-color .22s
}

.audience-card:nth-child(2) {
    color: var(--teal-deep)
}

.audience-card:hover {
    border-color: currentColor;
    transform: translateY(-6px);
    box-shadow: 0 17px 34px #514a701f
}

.audience-card-icon {
    color: #fff;
    background: currentColor;
    border-radius: 14px;
    place-items: center;
    width: 48px;
    height: 48px;
    display: grid
}

.audience-card-icon svg {
    color: #fff
}

.audience-card h3 {
    color: inherit;
    margin-top: 24px;
    font-size: 20px;
    line-height: 1.12
}

.audience-card p {
    color: #68657b;
    margin-top: 11px;
    font-size: 13px;
    line-height: 1.58
}

.quote-section {
    color: var(--lilac-deep);
    background: #eeeaf7
}

.quote-heading h2 {
    color: var(--lilac-deep)
}

.quote-heading>p {
    color: #68657b
}

.case-testimonial .testimonial-active {
    min-height: 250px;
    color: var(--lilac-deep);
    background: #fff;
    display: block
}

.case-testimonial .testimonial-active .testimonial-content {
    justify-content: center;
    min-height: 250px;
    padding: 30px 34px
}

.case-testimonial .testimonial-active .testimonial-content blockquote {
    color: var(--lilac-deep)
}

.quote-author-mini {
    align-items: center;
    gap: 12px;
    margin-top: 23px;
    padding-top: 0;
    display: flex
}

.quote-author-mini img {
    object-fit: cover;
    object-position: center;
    border: 3px solid #eeeaf7;
    border-radius: 50%;
    flex: 0 0 48px;
    width: 48px;
    height: 48px
}

.quote-author-mini>div {
    min-width: 0
}

.quote-author-mini strong,
.quote-author-mini span {
    display: block
}

.quote-author-mini span {
    color: #747089;
    margin-top: 3px;
    font-size: 10px
}

.testimonial-nav:hover {
    color: #fff;
    background: var(--teal);
    box-shadow: 0 8px 16px #514a701f
}

.faq-compact {
    max-width: 960px
}

.faq-compact h2 {
    color: var(--lilac-deep);
    text-align: center;
    margin-bottom: 36px
}

.faq-compact .faq-list {
    max-width: 860px;
    margin-inline: auto
}

.flow-section,
.cta-section,
.site-footer {
    background: var(--lilac-deep)
}

.flow-icon {
    color: #fff;
    background: var(--teal)
}

.flow-index,
.flow-check,
.cta-confetti,
.footer-links strong {
    color: #aee2df
}

.cta-section .button-primary {
    color: #fff;
    background: var(--teal)
}

@media (max-width:900px) {
    .hero {
        background: var(--lilac);
        min-height: auto;
        padding-top: 44px;
        padding-bottom: 0
    }

    .hero-image {
        display: none
    }

    .hero-overlay {
        background: linear-gradient(#7167a461, #9389c300)
    }

    .hero-content {
        padding-bottom: 84px;
        display: block
    }

    .hero-copy {
        max-width: 700px
    }

    .hero-proof {
        margin-top: 42px
    }

    .hero-mobile-visual {
        background: #ffffff24;
        border: 1px solid #ffffff47;
        border-radius: 20px;
        width: min(100%, 650px);
        margin: 44px auto 0;
        padding: 13px 13px 5px;
        display: block;
        position: relative;
        overflow: hidden;
        box-shadow: 0 26px 50px #514a7040
    }

    .hero-mobile-visual:before {
        content: "";
        pointer-events: none;
        background: linear-gradient(145deg, #ffffff2e, #0000 48%);
        position: absolute;
        inset: 0
    }

    .hero-mobile-visual span {
        z-index: 1;
        color: #fff;
        background: var(--teal-deep);
        letter-spacing: .08em;
        text-transform: uppercase;
        border-radius: 99px;
        margin: 3px 0 8px 5px;
        padding: 7px 10px;
        font: 600 9px Poppins, sans-serif;
        display: inline-flex;
        position: relative
    }

    .hero-mobile-visual img {
        z-index: 1;
        object-fit: contain;
        width: 100%;
        height: auto;
        display: block;
        position: relative
    }

    .audience-card-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .case-testimonial .testimonial-active {
        display: block
    }

    .case-testimonial .testimonial-nav {
        top: 50%;
        transform: translateY(-50%)
    }

    .case-testimonial .testimonial-nav:hover {
        transform: translateY(calc(-50% - 2px))
    }
}

@media (max-width:740px) {
    .hero {
        padding-top: 36px
    }

    .hero-content {
        padding-bottom: 68px
    }

    .hero h1 {
        font-size: clamp(42px, 13vw, 58px)
    }

    .hero-lede {
        max-width: none
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        display: flex
    }

    .hero-actions .button {
        width: 100%
    }

    .hero-actions .text-link {
        width: fit-content;
        margin-left: 4px
    }

    .hero-proof {
        margin-top: 34px
    }

    .hero-mobile-visual {
        border-radius: 15px;
        margin-top: 36px
    }

    .metrics-strip .partner-copy {
        text-align: center
    }

    .metrics-strip .partner-copy p {
        margin-inline: auto
    }

    .audience-card-grid {
        grid-template-columns: 1fr;
        margin-top: 32px
    }

    .audience-card {
        min-height: 0;
        padding: 24px
    }

    .case-testimonial .testimonial-active .testimonial-content {
        min-height: 280px;
        padding: 28px 32px
    }

    .case-testimonial .testimonial-nav {
        top: 50%
    }

    .faq-compact h2 {
        text-align: left;
        margin-bottom: 26px
    }
}

@media (max-width:460px) {
    .hero {
        min-height: auto
    }

    .hero-mobile-visual {
        width: calc(100% + 8px);
        margin-left: -4px
    }
}

@media (prefers-reduced-motion:reduce) {
    .audience-card {
        transition: none
    }

    .audience-card:hover {
        transform: none
    }
}

.site-header {
    height: 88px;
    color: var(--ink);
    background: #fff;
    border-bottom: 1px solid #e9e6f2;
    flex-basis: 88px
}

.official-logo {
    object-fit: contain;
    width: 104px;
    height: 74px
}

.main-nav a,
.login-link,
.nav-dropdown-trigger {
    color: var(--ink)
}

.main-nav a:hover,
.login-link:hover,
.nav-dropdown-trigger:hover,
.nav-dropdown-wrap.is-open .nav-dropdown-trigger {
    color: var(--teal-deep)
}

.nav-explore {
    border-color: #7167a44d
}

.nav-dropdown-panel {
    background: #fff;
    border-color: #e5e1ef;
    box-shadow: 0 18px 38px #514a7024
}

.nav-dropdown-panel:before {
    background: #fff;
    border-color: #e5e1ef
}

.nav-dropdown-panel a {
    color: var(--ink)
}

.nav-dropdown-panel a:hover {
    color: var(--teal-deep);
    background: #f2f0fa
}

.account-trigger {
    color: var(--ink)
}

.hero {
    height: auto;
    min-height: 640px;
    color: var(--ink);
    background: #f1eff8;
    padding: 68px 0 76px;
    display: block
}

.hero-content {
    grid-template-columns: minmax(0, 1fr) minmax(500px, 1.08fr);
    align-items: center;
    gap: 46px;
    padding-top: 0;
    padding-bottom: 0;
    display: grid
}

.hero-copy {
    max-width: 570px
}

.hero h1 {
    max-width: 570px;
    color: var(--lilac-deep);
    letter-spacing: -3.6px;
    font-size: clamp(46px, 4.25vw, 62px);
    line-height: .98
}

.hero h1 em {
    color: var(--teal-deep)
}

.hero-lede {
    max-width: 540px;
    color: var(--ink-soft);
    font-size: 15px;
    line-height: 1.62
}

.hero-actions {
    gap: 22px;
    margin-top: 28px
}

.hero .button-primary {
    color: #fff;
    background: var(--teal)
}

.hero .text-link {
    color: var(--lilac-deep);
    border-color: #7167a459
}

.hero .play-icon {
    color: var(--lilac-deep);
    background: #9389c329
}

.hero-product-visual {
    background: #edeaf7;
    border: 1px solid #9389c338;
    border-radius: 26px;
    min-width: 0;
    overflow: hidden;
    box-shadow: 0 26px 60px #514a7026
}

.hero-product-visual img {
    width: 100%;
    height: auto;
    display: block
}

.metrics-title {
    color: var(--lilac-deep);
    letter-spacing: .015em;
    padding-top: 36px;
    font: 400 clamp(20px, 2.3vw, 30px)/1 Poetsen One, sans-serif
}

.feature-number {
    display: none !important
}

.audience-compact-heading h2 {
    margin-top: 0
}

.audience-card {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 175px;
    display: flex
}

.audience-card:nth-child(3) {
    color: var(--lilac-deep)
}

.audience-card h3 {
    max-width: 290px;
    margin-top: 20px
}

.audience-card p {
    display: none
}

.site-footer {
    color: var(--ink);
    background: #fff;
    border-top: 1px solid #e6e2ef
}

.site-footer .footer-links strong {
    color: var(--lilac-deep)
}

.site-footer .footer-links a {
    color: #68657b
}

.site-footer .footer-links a:hover {
    color: var(--teal-deep)
}

.site-footer .footer-bottom {
    color: #8b879a
}

@media (max-width:1080px) and (min-width:901px) {
    .hero-content {
        grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
        gap: 34px
    }

    .hero h1 {
        font-size: clamp(44px, 5vw, 56px)
    }
}

@media (max-width:900px) {
    .site-header {
        flex-basis: 82px;
        height: 82px
    }

    .official-logo {
        width: 92px;
        height: 66px
    }

    .menu-toggle {
        color: var(--lilac-deep)
    }

    .main-nav {
        color: var(--ink);
        background: #fff;
        border: 1px solid #e5e1ef;
        top: 72px;
        box-shadow: 0 20px 40px #514a7029
    }

    .main-nav a,
    .main-nav .nav-dropdown-trigger,
    .main-nav .nav-account-button {
        color: var(--ink);
        border-color: #ece9f3
    }

    .main-nav .nav-dropdown-wrap {
        border-color: #ece9f3
    }

    .main-nav .nav-dropdown-panel {
        background: #f4f2fa
    }

    .hero {
        min-height: auto;
        padding: 56px 0 68px
    }

    .hero-content {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 0 30px;
        display: grid
    }

    .hero-copy,
    .hero h1 {
        max-width: 720px
    }

    .hero-product-visual {
        width: min(100%, 700px);
        margin-inline: auto
    }
}

@media (max-width:740px) {
    .site-header {
        flex-basis: 76px;
        height: 76px
    }

    .official-logo {
        width: 84px;
        height: 60px
    }

    .main-nav {
        top: 68px;
        left: 14px;
        right: 14px
    }

    .hero {
        padding: 44px 0 54px
    }

    .hero-content {
        gap: 34px;
        padding-inline: 20px
    }

    .hero h1 {
        letter-spacing: -2.8px;
        font-size: clamp(41px, 12.5vw, 52px)
    }

    .hero-lede {
        margin-top: 22px;
        font-size: 14px
    }

    .hero-actions {
        margin-top: 26px
    }

    .hero-product-visual {
        border-radius: 17px;
        box-shadow: 0 20px 40px #514a7021
    }

    .metrics-title {
        text-align: left;
        padding-top: 30px;
        font-size: 25px
    }

    .metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 20px
    }

    .metric,
    .metric+.metric,
    .metric:nth-child(2n) {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        min-height: 118px;
        padding: 22px 16px;
        display: flex
    }

    .metric strong {
        font-size: 28px
    }

    .metric span {
        max-width: 130px
    }

    .metrics-strip .partner-logo {
        border-radius: 12px;
        width: 92px;
        min-width: 92px;
        height: 92px;
        min-height: 92px;
        padding: 13px
    }

    .metrics-strip .partner-logo img {
        width: 100%;
        height: 58px
    }

    .audience-card {
        min-height: 142px
    }

    .site-footer .footer-top {
        align-items: flex-start
    }
}

@media (max-width:430px) {
    .metrics-title {
        text-align: center
    }

    .metric,
    .metric+.metric,
    .metric:nth-child(2n) {
        text-align: center;
        align-items: center
    }

    .metric span {
        max-width: 145px
    }
}

.case-video-shell {
    background: #1d1b2a;
    border: 1px solid #9389c338;
    border-radius: 16px;
    min-height: 300px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 38px #514a7021
}

.case-video-player {
    object-fit: contain;
    background: #1d1b2a;
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: block
}

.case-video-placeholder {
    color: #fff;
    background: linear-gradient(145deg, var(--lilac-deep), var(--lilac)54%, var(--teal));
    flex-direction: column;
    justify-content: flex-end;
    gap: 19px;
    min-height: 300px;
    padding: 26px;
    display: flex
}

.case-video-status {
    letter-spacing: .08em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #ffffff29;
    border-radius: 999px;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    font-size: 9px;
    font-weight: 700;
    position: absolute;
    top: 18px;
    left: 18px;
    display: inline-flex !important
}

.case-video-status span {
    background: #8ef2c8;
    border-radius: 50%;
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 4px #8ef2c824
}

.case-video-placeholder div>span {
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .75;
    font-size: 9px;
    display: block
}

.case-video-placeholder strong {
    margin-top: 7px;
    font: 400 24px/1.1 Poetsen One, sans-serif;
    display: block
}

.case-video-placeholder small {
    opacity: .78;
    margin-top: 7px;
    font-size: 10px;
    line-height: 1.5;
    display: block
}

.consultancy-popup {
    background: #fffffffb;
    border-color: #9389c338;
    border-radius: 20px;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    width: min(450px, 100vw - 48px);
    padding: 22px 48px 22px 22px;
    display: grid;
    bottom: 82px;
    right: 24px;
    box-shadow: 0 24px 64px #514a7038
}

.consultancy-popup-icon {
    color: #fff;
    background: linear-gradient(145deg, var(--lilac), var(--teal));
    border-radius: 14px;
    place-items: center;
    width: 46px;
    height: 46px;
    display: grid;
    box-shadow: 0 10px 20px #7167a433
}

.consultancy-popup-copy {
    min-width: 0
}

.consultancy-popup h2 {
    letter-spacing: -1.35px;
    max-width: 320px;
    margin-top: 11px;
    font-size: 27px;
    line-height: 1.02
}

.consultancy-popup p {
    margin-top: 11px;
    font-size: 12px;
    line-height: 1.5
}

.consultancy-popup>.consultancy-popup-copy>a {
    color: var(--lilac-deep);
    border-bottom: 1px solid;
    align-items: center;
    gap: 7px;
    margin-top: 15px;
    padding-bottom: 3px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex
}

.consultancy-popup>.consultancy-close {
    width: 34px;
    height: 34px;
    top: 10px;
    right: 10px
}

@media (max-width:900px) {

    .case-video-shell,
    .case-video-player,
    .case-video-placeholder {
        min-height: 360px
    }

    .case-video-player {
        max-height: 540px
    }
}

@media (max-width:740px) {
    .case-video-shell {
        border-radius: 18px;
        width: min(100%, 260px);
        min-height: 440px;
        margin-inline: auto
    }

    .case-video-player {
        aspect-ratio: 9/16;
        min-height: 440px;
        max-height: 540px
    }

    .case-video-placeholder {
        min-height: 440px;
        padding: 22px
    }

    .consultancy-popup {
        left: 12px;
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        overscroll-behavior: contain;
        border-radius: 18px;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 11px;
        width: auto;
        max-height: min(42svh, 310px);
        padding: 14px 44px 14px 14px;
        animation: .28s cubic-bezier(.23, 1, .32, 1) both popup-sheet-enter;
        overflow-y: auto;
        box-shadow: 0 18px 54px #514a7047
    }

    .consultancy-popup-icon {
        border-radius: 11px;
        width: 38px;
        height: 38px
    }

    .consultancy-badge {
        padding: 5px 8px;
        font-size: 8px
    }

    .consultancy-popup h2 {
        letter-spacing: -.8px;
        max-width: 250px;
        margin-top: 8px;
        font-size: 21px;
        line-height: 1.05
    }

    .consultancy-popup p {
        margin-top: 8px;
        font-size: 11px;
        line-height: 1.42
    }

    .consultancy-popup>.consultancy-popup-copy>a {
        color: #fff;
        background: var(--lilac-deep);
        border: 0;
        border-radius: 10px;
        justify-content: space-between;
        width: 100%;
        margin-top: 11px;
        padding: 9px 11px;
        font-size: 11px
    }

    .consultancy-popup>.consultancy-close {
        width: 32px;
        height: 32px;
        top: 8px;
        right: 8px
    }

    .consultancy-visible .whatsapp-float {
        opacity: 0;
        pointer-events: none;
        transform: translateY(10px)scale(.9)
    }
}

@keyframes popup-sheet-enter {
    0% {
        opacity: 0;
        transform: translateY(22px)scale(.985)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media (prefers-reduced-motion:reduce) {
    .consultancy-popup {
        animation: none
    }
}

.case-video-shell.has-video {
    isolation: isolate;
    background-image: linear-gradient(#1d1b2a4d, #1d1b2a8a), url(media/festou-cliente-final-poster_309994bc.jpg);
    background-position: 50%;
    background-size: cover;
    height: 430px;
    min-height: 0
}

.case-video-shell.has-video:before {
    content: "";
    z-index: -1;
    background: inherit;
    filter: blur(18px);
    position: absolute;
    inset: -20px;
    transform: scale(1.08)
}

.case-video-shell.has-video .case-video-player {
    z-index: 1;
    object-fit: contain;
    background: #1d1b2a57;
    height: 100%;
    min-height: 0;
    position: relative
}

@media (max-width:900px) {
    .case-video-shell.has-video {
        width: min(100%, 320px);
        height: 520px;
        min-height: 0;
        margin-inline: auto
    }

    .case-video-shell.has-video .case-video-player {
        min-height: 0;
        max-height: none
    }
}

@media (max-width:740px) {
    .case-video-shell.has-video {
        width: min(100%, 270px);
        height: 480px;
        min-height: 0
    }

    .case-video-shell.has-video .case-video-player {
        aspect-ratio: auto
    }
}

.audience-card-icon {
    color: #fff;
    border-radius: 18px;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    box-shadow: 0 12px 26px #514a7029
}

.audience-card:first-child .audience-card-icon {
    background: linear-gradient(145deg, var(--lilac-deep), var(--lilac))
}

.audience-card:nth-child(2) .audience-card-icon {
    background: linear-gradient(145deg, var(--teal-deep), var(--teal))
}

.audience-card:nth-child(3) .audience-card-icon {
    background: linear-gradient(145deg, var(--lilac), var(--teal))
}

.audience-card-icon svg {
    color: #fff;
    display: block
}

.audience-card h3 {
    margin-top: 22px
}

@media (max-width:740px) {
    .metrics-strip .partner-carousel-track {
        padding: 8px 0 14px;
        animation-duration: 24s
    }

    .metrics-strip .partner-logo-sequence {
        gap: 10px;
        padding-right: 10px
    }

    .metrics-strip .partner-logo {
        aspect-ratio: 1;
        box-sizing: border-box;
        border-radius: 14px;
        flex-basis: clamp(94px, 27vw, 112px);
        width: clamp(94px, 27vw, 112px);
        min-width: clamp(94px, 27vw, 112px);
        height: auto;
        min-height: 0;
        padding: clamp(10px, 3vw, 14px)
    }

    .metrics-strip .partner-logo img,
    .metrics-strip .partner-logo-builders img,
    .metrics-strip .partner-logo-gara img,
    .metrics-strip .partner-logo-red-house img,
    .metrics-strip .partner-logo-maple-bear img,
    .metrics-strip .partner-logo-interactivo img,
    .metrics-strip .partner-logo-coc img,
    .metrics-strip .partner-logo-pedacinho img {
        object-fit: contain;
        object-position: center;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%
    }

    .audience-card-icon {
        border-radius: 16px;
        flex-basis: 56px;
        width: 56px;
        height: 56px
    }
}

@media (prefers-reduced-motion:reduce) {
    .metrics-strip .partner-carousel {
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        touch-action: pan-x;
        overflow-x: auto
    }

    .metrics-strip .partner-carousel-track {
        animation: none
    }

    .metrics-strip .partner-logo-sequence[aria-hidden=true] {
        display: none
    }
}

@media (max-width:900px) {
    .main-nav .nav-club {
        background: #41b8b214;
        border: 1px solid #41b8b2;
        border-radius: 12px;
        margin: 7px 8px;
        padding: 11px 12px
    }

    .main-nav .nav-account-button {
        letter-spacing: 0;
        font-family: Poppins, sans-serif;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.2
    }
}

@media (prefers-reduced-motion:reduce) {
    .audience-card-icon {
        transition: none
    }
}

.solution-page,
.formatura-page {
    color: var(--ink);
    background: #f8f7fb
}

.solution-header,
.formatura-header {
    height: 88px;
    color: var(--ink);
    background: #fff;
    border-bottom: 1px solid #e9e6f2;
    padding-inline: max(30px, 50vw - 620px)
}

.solution-logo img,
.formatura-logo img,
.formatura-footer .formatura-logo img {
    object-fit: contain;
    width: 104px;
    height: 74px
}

.solution-header nav a,
.formatura-header nav a {
    color: var(--ink)
}

.solution-header nav a:hover,
.formatura-header nav a:hover {
    color: var(--teal-deep)
}

.solution-header-cta,
.formatura-nav-cta {
    background: var(--teal);
    color: #fff !important
}

.solution-hero,
.formatura-hero {
    min-height: 620px;
    color: var(--ink);
    background: #f1eff8;
    padding-inline: max(30px, 50vw - 620px)
}

.solution-hero:before,
.formatura-hero:before {
    opacity: .18;
    background: radial-gradient(circle at 14% 22%, var(--teal)0 2px, transparent 3px), radial-gradient(circle at 72% 24%, var(--lilac)0 2px, transparent 3px);
    background-size: 160px 160px, 220px 220px
}

.solution-orbit,
.formatura-orbit {
    border-color: #7167a426;
    box-shadow: 0 0 0 42px #9389c30d, 0 0 0 84px #9389c309
}

.solution-back,
.back-link {
    color: var(--ink-soft)
}

.solution-back:hover,
.back-link:hover,
.solution-hero .solution-kicker,
.formatura-hero .formatura-kicker {
    color: var(--teal-deep)
}

.solution-hero h1,
.formatura-hero h1 {
    color: var(--lilac-deep);
    font-family: Poetsen One, sans-serif;
    font-weight: 400
}

.solution-hero-copy>p:not(.solution-kicker),
.formatura-hero-copy>p:not(.formatura-kicker) {
    color: var(--ink-soft)
}

.solution-button,
.formatura-button-primary {
    color: #fff;
    background: var(--teal)
}

.formatura-text-link {
    color: var(--lilac-deep)
}

.formatura-text-link:hover {
    color: var(--teal-deep)
}

.solution-ticket,
.formatura-ticket {
    background: #fff;
    box-shadow: 18px 22px #9389c32e
}

.formatura-ticket:before,
.formatura-ticket:after {
    background: var(--lilac)
}

.solution-section h2,
.formatura-challenge h2,
.formatura-section-head h2,
.formatura-seating h2,
.formatura-partners h2,
.formatura-cta h2 {
    color: var(--lilac-deep);
    letter-spacing: -.025em;
    font-family: Poetsen One, sans-serif;
    font-weight: 400
}

.solution-white,
.formatura-challenge {
    background: #fff
}

.solution-lilac,
.formatura-help {
    background: #f1eff8
}

.solution-card,
.formatura-help-card,
.formatura-partners-grid article {
    border-color: #9389c32e;
    border-radius: 16px;
    box-shadow: 0 12px 30px #514a700f
}

.solution-card-icon,
.formatura-help-icon,
.formatura-partners-icon {
    color: var(--lilac-deep);
    background: #9389c324
}

.solution-card:nth-child(2n) .solution-card-icon,
.formatura-help-card:nth-child(2n) .formatura-help-icon,
.formatura-partners-grid article:nth-child(2n) .formatura-partners-icon {
    color: var(--teal-deep);
    background: #41b8b224
}

.solution-card:nth-child(3n) .solution-card-icon,
.formatura-help-card:nth-child(3n) .formatura-help-icon {
    color: var(--lilac-deep);
    background: #9389c324
}

.seating-showcase,
.formatura-seating {
    color: #fff;
    background: linear-gradient(130deg, var(--lilac-deep), var(--lilac))
}

.seating-showcase h2,
.formatura-seating h2 {
    color: #fff
}

.seating-grid .solution-kicker,
.formatura-seating .formatura-kicker {
    color: #d8f4f2
}

.solution-teal,
.formatura-cta {
    color: #fff;
    background: var(--teal-deep)
}

.solution-teal h2,
.formatura-cta h2 {
    color: #fff
}

.solution-teal .solution-kicker,
.formatura-cta .formatura-kicker {
    color: #d8f4f2
}

.formatura-partners {
    background: #fff;
    padding: 110px 0
}

.formatura-partners h2 {
    max-width: 760px;
    margin-top: 15px;
    font-size: clamp(40px, 4.8vw, 62px);
    line-height: 1.04
}

.formatura-partners-copy {
    max-width: 790px;
    color: var(--ink-soft);
    gap: 12px;
    margin-top: 24px;
    font-size: 15px;
    line-height: 1.68;
    display: grid
}

.formatura-partners-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 50px;
    display: grid
}

.formatura-partners-grid article {
    background: #f8f7fb;
    min-height: 260px;
    padding: 26px;
    transition: transform .2s cubic-bezier(.23, 1, .32, 1), box-shadow .2s cubic-bezier(.23, 1, .32, 1)
}

.formatura-partners-grid article:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 38px #514a701f
}

.formatura-partners-icon {
    border-radius: 14px;
    place-items: center;
    width: 48px;
    height: 48px;
    display: grid
}

.formatura-partners-grid h3 {
    color: var(--lilac-deep);
    margin-top: 36px;
    font-size: 18px;
    line-height: 1.2
}

.formatura-partners-grid p {
    color: var(--ink-soft);
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.6
}

.solution-footer,
.formatura-footer {
    color: #8b879a;
    background: #fff;
    border-top: 1px solid #e6e2ef
}

@media (max-width:920px) {
    .formatura-partners-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:680px) {

    .solution-header,
    .formatura-header {
        height: 76px;
        padding-inline: 20px
    }

    .solution-logo img,
    .formatura-logo img,
    .formatura-footer .formatura-logo img {
        width: 84px;
        height: 60px
    }

    .solution-menu-button,
    .formatura-menu-button {
        color: var(--lilac-deep);
        background: #9389c31f
    }

    .solution-header nav,
    .formatura-header nav {
        color: var(--ink);
        background: #fff;
        border: 1px solid #e5e1ef;
        top: 68px;
        box-shadow: 0 20px 40px #514a7029
    }

    .solution-header nav a:not(.solution-header-cta),
    .formatura-header nav a:not(.formatura-nav-cta) {
        color: var(--ink);
        border-color: #ece9f3
    }

    .solution-hero,
    .formatura-hero {
        padding-inline: 20px
    }

    .formatura-partners {
        padding: 82px 0
    }

    .formatura-partners-grid {
        grid-template-columns: 1fr;
        margin-top: 38px
    }

    .formatura-partners-grid article {
        min-height: 0
    }
}

@media (prefers-reduced-motion:reduce) {
    .formatura-partners-grid article {
        transition: none
    }

    .formatura-partners-grid article:hover {
        transform: none
    }
}

.festou-brasil-section {
    background: radial-gradient(circle at 8% 16%, #41b8b21c, #0000 25%), radial-gradient(circle at 94% 84%, #9389c324, #0000 28%), #f8f7fb;
    padding: clamp(66px, 6vw, 88px) 0;
    position: relative;
    overflow: hidden
}

.festou-brasil-layout {
    grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr);
    align-items: center;
    gap: clamp(42px, 6vw, 86px);
    display: grid
}

.festou-brasil-heading {
    min-width: 0
}

.festou-brasil-heading .section-label {
    margin: 0 0 17px
}

.festou-brasil-heading h2 {
    max-width: 600px;
    color: var(--lilac-deep);
    letter-spacing: -.035em;
    margin: 0;
    font-family: Poetsen One, sans-serif;
    font-size: clamp(36px, 3.6vw, 50px);
    font-weight: 400;
    line-height: 1.03
}

.festou-brasil-heading h2 em {
    color: var(--teal-deep);
    font-style: normal
}

.festou-brasil-heading>p {
    max-width: 570px;
    color: var(--ink-soft);
    margin: 20px 0 0;
    font-size: 14px;
    line-height: 1.65
}

.festou-brasil-manual-note {
    color: var(--lilac-deep);
    letter-spacing: .02em;
    align-items: center;
    gap: 7px;
    margin-top: 20px;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex
}

.festou-brasil-manual-note:before {
    content: "";
    background: var(--teal);
    border-radius: 999px;
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 4px #41b8b224
}

.festou-brasil-carousel {
    min-width: 0;
    padding: 0 52px 36px;
    position: relative
}

.festou-brasil-viewport {
    aspect-ratio: 16/10;
    isolation: isolate;
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
    background: #e9e6f2;
    border-radius: 24px;
    width: 100%;
    min-height: 310px;
    max-height: 430px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 24px 56px #514a7029
}

.festou-brasil-photo {
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    margin: 0;
    position: absolute;
    inset: 0;
    overflow: hidden
}

.festou-brasil-photo.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.festou-brasil-photo img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    transform: scale(1.001)
}

.festou-brasil-photo:after {
    content: "";
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(#0000, #18162314 24%, #181623d6);
    position: absolute;
    inset: 42% 0 0
}

.festou-brasil-photo figcaption {
    z-index: 2;
    color: #fff;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    min-height: 98px;
    padding: 22px 24px;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.festou-brasil-photo figcaption span {
    text-shadow: 0 2px 16px #0000005c;
    max-width: 30ch;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.28
}

.festou-brasil-photo figcaption small {
    color: #ffffffd1;
    letter-spacing: .12em;
    flex: none;
    font-size: 10px;
    font-weight: 700
}

.festou-brasil-nav {
    z-index: 3;
    width: 42px;
    height: 42px;
    color: var(--lilac-deep);
    cursor: pointer;
    background: #ffffffeb;
    border: 1px solid #9389c333;
    border-radius: 999px;
    place-items: center;
    display: grid;
    position: absolute;
    top: calc(50% - 18px);
    transform: translateY(-50%);
    box-shadow: 0 10px 28px #443e601f
}

.festou-brasil-nav-prev {
    left: 0
}

.festou-brasil-nav-next {
    right: 0
}

.festou-brasil-nav:active {
    transform: translateY(-50%)scale(.95)
}

.festou-brasil-nav:focus-visible,
.festou-brasil-dots button:focus-visible,
.festou-brasil-carousel:focus-visible {
    outline-offset: 4px;
    outline: 3px solid #41b8b2b8
}

.festou-brasil-carousel:focus-visible {
    border-radius: 24px
}

.festou-brasil-dots {
    justify-content: center;
    gap: 8px;
    display: flex;
    position: absolute;
    bottom: 7px;
    left: 52px;
    right: 52px
}

.festou-brasil-dots button {
    cursor: pointer;
    background: #5c538240;
    border: 0;
    border-radius: 999px;
    width: 8px;
    height: 8px;
    padding: 0
}

.festou-brasil-dots button.is-active {
    background: var(--teal);
    width: 25px
}

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

.festou-event-partners {
    border-top: 1px solid #5c538221;
    grid-column: 1/-1;
    margin-top: 24px;
    padding-top: 24px
}

.festou-event-partners>p {
    color: var(--lilac-deep);
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 700
}

.festou-event-partner-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 9px;
    display: grid
}

.festou-event-partner-grid a {
    box-sizing: border-box;
    background: #ffffffd1;
    border: 1px solid #5c53821f;
    border-radius: 12px;
    place-items: center;
    min-width: 0;
    height: 76px;
    padding: 12px;
    transition: transform .18s cubic-bezier(.23, 1, .32, 1), border-color .18s, box-shadow .18s;
    display: grid;
    overflow: hidden
}

.festou-event-partner-grid img {
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    width: 100%;
    max-width: 100%;
    height: 52px;
    max-height: 100%;
    display: block
}

.festou-event-partner-grid a:nth-child(3) {
    padding: 4px
}

.festou-event-partner-grid a:nth-child(3) img {
    width: 100%;
    max-width: 100%;
    height: 70px
}

.festou-event-partner-grid a:nth-child(9) {
    padding: 6px
}

.festou-event-partner-grid a:nth-child(9) img {
    width: calc(100% + 10px);
    max-width: none
}

.festou-event-partner-grid a:first-child,
.festou-event-partner-grid a:nth-child(3),
.festou-event-partner-grid a:nth-child(5) {
    background: linear-gradient(145deg, #514a70, #7167a4);
    border-color: #ffffff24
}

.festou-event-partner-grid a:hover {
    border-color: #41b8b275;
    transform: translateY(-3px);
    box-shadow: 0 12px 26px #514a7017
}

.festou-event-partner-grid a:focus-visible {
    outline-offset: 3px;
    outline: 3px solid #41b8b2b8
}

.cta-inner h2 {
    letter-spacing: -2.8px;
    font-size: clamp(40px, 4.6vw, 58px);
    line-height: 1.02
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .festou-brasil-photo.is-active img {
        transition: transform .3s cubic-bezier(.23, 1, .32, 1), filter .3s cubic-bezier(.23, 1, .32, 1)
    }

    .festou-brasil-photo.is-active:hover img {
        filter: saturate(1.04);
        transform: scale(1.025)
    }

    .festou-brasil-nav {
        transition: color .18s cubic-bezier(.23, 1, .32, 1), background-color .18s cubic-bezier(.23, 1, .32, 1), box-shadow .18s cubic-bezier(.23, 1, .32, 1)
    }

    .festou-brasil-nav:hover {
        background: var(--lilac-deep);
        color: #fff;
        box-shadow: 0 12px 30px #5c538238
    }

    .festou-brasil-dots button {
        transition: width .2s cubic-bezier(.23, 1, .32, 1), background-color .2s cubic-bezier(.23, 1, .32, 1)
    }
}

@media (min-width:741px) and (max-width:1024px) {
    .festou-brasil-section {
        padding: 72px 0
    }

    .festou-brasil-layout {
        grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
        gap: 34px
    }

    .festou-brasil-heading h2 {
        font-size: clamp(37px, 5vw, 48px)
    }

    .festou-brasil-heading>p {
        font-size: 13px
    }

    .festou-brasil-carousel {
        padding: 0 42px 34px
    }

    .festou-brasil-viewport {
        border-radius: 21px;
        min-height: 286px
    }

    .festou-brasil-nav {
        width: 36px;
        height: 36px
    }

    .festou-brasil-dots {
        left: 42px;
        right: 42px
    }

    .festou-event-partner-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

@media (max-width:740px) {
    .festou-brasil-section {
        padding: 64px 0 58px
    }

    .festou-brasil-layout {
        display: block
    }

    .festou-brasil-heading {
        margin-bottom: 29px
    }

    .festou-brasil-heading .section-label {
        margin-bottom: 14px
    }

    .festou-brasil-heading h2 {
        max-width: 340px;
        font-size: clamp(32px, 8.7vw, 37px);
        line-height: 1.04
    }

    .festou-brasil-heading>p {
        max-width: 34rem;
        margin-top: 16px;
        font-size: 13px;
        line-height: 1.58
    }

    .festou-brasil-manual-note {
        margin-top: 16px;
        font-size: 10px
    }

    .festou-brasil-carousel {
        padding: 0 0 34px
    }

    .festou-brasil-viewport {
        aspect-ratio: 4/3;
        border-radius: 19px;
        min-height: 0;
        box-shadow: 0 18px 40px #514a7026
    }

    .festou-brasil-photo figcaption {
        min-height: 84px;
        padding: 18px
    }

    .festou-brasil-photo figcaption span {
        max-width: 23ch;
        font-size: 13px
    }

    .festou-brasil-photo figcaption small {
        font-size: 9px
    }

    .festou-brasil-nav {
        background: #ffffffe6;
        border-color: #ffffff7a;
        width: 40px;
        height: 40px;
        top: calc(50% - 17px)
    }

    .festou-brasil-nav-prev {
        left: 10px
    }

    .festou-brasil-nav-next {
        right: 10px
    }

    .festou-brasil-dots {
        bottom: 5px;
        left: 0;
        right: 0
    }

    .festou-event-partners {
        margin-top: 25px;
        padding-top: 20px
    }

    .festou-event-partners>p {
        font-size: 11px
    }

    .festou-event-partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px
    }

    .festou-event-partner-grid a {
        height: 70px;
        padding: 10px
    }

    .festou-event-partner-grid img {
        height: 50px
    }

    .festou-event-partner-grid a:nth-child(3) {
        padding: 4px
    }

    .festou-event-partner-grid a:nth-child(3) img {
        width: 100%;
        max-width: 100%;
        height: 64px
    }

    .festou-event-partner-grid a:nth-child(9) {
        padding: 6px
    }

    .festou-event-partner-grid a:nth-child(9) img {
        width: calc(100% + 10px);
        max-width: none
    }
}

@media (prefers-reduced-motion:reduce) {

    .festou-brasil-photo img,
    .festou-brasil-nav,
    .festou-brasil-dots button,
    .festou-event-partner-grid a {
        transition: none
    }

    .festou-brasil-photo.is-active:hover img {
        filter: none;
        transform: none
    }
}

.site-shell {
    --home-heading-size: clamp(36px, 4vw, 50px);
    --home-heading-line: 1.04;
    --home-heading-tracking: -.035em;
    --home-body-size: 15px;
    --home-body-line: 1.6;
    --home-kicker-size: 10px
}

.site-shell .intro-grid h2,
.site-shell .section-heading-row h2,
.site-shell .experience-carousel-heading h2,
.site-shell .audience-compact-heading h2,
.site-shell .section-heading-centered h2,
.site-shell .quote-heading h2,
.site-shell .faq-compact h2,
.site-shell .store-copy h2,
.site-shell .cta-inner h2,
.site-shell .festou-brasil-heading h2 {
    font-size: var(--home-heading-size);
    line-height: var(--home-heading-line);
    letter-spacing: var(--home-heading-tracking)
}

.site-shell .intro-aside p,
.site-shell .section-heading-row>p,
.site-shell .experience-carousel-heading>p,
.site-shell .audience-card p,
.site-shell .section-heading-centered>p,
.site-shell .quote-heading>p,
.site-shell .store-copy>p,
.site-shell .festou-brasil-heading>p,
.site-shell .faq-intro>p,
.site-shell .cta-inner>p {
    font-size: var(--home-body-size);
    line-height: var(--home-body-line)
}

.site-shell .eyebrow,
.site-shell .section-label,
.site-shell .experience-carousel-kicker,
.site-shell .feature-eyebrow,
.site-shell .store-steps small,
.site-shell .audience-card h3 {
    font-family: Poppins, sans-serif
}

.site-shell .eyebrow,
.site-shell .section-label,
.site-shell .experience-carousel-kicker {
    font-size: var(--home-kicker-size);
    letter-spacing: .13em;
    line-height: 1.3
}

.site-shell .feature-card:nth-child(11) {
    --feature-accent: var(--lilac)
}

.site-shell .feature-card:nth-child(12) {
    --feature-accent: var(--teal)
}

.site-shell .feature-card:nth-child(11) .feature-icon {
    color: var(--lilac-deep);
    background: #f0eef9
}

.site-shell .feature-card:nth-child(12) .feature-icon {
    color: var(--teal-deep);
    background: #e8f7f5
}

@media (max-width:740px) {
    .site-shell {
        --home-heading-size: clamp(30px, 8.6vw, 36px);
        --home-body-size: 14px;
        --home-body-line: 1.55;
        --home-kicker-size: 9px
    }

    .site-shell .feature-card:nth-child(11) .feature-icon {
        color: var(--lilac-deep);
        background: #f0eef9
    }

    .site-shell .feature-card:nth-child(12) .feature-icon {
        color: var(--teal-deep);
        background: #e8f7f5
    }
}

.solution-page h2,
.formatura-page h2,
.service-page h2,
.explore-page h2 {
    letter-spacing: -.035em;
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.04
}

.solution-page section>p:not(.solution-kicker),
.formatura-page section>p:not(.formatura-kicker),
.service-page section>p,
.explore-page section>p:not(.explore-kicker) {
    font-size: 15px;
    line-height: 1.6
}

@media (max-width:740px) {

    .solution-page h2,
    .formatura-page h2,
    .service-page h2,
    .explore-page h2 {
        font-size: clamp(30px, 8.6vw, 36px)
    }

    .solution-page section>p:not(.solution-kicker),
    .formatura-page section>p:not(.formatura-kicker),
    .service-page section>p,
    .explore-page section>p:not(.explore-kicker) {
        font-size: 14px;
        line-height: 1.55
    }
}

.site-shell .feature-card:nth-child(6) .feature-icon {
    color: var(--teal-deep);
    background: #e8f7f5
}

.school-events-page {
    overflow: hidden
}

.school-events-hero {
    min-height: 650px;
    color: var(--ink);
    background: #f1eff8;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
    align-items: center;
    gap: 70px;
    padding: 76px max(30px, 50vw - 620px) 100px;
    display: grid;
    position: relative
}

.school-events-hero:before {
    content: "";
    opacity: .2;
    pointer-events: none;
    background: radial-gradient(circle at 12% 25%, var(--teal)0 2px, transparent 3px), radial-gradient(circle at 78% 20%, var(--lilac)0 2px, transparent 3px);
    background-size: 160px 160px, 220px 220px;
    position: absolute;
    inset: 0
}

.school-events-orbit {
    border: 1px solid #7167a426;
    border-radius: 50%;
    width: 560px;
    height: 560px;
    position: absolute;
    top: -145px;
    right: -130px;
    box-shadow: 0 0 0 42px #9389c30d, 0 0 0 84px #9389c309
}

.school-events-hero-copy,
.school-events-hero-visual {
    z-index: 1;
    position: relative
}

.school-events-hero-copy {
    max-width: 690px
}

.school-events-hero-copy .solution-back {
    align-items: center;
    gap: 7px;
    display: inline-flex
}

.school-events-hero-copy .solution-back svg {
    transform: rotate(180deg)
}

.school-events-hero-copy h1 {
    max-width: 690px;
    color: var(--lilac-deep);
    letter-spacing: -3px;
    margin-top: 18px;
    font: 400 clamp(48px, 6vw, 78px)/.98 Poetsen One, sans-serif
}

.school-events-hero-copy>p:not(.solution-kicker) {
    max-width: 590px;
    color: var(--ink-soft);
    margin-top: 23px;
    font-size: 16px;
    line-height: 1.65
}

.school-events-hero-copy .solution-button {
    margin-top: 30px
}

.school-events-hero-visual {
    place-items: center;
    min-height: 470px;
    display: grid
}

.school-events-hero-card {
    width: min(100%, 360px);
    min-height: 410px;
    color: var(--ink);
    background: #fff;
    border-radius: 18px;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    display: flex;
    transform: rotate(4deg);
    box-shadow: 18px 22px #9389c32e
}

.school-events-hero-card>span {
    color: var(--teal-deep);
    letter-spacing: .16em;
    font: 700 10px Poppins, sans-serif
}

.school-events-hero-card strong {
    color: var(--lilac-deep);
    letter-spacing: -2px;
    margin-top: 70px;
    font: 400 55px/1 Poetsen One, sans-serif;
    display: block
}

.school-events-hero-card em {
    color: var(--teal-deep);
    font-style: normal
}

.school-events-hero-card small {
    color: #7b7890;
    letter-spacing: .1em;
    text-transform: uppercase;
    font: 600 11px Poppins, sans-serif
}

.school-events-hero-card>div {
    color: var(--teal-deep);
    border-top: 1px dashed #c8c4d4;
    align-items: center;
    gap: 8px;
    padding-top: 19px;
    font-size: 11px;
    line-height: 1.4;
    display: flex
}

.school-events-hero-note {
    z-index: 2;
    color: var(--lilac-deep);
    background: #fff;
    border-radius: 999px;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    position: absolute;
    box-shadow: 0 13px 26px #514a701f
}

.school-events-note-one {
    top: 65px;
    left: 0
}

.school-events-note-two {
    color: var(--teal-deep);
    bottom: 72px;
    right: 0
}

.school-events-portfolio,
.school-events-suppliers {
    padding: 112px 0
}

.school-events-section-head {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
    align-items: end;
    gap: 90px;
    display: grid
}

.school-events-section-head h2,
.school-events-impact h2,
.school-events-cta h2 {
    max-width: 760px;
    color: var(--lilac-deep);
    letter-spacing: -2px;
    margin-top: 14px;
    font: 400 clamp(40px, 4.8vw, 62px)/1.04 Poetsen One, sans-serif
}

.school-events-section-head>p {
    color: var(--ink-soft);
    font-size: 15px;
    line-height: 1.65
}

.school-events-idea-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
    margin-top: 62px;
    display: grid
}

.school-events-idea-card {
    background: #fbfaf7;
    border: 1px solid #9389c32e;
    border-radius: 16px;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
    min-height: 178px;
    padding: 22px;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), box-shadow .22s, border-color .22s;
    display: flex;
    position: relative;
    box-shadow: 0 12px 30px #514a700f
}

.school-events-idea-card:hover {
    border-color: currentColor;
    transform: translateY(-6px);
    box-shadow: 0 20px 36px #514a7021
}

.school-events-idea-card.teal {
    color: var(--teal-deep)
}

.school-events-idea-card.purple {
    color: var(--lilac-deep)
}

.school-events-idea-icon {
    background: #9389c324;
    border-radius: 13px;
    place-items: center;
    width: 43px;
    height: 43px;
    display: grid
}

.school-events-idea-card.teal .school-events-idea-icon {
    background: #41b8b224
}

.school-events-idea-card h3 {
    max-width: 245px;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.2
}

.school-events-idea-card p {
    max-width: 250px;
    color: var(--ink-soft);
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5
}

.school-events-idea-card>a {
    width: 30px;
    height: 30px;
    color: inherit;
    background: #ffffffbf;
    border-radius: 50%;
    place-items: center;
    display: grid;
    position: absolute;
    bottom: 19px;
    right: 19px
}

.school-events-impact {
    padding: 112px 0
}

.school-events-impact-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, .72fr);
    align-items: start;
    gap: 120px;
    display: grid
}

.school-events-impact h2 {
    color: var(--lilac-deep)
}

.school-events-impact-copy>p {
    color: var(--ink-soft);
    font-size: 16px;
    line-height: 1.7
}

.school-events-impact-points {
    gap: 14px;
    margin-top: 30px;
    display: grid
}

.school-events-impact-points span {
    color: var(--lilac-deep);
    align-items: center;
    gap: 11px;
    font-size: 13px;
    font-weight: 700;
    display: flex
}

.school-events-impact-points svg {
    color: var(--teal-deep)
}

.school-events-supplier-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-top: 62px;
    display: grid
}

.school-events-supplier-grid article {
    background: #fbfaf7;
    border: 1px solid #9389c32e;
    border-radius: 16px;
    min-height: 260px;
    padding: 25px;
    box-shadow: 0 12px 30px #514a700f
}

.school-events-supplier-icon {
    width: 47px;
    height: 47px;
    color: var(--teal-deep);
    background: #41b8b224;
    border-radius: 14px;
    place-items: center;
    display: grid
}

.school-events-supplier-grid article:nth-child(2n) .school-events-supplier-icon {
    color: var(--lilac-deep);
    background: #9389c324
}

.school-events-supplier-grid h3 {
    color: var(--lilac-deep);
    margin-top: 30px;
    font-size: 17px;
    line-height: 1.2
}

.school-events-supplier-grid p {
    color: var(--ink-soft);
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.58
}

.school-events-cta {
    padding: 112px 0
}

.school-events-cta h2 {
    color: #fff
}

.school-events-cta>.solution-container>p:not(.solution-kicker) {
    color: #ffffffc7;
    max-width: 600px;
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.65
}

.school-events-cta-button {
    color: var(--lilac-deep);
    background: #fff;
    margin-top: 30px
}

.school-events-cta-button:hover {
    color: var(--lilac-deep);
    background: #f4f2fa
}

@media (max-width:1000px) {
    .school-events-hero {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
        gap: 35px
    }

    .school-events-hero-copy h1 {
        font-size: clamp(44px, 6vw, 64px)
    }

    .school-events-idea-grid,
    .school-events-supplier-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .school-events-impact-grid {
        gap: 55px
    }
}

@media (max-width:740px) {
    .school-events-hero {
        min-height: auto;
        padding: 55px 20px 78px;
        display: block
    }

    .school-events-hero-copy h1 {
        letter-spacing: -2px;
        font-size: clamp(42px, 12vw, 58px)
    }

    .school-events-hero-copy>p:not(.solution-kicker) {
        font-size: 14px
    }

    .school-events-hero-visual {
        min-height: 390px;
        margin-top: 48px
    }

    .school-events-hero-card {
        width: min(100%, 315px);
        min-height: 355px;
        padding: 25px
    }

    .school-events-hero-card strong {
        margin-top: 45px;
        font-size: 47px
    }

    .school-events-note-one {
        top: 30px;
        left: 3px
    }

    .school-events-note-two {
        bottom: 27px;
        right: 0
    }

    .school-events-portfolio,
    .school-events-suppliers,
    .school-events-impact,
    .school-events-cta {
        padding: 78px 0
    }

    .school-events-section-head {
        display: block
    }

    .school-events-section-head>p {
        margin-top: 23px;
        font-size: 14px
    }

    .school-events-section-head h2,
    .school-events-impact h2,
    .school-events-cta h2 {
        letter-spacing: -1.5px;
        font-size: clamp(34px, 10vw, 48px)
    }

    .school-events-idea-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 40px
    }

    .school-events-idea-card {
        min-height: 142px;
        padding: 18px
    }

    .school-events-idea-card h3 {
        font-size: 15px
    }

    .school-events-idea-card p {
        font-size: 11px
    }

    .school-events-impact-grid {
        display: block
    }

    .school-events-impact-copy {
        margin-top: 30px
    }

    .school-events-impact-copy>p {
        font-size: 14px
    }

    .school-events-supplier-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 40px
    }

    .school-events-supplier-grid article {
        min-height: auto;
        padding: 20px
    }

    .school-events-supplier-grid h3 {
        margin-top: 22px;
        font-size: 16px
    }

    .school-events-cta-button {
        text-align: center;
        justify-content: center;
        width: 100%
    }
}

.solution-page,
.formatura-page,
.service-page,
.explore-page {
    --institution-heading-size: clamp(36px, 4vw, 50px);
    --institution-heading-line: 1.04;
    --institution-heading-tracking: -.035em;
    --institution-body-size: 15px;
    --institution-body-line: 1.6;
    --institution-card-title-size: 16px;
    --institution-card-body-size: 12px;
    --institution-kicker-size: 10px
}

.solution-page h2,
.formatura-page h2,
.service-page h2,
.explore-page h2 {
    font-size: var(--institution-heading-size);
    line-height: var(--institution-heading-line);
    letter-spacing: var(--institution-heading-tracking)
}

.solution-page .solution-kicker,
.formatura-page .formatura-kicker,
.service-page .service-kicker,
.explore-page .explore-kicker,
.solution-page .eyebrow,
.formatura-page .eyebrow,
.service-page .eyebrow,
.explore-page .eyebrow {
    font-size: var(--institution-kicker-size);
    letter-spacing: .13em;
    line-height: 1.3
}

.solution-page .solution-hero-copy>p:not(.solution-kicker),
.formatura-page .formatura-hero-copy>p:not(.formatura-kicker),
.service-page .service-hero-copy>p:not(.service-kicker),
.explore-page .explore-hero-copy>p:not(.explore-kicker),
.solution-page section>p:not(.solution-kicker),
.formatura-page section>p:not(.formatura-kicker),
.service-page section>p:not(.service-kicker),
.explore-page section>p:not(.explore-kicker) {
    font-size: var(--institution-body-size);
    line-height: var(--institution-body-line)
}

.solution-page .solution-hero h1,
.formatura-page .formatura-hero h1,
.service-page .service-hero h1,
.explore-page .explore-hero h1,
.school-events-page .school-events-hero-copy h1 {
    letter-spacing: -.035em;
    font-size: clamp(44px, 4.8vw, 64px);
    line-height: 1.02
}

.solution-page .solution-card h3,
.solution-page .partner-service-grid h3,
.solution-page .audience-type-grid h3,
.formatura-page .formatura-help-card h3,
.formatura-page .formatura-partners-grid h3,
.service-page article h3,
.explore-page article h3,
.school-events-page .school-events-idea-card h3,
.school-events-page .school-events-supplier-grid h3 {
    font-size: var(--institution-card-title-size);
    line-height: 1.2
}

.solution-page .solution-card p,
.solution-page .partner-service-grid p,
.solution-page .audience-type-grid p,
.formatura-page .formatura-help-card p,
.formatura-page .formatura-partners-grid p,
.service-page article p,
.explore-page article p,
.school-events-page .school-events-idea-card p,
.school-events-page .school-events-supplier-grid p {
    font-size: var(--institution-card-body-size);
    line-height: 1.55
}

.school-events-page .school-events-section-head>p,
.school-events-page .school-events-impact-copy>p,
.school-events-page .school-events-cta>.solution-container>p:not(.solution-kicker) {
    font-size: var(--institution-body-size);
    line-height: var(--institution-body-line)
}

@media (max-width:740px) {

    .solution-page,
    .formatura-page,
    .service-page,
    .explore-page {
        --institution-heading-size: clamp(30px, 8.6vw, 36px);
        --institution-body-size: 14px;
        --institution-body-line: 1.55;
        --institution-kicker-size: 9px;
        --institution-card-title-size: 15px;
        --institution-card-body-size: 11px
    }

    .solution-page .solution-hero h1,
    .formatura-page .formatura-hero h1,
    .service-page .service-hero h1,
    .explore-page .explore-hero h1,
    .school-events-page .school-events-hero-copy h1 {
        letter-spacing: -.035em;
        font-size: clamp(38px, 10.8vw, 48px);
        line-height: 1.02
    }
}

.school-events-idea-card {
    isolation: isolate;
    background-color: #5c5685;
    background-image: var(--card-image);
    background-position: 50%;
    background-size: cover;
    border-color: #ffffff2e;
    overflow: hidden
}

.school-events-idea-card:before,
.school-events-idea-overlay {
    content: "";
    z-index: -1;
    background: linear-gradient(90deg, #201c39f0, #2c274cd1 48%, #2c274c66);
    position: absolute;
    inset: 0
}

.school-events-idea-card.teal:before,
.school-events-idea-card.teal .school-events-idea-overlay {
    background: linear-gradient(90deg, #13434af0, #195c5ecc 48%, #195c5e61)
}

.school-events-idea-content {
    z-index: 1;
    position: relative
}

.school-events-idea-card .school-events-idea-icon {
    color: #fff;
    background: #ffffff2e;
    border: 1px solid #ffffff38
}

.school-events-idea-card.teal .school-events-idea-icon,
.school-events-idea-card.purple .school-events-idea-icon {
    color: #fff;
    background: #ffffff2e
}

.school-events-idea-card p {
    color: #ffffffd6
}

.school-events-idea-card>a {
    z-index: 2;
    color: #fff;
    background: #ffffff2e;
    border: 1px solid #ffffff3d
}

.school-events-idea-card>a:hover {
    background: #ffffff52
}

@media (prefers-reduced-motion:reduce) {
    .school-events-idea-card {
        transition: none
    }
}

.school-events-idea-card {
    min-height: 342px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #9389c333;
    flex-direction: column;
    gap: 0;
    padding: 0;
    transition: transform .22s cubic-bezier(.23, 1, .32, 1), box-shadow .22s, border-color .22s;
    display: flex;
    overflow: hidden;
    box-shadow: 0 12px 30px #514a700f
}

.school-events-idea-card:hover {
    color: var(--ink);
    background: #fff;
    border-color: #41b8b28c;
    transform: translateY(-6px);
    box-shadow: 0 20px 36px #514a7021
}

.school-events-idea-card:before,
.school-events-idea-overlay {
    display: none
}

.school-events-idea-image {
    background: #eceaf4;
    flex: 0 0 156px;
    height: 156px;
    overflow: hidden
}

.school-events-idea-image img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transition: transform .32s cubic-bezier(.23, 1, .32, 1);
    display: block
}

.school-events-idea-content {
    flex-direction: column;
    flex: 1;
    align-items: flex-start;
    gap: 13px;
    min-height: 0;
    padding: 19px 20px 13px;
    display: flex
}

.school-events-idea-card .school-events-idea-icon,
.school-events-idea-card.teal .school-events-idea-icon,
.school-events-idea-card.purple .school-events-idea-icon {
    width: 38px;
    height: 38px;
    color: var(--lilac-deep);
    background: #f0eef9;
    border: 0;
    flex: 0 0 38px
}

.school-events-idea-card.teal .school-events-idea-icon {
    color: var(--teal-deep);
    background: #e8f7f5
}

.school-events-idea-card h3,
.school-events-idea-card p {
    color: var(--ink);
    text-shadow: none
}

.school-events-idea-card h3 {
    max-width: 100%
}

.school-events-idea-card p {
    max-width: 100%;
    color: var(--ink-soft);
    margin-top: 7px
}

.school-events-idea-button {
    background: var(--lilac-deep);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: 7px;
    width: calc(100% - 40px);
    min-height: 36px;
    margin: 0 20px 19px;
    padding: 8px 14px;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    color: #fff !important
}

.school-events-idea-card.teal .school-events-idea-button {
    background: var(--teal-deep)
}

.school-events-idea-button:hover {
    filter: brightness(1.08);
    color: #fff !important
}

.site-shell>.section,
.site-shell>.store-section,
.site-shell>.festou-brasil-section,
.site-shell>.cta-section,
.solution-page>section:not(.solution-hero),
.formatura-page>section:not(.formatura-hero),
.service-page>section:not(.service-hero),
.explore-page>section:not(.explore-hero),
.school-events-page>section:not(.school-events-hero) {
    padding-block: clamp(64px, 6vw, 84px)
}

@media (max-width:740px) {
    .school-events-idea-card {
        min-height: 316px
    }

    .school-events-idea-image {
        flex-basis: 138px;
        height: 138px
    }

    .school-events-idea-content {
        gap: 10px;
        padding: 16px 17px 11px
    }

    .school-events-idea-button {
        width: calc(100% - 34px);
        margin: 0 17px 16px
    }

    .site-shell>.section,
    .site-shell>.store-section,
    .site-shell>.festou-brasil-section,
    .site-shell>.cta-section,
    .solution-page>section:not(.solution-hero),
    .formatura-page>section:not(.formatura-hero),
    .service-page>section:not(.service-hero),
    .explore-page>section:not(.explore-hero),
    .school-events-page>section:not(.school-events-hero) {
        padding-block: 50px
    }
}

@media (prefers-reduced-motion:reduce) {

    .school-events-idea-card,
    .school-events-idea-image img {
        transition: none
    }
}

.school-events-idea-image img {
    transform-origin: 82%;
    transform: scale(1.28)
}

.school-events-idea-card:hover .school-events-idea-image img {
    transform: scale(1.32)
}

.school-events-idea-button,
.school-events-idea-card.teal .school-events-idea-button {
    background: var(--teal);
    letter-spacing: 0;
    border: 0;
    width: calc(100% - 40px);
    height: auto;
    min-height: 40px;
    font-size: 12px;
    position: static;
    bottom: auto;
    right: auto;
    box-shadow: 0 8px 16px #41b8b233;
    color: #fff !important
}

.school-events-idea-button:hover {
    filter: none;
    background: #35a9a4
}

@media (max-width:740px) {

    .school-events-idea-button,
    .school-events-idea-card.teal .school-events-idea-button {
        width: calc(100% - 34px)
    }

    .school-events-idea-image img {
        transform-origin: 82%;
        transform: scale(1.25)
    }

    .school-events-idea-card:hover .school-events-idea-image img {
        transform: scale(1.29)
    }
}

.school-events-idea-card>a.school-events-idea-button {
    border-radius: 999px;
    width: calc(100% - 40px);
    min-height: 40px;
    margin: 0 20px 19px;
    position: static;
    inset: auto
}

@media (max-width:740px) {
    .school-events-idea-card>a.school-events-idea-button {
        width: calc(100% - 34px);
        margin: 0 17px 16px
    }
}

.school-events-idea-card>a.school-events-idea-button {
    width: auto;
    min-height: 32px;
    box-shadow: none;
    align-self: flex-start;
    margin: 0 20px 19px;
    padding: 7px 16px;
    font-size: 11px;
    line-height: 1
}

@media (max-width:740px) {
    .school-events-idea-card>a.school-events-idea-button {
        width: auto;
        margin: 0 17px 16px;
        padding-inline: 15px
    }
}

.school-events-idea-card.teal>a.school-events-idea-button {
    width: auto;
    min-height: 32px;
    margin: 0 20px 19px;
    padding: 7px 16px
}

@media (max-width:740px) {
    .school-events-idea-card.teal>a.school-events-idea-button {
        width: auto;
        margin: 0 17px 16px;
        padding-inline: 15px
    }
}

.school-events-idea-grid {
    align-items: stretch
}

.school-events-idea-card {
    height: 100%
}

.school-events-idea-content {
    flex: auto;
    overflow: visible
}

.school-events-idea-card>a.school-events-idea-button,
.school-events-idea-card.teal>a.school-events-idea-button {
    visibility: visible;
    opacity: 1;
    flex: none;
    justify-content: center;
    align-items: center;
    display: inline-flex;
    position: static
}

.school-events-idea-image {
    aspect-ratio: 3/2;
    flex: none;
    height: auto
}

.school-events-idea-image img,
.school-events-idea-card:hover .school-events-idea-image img {
    object-fit: cover;
    object-position: center;
    height: 100%;
    transform: none
}

.main-nav .nav-home {
    white-space: nowrap;
    align-items: center;
    font: 600 12px Poppins, sans-serif;
    display: inline-flex
}

@media (max-width:1200px) and (min-width:901px) {
    .main-nav .nav-home {
        font-size: 11px
    }
}

@media (max-width:900px) {
    .main-nav .nav-home {
        border-bottom: 1px solid #ffffff1a;
        width: 100%;
        padding: 13px 12px;
        display: flex
    }
}

@media (min-width:901px) {
    .main-nav .nav-home {
        transform: translateY(1px)
    }
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-ordinal {
    syntax: "*";
    inherits: false
}

@property --tw-slashed-zero {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-figure {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-spacing {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-fraction {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-content {
    syntax: "*";
    inherits: false;
    initial-value: ""
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes pulse {
    50% {
        opacity: .5
    }
}

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0)scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0));
        filter: blur(var(--tw-enter-blur, 0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0)scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0));
        filter: blur(var(--tw-exit-blur, 0))
    }
}

@keyframes accordion-down {
    0% {
        height: 0
    }

    to {
        height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))))
    }
}

@keyframes accordion-up {
    0% {
        height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))))
    }

    to {
        height: 0
    }
}

@keyframes caret-blink {

    0%,
    70%,
    to {
        opacity: 1
    }

    20%,
    50% {
        opacity: 0
    }
}