/*! tailwindcss v4.1.3 | 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-space-y-reverse: 0;
      --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-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-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
    }
  }
}

@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-gray-100: oklch(.967 .003 264.542);
    --color-gray-600: oklch(.446 .03 256.802);
    --color-gray-700: oklch(.373 .034 259.733);
    --color-gray-900: oklch(.21 .034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-lg: 32rem;
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --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-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-xs: .125rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(--font-sans--font-variation-settings);
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(--font-mono--font-feature-settings);
    --default-mono-font-variation-settings: var(--font-mono--font-variation-settings);
  }
}

@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;
  }

  body {
    line-height: inherit;
  }

  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;
    -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;
    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;
  }

  :-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);
    }
  }

  * {
    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);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) h4 {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) p {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) label, :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip: rect(0, 0, 0, 0);
    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;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-\[50\%\] {
    top: 50%;
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .left-\[50\%\] {
    left: 50%;
  }

  .z-50 {
    z-index: 50;
  }

  .\!mt-1 {
    margin-top: calc(var(--spacing) * 1) !important;
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-row {
    display: table-row;
  }

  .field-sizing-content {
    field-sizing: content;
  }

  .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);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-full {
    height: 100%;
  }

  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .caption-bottom {
    caption-side: bottom;
  }

  .translate-x-\[-50\%\] {
    --tw-translate-x: -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);
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded-\[4px\] {
    border-radius: 4px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius)  - 2px);
  }

  .rounded-xs {
    border-radius: var(--radius-xs);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-\[\#C53796\]\/10 {
    border-color: oklab(57.8486% .193559 -.0546956 / .1);
  }

  .border-\[\#C53796\]\/20 {
    border-color: oklab(57.8486% .193559 -.0546956 / .2);
  }

  .border-input {
    border-color: var(--input);
  }

  .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-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-input-background {
    background-color: var(--input-background);
  }

  .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-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[\#C53796\] {
    --tw-gradient-from: #c53796;
    --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));
  }

  .from-\[\#C53796\]\/5 {
    --tw-gradient-from: oklab(57.8486% .193559 -.0546956 / .05);
    --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));
  }

  .from-\[\#C53796\]\/10 {
    --tw-gradient-from: oklab(57.8486% .193559 -.0546956 / .1);
    --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-\[\#8B2674\] {
    --tw-gradient-to: #8b2674;
    --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-\[\#8B2674\]\/5 {
    --tw-gradient-to: oklab(45.4545% .149421 -.0588031 / .05);
    --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-\[\#8B2674\]\/10 {
    --tw-gradient-to: oklab(45.4545% .149421 -.0588031 / .1);
    --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));
  }

  .bg-clip-text {
    background-clip: text;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .align-middle {
    vertical-align: middle;
  }

  .\!text-3xl {
    font-size: var(--text-3xl) !important;
    line-height: var(--tw-leading, var(--text-3xl--line-height)) !important;
  }

  .\!text-lg {
    font-size: var(--text-lg) !important;
    line-height: var(--tw-leading, var(--text-lg--line-height)) !important;
  }

  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .\!font-bold {
    --tw-font-weight: var(--font-weight-bold) !important;
    font-weight: var(--font-weight-bold) !important;
  }

  .\!font-semibold {
    --tw-font-weight: var(--font-weight-semibold) !important;
    font-weight: var(--font-weight-semibold) !important;
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[\#C53796\] {
    color: #c53796;
  }

  .text-current {
    color: currentColor;
  }

  .text-foreground {
    color: var(--foreground);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-transparent {
    color: #0000;
  }

  .text-white {
    color: var(--color-white);
  }

  .opacity-70 {
    opacity: .7;
  }

  .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-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-offset-background {
    --tw-ring-offset-color: var(--background);
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, 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;
    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-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-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .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"] *) {
    opacity: .5;
  }

  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }

  .peer-disabled\:opacity-50:is(:where(.peer):disabled ~ *) {
    opacity: .5;
  }

  .selection\:bg-primary ::selection, .selection\:bg-primary::selection {
    background-color: var(--primary);
  }

  .selection\:text-primary-foreground ::selection, .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);
  }

  .last\:border-b-0:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  @media (hover: 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);
      }
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  @media (hover: hover) {
    .hover\:opacity-100:hover {
      opacity: 1;
    }
  }

  .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\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .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\/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);
    }
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .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-duration, .2s) ease-out;
  }

  .data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation: exit var(--tw-duration, .15s) var(--tw-ease, ease);
  }

  .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\=open\]\:animate-accordion-down[data-state="open"] {
    animation: accordion-down var(--tw-duration, .2s) ease-out;
  }

  .data-\[state\=open\]\:animate-in[data-state="open"] {
    animation: enter var(--tw-duration, .15s) var(--tw-ease, ease);
  }

  .data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: var(--accent);
  }

  .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: var(--muted-foreground);
  }

  .data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
  }

  .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
  }

  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: var(--muted);
  }

  @media (width >= 40rem) {
    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }
  }

  @media (width >= 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (width >= 40rem) {
    .sm\:justify-end {
      justify-content: flex-end;
    }
  }

  @media (width >= 40rem) {
    .sm\:text-left {
      text-align: left;
    }
  }

  @media (width >= 48rem) {
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (width >= 48rem) {
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  .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\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state="checked"] {
    background-color: var(--primary);
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_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;
  }

  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
    padding-right: calc(var(--spacing) * 0);
  }

  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role="checkbox"] {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state="open"] > svg {
    rotate: 180deg;
  }
}

:root {
  --font-size: 16px;
  --background: #fff;
  --foreground: oklch(.145 0 0);
  --card: #fff;
  --card-foreground: oklch(.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(.145 0 0);
  --primary: #030213;
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(.95 .0058 264.53);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #fff;
  --border: #0000001a;
  --input: transparent;
  --input-background: #f3f3f5;
  --switch-background: #cbced4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: oklch(.708 0 0);
  --chart-1: oklch(.646 .222 41.116);
  --chart-2: oklch(.6 .118 184.704);
  --chart-3: oklch(.398 .07 227.392);
  --chart-4: oklch(.828 .189 84.429);
  --chart-5: oklch(.769 .188 70.08);
  --radius: .625rem;
  --sidebar: oklch(.985 0 0);
  --sidebar-foreground: oklch(.145 0 0);
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.97 0 0);
  --sidebar-accent-foreground: oklch(.205 0 0);
  --sidebar-border: oklch(.922 0 0);
  --sidebar-ring: oklch(.708 0 0);
}

.dark {
  --background: oklch(.145 0 0);
  --foreground: oklch(.985 0 0);
  --card: oklch(.145 0 0);
  --card-foreground: oklch(.985 0 0);
  --popover: oklch(.145 0 0);
  --popover-foreground: oklch(.985 0 0);
  --primary: oklch(.985 0 0);
  --primary-foreground: oklch(.205 0 0);
  --secondary: oklch(.269 0 0);
  --secondary-foreground: oklch(.985 0 0);
  --muted: oklch(.269 0 0);
  --muted-foreground: oklch(.708 0 0);
  --accent: oklch(.269 0 0);
  --accent-foreground: oklch(.985 0 0);
  --destructive: oklch(.396 .141 25.723);
  --destructive-foreground: oklch(.637 .237 25.331);
  --border: oklch(.269 0 0);
  --input: oklch(.269 0 0);
  --ring: oklch(.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(.488 .243 264.376);
  --chart-2: oklch(.696 .17 162.48);
  --chart-3: oklch(.769 .188 70.08);
  --chart-4: oklch(.627 .265 303.9);
  --chart-5: oklch(.645 .246 16.439);
  --sidebar: oklch(.205 0 0);
  --sidebar-foreground: oklch(.985 0 0);
  --sidebar-primary: oklch(.488 .243 264.376);
  --sidebar-primary-foreground: oklch(.985 0 0);
  --sidebar-accent: oklch(.269 0 0);
  --sidebar-accent-foreground: oklch(.985 0 0);
  --sidebar-border: oklch(.269 0 0);
  --sidebar-ring: oklch(.439 0 0);
}

html {
  font-size: var(--font-size);
}

.tilda-section {
  height: 100vh;
  min-height: 800px;
  position: relative;
  overflow: hidden;
}

.tilda-hero-section {
  color: #fff;
  opacity: 0;
  contain: layout style paint;
  justify-content: center;
  align-items: center;
  height: auto;
  min-height: 800px;
  padding: 40px 0;
  font-family: Arial, sans-serif;
  line-height: 1.6;
  transition: opacity .5s ease-in-out;
  display: flex;
  position: relative;
  overflow: hidden;
}

.tilda-hero-section.initialized {
  opacity: 1;
}

.tilda-parallax-bg {
  will-change: transform;
  z-index: -1;
  opacity: 0;
  backface-visibility: hidden;
  background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%) center / cover no-repeat;
  width: 100%;
  height: 120%;
  transition: opacity .8s ease-in-out;
  position: absolute;
  top: -20%;
  left: 0;
  transform: translate3d(0, 0, 0);
}

.tilda-parallax-bg.loaded {
  opacity: 1;
}

.tilda-hero-container {
  z-index: 2;
  grid-template-columns: 1fr 400px;
  justify-content: center;
  align-items: center;
  gap: 60px;
  width: 100%;
  max-width: 1400px;
  height: 100%;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  position: relative;
  transform: scale3d(1, 1, 1);
}

.tilda-hero-content {
  flex-direction: column;
  gap: 40px;
  display: flex;
}

.tilda-hero-text {
  animation: 1s ease-out tilda-fadeInUp;
}

.tilda-hero-title {
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px #00000080;
  margin-bottom: 20px;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.tilda-hero-subtitle {
  color: #c53796;
  text-shadow: 2px 2px 4px #00000080;
  font-size: 3.6rem;
  font-weight: 700;
}

.tilda-hero-description {
  letter-spacing: 1px;
  opacity: .9;
  text-shadow: 1px 1px 2px #00000080;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
}

.tilda-info-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #333;
  background: #fffffff2;
  border: 1px solid #fff3;
  border-radius: 20px;
  padding: 30px;
  animation: 1s ease-out .3s both tilda-fadeInUp;
  box-shadow: 0 20px 40px #0003;
}

.tilda-card-title {
  color: #c53796;
  letter-spacing: 2px;
  margin-bottom: 20px;
  font-size: 2.3rem;
  font-weight: 600;
}

.tilda-card-content p {
  color: #555;
  margin-bottom: 15px;
  font-size: 1.2rem;
  line-height: 1.7;
}

.tilda-card-content p:last-child {
  margin-bottom: 0;
}

.tilda-hero-video {
  animation: 1s ease-out .5s both tilda-fadeInRight;
}

.tilda-video-container {
  border: 3px solid #fff3;
  border-radius: 20px;
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 50px #0000004d;
}

.tilda-video-placeholder {
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(135deg, #ff6b35cc 0%, #ff6b3599 50%, #000000b3 100%), url("https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=60") center / cover;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.tilda-video-placeholder.show {
  opacity: 1;
  pointer-events: all;
}

.tilda-video-placeholder:hover {
  transform: scale(1.02);
}

.tilda-video-content {
  text-align: center;
  color: #fff;
}

.tilda-play-button {
  margin-bottom: 20px;
  transition: all .3s;
}

.tilda-play-button:hover {
  transform: scale(1.1);
}

.tilda-video-text {
  letter-spacing: 1px;
  text-shadow: 2px 2px 4px #000000b3;
  font-size: 1.1rem;
  font-weight: 300;
}

.tilda-hero-video-element {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.tilda-scroll-indicator {
  text-align: center;
  z-index: 3;
  animation: 2s infinite tilda-bounce;
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
}

.tilda-scroll-arrow {
  margin-bottom: 10px;
}

.tilda-scroll-text {
  letter-spacing: 1px;
  opacity: .8;
  font-size: .9rem;
}

@keyframes tilda-fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tilda-fadeInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes tilda-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  40% {
    transform: translateX(-50%)translateY(-10px);
  }

  60% {
    transform: translateX(-50%)translateY(-5px);
  }
}

@media (width <= 1200px) {
  .tilda-hero-container {
    grid-template-columns: 1fr 350px;
    gap: 40px;
    padding: 0 30px;
  }

  .tilda-hero-title {
    font-size: 3.8rem;
  }

  .tilda-hero-subtitle {
    font-size: 3rem;
  }

  .tilda-video-container {
    height: 500px;
  }
}

@media (width <= 968px) {
  .tilda-hero-container {
    text-align: center;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 0 20px;
  }

  .tilda-hero-title {
    font-size: 3.2rem;
  }

  .tilda-hero-subtitle {
    font-size: 2.6rem;
  }

  .tilda-video-container {
    max-width: 500px;
    height: 400px;
    margin: 0 auto;
  }

  .tilda-info-card {
    max-width: 600px;
    margin: 0 auto;
  }
}

@media (width <= 768px) {
  .tilda-section {
    height: auto;
    min-height: 100vh;
  }

  .tilda-hero-section {
    height: auto;
    min-height: 100vh;
    padding: 0;
    display: block;
  }

  .tilda-hero-container {
    flex-direction: column;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 100vh;
    padding: 0;
    display: flex;
  }

  .tilda-hero-content {
    flex-direction: column;
    order: 1;
    gap: 0;
    width: 100%;
    display: flex;
  }

  .tilda-hero-text {
    text-align: center;
    background: #000c;
    width: 100%;
    margin: 0;
    padding: 40px 20px;
  }

  .tilda-hero-title {
    letter-spacing: 2px;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    color: #fff;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    width: 100%;
    margin-bottom: 15px;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-subtitle {
    letter-spacing: 1.5px;
    color: #c53796;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    width: 100%;
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-description {
    letter-spacing: .8px;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 2px #000000b3;
    width: 100%;
    margin: 20px 0 0;
    font-size: 1.1rem;
    line-height: 1.6;
  }

  .tilda-info-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
    border: none;
    border-radius: 20px;
    order: 2;
    width: calc(100% - 32px);
    margin: 16px;
    padding: 30px 24px;
    display: block;
    box-shadow: 0 8px 32px #0000001f;
  }

  .tilda-card-title {
    color: #c53796;
    text-align: left;
    letter-spacing: .5px;
    margin-bottom: 20px;
    font-size: 1.75rem;
    font-weight: 600;
  }

  .tilda-card-content p {
    text-align: left;
    color: #2d3748;
    margin-bottom: 16px;
    font-size: .95rem;
    font-weight: 400;
    line-height: 1.6;
  }

  .tilda-hero-video {
    order: 3;
    width: calc(100% - 40px);
    margin: 20px;
  }

  .tilda-video-container {
    border: 2px solid #fff3;
    border-radius: 15px;
    width: 100%;
    height: 400px;
    margin: 0;
    overflow: hidden;
    box-shadow: 0 15px 30px #0003;
  }
}

@media (width <= 480px) {
  .tilda-section {
    height: auto;
    min-height: 100vh;
  }

  .tilda-hero-section {
    height: auto;
    min-height: 100vh;
    padding: 0;
    display: block;
  }

  .tilda-hero-container {
    flex-direction: column;
    gap: 0;
    height: auto;
    min-height: 100vh;
    display: flex;
  }

  .tilda-hero-content {
    flex-direction: column;
    width: 100%;
    display: flex;
  }

  .tilda-hero-text {
    text-align: center;
    background: #000c;
    width: 100%;
    margin: 0;
    padding: 30px 15px;
  }

  .tilda-hero-title {
    letter-spacing: 1.5px;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    color: #fff;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    margin-bottom: 12px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-subtitle {
    letter-spacing: 1px;
    color: #c53796;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-description {
    letter-spacing: .6px;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 2px #000000b3;
    margin: 15px 0 0;
    font-size: .95rem;
    line-height: 1.5;
  }

  .tilda-info-card {
    background: #fff;
    border: none;
    border-radius: 18px;
    order: 2;
    width: calc(100% - 24px);
    margin: 12px;
    padding: 26px 20px;
    display: block;
    box-shadow: 0 6px 28px #0000001a;
  }

  .tilda-card-title {
    color: #c53796;
    text-align: left;
    letter-spacing: .5px;
    margin-bottom: 18px;
    font-size: 1.5rem;
    font-weight: 600;
  }

  .tilda-card-content p {
    text-align: left;
    color: #2d3748;
    margin-bottom: 14px;
    font-size: .88rem;
    font-weight: 400;
    line-height: 1.55;
  }

  .tilda-hero-video {
    order: 3;
    width: calc(100% - 30px);
    margin: 15px;
  }

  .tilda-video-container {
    border: 2px solid #fff3;
    border-radius: 12px;
    width: 100%;
    height: 300px;
    margin: 0;
    overflow: hidden;
    box-shadow: 0 10px 25px #0003;
  }

  .tilda-scroll-indicator {
    bottom: 20px;
  }
}

@media (width <= 360px) {
  .tilda-section {
    height: auto;
    min-height: 100vh;
  }

  .tilda-hero-section {
    height: auto;
    min-height: 100vh;
    padding: 0;
    display: block;
  }

  .tilda-hero-container {
    flex-direction: column;
    gap: 0;
    height: auto;
    min-height: 100vh;
    padding: 0;
    display: flex;
  }

  .tilda-hero-content {
    flex-direction: column;
    width: 100%;
    display: flex;
  }

  .tilda-hero-text {
    text-align: center;
    background: #000c;
    width: 100%;
    margin: 0;
    padding: 25px 12px;
  }

  .tilda-hero-title {
    letter-spacing: 1.2px;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    color: #fff;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    margin-bottom: 10px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-subtitle {
    letter-spacing: .8px;
    color: #c53796;
    text-shadow: 2px 2px 4px #000000b3;
    text-align: center;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
  }

  .tilda-hero-description {
    letter-spacing: .5px;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 2px #000000b3;
    margin: 12px 0 0;
    font-size: .9rem;
    line-height: 1.4;
  }

  .tilda-info-card {
    background: #fff;
    border: none;
    border-radius: 16px;
    order: 2;
    width: calc(100% - 20px);
    margin: 10px;
    padding: 22px 18px;
    display: block;
    box-shadow: 0 4px 24px #00000014;
  }

  .tilda-card-title {
    color: #c53796;
    text-align: left;
    letter-spacing: .5px;
    margin-bottom: 16px;
    font-size: 1.35rem;
    font-weight: 600;
  }

  .tilda-card-content p {
    text-align: left;
    color: #2d3748;
    margin-bottom: 12px;
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.5;
  }

  .tilda-hero-video {
    order: 3;
    width: calc(100% - 24px);
    margin: 12px;
  }

  .tilda-video-container {
    border: 2px solid #fff3;
    border-radius: 10px;
    width: 100%;
    height: 250px;
    margin: 0;
    overflow: hidden;
    box-shadow: 0 8px 20px #0003;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tilda-hero-text, .tilda-info-card, .tilda-hero-video, .tilda-scroll-indicator {
    animation: none;
  }

  .tilda-video-placeholder:hover, .tilda-play-button:hover {
    transform: none;
  }
}

.individual-programs-section {
  background-color: #0000;
  background-image: linear-gradient(#0009, #0006), url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80");
  background-position: 0 0, center;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: fixed;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;
  align-items: center;
  min-height: 100vh;
  padding: 80px 20px;
  display: flex;
  position: relative;
}

.services-badge {
  -webkit-backdrop-filter: blur(10px);
  color: #fffc;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  z-index: 10;
  background: #ffffff26;
  border: 1px solid #fff3;
  border-radius: 20px;
  padding: 10px 20px;
  font-size: .8rem;
  font-weight: 500;
  animation: 1s ease-out fadeInLeft;
  position: absolute;
  top: 30px;
  left: 30px;
}

.programs-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.programs-header {
  text-align: center;
  margin-bottom: 80px;
  animation: 1s ease-out fadeInUp;
}

.programs-title {
  letter-spacing: 4px;
  color: #fff;
  text-shadow: 2px 2px 4px #00000080;
  margin-bottom: 30px;
  font-size: 3.5rem;
  font-weight: 300;
  position: relative;
}

.programs-title:after {
  content: "";
  background: linear-gradient(90deg, #ff6b35, #ff8c42);
  border-radius: 2px;
  width: 100px;
  height: 3px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.programs-description {
  color: #fff;
  text-shadow: 1px 1px 2px #00000080;
  opacity: .95;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.8;
}

.programs-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
  display: grid;
}

.program-card {
  text-align: center;
  -webkit-backdrop-filter: blur(10px);
  background: #fffffff2;
  border: 1px solid #fff3;
  border-radius: 20px;
  padding: 40px 30px;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 15px 35px #0003;
}

.program-card:before {
  content: "";
  background: linear-gradient(90deg, #ff6b35, #ff8c42);
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.program-card:hover {
  background: #fff;
  transform: translateY(-10px);
  box-shadow: 0 25px 50px #0000004d;
}

.program-content {
  z-index: 2;
  position: relative;
}

.program-icon {
  color: #fff;
  background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 30px;
  transition: all .3s;
  display: flex;
  box-shadow: 0 8px 20px #ff6b354d;
}

.program-card:hover .program-icon {
  background: linear-gradient(135deg, #ff8c42 0%, #ff6b35 100%);
  transform: translateY(-5px)scale(1.1);
  box-shadow: 0 12px 25px #ff6b3566;
}

.program-title {
  color: #333;
  letter-spacing: 1px;
  margin-bottom: 25px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
}

.program-description {
  color: #666;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.program-card {
  animation: .8s ease-out fadeInUp;
}

.program-card:first-child {
  animation-delay: .2s;
}

.program-card:nth-child(2) {
  animation-delay: .4s;
}

.program-card:nth-child(3) {
  animation-delay: .6s;
}

.bath-programs-section {
  background: #f8f9fa;
  min-height: 100vh;
  padding: 80px 20px;
}

.bath-programs-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.bath-programs-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 40px;
  display: grid;
}

.bath-program-card {
  background: #fff;
  border-radius: 15px;
  transition: all .3s;
  animation: .8s ease-out fadeInUp;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000001a;
}

.bath-program-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #00000026;
}

.program-image-container {
  width: 100%;
  height: 200px;
  position: relative;
  overflow: hidden;
}

.hit-badge {
  color: #fff;
  z-index: 10;
  letter-spacing: 1px;
  background: #ff6b35;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: .8rem;
  font-weight: 600;
  position: absolute;
  top: 15px;
  right: 15px;
}

.program-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .3s;
}

.bath-program-card:hover .program-image {
  transform: scale(1.05);
}

.program-info {
  text-align: left;
  padding: 25px;
}

.program-name {
  color: #333;
  letter-spacing: .5px;
  margin-bottom: 8px;
  font-size: 1.3rem;
  font-weight: 700;
}

.program-guests {
  color: #666;
  margin-bottom: 15px;
  font-size: .9rem;
  font-weight: 400;
}

.program-details {
  color: #888;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: .85rem;
  display: flex;
}

.program-duration, .program-stages {
  font-weight: 500;
}

.program-separator {
  color: #ccc;
  font-weight: 300;
}

.program-price {
  color: #b8860b;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 700;
}

.program-button {
  color: #fff;
  cursor: pointer;
  letter-spacing: .5px;
  background: #8b4513;
  border: none;
  border-radius: 8px;
  width: 100%;
  padding: 12px 24px;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
}

.program-button:hover {
  background: sienna;
  transform: translateY(-2px);
}

.special-card {
  color: #333;
  background: #fff;
}

.special-card .program-name {
  color: #333;
  font-size: 1.3rem;
  font-weight: 700;
}

.special-card .program-guests {
  color: #666;
}

.special-card .program-details {
  color: #888;
}

.special-card .program-price {
  color: #b8860b;
}

.special-card .program-button {
  color: #fff;
  background: #8b4513;
}

.special-card .program-button:hover {
  background: sienna;
}

.bath-program-card:first-child {
  animation-delay: .1s;
}

.bath-program-card:nth-child(2) {
  animation-delay: .2s;
}

.bath-program-card:nth-child(3) {
  animation-delay: .3s;
}

.bath-program-card:nth-child(4) {
  animation-delay: .4s;
}

.bath-program-card:nth-child(5) {
  animation-delay: .5s;
}

.bath-program-card:nth-child(6) {
  animation-delay: .6s;
}

@media (width <= 1024px) {
  .programs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  .programs-title {
    font-size: 2.8rem;
  }

  .programs-description {
    font-size: 1.1rem;
  }

  .bath-programs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}

@media (width <= 768px) {
  .individual-programs-section {
    background: linear-gradient(#000000b3, #00000080), url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80") center / cover no-repeat;
    min-height: auto;
    padding: 60px 15px;
  }

  .services-badge {
    text-align: center;
    letter-spacing: 1.2px;
    color: #fffffff2;
    background: #c5379633;
    border: 1px solid #c5379666;
    width: fit-content;
    margin: 0 auto 30px;
    padding: 10px 20px;
    font-size: .8rem;
    display: block;
    position: relative;
    top: auto;
    left: auto;
  }

  .programs-header {
    margin-bottom: 50px;
  }

  .programs-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 40px;
  }

  .programs-title {
    letter-spacing: 2px;
    margin-bottom: 25px;
    font-size: 2.5rem;
  }

  .programs-description {
    max-width: 90%;
    padding: 0 15px;
    font-size: 1.1rem;
    line-height: 1.7;
  }

  .program-card {
    max-width: 400px;
    margin: 0 auto;
    padding: 35px 30px;
    box-shadow: 0 20px 40px #00000040;
  }

  .program-icon {
    width: 75px;
    height: 75px;
    margin-bottom: 25px;
  }

  .program-icon svg {
    width: 42px;
    height: 42px;
  }

  .program-title {
    margin-bottom: 20px;
    font-size: 1.3rem;
    line-height: 1.3;
  }

  .program-description {
    font-size: 1rem;
    line-height: 1.6;
  }

  .bath-programs-section {
    padding: 60px 15px;
  }

  .bath-programs-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .program-info {
    padding: 20px;
  }

  .program-name {
    font-size: 1.2rem;
  }

  .program-price {
    font-size: 1.6rem;
  }
}

@media (width <= 480px) {
  .individual-programs-section {
    background-color: #0000;
    background-image: linear-gradient(#000000bf, #0009), url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80");
    background-position: 0 0, center;
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-attachment: scroll;
    background-origin: padding-box, padding-box;
    background-clip: border-box, border-box;
    padding: 50px 15px;
  }

  .services-badge {
    text-align: center;
    letter-spacing: 1px;
    color: #fff;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background: #c5379640;
    border: 1px solid #c5379680;
    width: fit-content;
    margin: 0 auto 25px;
    padding: 8px 16px;
    font-size: .75rem;
    display: block;
    position: relative;
    top: auto;
    left: auto;
  }

  .programs-header {
    text-align: center;
    margin-bottom: 40px;
  }

  .programs-grid {
    gap: 25px;
    margin-top: 30px;
  }

  .programs-title {
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.2;
  }

  .programs-description {
    max-width: 95%;
    margin: 0 auto;
    padding: 0 10px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .program-card {
    background: #fffffffa;
    max-width: 350px;
    margin: 0 auto;
    padding: 30px 25px;
    box-shadow: 0 15px 35px #0000004d;
  }

  .program-icon {
    width: 70px;
    height: 70px;
    margin-bottom: 22px;
  }

  .program-icon svg {
    width: 38px;
    height: 38px;
  }

  .program-title {
    letter-spacing: .5px;
    margin-bottom: 18px;
    font-size: 1.25rem;
    line-height: 1.3;
  }

  .program-description {
    color: #555;
    font-size: .95rem;
    line-height: 1.55;
  }

  .bath-programs-section {
    padding: 40px 10px;
  }

  .program-image-container {
    height: 180px;
  }

  .program-info {
    padding: 15px;
  }

  .program-name {
    font-size: 1.1rem;
  }

  .program-price {
    font-size: 1.4rem;
  }

  .program-button {
    padding: 10px 20px;
    font-size: .85rem;
  }
}

@media (width <= 360px) {
  .individual-programs-section {
    padding: 40px 12px;
  }

  .services-badge {
    margin-bottom: 20px;
    padding: 6px 14px;
    font-size: .7rem;
  }

  .programs-header {
    margin-bottom: 35px;
  }

  .programs-title {
    letter-spacing: 1px;
    margin-bottom: 18px;
    font-size: 1.75rem;
  }

  .programs-description {
    padding: 0 8px;
    font-size: .9rem;
    line-height: 1.55;
  }

  .program-card {
    max-width: 320px;
    margin: 0 auto;
    padding: 25px 20px;
  }

  .program-icon {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
  }

  .program-icon svg {
    width: 34px;
    height: 34px;
  }

  .program-title {
    margin-bottom: 16px;
    font-size: 1.1rem;
    line-height: 1.25;
  }

  .program-description {
    font-size: .88rem;
    line-height: 1.5;
  }
}

.services-section {
  background-color: #f5f5f5;
  padding: 80px 20px;
  font-family: Montserrat, Arial, sans-serif;
}

.services-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.services-header {
  text-align: center;
  margin-bottom: 60px;
  animation: 1s ease-out fadeInUp;
}

.services-title {
  letter-spacing: 3px;
  color: #333;
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: 300;
  position: relative;
}

.services-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 80px;
  height: 3px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.services-description {
  color: #666;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
}

.services-row {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
  display: grid;
}

.service-card {
  cursor: pointer;
  opacity: 0;
  border-radius: 15px;
  height: 280px;
  transition: all .3s;
  animation: .6s forwards fadeInUp;
  position: relative;
  overflow: hidden;
  transform: translateY(30px);
  box-shadow: 0 8px 25px #00000026;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px #00000040;
}

.service-image {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.service-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .3s;
}

.service-card:hover .service-image img {
  transform: scale(1.05);
}

.service-overlay {
  background: linear-gradient(135deg, #000000b3 0%, #000000d9 100%);
  align-items: flex-end;
  padding: 25px;
  transition: all .3s;
  display: flex;
  position: absolute;
  inset: 0;
}

.service-card:hover .service-overlay {
  background: linear-gradient(135deg, #00000080 0%, #000000b3 100%);
}

.service-content {
  color: #fff;
  text-align: left;
  width: 100%;
}

.service-title {
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 2px 4px #0000004d;
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.service-subtitle {
  opacity: .9;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #0000004d;
  margin-bottom: 15px;
  font-size: 12px;
  font-weight: 500;
}

.service-button {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #d2691e 100%);
  border: none;
  border-radius: 25px;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 4px 15px #c537964d;
}

.service-button:hover {
  background: linear-gradient(135deg, #d2691e 0%, #c53796 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #c5379666;
}

.service-button:active {
  transform: translateY(0);
}

.service-card:first-child .service-button {
  background: linear-gradient(135deg, #c53796 0%, peru 100%);
  box-shadow: 0 4px 15px #c537964d;
}

.service-card:nth-child(2) .service-button {
  background: linear-gradient(135deg, #b8860b 0%, #daa520 100%);
  box-shadow: 0 4px 15px #b8860b4d;
}

.service-card:nth-child(3) .service-button {
  background: linear-gradient(135deg, #8b4513 0%, sienna 100%);
  box-shadow: 0 4px 15px #8b45134d;
}

.service-card:nth-child(4) .service-button {
  background: linear-gradient(135deg, #d2691e 0%, peru 100%);
  box-shadow: 0 4px 15px #d2691e4d;
}

.service-card:first-child .service-button:hover {
  background: linear-gradient(135deg, peru 0%, #c53796 100%);
}

.service-card:nth-child(2) .service-button:hover {
  background: linear-gradient(135deg, #daa520 0%, #b8860b 100%);
}

.service-card:nth-child(3) .service-button:hover {
  background: linear-gradient(135deg, sienna 0%, #8b4513 100%);
}

.service-card:nth-child(4) .service-button:hover {
  background: linear-gradient(135deg, peru 0%, #d2691e 100%);
}

.service-card:first-child {
  animation-delay: .1s;
}

.service-card:nth-child(2) {
  animation-delay: .2s;
}

.service-card:nth-child(3) {
  animation-delay: .3s;
}

.service-card:nth-child(4) {
  animation-delay: .4s;
}

.service-card:before {
  content: "";
  z-index: 1;
  background: linear-gradient(45deg, #0000 30%, #ffffff1a 50%, #0000 70%);
  transition: transform .6s;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.service-card:hover:before {
  transform: translateX(100%);
}

.services-row:hover .service-card:not(:hover) {
  opacity: .7;
  transform: scale(.98)translateY(-5px);
}

@media (width <= 1024px) {
  .services-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .service-card {
    height: 250px;
  }

  .service-title {
    font-size: 16px;
  }
}

@media (width <= 768px) {
  .services-section {
    padding: 60px 15px;
  }

  .services-header {
    margin-bottom: 40px;
  }

  .services-title {
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-size: 2rem;
  }

  .services-title:after {
    width: 60px;
    height: 2px;
  }

  .services-description {
    padding: 0 10px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .services-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .service-card {
    height: 200px;
  }

  .service-overlay {
    padding: 20px;
  }

  .service-title {
    margin-bottom: 6px;
    font-size: 1.3rem;
  }

  .service-subtitle {
    margin-bottom: 12px;
    font-size: .9rem;
  }

  .service-button {
    padding: 10px 20px;
    font-size: .9rem;
  }
}

@media (width <= 480px) {
  .services-section {
    padding: 40px 15px;
  }

  .services-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .service-card {
    height: 220px;
  }

  .service-title {
    font-size: 16px;
  }

  .service-subtitle {
    font-size: 12px;
  }

  .service-button {
    padding: 10px 20px;
    font-size: 12px;
  }
}

.retreat-space-section {
  background-color: #f5f5f5;
  padding: 80px 20px;
  font-family: Montserrat, Arial, sans-serif;
  position: relative;
}

.organizers-badge {
  -webkit-backdrop-filter: blur(10px);
  color: #c53796;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  z-index: 10;
  background: #c5379626;
  border: 1px solid #c537964d;
  border-radius: 25px;
  padding: 12px 24px;
  font-size: .85rem;
  font-weight: 600;
  transition: all .3s;
  animation: 1s ease-out fadeInLeft;
  position: absolute;
  top: 30px;
  left: 30px;
  box-shadow: 0 4px 15px #c5379633;
}

.organizers-badge:hover {
  background: #c5379640;
  border-color: #c5379680;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #c537964d;
}

.retreat-space-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.retreat-space-header {
  text-align: center;
  margin-bottom: 60px;
  animation: 1s ease-out fadeInUp;
}

.retreat-space-title {
  letter-spacing: 3px;
  color: #333;
  text-transform: uppercase;
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: 300;
  position: relative;
}

.retreat-space-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 80px;
  height: 3px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.retreat-space-description {
  color: #666;
  max-width: 900px;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
}

.retreat-space-row {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
  display: grid;
}

.retreat-card {
  cursor: pointer;
  aspect-ratio: 3 / 4;
  opacity: 0;
  border-radius: 15px;
  transition: all .3s;
  animation: .6s forwards fadeInUp;
  position: relative;
  overflow: hidden;
  transform: translateY(30px);
  box-shadow: 0 8px 25px #00000026;
}

.retreat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px #00000040;
}

.retreat-image {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.retreat-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .3s;
}

.retreat-card:hover .retreat-image img {
  transform: scale(1.05);
}

.retreat-overlay {
  background: linear-gradient(135deg, #00000080 0%, #000000b3 100%);
  align-items: flex-end;
  padding: 25px;
  transition: all .3s;
  display: flex;
  position: absolute;
  inset: 0;
}

.retreat-card:hover .retreat-overlay {
  background: linear-gradient(135deg, #0000004d 0%, #00000080 100%);
}

.retreat-content {
  color: #fff;
  text-align: left;
  width: 100%;
}

.retreat-title {
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 2px 4px #0000004d;
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.retreat-subtitle {
  opacity: .9;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #0000004d;
  margin-bottom: 15px;
  font-size: 12px;
  font-weight: 500;
}

.retreat-button {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #d2691e 100%);
  border: none;
  border-radius: 25px;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 4px 15px #c537964d;
}

.retreat-button:hover {
  background: linear-gradient(135deg, #d2691e 0%, #c53796 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #c5379666;
}

.retreat-button:active {
  transform: translateY(0);
}

.retreat-card:first-child .retreat-button {
  background: linear-gradient(135deg, #c53796 0%, peru 100%);
  box-shadow: 0 4px 15px #c537964d;
}

.retreat-card:nth-child(2) .retreat-button {
  background: linear-gradient(135deg, #b8860b 0%, #daa520 100%);
  box-shadow: 0 4px 15px #b8860b4d;
}

.retreat-card:nth-child(3) .retreat-button {
  background: linear-gradient(135deg, #8b4513 0%, sienna 100%);
  box-shadow: 0 4px 15px #8b45134d;
}

.retreat-card:nth-child(4) .retreat-button {
  background: linear-gradient(135deg, #d2691e 0%, peru 100%);
  box-shadow: 0 4px 15px #d2691e4d;
}

.retreat-card:first-child .retreat-button:hover {
  background: linear-gradient(135deg, peru 0%, #c53796 100%);
}

.retreat-card:nth-child(2) .retreat-button:hover {
  background: linear-gradient(135deg, #daa520 0%, #b8860b 100%);
}

.retreat-card:nth-child(3) .retreat-button:hover {
  background: linear-gradient(135deg, sienna 0%, #8b4513 100%);
}

.retreat-card:nth-child(4) .retreat-button:hover {
  background: linear-gradient(135deg, peru 0%, #d2691e 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:first-child .retreat-button {
  background: linear-gradient(135deg, #8b4513 0%, sienna 100%);
  box-shadow: 0 4px 15px #8b45134d;
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(2) .retreat-button {
  background: linear-gradient(135deg, #c53796 0%, #8b4513 100%);
  box-shadow: 0 4px 15px #c537964d;
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(3) .retreat-button {
  background: linear-gradient(135deg, #daa520 0%, #c53796 100%);
  box-shadow: 0 4px 15px #daa5204d;
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(4) .retreat-button {
  background: linear-gradient(135deg, #d2691e 0%, #b8860b 100%);
  box-shadow: 0 4px 15px #d2691e4d;
}

.retreat-space-row:nth-child(3) .retreat-card:first-child .retreat-button:hover {
  background: linear-gradient(135deg, sienna 0%, #8b4513 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(2) .retreat-button:hover {
  background: linear-gradient(135deg, #8b4513 0%, #c53796 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(3) .retreat-button:hover {
  background: linear-gradient(135deg, #c53796 0%, #daa520 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(4) .retreat-button:hover {
  background: linear-gradient(135deg, #b8860b 0%, #d2691e 100%);
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.retreat-card:first-child {
  animation-delay: .1s;
}

.retreat-card:nth-child(2) {
  animation-delay: .2s;
}

.retreat-card:nth-child(3) {
  animation-delay: .3s;
}

.retreat-card:nth-child(4) {
  animation-delay: .4s;
}

.retreat-card:before {
  content: "";
  z-index: 1;
  background: linear-gradient(45deg, #0000 30%, #ffffff1a 50%, #0000 70%);
  transition: transform .6s;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.retreat-card:hover:before {
  transform: translateX(100%);
}

.retreat-space-row:hover .retreat-card:not(:hover) {
  opacity: .7;
  transform: scale(.98)translateY(-5px);
}

@media (width <= 1024px) {
  .retreat-space-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .retreat-card {
    aspect-ratio: 3 / 4;
  }

  .retreat-title {
    font-size: 16px;
  }
}

@media (width <= 768px) {
  .retreat-space-section {
    padding: 60px 15px;
  }

  .organizers-badge {
    text-align: center;
    letter-spacing: 1.2px;
    width: fit-content;
    margin: 20px auto 30px;
    padding: 10px 20px;
    font-size: .75rem;
    display: block;
    position: relative;
    top: auto;
    left: auto;
  }

  .retreat-space-header {
    margin-bottom: 40px;
  }

  .retreat-space-title {
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-size: 2rem;
  }

  .retreat-space-title:after {
    width: 60px;
    height: 2px;
  }

  .retreat-space-description {
    padding: 0 10px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .retreat-space-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .retreat-card {
    aspect-ratio: 3 / 4;
  }

  .retreat-overlay {
    padding: 20px;
  }

  .retreat-title {
    margin-bottom: 6px;
    font-size: 1.3rem;
  }

  .retreat-subtitle {
    margin-bottom: 12px;
    font-size: .9rem;
  }

  .retreat-button {
    padding: 10px 20px;
    font-size: .9rem;
  }
}

@media (width <= 480px) {
  .retreat-space-section {
    padding: 40px 15px;
  }

  .organizers-badge {
    text-align: center;
    letter-spacing: 1px;
    width: fit-content;
    margin: 15px auto 25px;
    padding: 8px 16px;
    font-size: .7rem;
    display: block;
    position: relative;
    top: auto;
    left: auto;
  }

  .retreat-space-row {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .retreat-card {
    aspect-ratio: 3 / 4;
  }

  .retreat-title {
    font-size: 16px;
  }

  .retreat-subtitle {
    font-size: 12px;
  }

  .retreat-button {
    padding: 10px 20px;
    font-size: 12px;
  }
}

.atmosphere-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  padding: 100px 20px;
  position: relative;
  overflow: hidden;
}

.atmosphere-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.atmosphere-header {
  text-align: center;
  margin-bottom: 70px;
  animation: 1s ease-out fadeInUp;
}

.atmosphere-title {
  letter-spacing: 6px;
  color: #333;
  text-transform: uppercase;
  margin-bottom: 50px;
  font-size: 3.5rem;
  font-weight: 300;
  position: relative;
}

.atmosphere-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 120px;
  height: 3px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.atmosphere-description {
  max-width: 900px;
  margin: 0 auto;
}

.atmosphere-description p {
  color: #555;
  letter-spacing: .5px;
  margin-bottom: 25px;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 2;
}

.atmosphere-description p:last-child {
  margin-bottom: 0;
}

.atmosphere-gallery-wrapper {
  margin-top: 60px;
  position: relative;
}

.atmosphere-gallery {
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: #c53796 #f0f0f0;
  -webkit-overflow-scrolling: touch;
  gap: 20px;
  padding: 10px 0 30px;
  display: flex;
  overflow: auto hidden;
}

.atmosphere-gallery::-webkit-scrollbar {
  height: 8px;
}

.atmosphere-gallery::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 10px;
}

.atmosphere-gallery::-webkit-scrollbar-thumb {
  background: #c53796;
  border-radius: 10px;
  transition: background .3s;
}

.atmosphere-gallery::-webkit-scrollbar-thumb:hover {
  background: #b02d7a;
}

.gallery-item {
  cursor: pointer;
  flex: none;
  width: calc(20% - 16px);
  transition: transform .3s;
  position: relative;
}

.gallery-item:hover {
  transform: translateY(-5px);
}

.gallery-item-frame {
  background: #fff;
  border-radius: 8px;
  height: 100%;
  padding: 15px;
  transition: box-shadow .3s;
  box-shadow: 0 8px 24px #0000001f;
}

.gallery-item:hover .gallery-item-frame {
  box-shadow: 0 12px 32px #0000002e;
}

.gallery-image {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: brightness(1.1) contrast(1.15) saturate(1.2);
  border-radius: 4px;
  width: 100%;
  transition: transform .5s, filter .3s;
  display: block;
}

.gallery-item:hover .gallery-image {
  filter: brightness(1.15) contrast(1.2) saturate(1.25);
  transform: scale(1.02);
}

.gallery-nav-button {
  cursor: pointer;
  z-index: 10;
  color: #fff;
  background: #c53796e6;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 4px 15px #c5379666;
}

.gallery-nav-button:active {
  transform: translateY(-50%)scale(.95);
}

.gallery-nav-left {
  left: 20px;
}

.gallery-nav-right {
  right: 20px;
}

.gallery-hint {
  text-align: center;
  color: #999;
  letter-spacing: 1px;
  margin-top: 30px;
  font-size: .9rem;
  animation: 1.5s ease-out fadeInUp;
}

@media (width <= 1024px) {
  .atmosphere-section {
    padding: 80px 15px;
  }

  .atmosphere-title {
    letter-spacing: 4px;
    font-size: 2.8rem;
  }

  .atmosphere-description p {
    margin-bottom: 20px;
    font-size: 1.15rem;
    line-height: 1.8;
  }

  .gallery-item {
    width: calc(25% - 15px);
  }

  .gallery-nav-button {
    width: 50px;
    height: 50px;
  }
}

@media (width <= 768px) {
  .atmosphere-section {
    padding: 60px 15px;
  }

  .atmosphere-header {
    margin-bottom: 50px;
  }

  .atmosphere-title {
    letter-spacing: 3px;
    margin-bottom: 40px;
    font-size: 2.2rem;
  }

  .atmosphere-title:after {
    width: 80px;
    height: 2px;
    bottom: -15px;
  }

  .atmosphere-description {
    padding: 0 10px;
  }

  .atmosphere-description p {
    margin-bottom: 18px;
    font-size: 1.05rem;
    line-height: 1.7;
  }

  .atmosphere-gallery-wrapper {
    margin-top: 40px;
  }

  .gallery-item {
    width: calc(50% - 10px);
  }

  .gallery-nav-button {
    display: none;
  }

  .gallery-hint {
    margin-top: 20px;
    font-size: .85rem;
    display: block;
  }
}

@media (width <= 480px) {
  .atmosphere-section {
    padding: 50px 15px;
  }

  .atmosphere-header {
    margin-bottom: 40px;
  }

  .atmosphere-title {
    letter-spacing: 2px;
    margin-bottom: 35px;
    font-size: 1.8rem;
  }

  .atmosphere-title:after {
    width: 60px;
    bottom: -12px;
  }

  .atmosphere-description p {
    margin-bottom: 15px;
    font-size: .95rem;
    line-height: 1.6;
  }

  .atmosphere-gallery {
    gap: 15px;
    padding: 10px 0 25px;
  }

  .gallery-item {
    width: calc(100% - 15px);
  }

  .gallery-hint {
    margin-top: 15px;
    font-size: .8rem;
  }
}

@media (width <= 360px) {
  .atmosphere-section {
    padding: 40px 12px;
  }

  .atmosphere-title {
    letter-spacing: 1.5px;
    margin-bottom: 30px;
    font-size: 1.6rem;
  }

  .atmosphere-description p {
    margin-bottom: 14px;
    font-size: .88rem;
    line-height: 1.55;
  }

  .gallery-item {
    width: calc(100% - 10px);
  }
}

.spa-services-carousel-section {
  background: linear-gradient(#000000b3, #0009), url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80") center / cover fixed;
  align-items: center;
  min-height: 100vh;
  padding: 80px 20px;
  font-family: Arial, sans-serif;
  display: flex;
  position: relative;
}

.spa-carousel-badge {
  color: #fffffff2;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(8px);
  z-index: 10;
  background: #ffffff26;
  border: 1px solid #ffffff40;
  border-radius: 20px;
  padding: 10px 18px;
  font-size: .9rem;
  font-weight: 700;
  animation: 1s ease-out fadeInLeft;
  position: absolute;
  top: 20px;
  left: 20px;
  box-shadow: 0 4px 15px #0003;
}

.spa-services-carousel-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

.spa-services-carousel-text {
  text-align: center;
  max-width: 900px;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
  animation: 1s ease-out fadeInUp;
}

.spa-services-carousel-title {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #333;
  font-size: 2.4rem;
  font-weight: 300;
}

.spa-services-carousel-subtitle {
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 40px;
  padding-bottom: 25px;
  font-size: 2.8rem;
  font-weight: 300;
  position: relative;
}

.spa-services-carousel-subtitle:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 120px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.spa-services-carousel-description {
  color: #fffffff2;
  letter-spacing: .5px;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
}

.spa-services-carousel {
  position: relative;
}

.spa-carousel-track-wrapper {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overflow: auto hidden;
}

.spa-carousel-track-wrapper::-webkit-scrollbar {
  display: none;
}

.spa-carousel-track {
  will-change: transform;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.spa-carousel-card {
  cursor: pointer;
  background: #fff;
  border: 1px solid #0000001f;
  border-radius: 16px;
  flex: 0 0 calc(33.3333% - 13.3333px);
  transition: all .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px #0000001f;
}

.spa-carousel-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px #0000002e;
}

.spa-carousel-card-image {
  object-fit: cover;
  width: 100%;
  height: 220px;
  transition: transform .3s;
  display: block;
}

.spa-carousel-card:hover .spa-carousel-card-image {
  transform: scale(1.05);
}

.spa-carousel-card-overlay {
  pointer-events: none;
  background: linear-gradient(#0000 40%, #00000059 100%);
  position: absolute;
  inset: 0;
}

.spa-carousel-card-icon {
  -webkit-backdrop-filter: blur(6px);
  z-index: 10;
  background: linear-gradient(135deg, #299dc3 0%, #33b5e5 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 12px;
  right: 12px;
  box-shadow: 0 6px 16px #299dc366;
}

.spa-carousel-card-icon[data-icon-type="flame"] {
  background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
  box-shadow: 0 6px 16px #ff6b3566;
}

.spa-carousel-card-icon[data-icon-type="leaf"] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  box-shadow: 0 6px 16px #10b98166;
}

.spa-carousel-card:hover .spa-carousel-card-icon {
  transform: scale(1.1)rotate(5deg);
  box-shadow: 0 8px 20px #299dc399;
}

.spa-carousel-card:hover .spa-carousel-card-icon[data-icon-type="flame"] {
  box-shadow: 0 8px 20px #ff6b3599;
}

.spa-carousel-card:hover .spa-carousel-card-icon[data-icon-type="leaf"] {
  box-shadow: 0 8px 20px #10b98199;
}

.spa-carousel-card-content {
  padding: 16px;
}

.spa-carousel-card-title {
  color: #222;
  margin-bottom: 6px;
  font-size: 1.1rem;
  font-weight: 700;
}

.spa-carousel-card-tag {
  color: #666;
  font-size: .9rem;
}

.spa-carousel-nav {
  color: #333;
  cursor: pointer;
  z-index: 3;
  background: #fffffff2;
  border: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: 1.8rem;
  font-weight: 300;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 8px 16px #00000026;
}

.spa-carousel-nav:hover:not(:disabled) {
  background: #fff;
  transform: translateY(-50%)scale(1.1);
}

.spa-carousel-nav:disabled {
  opacity: .4;
  cursor: default;
}

.spa-carousel-prev {
  left: 8px;
}

.spa-carousel-next {
  right: 8px;
}

.spa-carousel-dots {
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  display: flex;
}

.spa-carousel-dot {
  cursor: pointer;
  background: #cfd8dc;
  border-radius: 999px;
  width: 8px;
  height: 8px;
  transition: all .2s;
}

.spa-carousel-dot:hover {
  background: #a0a8ae;
}

.spa-carousel-dot.active {
  background: #c53796;
  border-radius: 8px;
  width: 22px;
}

@media (width <= 1024px) {
  .spa-services-carousel-subtitle {
    letter-spacing: 3px;
    margin-bottom: 35px;
    padding-bottom: 20px;
    font-size: 2.4rem;
  }

  .spa-services-carousel-subtitle:after {
    width: 100px;
  }

  .spa-services-carousel-description {
    font-size: 1.1rem;
    line-height: 1.7;
  }

  .spa-carousel-card {
    flex: 0 0 calc(50% - 10px);
  }
}

@media (width <= 768px) {
  .spa-services-carousel-section {
    background: linear-gradient(#000000bf, #000000a6), url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80") center / cover;
    padding: 60px 15px;
  }

  .spa-carousel-badge {
    width: fit-content;
    margin: 0 auto 30px;
    display: block;
    position: relative;
    top: auto;
    left: auto;
  }

  .spa-services-carousel-text {
    margin-bottom: 40px;
    padding: 0 10px;
  }

  .spa-services-carousel-title {
    margin-bottom: 20px;
    font-size: 2rem;
  }

  .spa-services-carousel-subtitle {
    letter-spacing: 2px;
    margin-bottom: 30px;
    padding-bottom: 18px;
    font-size: 2rem;
  }

  .spa-services-carousel-subtitle:after {
    width: 80px;
    height: 2px;
  }

  .spa-services-carousel-description {
    font-size: 1.05rem;
    line-height: 1.6;
  }

  .spa-carousel-card {
    flex: 0 0 calc(50% - 10px);
  }

  .spa-carousel-nav {
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
  }
}

@media (width <= 600px) {
  .spa-services-carousel-section {
    background-attachment: scroll;
    padding: 50px 15px;
  }

  .spa-carousel-badge {
    padding: 8px 16px;
    font-size: .8rem;
  }

  .spa-services-carousel-text {
    margin-bottom: 35px;
  }

  .spa-services-carousel-title {
    font-size: 1.8rem;
  }

  .spa-services-carousel-subtitle {
    letter-spacing: 1.5px;
    margin-bottom: 28px;
    padding-bottom: 16px;
    font-size: 1.8rem;
  }

  .spa-services-carousel-subtitle:after {
    width: 70px;
  }

  .spa-services-carousel-description {
    font-size: 1rem;
    line-height: 1.6;
  }

  .spa-carousel-card {
    flex: 0 0 100%;
  }

  .spa-carousel-card-image {
    height: 200px;
  }

  .spa-carousel-nav {
    width: 36px;
    height: 36px;
    font-size: 1.4rem;
  }

  .spa-carousel-prev {
    left: 4px;
  }

  .spa-carousel-next {
    right: 4px;
  }
}

@media (width <= 480px) {
  .spa-services-carousel-section {
    padding: 40px 10px;
  }

  .spa-services-carousel-text {
    margin-bottom: 30px;
  }

  .spa-services-carousel-title {
    font-size: 1.6rem;
  }

  .spa-services-carousel-subtitle {
    letter-spacing: 1.2px;
    margin-bottom: 25px;
    padding-bottom: 14px;
    font-size: 1.6rem;
  }

  .spa-services-carousel-subtitle:after {
    width: 60px;
  }

  .spa-services-carousel-description {
    font-size: .95rem;
    line-height: 1.55;
  }

  .spa-carousel-card-image {
    height: 180px;
  }
}

@media (width <= 360px) {
  .spa-services-carousel-subtitle {
    letter-spacing: 1px;
    margin-bottom: 22px;
    padding-bottom: 12px;
    font-size: 1.4rem;
  }

  .spa-services-carousel-subtitle:after {
    width: 50px;
    height: 2px;
  }

  .spa-services-carousel-description {
    font-size: .88rem;
    line-height: 1.5;
  }
}

.oasis-section {
  background: #000;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.oasis-video-wrapper {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.oasis-video {
  object-fit: cover;
  filter: brightness(.7) contrast(1.1);
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.oasis-video-overlay {
  z-index: 1;
  background: linear-gradient(#00000080 0%, #0000004d 50%, #0009 100%);
  position: absolute;
  inset: 0;
}

.oasis-content {
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 1200px;
  padding: 40px;
  position: relative;
}

.oasis-text-container {
  animation: 1.5s ease-out fadeInUp;
}

.oasis-main-title {
  letter-spacing: 8px;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 4px 20px #000c;
  margin-bottom: 80px;
  font-size: 4rem;
  font-weight: 300;
  position: relative;
}

.oasis-main-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 150px;
  height: 3px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px #c5379699;
}

.oasis-phrases {
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: 0 20px;
  display: flex;
}

.oasis-phrase {
  color: #fff;
  letter-spacing: 2px;
  opacity: 0;
  text-shadow: 0 2px 15px #000000e6;
  max-width: 900px;
  margin: 0 auto;
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.6;
  transition: all 1s cubic-bezier(.4, 0, .2, 1);
  transform: translateY(30px);
}

.oasis-phrase.visible {
  opacity: 1;
  transform: translateY(0);
}

.oasis-sound-toggle {
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  cursor: pointer;
  z-index: 10;
  background: #ffffff26;
  border: 2px solid #ffffff4d;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transition: all .3s;
  display: flex;
  position: absolute;
  bottom: 40px;
  right: 40px;
  box-shadow: 0 4px 15px #0000004d;
}

.oasis-sound-toggle:hover {
  background: #c53796e6;
  border-color: #c53796;
  transform: scale(1.1);
  box-shadow: 0 6px 20px #c5379680;
}

.oasis-sound-toggle:active {
  transform: scale(.95);
}

.oasis-scroll-indicator {
  z-index: 10;
  animation: 2s ease-in-out infinite oasisScrollBounce;
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
}

.oasis-scroll-line {
  background: linear-gradient(#0000, #fffc, #0000);
  border-radius: 2px;
  width: 2px;
  height: 40px;
}

@keyframes oasisScrollBounce {
  0%, 100% {
    opacity: .6;
    transform: translateX(-50%)translateY(0);
  }

  50% {
    opacity: 1;
    transform: translateX(-50%)translateY(10px);
  }
}

@media (width <= 1024px) {
  .oasis-section {
    min-height: 700px;
  }

  .oasis-main-title {
    letter-spacing: 6px;
    margin-bottom: 70px;
    font-size: 3.2rem;
  }

  .oasis-main-title:after {
    width: 120px;
    bottom: -25px;
  }

  .oasis-phrase {
    letter-spacing: 1.5px;
    font-size: 2.2rem;
  }

  .oasis-phrases {
    min-height: 180px;
  }
}

@media (width <= 768px) {
  .oasis-section {
    height: 100vh;
    min-height: 600px;
  }

  .oasis-content {
    padding: 30px 20px;
  }

  .oasis-main-title {
    letter-spacing: 4px;
    margin-bottom: 60px;
    font-size: 2.5rem;
  }

  .oasis-main-title:after {
    width: 100px;
    height: 2px;
    bottom: -20px;
  }

  .oasis-phrase {
    letter-spacing: 1.2px;
    padding: 0 15px;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .oasis-phrases {
    min-height: 150px;
  }

  .oasis-sound-toggle {
    width: 55px;
    height: 55px;
    bottom: 30px;
    right: 30px;
  }

  .oasis-sound-toggle svg {
    width: 22px;
    height: 22px;
  }
}

@media (width <= 480px) {
  .oasis-section {
    height: 100vh;
    min-height: 550px;
  }

  .oasis-content {
    padding: 25px 15px;
  }

  .oasis-main-title {
    letter-spacing: 3px;
    margin-bottom: 50px;
    font-size: 2rem;
  }

  .oasis-main-title:after {
    width: 80px;
    bottom: -18px;
  }

  .oasis-phrase {
    letter-spacing: 1px;
    padding: 0 10px;
    font-size: 1.4rem;
    line-height: 1.45;
  }

  .oasis-phrases {
    min-height: 130px;
  }

  .oasis-sound-toggle {
    width: 50px;
    height: 50px;
    bottom: 25px;
    right: 25px;
  }

  .oasis-sound-toggle svg {
    width: 20px;
    height: 20px;
  }

  .oasis-scroll-indicator {
    bottom: 25px;
  }

  .oasis-scroll-line {
    height: 35px;
  }
}

@media (width <= 360px) {
  .oasis-section {
    min-height: 500px;
  }

  .oasis-main-title {
    letter-spacing: 2.5px;
    margin-bottom: 45px;
    font-size: 1.7rem;
  }

  .oasis-main-title:after {
    width: 70px;
    height: 2px;
    bottom: -16px;
  }

  .oasis-phrase {
    letter-spacing: .8px;
    padding: 0 8px;
    font-size: 1.2rem;
    line-height: 1.4;
  }

  .oasis-phrases {
    min-height: 120px;
  }

  .oasis-sound-toggle {
    width: 45px;
    height: 45px;
    bottom: 20px;
    right: 20px;
  }

  .oasis-sound-toggle svg {
    width: 18px;
    height: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oasis-phrase {
    transition: opacity .5s;
    transform: none;
  }

  .oasis-phrase.visible {
    transform: none;
  }

  .oasis-scroll-indicator {
    animation: none;
  }

  .oasis-sound-toggle:hover {
    transform: none;
  }
}

.location-section {
  background: #f8f9fa;
  align-items: center;
  min-height: 100vh;
  padding: 100px 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.location-background {
  z-index: 0;
  opacity: .4;
  background: linear-gradient(#ffffffeb, #f8f9faf2), url("https://images.unsplash.com/photo-1615729947596-a598e5de0ab3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxtb250ZW5lZ3JvJTIwbWFwJTIwYWVyaWFsJTIwdmlld3xlbnwxfHx8fDE3NjAzODU2MDh8MA&ixlib=rb-4.1.0&q=80&w=1080") center / cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.location-container {
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.location-header {
  text-align: center;
  margin-bottom: 80px;
  animation: 1s ease-out fadeInUp;
}

.location-title {
  letter-spacing: 6px;
  color: #333;
  text-transform: uppercase;
  margin-bottom: 40px;
  font-size: 3.5rem;
  font-weight: 300;
  position: relative;
}

.location-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 120px;
  height: 3px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.location-intro {
  color: #555;
  letter-spacing: .5px;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.35rem;
  font-weight: 300;
  line-height: 1.8;
}

.location-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-bottom: 80px;
  display: grid;
}

.location-item {
  opacity: 0;
  border: 2px solid #fff9;
  border-radius: 20px;
  align-items: center;
  gap: 25px;
  padding: 35px 40px;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  position: relative;
  overflow: hidden;
  transform: translateY(30px);
  box-shadow: 0 10px 30px #00000026;
}

.location-item.visible {
  opacity: 1;
  animation: .6s ease-out forwards locationItemFadeIn;
  transform: translateY(0);
}

.location-item:before {
  content: "";
  background: inherit;
  background-size: inherit;
  background-position: inherit;
  z-index: -1;
  transition: transform .4s;
  position: absolute;
  inset: 0;
}

.location-item:hover:before {
  transform: scale(1.05);
}

.location-item:hover {
  border-color: #c5379699;
  transform: translateY(-8px);
  box-shadow: 0 20px 40px #00000040;
}

.location-icon {
  z-index: 2;
  background: #fffffffa;
  border: 2px solid #ffffff80;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  transition: all .3s;
  display: flex;
  position: relative;
  box-shadow: 0 6px 16px #00000040;
}

.location-icon svg {
  width: 38px;
  height: 38px;
  transition: transform .3s;
}

.location-item:hover .location-icon {
  transform: scale(1.1)rotate(5deg);
}

.location-item:hover .location-icon svg {
  transform: scale(1.1);
}

.location-content {
  z-index: 2;
  -webkit-backdrop-filter: blur(10px);
  background: #000000bf;
  border-radius: 12px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  min-height: 100px;
  padding: 15px 20px;
  display: flex;
  position: relative;
  box-shadow: 0 4px 15px #00000040;
}

.location-time {
  color: #ff6fd8;
  letter-spacing: .5px;
  text-shadow: 0 2px 4px #0000004d;
  margin-bottom: 8px;
  font-size: 1.5rem;
  font-weight: 700;
}

.location-destination {
  color: #fff;
  text-shadow: 0 1px 3px #00000080;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.6;
}

.location-footer {
  text-align: center;
  margin-bottom: 60px;
  animation: 1.5s ease-out fadeInUp;
}

.location-outro {
  color: #555;
  letter-spacing: .5px;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.3rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.8;
}

.location-map-placeholder {
  cursor: pointer;
  border: 3px solid #c5379633;
  border-radius: 25px;
  height: 500px;
  animation: 2s ease-out fadeInUp;
  position: relative;
  overflow: hidden;
  box-shadow: 0 15px 40px #00000026;
}

.location-map-placeholder iframe {
  filter: grayscale(0%) contrast(1.1) brightness(1.05);
}

.map-photo-overlay {
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  background: #000000d9;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity .5s;
  display: flex;
  position: absolute;
  inset: 0;
}

.location-map-placeholder:hover .map-photo-overlay {
  opacity: 1;
}

.map-photo-image {
  object-fit: cover;
  opacity: .7;
  width: 100%;
  height: 100%;
  transition: all .5s;
  position: absolute;
  inset: 0;
  transform: scale(1);
}

.location-map-placeholder:hover .map-photo-image {
  opacity: .85;
  transform: scale(1.05);
}

.map-photo-content {
  z-index: 6;
  text-align: center;
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  background: #0009;
  border: 2px solid #c5379680;
  border-radius: 20px;
  padding: 40px;
  transition: all .5s .2s;
  position: relative;
  transform: translateY(20px);
  box-shadow: 0 10px 30px #0000004d;
}

.location-map-placeholder:hover .map-photo-content {
  opacity: 1;
  transform: translateY(0);
}

.map-photo-title {
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 2px 10px #00000080;
  margin-bottom: 15px;
  font-size: 2.5rem;
  font-weight: 700;
}

.map-photo-description {
  color: #fff;
  letter-spacing: 1px;
  text-shadow: 0 1px 5px #00000080;
  font-size: 1.3rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.6;
}

.map-label {
  -webkit-backdrop-filter: blur(15px);
  z-index: 10;
  background: #fffffffa;
  border: 2px solid #c537964d;
  border-radius: 18px;
  align-items: center;
  gap: 18px;
  padding: 20px 30px;
  transition: all .3s;
  animation: 2.5s ease-out fadeInUp;
  display: flex;
  position: absolute;
  bottom: 30px;
  left: 30px;
  box-shadow: 0 10px 30px #0003;
}

.map-label:hover {
  border-color: #c5379680;
  transform: translateY(-5px);
  box-shadow: 0 15px 40px #00000040;
}

.map-label-icon {
  flex-shrink: 0;
  width: 45px;
  height: 45px;
}

.map-label-icon svg {
  filter: drop-shadow(0 2px 8px #c537964d);
  width: 100%;
  height: 100%;
}

.map-label-text {
  color: #333;
  letter-spacing: .5px;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.4;
}

.map-label-text span {
  color: #666;
  letter-spacing: .3px;
  font-size: .9rem;
  font-weight: 500;
}

@keyframes locationItemFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes markerBounce {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@media (width <= 1024px) {
  .location-section {
    padding: 80px 15px;
  }

  .location-title {
    letter-spacing: 4px;
    font-size: 2.8rem;
  }

  .location-intro {
    font-size: 1.2rem;
  }

  .location-grid {
    gap: 25px;
  }

  .location-item {
    padding: 30px 35px;
  }

  .location-icon {
    width: 65px;
    height: 65px;
  }

  .location-icon svg {
    width: 34px;
    height: 34px;
  }
}

@media (width <= 768px) {
  .location-section {
    min-height: auto;
    padding: 60px 15px;
  }

  .location-header {
    margin-bottom: 60px;
  }

  .location-title {
    letter-spacing: 3px;
    margin-bottom: 35px;
    font-size: 2.2rem;
  }

  .location-title:after {
    width: 80px;
    height: 2px;
    bottom: -15px;
  }

  .location-intro {
    padding: 0 10px;
    font-size: 1.1rem;
    line-height: 1.6;
  }

  .location-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 60px;
  }

  .location-item {
    padding: 25px 30px;
  }

  .location-icon {
    width: 60px;
    height: 60px;
  }

  .location-icon svg {
    width: 32px;
    height: 32px;
  }

  .location-content {
    min-height: 90px;
  }

  .location-time {
    font-size: 1.3rem;
  }

  .location-destination {
    font-size: 1rem;
  }

  .location-footer {
    margin-bottom: 50px;
  }

  .location-outro {
    padding: 0 10px;
    font-size: 1.1rem;
  }

  .location-map-placeholder {
    border-width: 2px;
    border-radius: 20px;
    height: 400px;
  }

  .map-photo-title {
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    font-size: 2rem;
  }

  .map-photo-description {
    font-size: 1.1rem;
  }

  .map-photo-content {
    padding: 30px;
  }

  .map-label {
    gap: 15px;
    padding: 18px 25px;
    bottom: 20px;
    left: 20px;
  }

  .map-label-icon {
    width: 40px;
    height: 40px;
  }

  .map-label-text {
    font-size: 1.05rem;
  }

  .map-label-text span {
    font-size: .85rem;
  }
}

@media (width <= 480px) {
  .location-section {
    padding: 50px 15px;
  }

  .location-header {
    margin-bottom: 50px;
  }

  .location-title {
    letter-spacing: 2px;
    margin-bottom: 30px;
    font-size: 1.8rem;
  }

  .location-title:after {
    width: 60px;
    bottom: -12px;
  }

  .location-intro {
    padding: 0 5px;
    font-size: 1rem;
    line-height: 1.55;
  }

  .location-grid {
    gap: 15px;
    margin-bottom: 50px;
  }

  .location-item {
    gap: 20px;
    padding: 20px 25px;
  }

  .location-icon {
    width: 55px;
    height: 55px;
  }

  .location-icon svg {
    width: 28px;
    height: 28px;
  }

  .location-content {
    min-height: 85px;
    padding: 12px 18px;
  }

  .location-time {
    margin-bottom: 6px;
    font-size: 1.2rem;
  }

  .location-destination {
    font-size: .95rem;
    line-height: 1.5;
  }

  .location-footer {
    margin-bottom: 40px;
  }

  .location-outro {
    font-size: 1rem;
    line-height: 1.6;
  }

  .location-map-placeholder {
    border-width: 2px;
    border-radius: 18px;
    height: 350px;
  }

  .map-photo-title {
    letter-spacing: 1.2px;
    margin-bottom: 10px;
    font-size: 1.6rem;
  }

  .map-photo-description {
    font-size: 1rem;
  }

  .map-photo-content {
    padding: 25px;
  }

  .map-label {
    border-radius: 15px;
    gap: 12px;
    padding: 15px 20px;
    bottom: 15px;
    left: 15px;
  }

  .map-label-icon {
    width: 35px;
    height: 35px;
  }

  .map-label-text {
    font-size: .95rem;
    line-height: 1.35;
  }

  .map-label-text span {
    font-size: .8rem;
  }
}

@media (width <= 360px) {
  .location-section {
    padding: 40px 12px;
  }

  .location-title {
    letter-spacing: 1.5px;
    margin-bottom: 28px;
    font-size: 1.6rem;
  }

  .location-title:after {
    width: 50px;
    height: 2px;
    bottom: -10px;
  }

  .location-intro {
    font-size: .9rem;
    line-height: 1.5;
  }

  .location-grid {
    gap: 12px;
    margin-bottom: 40px;
  }

  .location-item {
    gap: 18px;
    padding: 18px 20px;
  }

  .location-icon {
    width: 50px;
    height: 50px;
  }

  .location-icon svg {
    width: 26px;
    height: 26px;
  }

  .location-content {
    min-height: 80px;
    padding: 10px 16px;
  }

  .location-time {
    margin-bottom: 5px;
    font-size: 1.1rem;
  }

  .location-destination {
    font-size: .88rem;
    line-height: 1.45;
  }

  .location-outro {
    font-size: .9rem;
    line-height: 1.55;
  }

  .location-map-placeholder {
    border-width: 2px;
    border-radius: 15px;
    height: 300px;
  }

  .map-photo-title {
    letter-spacing: 1px;
    margin-bottom: 8px;
    font-size: 1.4rem;
  }

  .map-photo-description {
    font-size: .9rem;
  }

  .map-photo-content {
    padding: 20px;
  }

  .map-label {
    border-radius: 12px;
    gap: 10px;
    padding: 12px 18px;
    bottom: 12px;
    left: 12px;
  }

  .map-label-icon {
    width: 32px;
    height: 32px;
  }

  .map-label-text {
    font-size: .88rem;
    line-height: 1.3;
  }

  .map-label-text span {
    font-size: .75rem;
  }
}

.cta-section {
  justify-content: center;
  align-items: center;
  min-height: 85vh;
  margin-top: 80px;
  padding: 120px 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cta-background {
  z-index: 0;
  background: linear-gradient(#000000a6, #0000008c), url("https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80") center / cover fixed;
  position: absolute;
  inset: 0;
}

@keyframes ctaBackgroundZoom {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.05);
  }
}

.cta-overlay {
  z-index: 1;
  background: none;
  position: absolute;
  inset: 0;
}

.cta-container {
  z-index: 2;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.cta-content {
  text-align: center;
  -webkit-backdrop-filter: blur(20px);
  background: #fffffffa;
  border: 1px solid #ffffffe6;
  border-radius: 30px;
  padding: 60px 80px;
  animation: 1s ease-out fadeInUp;
  box-shadow: 0 20px 60px #0000004d;
}

.cta-badge {
  -webkit-backdrop-filter: blur(10px);
  color: #c53796;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #c5379626;
  border: 1px solid #c537964d;
  border-radius: 30px;
  margin-bottom: 35px;
  padding: 12px 28px;
  font-size: .9rem;
  font-weight: 600;
  animation: 2s ease-in-out infinite ctaBadgePulse;
  display: inline-block;
  box-shadow: 0 4px 20px #c5379633;
}

@keyframes ctaBadgePulse {
  0%, 100% {
    box-shadow: 0 4px 20px #c5379633;
  }

  50% {
    box-shadow: 0 4px 30px #c5379666;
  }
}

.cta-title {
  letter-spacing: 3px;
  color: #333;
  text-shadow: none;
  margin-bottom: 30px;
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.3;
}

.cta-title-accent {
  background: linear-gradient(135deg, #c53796, #ff8c42);
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-clip: text;
  margin-top: 10px;
  font-size: 4rem;
  font-weight: 400;
  display: block;
}

.cta-text {
  color: #555;
  letter-spacing: .5px;
  max-width: 800px;
  text-shadow: none;
  margin-bottom: 55px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.9;
}

.cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-bottom: 35px;
  display: flex;
}

.cta-button {
  letter-spacing: .5px;
  -webkit-backdrop-filter: none;
  border: 2px solid #0000;
  border-radius: 60px;
  align-items: center;
  gap: 15px;
  padding: 22px 50px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 30px #00000026;
}

.cta-button-bg {
  z-index: 0;
  transition: all .4s;
  position: absolute;
  inset: 0;
}

.cta-button-icon, .cta-button-text {
  z-index: 1;
  transition: all .3s;
  position: relative;
}

.cta-button:hover {
  border-color: #0000;
  transform: translateY(-5px)scale(1.02);
  box-shadow: 0 15px 45px #00000040;
}

.cta-button:active {
  transform: translateY(-2px)scale(1);
}

.cta-button:hover .cta-button-icon {
  transform: scale(1.15)rotate(10deg);
}

.cta-button-whatsapp .cta-button-bg {
  background: linear-gradient(135deg, #25d366e6 0%, #128c7ee6 100%);
}

.cta-button-whatsapp {
  color: #fff;
}

.cta-button-whatsapp:hover .cta-button-bg {
  background: linear-gradient(135deg, #128c7e 0%, #075e54 100%);
}

.cta-button-telegram .cta-button-bg {
  background: linear-gradient(135deg, #0088cce6 0%, #005f8de6 100%);
}

.cta-button-telegram {
  color: #fff;
}

.cta-button-telegram:hover .cta-button-bg {
  background: linear-gradient(135deg, #005f8d 0%, #004a6e 100%);
}

.cta-subtext {
  color: #555;
  letter-spacing: 1px;
  text-shadow: none;
  font-size: 1rem;
  font-weight: 300;
  animation: 1.5s ease-out fadeInUp;
}

.cta-shape {
  pointer-events: none;
  z-index: 1;
  opacity: .6;
  border-radius: 50%;
  position: absolute;
}

.cta-shape-1 {
  background: radial-gradient(circle, #c537964d 0%, #0000 70%);
  width: 400px;
  height: 400px;
  animation: 15s ease-in-out infinite ctaShapeFloat;
  top: -200px;
  left: -200px;
}

.cta-shape-2 {
  background: radial-gradient(circle, #ff8c4240 0%, #0000 70%);
  width: 500px;
  height: 500px;
  animation: 20s ease-in-out infinite reverse ctaShapeFloat;
  bottom: -250px;
  right: -250px;
}

@keyframes ctaShapeFloat {
  0%, 100% {
    transform: translate(0)scale(1);
  }

  50% {
    transform: translate(50px, 50px)scale(1.1);
  }
}

@media (width <= 1024px) {
  .cta-section {
    min-height: 75vh;
    margin-top: 60px;
    padding: 100px 20px;
  }

  .cta-content {
    padding: 50px 60px;
  }

  .cta-title {
    letter-spacing: 2px;
    font-size: 2.8rem;
  }

  .cta-title-accent {
    font-size: 3.2rem;
  }

  .cta-text {
    margin-bottom: 50px;
    font-size: 1.35rem;
  }

  .cta-button {
    padding: 20px 45px;
    font-size: 1.05rem;
  }
}

@media (width <= 768px) {
  .cta-section {
    min-height: 70vh;
    margin-top: 50px;
    padding: 80px 20px;
  }

  .cta-content {
    border-radius: 25px;
    padding: 45px 40px;
  }

  .cta-badge {
    letter-spacing: 1.5px;
    margin-bottom: 30px;
    padding: 10px 24px;
    font-size: .85rem;
  }

  .cta-title {
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    font-size: 2.2rem;
  }

  .cta-title-accent {
    margin-top: 8px;
    font-size: 2.6rem;
  }

  .cta-text {
    margin-bottom: 45px;
    padding: 0 10px;
    font-size: 1.25rem;
    line-height: 1.75;
  }

  .cta-buttons {
    gap: 25px;
    margin-bottom: 30px;
  }

  .cta-button {
    gap: 12px;
    padding: 18px 40px;
    font-size: 1rem;
  }

  .cta-subtext {
    font-size: .95rem;
  }
}

@media (width <= 600px) {
  .cta-section {
    min-height: 65vh;
    margin-top: 40px;
    padding: 70px 15px;
  }

  .cta-content {
    border-radius: 22px;
    padding: 40px 30px;
  }

  .cta-badge {
    letter-spacing: 1.2px;
    margin-bottom: 25px;
    padding: 9px 20px;
    font-size: .8rem;
  }

  .cta-title {
    letter-spacing: 1px;
    margin-bottom: 20px;
    font-size: 1.9rem;
  }

  .cta-title-accent {
    margin-top: 6px;
    font-size: 2.3rem;
  }

  .cta-text {
    margin-bottom: 40px;
    font-size: 1.15rem;
    line-height: 1.7;
  }

  .cta-buttons {
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 28px;
  }

  .cta-button {
    justify-content: center;
    width: 100%;
    padding: 18px 35px;
    font-size: 1.05rem;
  }

  .cta-subtext {
    font-size: .9rem;
  }
}

@media (width <= 480px) {
  .cta-section {
    min-height: 60vh;
    margin-top: 30px;
    padding: 60px 15px;
  }

  .cta-content {
    border-radius: 20px;
    padding: 35px 25px;
  }

  .cta-badge {
    letter-spacing: 1px;
    margin-bottom: 22px;
    padding: 8px 18px;
    font-size: .75rem;
  }

  .cta-title {
    letter-spacing: .8px;
    margin-bottom: 18px;
    font-size: 1.7rem;
  }

  .cta-title-accent {
    margin-top: 5px;
    font-size: 2rem;
  }

  .cta-text {
    margin-bottom: 35px;
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .cta-buttons {
    gap: 18px;
    margin-bottom: 25px;
  }

  .cta-button {
    gap: 10px;
    padding: 16px 32px;
    font-size: 1rem;
  }

  .cta-button-icon {
    width: 22px;
    height: 22px;
  }

  .cta-subtext {
    font-size: .88rem;
  }

  .cta-shape-1, .cta-shape-2 {
    opacity: .3;
  }
}

@media (width <= 360px) {
  .cta-section {
    min-height: 55vh;
    margin-top: 25px;
    padding: 50px 12px;
  }

  .cta-content {
    border-radius: 18px;
    padding: 30px 20px;
  }

  .cta-badge {
    margin-bottom: 20px;
    padding: 7px 16px;
    font-size: .7rem;
  }

  .cta-title {
    letter-spacing: .6px;
    margin-bottom: 15px;
    font-size: 1.5rem;
  }

  .cta-title-accent {
    font-size: 1.8rem;
  }

  .cta-text {
    margin-bottom: 30px;
    font-size: .95rem;
    line-height: 1.6;
  }

  .cta-buttons {
    gap: 15px;
    margin-bottom: 22px;
  }

  .cta-button {
    gap: 8px;
    padding: 14px 28px;
    font-size: .95rem;
  }

  .cta-button-icon {
    width: 20px;
    height: 20px;
  }

  .cta-subtext {
    font-size: .85rem;
  }
}

.instagram-section {
  background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
  padding: 100px 20px;
  position: relative;
  overflow: hidden;
}

.instagram-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.instagram-header {
  text-align: center;
  margin-bottom: 70px;
  animation: 1s ease-out fadeInUp;
}

.instagram-icon-wrapper {
  background: linear-gradient(135deg, #c53796 0%, #e1306c 50%, #f77737 100%);
  border-radius: 25px;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  margin-bottom: 30px;
  animation: 3s ease-in-out infinite instagramIconPulse;
  display: inline-flex;
  box-shadow: 0 10px 30px #c537964d;
}

@keyframes instagramIconPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 10px 30px #c537964d;
  }

  50% {
    transform: scale(1.05);
    box-shadow: 0 15px 40px #c5379680;
  }
}

.instagram-icon {
  color: #fff;
}

.instagram-title {
  letter-spacing: 4px;
  color: #333;
  margin-bottom: 20px;
  font-size: 3.5rem;
  font-weight: 300;
}

.instagram-subtitle {
  color: #666;
  letter-spacing: .5px;
  max-width: 600px;
  margin: 0 auto;
  font-size: 1.3rem;
  font-weight: 300;
}

.instagram-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 60px;
  display: grid;
}

.instagram-post {
  aspect-ratio: 1;
  cursor: pointer;
  border-radius: 18px;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 25px #0000001f;
}

.instagram-post:hover {
  transform: translateY(-8px)scale(1.02);
  box-shadow: 0 20px 40px #0003;
}

.instagram-post-image-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}

.instagram-post-image {
  object-fit: cover;
  filter: brightness() contrast(1.1) saturate(1.1);
  width: 100%;
  height: 100%;
  transition: transform .6s, filter .4s;
}

.instagram-post:hover .instagram-post-image {
  filter: brightness(.8) contrast(1.15) saturate(1.2);
  transform: scale(1.1);
}

.instagram-post-overlay {
  opacity: 0;
  background: linear-gradient(135deg, #c53796d9 0%, #e1306cd9 50%, #f77737d9 100%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px;
  transition: opacity .4s;
  display: flex;
  position: absolute;
  inset: 0;
}

.instagram-post:hover .instagram-post-overlay {
  opacity: 1;
}

.instagram-post-icon {
  color: #fff;
  margin-bottom: 20px;
  animation: .6s ease-out instagramIconBounce;
}

@keyframes instagramIconBounce {
  0% {
    transform: scale(0)rotate(-180deg);
  }

  60% {
    transform: scale(1.2)rotate(10deg);
  }

  100% {
    transform: scale(1)rotate(0);
  }
}

.instagram-post-caption {
  color: #fff;
  text-align: center;
  letter-spacing: .3px;
  text-shadow: 0 2px 8px #0000004d;
  opacity: 0;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.6;
  transition: all .4s .1s;
  transform: translateY(20px);
}

.instagram-post:hover .instagram-post-caption {
  opacity: 1;
  transform: translateY(0);
}

.instagram-cta {
  text-align: center;
  animation: 1.2s ease-out fadeInUp;
}

.instagram-button {
  letter-spacing: .5px;
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #e1306c 50%, #f77737 100%);
  border-radius: 50px;
  align-items: center;
  gap: 15px;
  padding: 20px 50px;
  font-size: 1.15rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px #c537964d;
}

.instagram-button:before {
  content: "";
  opacity: 0;
  background: linear-gradient(135deg, #e1306c 0%, #f77737 50%, #c53796 100%);
  transition: opacity .4s;
  position: absolute;
  inset: 0;
}

.instagram-button:hover:before {
  opacity: 1;
}

.instagram-button:hover {
  transform: translateY(-5px)scale(1.05);
  box-shadow: 0 15px 45px #c5379680;
}

.instagram-button:active {
  transform: translateY(-2px)scale(1.02);
}

.instagram-button svg, .instagram-button span {
  z-index: 1;
  position: relative;
}

@media (width <= 1024px) {
  .instagram-section {
    padding: 80px 15px;
  }

  .instagram-header {
    margin-bottom: 60px;
  }

  .instagram-icon-wrapper {
    border-radius: 22px;
    width: 90px;
    height: 90px;
    margin-bottom: 25px;
  }

  .instagram-icon {
    width: 42px;
    height: 42px;
  }

  .instagram-title {
    letter-spacing: 3px;
    font-size: 2.8rem;
  }

  .instagram-subtitle {
    font-size: 1.2rem;
  }

  .instagram-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 50px;
  }
}

@media (width <= 768px) {
  .instagram-section {
    padding: 60px 15px;
  }

  .instagram-header {
    margin-bottom: 50px;
  }

  .instagram-icon-wrapper {
    border-radius: 20px;
    width: 80px;
    height: 80px;
    margin-bottom: 22px;
  }

  .instagram-icon {
    width: 38px;
    height: 38px;
  }

  .instagram-title {
    letter-spacing: 2px;
    margin-bottom: 18px;
    font-size: 2.2rem;
  }

  .instagram-subtitle {
    padding: 0 20px;
    font-size: 1.1rem;
  }

  .instagram-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 45px;
  }

  .instagram-post-overlay {
    padding: 25px;
  }

  .instagram-post-icon {
    margin-bottom: 15px;
  }

  .instagram-post-icon svg {
    width: 32px;
    height: 32px;
  }

  .instagram-post-caption {
    font-size: .95rem;
    line-height: 1.5;
  }

  .instagram-button {
    gap: 12px;
    padding: 18px 45px;
    font-size: 1.05rem;
  }

  .instagram-button svg {
    width: 20px;
    height: 20px;
  }
}

@media (width <= 600px) {
  .instagram-section {
    padding: 50px 15px;
  }

  .instagram-header {
    margin-bottom: 40px;
  }

  .instagram-icon-wrapper {
    border-radius: 18px;
    width: 70px;
    height: 70px;
    margin-bottom: 20px;
  }

  .instagram-icon {
    width: 34px;
    height: 34px;
  }

  .instagram-title {
    letter-spacing: 1.5px;
    margin-bottom: 15px;
    font-size: 1.9rem;
  }

  .instagram-subtitle {
    padding: 0 15px;
    font-size: 1rem;
    line-height: 1.6;
  }

  .instagram-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 40px;
  }

  .instagram-post {
    border-radius: 15px;
  }

  .instagram-post-overlay {
    padding: 20px;
  }

  .instagram-post-caption {
    font-size: .9rem;
    line-height: 1.45;
  }

  .instagram-button {
    gap: 10px;
    padding: 16px 40px;
    font-size: 1rem;
  }
}

@media (width <= 480px) {
  .instagram-section {
    padding: 40px 15px;
  }

  .instagram-header {
    margin-bottom: 35px;
  }

  .instagram-icon-wrapper {
    border-radius: 16px;
    width: 65px;
    height: 65px;
    margin-bottom: 18px;
  }

  .instagram-icon {
    width: 30px;
    height: 30px;
  }

  .instagram-title {
    letter-spacing: 1.2px;
    margin-bottom: 12px;
    font-size: 1.7rem;
  }

  .instagram-subtitle {
    padding: 0 10px;
    font-size: .95rem;
  }

  .instagram-grid {
    gap: 12px;
    margin-bottom: 35px;
  }

  .instagram-post {
    border-radius: 12px;
  }

  .instagram-post-overlay {
    padding: 18px;
  }

  .instagram-post-icon {
    margin-bottom: 12px;
  }

  .instagram-post-icon svg {
    width: 28px;
    height: 28px;
  }

  .instagram-post-caption {
    font-size: .85rem;
    line-height: 1.4;
  }

  .instagram-button {
    gap: 8px;
    padding: 15px 35px;
    font-size: .95rem;
  }

  .instagram-button svg {
    width: 18px;
    height: 18px;
  }
}

@media (width <= 360px) {
  .instagram-section {
    padding: 35px 12px;
  }

  .instagram-title {
    letter-spacing: 1px;
    font-size: 1.5rem;
  }

  .instagram-subtitle {
    font-size: .88rem;
  }

  .instagram-grid {
    gap: 10px;
    margin-bottom: 30px;
  }

  .instagram-button {
    padding: 14px 30px;
    font-size: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .instagram-icon-wrapper {
    animation: none;
  }

  .instagram-post:hover {
    transform: translateY(-5px);
  }

  .instagram-post:hover .instagram-post-image {
    transform: scale(1.05);
  }

  .instagram-post-icon {
    animation: none;
  }

  .instagram-button:hover {
    transform: translateY(-3px)scale(1.02);
  }
}

.cta-modern-section {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 100px 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cta-modern-bg {
  z-index: 0;
  background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
  position: absolute;
  inset: 0;
}

.cta-modern-gradient-1 {
  filter: blur(80px);
  background: radial-gradient(circle, #c5379666 0%, #0000 70%);
  border-radius: 50%;
  width: 600px;
  height: 600px;
  animation: 20s ease-in-out infinite ctaModernFloat1;
  position: absolute;
  top: -300px;
  left: -100px;
}

.cta-modern-gradient-2 {
  filter: blur(100px);
  background: radial-gradient(circle, #ff8c424d 0%, #0000 70%);
  border-radius: 50%;
  width: 800px;
  height: 800px;
  animation: 25s ease-in-out infinite ctaModernFloat2;
  position: absolute;
  bottom: -400px;
  right: -200px;
}

.cta-modern-gradient-3 {
  filter: blur(90px);
  background: radial-gradient(circle, #299dc333 0%, #0000 70%);
  border-radius: 50%;
  width: 500px;
  height: 500px;
  animation: 30s ease-in-out infinite ctaModernFloat3;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes ctaModernFloat1 {
  0%, 100% {
    transform: translate(0)scale(1);
  }

  33% {
    transform: translate(100px, 50px)scale(1.1);
  }

  66% {
    transform: translate(-50px, 100px)scale(.9);
  }
}

@keyframes ctaModernFloat2 {
  0%, 100% {
    transform: translate(0)scale(1);
  }

  33% {
    transform: translate(-100px, -80px)scale(1.15);
  }

  66% {
    transform: translate(80px, 60px)scale(.95);
  }
}

@keyframes ctaModernFloat3 {
  0%, 100% {
    transform: translate(-50%, -50%)scale(1)rotate(0);
  }

  50% {
    transform: translate(-50%, -50%)scale(1.2)rotate(180deg);
  }
}

.cta-modern-particles {
  z-index: 1;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.cta-modern-particle {
  background: #fff9;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  animation: ease-in-out infinite ctaModernParticleFloat;
  position: absolute;
  box-shadow: 0 0 10px #fffc;
}

@keyframes ctaModernParticleFloat {
  0%, 100% {
    opacity: 0;
    transform: translateY(0)translateX(0);
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateY(-100vh)translateX(50px);
  }
}

.cta-modern-grid {
  z-index: 1;
  opacity: .5;
  background-image: linear-gradient(#ffffff08 1px, #0000 1px), linear-gradient(90deg, #ffffff08 1px, #0000 1px);
  background-size: 50px 50px;
  position: absolute;
  inset: 0;
}

.cta-modern-container {
  z-index: 2;
  width: 100%;
  max-width: 900px;
  position: relative;
}

.cta-modern-content {
  -webkit-backdrop-filter: blur(20px);
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 40px;
  padding: 70px 60px;
  transition: transform .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px #0000004d, inset 0 1px #ffffff1a;
}

.cta-modern-content:before {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff1a, #0000);
  width: 100%;
  height: 100%;
  animation: 3s infinite ctaModernShine;
  position: absolute;
  top: 0;
  left: -100%;
}

@keyframes ctaModernShine {
  0% {
    left: -100%;
  }

  50%, 100% {
    left: 100%;
  }
}

.cta-modern-sparkle-wrapper {
  justify-content: center;
  margin-bottom: 30px;
  display: flex;
}

.cta-modern-sparkle {
  color: gold;
  filter: drop-shadow(0 0 20px #ffd70099);
  animation: 2s ease-in-out infinite ctaModernSparkle;
}

@keyframes ctaModernSparkle {
  0%, 100% {
    filter: drop-shadow(0 0 20px #ffd70099);
    transform: scale(1)rotate(0);
  }

  50% {
    filter: drop-shadow(0 0 30px gold);
    transform: scale(1.2)rotate(180deg);
  }
}

.cta-modern-badge {
  color: #00ff7f;
  letter-spacing: .5px;
  background: #00ff7f26;
  border: 1px solid #00ff7f4d;
  border-radius: 50px;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin: 0 auto 40px;
  padding: 12px 24px;
  font-size: .9rem;
  font-weight: 600;
  display: flex;
  box-shadow: 0 0 20px #00ff7f33;
}

.cta-modern-badge-dot {
  background: #00ff7f;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 2s ease-in-out infinite ctaModernPulse;
  box-shadow: 0 0 10px #00ff7fcc;
}

@keyframes ctaModernPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .7;
    transform: scale(1.3);
  }
}

.cta-modern-title {
  letter-spacing: -1px;
  color: #fff;
  text-align: center;
  margin-bottom: 30px;
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.cta-modern-title-gradient {
  background: linear-gradient(135deg, #c53796, #ff8c42, gold);
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 600;
  display: inline-block;
  position: relative;
}

.cta-modern-title-gradient:after {
  content: "";
  opacity: .6;
  background: linear-gradient(90deg, #c53796, #ff8c42, gold);
  border-radius: 2px;
  height: 3px;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
}

.cta-modern-description {
  color: #ffffffd9;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.8;
}

.cta-modern-buttons {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 50px;
  display: flex;
}

.cta-modern-button {
  border: 2px solid #0000;
  border-radius: 50px;
  align-items: center;
  gap: 12px;
  padding: 20px 40px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.cta-modern-button-shine {
  background: linear-gradient(90deg, #0000, #ffffff4d, #0000);
  width: 100%;
  height: 100%;
  transition: left .5s;
  position: absolute;
  top: 0;
  left: -100%;
}

.cta-modern-button:hover .cta-modern-button-shine {
  left: 100%;
}

.cta-modern-button-icon, .cta-modern-button-text, .cta-modern-button-arrow {
  z-index: 1;
  transition: all .3s;
  position: relative;
}

.cta-modern-button-arrow {
  opacity: 0;
  transition: all .3s;
  transform: translateX(-10px);
}

.cta-modern-button:hover .cta-modern-button-arrow {
  opacity: 1;
  transform: translateX(0);
}

.cta-modern-button:hover .cta-modern-button-icon {
  transform: scale(1.2)rotate(10deg);
}

.cta-modern-button-primary {
  color: #fff;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  box-shadow: 0 10px 40px #25d36666, inset 0 1px #fff3;
}

.cta-modern-button-primary:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px #25d36680, inset 0 1px #ffffff4d;
}

.cta-modern-button-secondary {
  color: #fff;
  background: linear-gradient(135deg, #08c 0%, #005f8d 100%);
  box-shadow: 0 10px 40px #08c6, inset 0 1px #fff3;
}

.cta-modern-button-secondary:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px #0088cc80, inset 0 1px #ffffff4d;
}

.cta-modern-features {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  display: flex;
}

.cta-modern-feature {
  color: #fffc;
  align-items: center;
  gap: 10px;
  font-size: .95rem;
  font-weight: 500;
  display: flex;
}

.cta-modern-feature-icon {
  filter: drop-shadow(0 0 10px #ffd70080);
  font-size: 1.5rem;
}

.cta-modern-wave {
  z-index: 1;
  pointer-events: none;
  width: 100%;
  height: 120px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.cta-modern-wave svg {
  width: 100%;
  height: 100%;
}

@media (width <= 1024px) {
  .cta-modern-section {
    padding: 80px 20px;
  }

  .cta-modern-content {
    padding: 60px 50px;
  }

  .cta-modern-title {
    font-size: 3rem;
  }

  .cta-modern-description {
    font-size: 1.15rem;
  }
}

@media (width <= 768px) {
  .cta-modern-section {
    min-height: auto;
    padding: 60px 20px;
  }

  .cta-modern-content {
    border-radius: 30px;
    padding: 50px 40px;
  }

  .cta-modern-title {
    font-size: 2.5rem;
  }

  .cta-modern-description {
    margin-bottom: 40px;
    font-size: 1.1rem;
  }

  .cta-modern-buttons {
    flex-direction: column;
    gap: 15px;
    width: 100%;
  }

  .cta-modern-button {
    justify-content: center;
    width: 100%;
    max-width: 400px;
  }

  .cta-modern-features {
    flex-direction: column;
    gap: 20px;
  }
}

@media (width <= 600px) {
  .cta-modern-content {
    border-radius: 25px;
    padding: 40px 30px;
  }

  .cta-modern-sparkle {
    width: 40px;
    height: 40px;
  }

  .cta-modern-badge {
    margin-bottom: 30px;
    padding: 10px 20px;
    font-size: .85rem;
  }

  .cta-modern-title {
    margin-bottom: 25px;
    font-size: 2rem;
  }

  .cta-modern-description {
    margin-bottom: 35px;
    font-size: 1rem;
  }

  .cta-modern-button {
    padding: 18px 35px;
    font-size: 1rem;
  }

  .cta-modern-feature {
    font-size: .9rem;
  }
}

@media (width <= 480px) {
  .cta-modern-content {
    border-radius: 20px;
    padding: 35px 25px;
  }

  .cta-modern-title {
    font-size: 1.8rem;
  }

  .cta-modern-description {
    font-size: .95rem;
    line-height: 1.6;
  }

  .cta-modern-button {
    padding: 16px 30px;
    font-size: .95rem;
  }

  .cta-modern-gradient-1, .cta-modern-gradient-2, .cta-modern-gradient-3 {
    filter: blur(60px);
  }
}

@media (width <= 360px) {
  .cta-modern-content {
    padding: 30px 20px;
  }

  .cta-modern-title {
    font-size: 1.6rem;
  }

  .cta-modern-badge {
    padding: 8px 16px;
    font-size: .8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-modern-gradient-1, .cta-modern-gradient-2, .cta-modern-gradient-3, .cta-modern-particle, .cta-modern-sparkle, .cta-modern-badge-dot, .cta-modern-content:before {
    animation: none;
  }

  .cta-modern-button:hover {
    transform: translateY(-3px);
  }
}

.cta-premium-section {
  background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 60px 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cta-premium-background {
  will-change: transform;
  z-index: 0;
  background-image: url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform .1s ease-out;
  position: absolute;
  inset: -10% -5%;
}

.cta-premium-background-overlay {
  -webkit-backdrop-filter: blur();
  background: linear-gradient(#0009, #0006);
  position: absolute;
  inset: 0;
}

.cta-premium-container {
  z-index: 1;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
}

.cta-premium-card {
  -webkit-backdrop-filter: blur();
  background: none;
  border: 1px solid #ffffff0d;
  border-radius: 40px;
  padding: 40px 50px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px #0003, 0 5px 20px #c537961a;
}

.cta-premium-card:before {
  content: "";
  pointer-events: none;
  background: none;
  position: absolute;
  inset: 0;
}

.cta-premium-header {
  z-index: 2;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
  display: flex;
  position: relative;
}

.cta-premium-logo {
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.cta-premium-logo-text {
  color: #fff;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-size: 1.8rem;
  font-weight: 300;
}

.cta-premium-logo-subtitle {
  color: #fffc;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 300;
}

.cta-premium-nav {
  align-items: center;
  gap: 25px;
  display: flex;
}

.cta-premium-nav-link {
  color: #ffffffd9;
  cursor: pointer;
  letter-spacing: 1px;
  background: none;
  border: none;
  padding: 0;
  font-size: 1rem;
  font-weight: 300;
  transition: all .3s;
}

.cta-premium-nav-link:hover {
  color: #c53796;
  transform: translateY(-2px);
}

.cta-premium-nav-button {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: linear-gradient(135deg, #c53796 0%, #b02d7a 100%);
  border-radius: 25px;
  padding: 14px 32px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  box-shadow: 0 4px 15px #c5379666, inset 0 1px #fff3;
}

.cta-premium-nav-button:hover {
  background: linear-gradient(135deg, #b02d7a 0%, #8b2360 100%);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px #c5379699, inset 0 1px #ffffff4d;
}

.cta-premium-content {
  z-index: 1;
  grid-template-columns: 45% 55%;
  align-items: center;
  gap: 80px;
  margin-bottom: 40px;
  display: grid;
  position: relative;
}

.cta-premium-image-wrapper {
  position: relative;
}

.cta-premium-image-container {
  aspect-ratio: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.cta-premium-image {
  object-fit: cover;
  z-index: 2;
  border: 1px solid #ffffff1a;
  border-radius: 25px;
  width: 90%;
  height: 90%;
  transition: transform .5s;
  position: relative;
  box-shadow: 0 30px 60px #0006, 0 10px 30px #c537964d, inset 0 1px #ffffff1a;
}

.cta-premium-image-wrapper:hover .cta-premium-image {
  transform: scale(1.05);
  box-shadow: 0 40px 80px #00000080, 0 15px 40px #c5379680, inset 0 1px #ffffff26;
}

.cta-premium-image-glow {
  filter: blur(50px);
  z-index: 1;
  background: radial-gradient(circle, #c5379666 0%, #ff8c424d 50%, #0000 70%);
  width: 80%;
  height: 80%;
  animation: 4s ease-in-out infinite ctaPremiumGlowPulse;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes ctaPremiumGlowPulse {
  0%, 100% {
    opacity: .6;
    transform: translate(-50%, -50%)scale(1);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.1);
  }
}

.cta-premium-text {
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.cta-premium-text-inner {
  flex-direction: column;
  gap: 30px;
  display: flex;
}

.cta-premium-subtitle {
  color: #ffffffd9;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.6;
}

.cta-premium-title {
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 2px 20px #0000004d;
  margin: 0;
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.15;
}

.cta-premium-cta-group {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.cta-premium-button {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #8b4513;
  border-radius: 30px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 320px;
  padding: 18px 32px;
  font-size: 1.05rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex;
  box-shadow: 0 10px 30px #8b451366, inset 0 1px #fff3;
}

.cta-premium-button-text {
  flex: 1;
}

.cta-premium-button-icon {
  flex-shrink: 0;
  transition: transform .3s;
}

.cta-premium-button:hover {
  background: #7a3a0f;
  transform: translateY(-5px)scale(1.02);
  box-shadow: 0 15px 40px #8b451399, inset 0 1px #ffffff4d;
}

.cta-premium-button:hover .cta-premium-button-icon {
  transform: translateX(5px);
}

.cta-premium-description {
  color: #ffffffe6;
  letter-spacing: .5px;
  max-width: 450px;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 300;
  line-height: 1.8;
}

.cta-inline-button {
  color: #fff;
  letter-spacing: 1px;
  white-space: nowrap;
  background: #8b4513;
  border-radius: 25px;
  align-items: center;
  padding: 12px 28px;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s;
  animation: 2s ease-in-out infinite pulse-glow;
  display: inline-flex;
  box-shadow: 0 8px 20px #8b451380, 0 4px 10px #8b45134d, inset 0 1px #ffffff4d;
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 8px 20px #8b451380, 0 4px 10px #8b45134d, inset 0 1px #ffffff4d;
  }

  50% {
    box-shadow: 0 8px 25px #8b4513b3, 0 4px 15px #8b451380, inset 0 1px #fff6;
  }
}

.cta-inline-button:hover {
  background: #7a3a0f;
  animation: none;
  transform: translateY(-3px)scale(1.05);
  box-shadow: 0 12px 30px #8b4513b3, 0 6px 15px #8b451380, inset 0 1px #fff6;
}

.cta-premium-social {
  z-index: 2;
  border-top: 1px solid #fff3;
  align-items: center;
  gap: 30px;
  padding-top: 30px;
  display: flex;
  position: relative;
}

.cta-premium-social-link {
  color: #ffffffd9;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 20px;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-size: .95rem;
  font-weight: 400;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.cta-premium-social-link:hover {
  color: #fff;
  background: #c5379633;
  border-color: #c5379666;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px #c537964d;
}

.cta-premium-social-link svg {
  transition: transform .3s;
}

.cta-premium-social-link:hover svg {
  transform: scale(1.15)rotate(5deg);
}

@media (width <= 1200px) {
  .cta-premium-content {
    gap: 60px;
  }

  .cta-premium-title {
    font-size: 3.5rem;
  }
}

@media (width <= 1024px) {
  .cta-premium-card {
    border-radius: 40px;
    padding: 35px 40px;
  }

  .cta-premium-content {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .cta-premium-image-wrapper {
    order: 2;
    max-width: 500px;
    margin: 0 auto;
  }

  .cta-premium-text {
    text-align: center;
    order: 1;
  }

  .cta-premium-text-inner {
    align-items: center;
  }

  .cta-premium-title {
    font-size: 3rem;
  }

  .cta-premium-button {
    width: 100%;
    max-width: 100%;
  }

  .cta-premium-description {
    max-width: 100%;
  }
}

@media (width <= 768px) {
  .cta-premium-section {
    min-height: auto;
    padding: 40px 20px;
  }

  .cta-premium-card {
    border-radius: 35px;
    padding: 30px 25px;
  }

  .cta-premium-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 40px;
  }

  .cta-premium-nav {
    justify-content: space-between;
    width: 100%;
  }

  .cta-premium-logo-text {
    font-size: 1.5rem;
  }

  .cta-premium-title {
    letter-spacing: -.5px;
    font-size: 2.5rem;
  }

  .cta-premium-subtitle, .cta-premium-description {
    font-size: 1rem;
  }

  .cta-premium-button {
    padding: 16px 28px;
    font-size: 1rem;
  }

  .cta-premium-content {
    gap: 40px;
    margin-bottom: 30px;
  }

  .cta-premium-social {
    justify-content: center;
    padding-top: 25px;
  }
}

@media (width <= 600px) {
  .cta-premium-card {
    border-radius: 30px;
    padding: 25px 20px;
  }

  .cta-premium-header {
    margin-bottom: 35px;
  }

  .cta-premium-logo-text {
    font-size: 1.3rem;
  }

  .cta-premium-nav-link {
    font-size: .9rem;
  }

  .cta-premium-nav-button {
    padding: 12px 24px;
    font-size: .9rem;
  }

  .cta-premium-title {
    font-size: 2rem;
  }

  .cta-premium-subtitle {
    font-size: .95rem;
  }

  .cta-premium-description {
    font-size: .95rem;
    line-height: 1.6;
  }

  .cta-premium-button {
    padding: 14px 24px;
    font-size: .95rem;
  }

  .cta-premium-text-inner {
    gap: 25px;
  }

  .cta-premium-social {
    flex-direction: column;
    gap: 20px;
    padding-top: 20px;
  }
}

@media (width <= 480px) {
  .cta-premium-section {
    padding: 30px 15px;
  }

  .cta-premium-card {
    border-radius: 25px;
    padding: 20px 15px;
  }

  .cta-premium-header {
    gap: 15px;
    margin-bottom: 30px;
  }

  .cta-premium-nav {
    flex-direction: column;
    gap: 15px;
    width: 100%;
  }

  .cta-premium-nav-button {
    text-align: center;
    width: 100%;
  }

  .cta-premium-title {
    letter-spacing: 0;
    font-size: 1.8rem;
  }

  .cta-premium-content {
    gap: 30px;
    margin-bottom: 25px;
  }
}

@media (width <= 360px) {
  .cta-premium-title {
    font-size: 1.6rem;
  }

  .cta-premium-subtitle, .cta-premium-description {
    font-size: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-premium-image, .cta-premium-button, .cta-premium-social-link, .cta-premium-nav-button, .cta-premium-nav-link {
    transition: none;
  }

  .cta-premium-image-wrapper:hover .cta-premium-image {
    transform: scale(1);
  }

  .cta-premium-button:hover {
    transform: none;
  }
}

.organizer-hero-section {
  background: #000;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.organizer-hero-background {
  z-index: 1;
  filter: brightness(.85) contrast(1.1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
}

.organizer-hero-gradient-overlay {
  z-index: 2;
  background: linear-gradient(135deg, #c5379626 0%, #000000b3 40%, #000c 60%, #c537961a 100%);
  position: absolute;
  inset: 0;
}

.organizer-hero-decorative-elements {
  z-index: 3;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.organizer-hero-decorative-circle {
  filter: blur(60px);
  background: radial-gradient(circle, #c537964d 0%, #c537961a 40%, #0000 70%);
  border-radius: 50%;
  position: absolute;
}

.organizer-hero-decorative-circle-1 {
  width: 800px;
  height: 800px;
  top: -200px;
  right: -200px;
}

.organizer-hero-decorative-circle-2 {
  width: 600px;
  height: 600px;
  bottom: -150px;
  left: -150px;
}

.organizer-hero-content {
  z-index: 10;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
  position: relative;
}

.organizer-hero-glass-card {
  background: linear-gradient(135deg, #ffffff1f 0%, #ffffff14 100%);
  border: 1px solid #ffffff2e;
  border-radius: 32px;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 80px 60px;
  display: flex;
  position: relative;
  box-shadow: 0 8px 32px #0000004d, inset 0 1px #ffffff1a, 0 0 80px #c5379626;
}

.organizer-hero-top-accent {
  background: linear-gradient(90deg, #0000 0%, #c53796 50%, #0000 100%);
  border-radius: 2px;
  height: 3px;
  box-shadow: 0 0 20px #c5379699;
}

.organizer-hero-icon-wrapper {
  background: linear-gradient(135deg, #c53796 0%, #8b2870 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  display: flex;
  box-shadow: 0 8px 32px #c5379666, inset 0 2px 8px #fff3;
}

.organizer-hero-icon {
  color: #fff;
  stroke-width: 1.5px;
  width: 38px;
  height: 38px;
}

.organizer-hero-title {
  color: #fff;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  display: flex;
}

.organizer-hero-brand {
  letter-spacing: .2em;
  text-transform: none;
  color: #c53796;
  filter: drop-shadow(0 4px 20px #c5379680);
  font-size: 5rem;
  font-weight: 300;
}

.organizer-hero-title-separator {
  color: #c5379699;
  letter-spacing: .3em;
  font-size: 2rem;
  font-weight: 100;
}

.organizer-hero-title-type {
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #ffffffe6;
  font-size: 2rem;
  font-weight: 300;
}

.organizer-hero-location-badge {
  color: #fff;
  letter-spacing: .15em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  background: linear-gradient(135deg, #c5379640 0%, #c5379626 100%);
  border: 1px solid #c537964d;
  border-radius: 50px;
  align-items: center;
  gap: 10px;
  padding: 12px 28px;
  font-size: 1.1rem;
  font-weight: 400;
  display: inline-flex;
  box-shadow: 0 4px 16px #c5379633, inset 0 1px #ffffff1a;
}

.organizer-hero-location-icon {
  stroke-width: 2px;
  color: #c53796;
  width: 18px;
  height: 18px;
}

.organizer-hero-subtitle {
  color: #fffffff2;
  letter-spacing: .05em;
  text-align: center;
  text-shadow: 0 2px 12px #0006;
  max-width: 650px;
  margin: 0;
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.8;
}

.organizer-hero-bottom-line {
  transform-origin: center;
  background: linear-gradient(90deg, #0000 0%, #ffffff4d 50%, #0000 100%);
  width: 200px;
  height: 1px;
}

@media (width <= 1200px) {
  .organizer-hero-glass-card {
    padding: 60px 50px;
  }

  .organizer-hero-brand {
    font-size: 4rem;
  }

  .organizer-hero-title-type {
    font-size: 1.7rem;
  }

  .organizer-hero-subtitle {
    max-width: 600px;
    font-size: 1.35rem;
  }
}

@media (width <= 1024px) {
  .organizer-hero-glass-card {
    gap: 28px;
    padding: 50px 40px;
  }

  .organizer-hero-icon-wrapper {
    width: 70px;
    height: 70px;
  }

  .organizer-hero-icon {
    width: 34px;
    height: 34px;
  }

  .organizer-hero-brand {
    letter-spacing: .18em;
    font-size: 3.5rem;
  }

  .organizer-hero-title-separator {
    font-size: 1.8rem;
  }

  .organizer-hero-title-type {
    letter-spacing: .12em;
    font-size: 1.5rem;
  }

  .organizer-hero-location-badge {
    padding: 10px 24px;
    font-size: 1rem;
  }

  .organizer-hero-subtitle {
    max-width: 550px;
    font-size: 1.25rem;
  }
}

@media (width <= 768px) {
  .organizer-hero-section {
    min-height: 70vh;
  }

  .organizer-hero-content {
    padding: 40px 20px;
  }

  .organizer-hero-glass-card {
    border-radius: 24px;
    gap: 24px;
    padding: 40px 30px;
  }

  .organizer-hero-icon-wrapper {
    width: 60px;
    height: 60px;
  }

  .organizer-hero-icon {
    width: 28px;
    height: 28px;
  }

  .organizer-hero-brand {
    letter-spacing: .15em;
    font-size: 2.8rem;
  }

  .organizer-hero-title-separator {
    font-size: 1.5rem;
  }

  .organizer-hero-title-type {
    font-size: 1.3rem;
  }

  .organizer-hero-location-badge {
    padding: 9px 20px;
    font-size: .95rem;
  }

  .organizer-hero-location-icon {
    width: 16px;
    height: 16px;
  }

  .organizer-hero-subtitle {
    max-width: 500px;
    font-size: 1.1rem;
  }

  .organizer-hero-decorative-circle-1 {
    width: 500px;
    height: 500px;
    top: -100px;
    right: -100px;
  }

  .organizer-hero-decorative-circle-2 {
    width: 400px;
    height: 400px;
    bottom: -100px;
    left: -100px;
  }
}

@media (width <= 480px) {
  .organizer-hero-glass-card {
    border-radius: 20px;
    gap: 20px;
    padding: 35px 24px;
  }

  .organizer-hero-top-accent {
    height: 2px;
  }

  .organizer-hero-icon-wrapper {
    width: 55px;
    height: 55px;
  }

  .organizer-hero-icon {
    width: 26px;
    height: 26px;
  }

  .organizer-hero-brand {
    letter-spacing: .12em;
    font-size: 2.2rem;
  }

  .organizer-hero-title-separator {
    font-size: 1.3rem;
  }

  .organizer-hero-title-type {
    letter-spacing: .1em;
    font-size: 1.1rem;
  }

  .organizer-hero-location-badge {
    gap: 8px;
    padding: 8px 18px;
    font-size: .85rem;
  }

  .organizer-hero-location-icon {
    width: 14px;
    height: 14px;
  }

  .organizer-hero-subtitle {
    letter-spacing: .03em;
    max-width: 90%;
    font-size: 1rem;
    line-height: 1.7;
  }

  .organizer-hero-bottom-line {
    width: 120px;
  }

  .organizer-hero-decorative-circle-1 {
    width: 350px;
    height: 350px;
  }

  .organizer-hero-decorative-circle-2 {
    width: 300px;
    height: 300px;
  }
}

.organizer-description-section {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 100px 20px;
  position: relative;
}

.organizer-description-container {
  max-width: 1400px;
  margin: 0 auto;
}

.organizer-description-grid {
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 80px;
  display: grid;
}

.organizer-description-text {
  flex-direction: column;
  gap: 30px;
  display: flex;
}

.organizer-description-badge {
  color: #fff;
  letter-spacing: .15em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 25px;
  align-self: flex-start;
  padding: 12px 28px;
  font-size: .85rem;
  font-weight: 600;
  display: inline-block;
  box-shadow: 0 4px 15px #c537964d;
}

.organizer-description-content {
  color: #333;
  letter-spacing: .02em;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1.8;
}

.organizer-description-cta {
  flex-direction: column;
  gap: 25px;
  margin-top: 20px;
  display: flex;
}

.organizer-description-primary-btn {
  color: #fff;
  letter-spacing: .05em;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border: none;
  border-radius: 30px;
  align-self: flex-start;
  padding: 18px 40px;
  font-size: 1.1rem;
  font-weight: 500;
  transition: all .3s;
  box-shadow: 0 6px 20px #c5379666;
}

.organizer-description-primary-btn:hover {
  background: linear-gradient(135deg, #b02d7a 0%, #ff5a8f 100%);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px #c5379680;
}

.organizer-description-social {
  gap: 15px;
  display: flex;
}

.organizer-description-social-link {
  color: #555;
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 25px;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s;
  display: flex;
  box-shadow: 0 2px 10px #0000000d;
}

.organizer-description-social-link:hover {
  color: #c53796;
  border-color: #c53796;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px #c5379633;
}

.organizer-description-media {
  position: relative;
}

.organizer-description-gallery {
  border-radius: 30px;
  height: 500px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px #00000026;
}

.gallery-slides-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.gallery-slide {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  transition: opacity .8s, visibility .8s;
  position: absolute;
}

.gallery-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.gallery-slide-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.gallery-slide-overlay {
  background: linear-gradient(to top, #000000d9 0%, #0006 50%, #0000 100%);
  flex-direction: column;
  gap: 12px;
  padding: 40px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.gallery-slide-title {
  color: #fff;
  letter-spacing: .1em;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.4;
}

.gallery-slide-description {
  color: #ffffffe6;
  letter-spacing: .05em;
  max-width: 90%;
  margin: 0;
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.5;
}

.gallery-nav-button {
  cursor: pointer;
  z-index: 10;
  background: #ffffffe6;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 4px 15px #0003;
}

.gallery-nav-button:hover {
  background: #fff;
  transform: translateY(-50%)scale(1.1);
  box-shadow: 0 6px 20px #0000004d;
}

.gallery-nav-button svg {
  color: #c53796;
}

.gallery-nav-prev {
  left: 20px;
}

.gallery-nav-next {
  right: 20px;
}

.gallery-indicators {
  z-index: 10;
  gap: 10px;
  display: flex;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.gallery-dot {
  cursor: pointer;
  background: #ffffff80;
  border: none;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  padding: 0;
  transition: all .3s;
}

.gallery-dot:hover {
  background: #fffc;
  transform: scale(1.2);
}

.gallery-dot.active {
  background: #fff;
  border-radius: 5px;
  width: 30px;
}

@media (width <= 1024px) {
  .organizer-description-grid {
    gap: 60px;
  }

  .organizer-description-content {
    font-size: 1.05rem;
  }
}

@media (width <= 768px) {
  .organizer-description-section {
    padding: 60px 20px;
  }

  .organizer-description-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .organizer-description-gallery {
    height: 400px;
  }

  .gallery-slide-title {
    font-size: 1.5rem;
  }

  .gallery-slide-description {
    max-width: 100%;
    font-size: .85rem;
  }

  .gallery-slide-overlay {
    padding: 30px 20px;
  }

  .gallery-nav-button {
    width: 40px;
    height: 40px;
  }

  .gallery-nav-prev {
    left: 10px;
  }

  .gallery-nav-next {
    right: 10px;
  }

  .organizer-description-social {
    flex-direction: column;
  }

  .organizer-description-social-link {
    justify-content: center;
  }

  .organizer-description-primary-btn {
    text-align: center;
    width: 100%;
  }
}

@media (width <= 480px) {
  .organizer-description-section {
    padding: 40px 15px;
  }

  .organizer-description-content {
    font-size: 1rem;
  }

  .organizer-description-primary-btn {
    padding: 16px 32px;
    font-size: 1rem;
  }

  .organizer-description-gallery {
    border-radius: 20px;
    height: 350px;
  }

  .gallery-slide-title {
    font-size: 1.3rem;
  }

  .gallery-slide-description {
    font-size: .8rem;
  }

  .gallery-slide-overlay {
    gap: 8px;
    padding: 25px 15px;
  }

  .gallery-nav-button {
    width: 35px;
    height: 35px;
  }

  .gallery-nav-button svg {
    width: 20px;
    height: 20px;
  }

  .gallery-indicators {
    gap: 8px;
    bottom: 15px;
  }

  .gallery-dot {
    width: 8px;
    height: 8px;
  }

  .gallery-dot.active {
    width: 24px;
  }

  .organizer-description-image {
    height: 300px;
  }

  .organizer-description-overlay-title {
    font-size: 1.3rem;
  }
}

.organizer-accordion-section {
  background: #fff;
  padding: 100px 20px;
  position: relative;
}

.organizer-accordion-container {
  max-width: 1200px;
  margin: 0 auto;
}

.organizer-accordion-header {
  text-align: center;
  margin-bottom: 60px;
}

.organizer-accordion-main-title {
  color: #222;
  letter-spacing: .05em;
  margin-bottom: 15px;
  font-size: 2.8rem;
  font-weight: 300;
}

.organizer-accordion-subtitle {
  color: #666;
  letter-spacing: .02em;
  font-size: 1.1rem;
  font-weight: 300;
}

.organizer-accordion {
  width: 100%;
}

.organizer-accordion-item {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 20px;
  margin-bottom: 20px;
  scroll-margin-top: 0;
  transition: all .3s;
  overflow: hidden;
}

.organizer-accordion-item:hover {
  border-color: #c53796;
  box-shadow: 0 4px 20px #c537961a;
}

.organizer-accordion-trigger {
  color: #333;
  padding: 25px 30px;
  font-size: 1.2rem;
  font-weight: 500;
  transition: all .3s;
}

.organizer-accordion-trigger:hover {
  background: #c537960d;
}

.organizer-accordion-trigger[data-state="open"] {
  background: linear-gradient(135deg, #c537961a 0%, #ff6b9d0d 100%);
}

.organizer-accordion-trigger-content {
  align-items: center;
  gap: 15px;
  display: flex;
}

.organizer-accordion-icon {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
}

.organizer-accordion-content {
  background: #fafbfc;
  padding: 30px;
}

.organizer-info-block {
  margin-bottom: 40px;
}

.organizer-info-block:last-child {
  margin-bottom: 0;
}

.organizer-info-badge {
  color: #fff;
  letter-spacing: .05em;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 20px;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 10px 20px;
  font-size: .9rem;
  font-weight: 600;
  display: inline-flex;
}

.organizer-info-text {
  color: #444;
  margin-bottom: 15px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.organizer-accommodation-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 20px;
  display: grid;
}

.organizer-accommodation-card {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 15px;
  transition: all .3s;
  overflow: hidden;
}

.organizer-accommodation-card:hover {
  border-color: #c53796;
  transform: translateY(-5px);
  box-shadow: 0 8px 25px #c5379633;
}

.organizer-accommodation-image {
  object-fit: cover;
  width: 100%;
  height: 150px;
}

.organizer-accommodation-info {
  padding: 15px;
}

.organizer-accommodation-name {
  color: #333;
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 600;
}

.organizer-accommodation-link {
  color: #c53796;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s;
}

.organizer-accommodation-link:hover {
  color: #b02d7a;
  text-decoration: underline;
}

.organizer-hall-card {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 15px;
  grid-template-columns: 300px 1fr;
  gap: 25px;
  margin-top: 20px;
  padding: 20px;
  display: grid;
}

.organizer-hall-image {
  object-fit: cover;
  border-radius: 10px;
  width: 100%;
  height: 200px;
}

.organizer-hall-info {
  flex-direction: column;
  justify-content: center;
  gap: 15px;
  display: flex;
}

.organizer-link-button {
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 20px;
  align-self: flex-start;
  padding: 10px 20px;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
}

.organizer-link-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px #c5379666;
}

.organizer-zones-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-top: 20px;
  display: grid;
}

.organizer-zone-item {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  transition: all .3s;
  display: flex;
}

.organizer-zone-item:hover {
  border-color: #c53796;
  transform: translateX(5px);
}

.organizer-zone-icon {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.organizer-zones-photo-grid {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 25px;
  margin-top: 25px;
  display: grid;
}

.organizer-zone-photo-card {
  background: #fff;
  border: 2px solid #0000;
  border-radius: 20px;
  transition: all .4s;
  overflow: hidden;
  box-shadow: 0 4px 15px #00000014;
}

.organizer-zone-photo-card:hover {
  border-color: #c53796;
  transform: translateY(-8px);
  box-shadow: 0 12px 30px #c5379633;
}

.organizer-zone-photo-wrapper {
  width: 100%;
  height: 220px;
  position: relative;
  overflow: hidden;
}

.organizer-zone-photo {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .5s;
}

.organizer-zone-photo-card:hover .organizer-zone-photo {
  transform: scale(1.1);
}

.organizer-zone-photo-overlay {
  opacity: 0;
  background: linear-gradient(135deg, #c53796d9 0%, #ff6b9dbf 100%);
  justify-content: center;
  align-items: center;
  transition: opacity .4s;
  display: flex;
  position: absolute;
  inset: 0;
}

.organizer-zone-photo-card:hover .organizer-zone-photo-overlay {
  opacity: 1;
}

.organizer-zone-photo-icon {
  color: #c53796;
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  transition: transform .4s;
  display: flex;
  transform: scale(.8);
}

.organizer-zone-photo-card:hover .organizer-zone-photo-icon {
  transform: scale(1);
}

.organizer-zone-photo-content {
  padding: 25px;
}

.organizer-zone-photo-title {
  color: #2c3e50;
  letter-spacing: .02em;
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: 600;
}

.organizer-zone-photo-description {
  color: #6c757d;
  margin: 0;
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.6;
}

.organizer-zone-clickable {
  cursor: pointer;
  position: relative;
}

.organizer-zone-clickable:hover {
  transform: translateY(-12px)scale(1.02);
  box-shadow: 0 16px 40px #c537964d;
}

.organizer-zone-clickable:active {
  transform: translateY(-10px)scale(1.01);
}

.organizer-zone-expand-icon {
  color: #c53796;
  opacity: 0;
  z-index: 10;
  background: #fffffff2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: all .4s;
  display: flex;
  position: absolute;
  top: 15px;
  right: 15px;
  transform: scale(.8)rotate(-90deg);
  box-shadow: 0 4px 12px #00000026;
}

.organizer-zone-clickable:hover .organizer-zone-expand-icon {
  opacity: 1;
  transform: scale(1)rotate(0);
}

.organizer-zone-click-hint {
  color: #c53796;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: 0;
  margin: 12px 0 0;
  font-size: .85rem;
  font-weight: 600;
  transition: all .3s;
  transform: translateY(-5px);
}

.organizer-zone-clickable:hover .organizer-zone-click-hint {
  opacity: 1;
  transform: translateY(0);
}

.organizer-spa-card {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 15px;
  grid-template-columns: 350px 1fr;
  gap: 30px;
  margin-top: 20px;
  padding: 25px;
  display: grid;
}

.organizer-spa-image {
  object-fit: cover;
  border-radius: 12px;
  width: 100%;
  height: 250px;
}

.organizer-spa-info {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.organizer-spa-list {
  color: #555;
  font-size: 1.05rem;
  line-height: 1.8;
}

.organizer-spa-included {
  color: #c53796;
  background: #c537961a;
  border-left: 4px solid #c53796;
  border-radius: 10px;
  padding: 15px;
  font-size: 1.05rem;
  font-weight: 600;
}

.organizer-pricing-table {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 15px;
  margin-bottom: 30px;
  overflow: hidden;
}

.organizer-pricing-header {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  grid-template-columns: 1.5fr 2fr 1fr;
  font-weight: 600;
  display: grid;
}

.organizer-pricing-row {
  border-bottom: 1px solid #e9ecef;
  grid-template-columns: 1.5fr 2fr 1fr;
  display: grid;
}

.organizer-pricing-table-wrapper {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 16px;
  margin-bottom: 35px;
  overflow: hidden;
}

.organizer-pricing-table-wrapper table {
  border-collapse: collapse;
  width: 100%;
}

.organizer-table-head-icon {
  text-align: center;
  width: 80px;
}

.organizer-table-head {
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: linear-gradient(135deg, #c537960d 0%, #ff6b9d0d 100%);
  border-bottom: 2px solid #c53796;
  padding: 20px 16px;
  font-size: .95rem;
  font-weight: 700;
}

.organizer-table-head-price {
  color: #2c3e50;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: right;
  background: linear-gradient(135deg, #c537960d 0%, #ff6b9d0d 100%);
  border-bottom: 2px solid #c53796;
  padding: 20px 16px;
  font-size: .95rem;
  font-weight: 700;
}

.organizer-table-cell-icon {
  text-align: center;
  padding: 24px 16px;
}

.organizer-table-icon-wrapper {
  color: #c53796;
  background: linear-gradient(135deg, #c537961a 0%, #ff6b9d1a 100%);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  transition: all .3s;
  display: flex;
}

.organizer-table-cell-season {
  color: #2c3e50;
  padding: 24px 16px;
  font-size: 1.1rem;
  font-weight: 700;
  position: relative;
}

.organizer-table-badge {
  color: #fff;
  letter-spacing: .03em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 20px;
  margin-left: 12px;
  padding: 4px 12px;
  font-size: .75rem;
  font-weight: 600;
  display: inline-block;
}

.organizer-table-cell-period {
  color: #6c757d;
  padding: 24px 16px;
  font-size: .95rem;
}

.organizer-table-cell-price {
  color: #c53796;
  text-align: right;
  padding: 24px 16px;
  font-size: 1.3rem;
  font-weight: 700;
}

.organizer-pricing-table-wrapper tbody tr {
  border-bottom: 1px solid #e9ecef;
  transition: all .3s;
}

.organizer-pricing-table-wrapper tbody tr:last-child {
  border-bottom: none;
}

.organizer-pricing-table-wrapper tbody tr:hover {
  background: linear-gradient(135deg, #c5379608 0%, #ff6b9d08 100%);
}

.organizer-pricing-table-wrapper tbody tr:hover .organizer-table-icon-wrapper {
  background: linear-gradient(135deg, #c5379633 0%, #ff6b9d33 100%);
  transform: scale(1.1)rotateY(360deg);
}

.organizer-table-row-featured {
  background: linear-gradient(135deg, #c5379614 0%, #ff6b9d14 100%);
  position: relative;
}

.organizer-table-row-featured:before {
  content: "";
  background: linear-gradient(#c53796 0%, #ff6b9d 100%);
  width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.organizer-table-row-featured:hover {
  background: linear-gradient(135deg, #c537961f 0%, #ff6b9d1f 100%);
}

.organizer-table-row-featured .organizer-table-icon-wrapper {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
}

.organizer-table-row-featured .organizer-table-cell-price {
  font-size: 1.5rem;
}

.organizer-pricing-cards-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 25px;
  margin-bottom: 35px;
  display: grid;
}

.organizer-pricing-card {
  text-align: center;
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 24px;
  padding: 35px 25px;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  overflow: hidden;
}

.organizer-pricing-card:before {
  content: "";
  background: linear-gradient(90deg, #c53796 0%, #ff6b9d 100%);
  height: 5px;
  transition: transform .4s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.organizer-pricing-card:hover {
  border-color: #c53796;
  transform: translateY(-10px);
  box-shadow: 0 20px 40px #c5379626;
}

.organizer-pricing-card:hover:before {
  transform: scaleX(1);
}

.organizer-pricing-card-featured {
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-color: #c53796;
  transform: scale(1.05);
  box-shadow: 0 15px 35px #c537964d;
}

.organizer-pricing-card-featured:hover {
  transform: translateY(-10px)scale(1.05);
  box-shadow: 0 25px 50px #c5379666;
}

.organizer-pricing-card-featured .organizer-pricing-card-season, .organizer-pricing-card-featured .organizer-pricing-card-period, .organizer-pricing-card-featured .organizer-pricing-card-price, .organizer-pricing-card-featured .organizer-pricing-card-per-week {
  color: #fff;
}

.organizer-pricing-card-icon {
  color: #c53796;
  background: linear-gradient(135deg, #c537961a 0%, #ff6b9d1a 100%);
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 20px;
  transition: all .4s;
  display: flex;
}

.organizer-pricing-card-featured .organizer-pricing-card-icon {
  color: #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #fff3;
}

.organizer-pricing-card:hover .organizer-pricing-card-icon {
  transform: rotateY(360deg)scale(1.1);
}

.organizer-pricing-card-season {
  color: #2c3e50;
  letter-spacing: .02em;
  margin: 0 0 10px;
  font-size: 1.35rem;
  font-weight: 700;
}

.organizer-pricing-card-period {
  color: #6c757d;
  margin: 0 0 25px;
  font-size: .95rem;
  font-weight: 500;
}

.organizer-pricing-card-featured .organizer-pricing-card-period {
  color: #ffffffe6;
}

.organizer-pricing-card-price-wrapper {
  border-top: 2px solid #f0f0f0;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding-top: 20px;
  display: flex;
}

.organizer-pricing-card-featured .organizer-pricing-card-price-wrapper {
  border-top-color: #ffffff4d;
}

.organizer-pricing-card-price {
  color: #c53796;
  letter-spacing: -.02em;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
}

.organizer-pricing-card-featured .organizer-pricing-card-price {
  color: #fff;
}

.organizer-pricing-card-per-week {
  color: #999;
  font-size: .85rem;
  font-weight: 500;
}

.organizer-pricing-card-featured .organizer-pricing-card-per-week {
  color: #ffffffd9;
}

.organizer-pricing-card-badge {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffff4d;
  padding: 5px 40px;
  font-size: .75rem;
  font-weight: 700;
  position: absolute;
  top: 15px;
  right: -35px;
  transform: rotate(45deg);
  box-shadow: 0 2px 10px #0000001a;
}

.organizer-pricing-row:last-child {
  border-bottom: none;
}

.organizer-pricing-row:hover {
  background: #c537960d;
}

.organizer-pricing-cell {
  padding: 18px 20px;
  font-size: 1rem;
}

.organizer-pricing-season {
  color: #333;
  font-weight: 600;
}

.organizer-pricing-period {
  color: #666;
}

.organizer-pricing-price {
  color: #c53796;
  font-size: 1.2rem;
  font-weight: 700;
}

.organizer-pricing-description {
  color: #555;
  background: #c537960d;
  border-left: 4px solid #c53796;
  border-radius: 10px;
  margin-bottom: 25px;
  padding: 20px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.organizer-download-button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border: none;
  border-radius: 25px;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  font-size: 1.05rem;
  font-weight: 600;
  transition: all .3s;
  display: inline-flex;
  box-shadow: 0 4px 15px #c537964d;
}

.organizer-download-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 25px #c5379666;
}

.organizer-features-list {
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}

.organizer-feature-item {
  color: #444;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 15px;
  font-size: 1.05rem;
  line-height: 1.7;
  display: flex;
}

.organizer-feature-bullet {
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 8px;
}

.organizer-price-highlight {
  background: linear-gradient(135deg, #c537961a 0%, #ff6b9d0d 100%);
  border: 2px solid #c53796;
  border-radius: 15px;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
  padding: 20px 25px;
  display: flex;
}

.organizer-price-highlight svg {
  color: #c53796;
  flex-shrink: 0;
}

.organizer-price-text {
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.organizer-price-label {
  color: #666;
  font-size: 1.05rem;
  font-weight: 500;
}

.organizer-price-amount {
  color: #c53796;
  font-size: 1.5rem;
  font-weight: 700;
}

.organizer-cta-button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border: none;
  border-radius: 25px;
  width: 100%;
  padding: 16px 32px;
  font-size: 1.05rem;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 4px 15px #c537964d;
}

.organizer-cta-button:hover {
  background: linear-gradient(135deg, #b02d7a 0%, #ff5a8f 100%);
  transform: translateY(-3px);
  box-shadow: 0 6px 25px #c5379666;
}

.organizer-cta-primary {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  box-shadow: 0 4px 15px #2c3e504d;
}

.organizer-cta-primary:hover {
  background: linear-gradient(135deg, #1a252f 0%, #2c3e50 100%);
  box-shadow: 0 6px 25px #2c3e5066;
}

.organizer-location-list {
  flex-direction: column;
  gap: 20px;
  margin-bottom: 30px;
  display: flex;
}

.organizer-location-item {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  transition: all .3s;
  display: flex;
}

.organizer-location-item:hover {
  border-color: #c53796;
  transform: translateX(5px);
  box-shadow: 0 4px 15px #c5379626;
}

.organizer-location-icon {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
}

.organizer-location-item p {
  color: #444;
  margin: 0;
  padding-top: 10px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.organizer-services-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  margin-bottom: 30px;
  display: grid;
}

.organizer-service-card {
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  transition: all .3s;
  display: flex;
}

.organizer-service-card:hover {
  border-color: #c53796;
  transform: translateY(-3px);
  box-shadow: 0 4px 15px #c5379626;
}

.organizer-service-icon {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  display: flex;
}

.organizer-service-name {
  color: #444;
  font-size: .95rem;
  line-height: 1.5;
}

@media (width <= 1024px) {
  .organizer-accordion-main-title {
    font-size: 2.3rem;
  }

  .organizer-hall-card, .organizer-spa-card {
    grid-template-columns: 250px 1fr;
    gap: 20px;
  }
}

@media (width <= 768px) {
  .organizer-accordion-section {
    padding: 60px 15px;
  }

  .organizer-accordion-main-title {
    font-size: 2rem;
  }

  .organizer-accordion-subtitle {
    font-size: 1rem;
  }

  .organizer-accordion-trigger {
    padding: 20px;
    font-size: 1.05rem;
  }

  .organizer-accordion-icon {
    width: 45px;
    height: 45px;
  }

  .organizer-accordion-content {
    padding: 20px 15px;
  }

  .organizer-accommodation-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
  }

  .organizer-hall-card, .organizer-spa-card {
    grid-template-columns: 1fr;
  }

  .organizer-hall-image, .organizer-spa-image {
    height: 200px;
  }

  .organizer-pricing-header, .organizer-pricing-row {
    grid-template-columns: 1fr;
  }

  .organizer-pricing-cell {
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 15px;
  }

  .organizer-pricing-row .organizer-pricing-cell:last-child {
    border-bottom: none;
  }

  .organizer-pricing-cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
  }

  .organizer-pricing-card {
    padding: 30px 20px;
  }

  .organizer-pricing-card-featured {
    transform: scale(1);
  }

  .organizer-pricing-card-featured:hover {
    transform: translateY(-8px)scale(1);
  }

  .organizer-table-head, .organizer-table-head-price, .organizer-table-cell-season, .organizer-table-cell-period, .organizer-table-cell-price {
    padding: 16px 12px;
    font-size: .85rem;
  }

  .organizer-table-cell-icon {
    padding: 16px 8px;
  }

  .organizer-table-icon-wrapper {
    width: 40px;
    height: 40px;
  }

  .organizer-table-badge {
    margin: 8px 0 0;
    font-size: .7rem;
    display: block;
  }

  .organizer-zones-grid {
    grid-template-columns: 1fr;
  }

  .organizer-zones-photo-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .organizer-zone-photo-wrapper {
    height: 200px;
  }

  .organizer-zone-photo-content {
    padding: 20px;
  }

  .organizer-zone-photo-title {
    font-size: 1.05rem;
  }

  .organizer-zone-photo-description {
    font-size: .9rem;
  }

  .organizer-zone-expand-icon {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px;
  }

  .organizer-zone-click-hint {
    font-size: .8rem;
  }

  .organizer-services-grid {
    grid-template-columns: 1fr;
  }
}

@media (width <= 480px) {
  .organizer-accordion-section {
    padding: 40px 15px;
  }

  .organizer-accordion-main-title {
    font-size: 1.6rem;
  }

  .organizer-accordion-header {
    margin-bottom: 40px;
  }

  .organizer-accordion-trigger {
    padding: 15px;
  }

  .organizer-accordion-trigger-content {
    gap: 10px;
  }

  .organizer-accordion-icon {
    width: 40px;
    height: 40px;
  }

  .organizer-accommodation-grid {
    grid-template-columns: 1fr;
  }

  .organizer-pricing-cards-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .organizer-pricing-card {
    padding: 25px 20px;
  }

  .organizer-pricing-card-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 15px;
  }

  .organizer-pricing-card-season {
    font-size: 1.2rem;
  }

  .organizer-pricing-table-wrapper {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
  }

  .organizer-table-head, .organizer-table-head-price, .organizer-table-cell-season, .organizer-table-cell-period, .organizer-table-cell-price {
    white-space: nowrap;
    padding: 12px 8px;
    font-size: .8rem;
  }

  .organizer-table-head-icon, .organizer-table-cell-icon {
    width: 60px;
    padding: 12px 4px;
  }

  .organizer-table-icon-wrapper {
    width: 36px;
    height: 36px;
  }

  .organizer-table-icon-wrapper svg {
    width: 18px;
    height: 18px;
  }

  .organizer-table-badge {
    padding: 3px 8px;
    font-size: .65rem;
  }

  .organizer-table-cell-price {
    font-size: 1.1rem;
  }

  .organizer-pricing-card-period {
    margin-bottom: 20px;
    font-size: .85rem;
  }

  .organizer-pricing-card-price {
    font-size: 2rem;
  }

  .organizer-pricing-card-per-week {
    font-size: .8rem;
  }

  .organizer-pricing-card-featured {
    transform: scale(1);
  }

  .organizer-zones-photo-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .organizer-zone-photo-wrapper {
    height: 180px;
  }

  .organizer-zone-photo-content {
    padding: 18px;
  }

  .organizer-zone-photo-title {
    margin-bottom: 10px;
    font-size: 1rem;
  }

  .organizer-zone-photo-description {
    font-size: .85rem;
  }

  .organizer-zone-photo-icon {
    width: 60px;
    height: 60px;
  }

  .organizer-download-button, .organizer-cta-button {
    padding: 14px 24px;
    font-size: .95rem;
  }
}

.organizer-retreat-dialog {
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
}

.organizer-retreat-dialog-title {
  color: #2c3e50;
  margin-bottom: 8px;
  font-size: 1.8rem;
}

.organizer-retreat-dialog-description {
  color: #6c757d;
  margin-bottom: 20px;
  font-size: 1rem;
}

.organizer-practice-hall-dialog {
  max-width: 1000px;
  max-height: 90vh;
  overflow-y: auto;
}

.organizer-practice-hall-dialog-title {
  color: #2c3e50;
  text-align: center;
  margin-bottom: 20px;
  font-size: 2rem;
}

.organizer-practice-hall-content {
  flex-direction: column;
  gap: 30px;
  display: flex;
}

.organizer-practice-hall-gallery {
  flex-direction: column;
  gap: 15px;
  width: 100%;
  display: flex;
}

.organizer-gallery-container {
  border-radius: 12px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.organizer-gallery-grid {
  flex-direction: row;
  gap: 15px;
  width: 100%;
  animation: .4s ease-in-out fadeInGallery;
  display: flex;
}

@keyframes fadeInGallery {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.organizer-practice-hall-gallery-image {
  object-fit: cover;
  border-radius: 12px;
  width: 100%;
  height: 400px;
  transition: transform .3s, box-shadow .3s;
  display: block;
}

.organizer-practice-hall-gallery-image:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px #c5379633;
}

.organizer-gallery-nav {
  cursor: pointer;
  z-index: 10;
  background: #ffffffe6;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 2px 10px #0003;
}

.organizer-gallery-nav:hover:not(.organizer-gallery-nav-disabled) {
  color: #fff;
  background: #c53796;
  transform: translateY(-50%)scale(1.1);
}

.organizer-gallery-nav-disabled {
  opacity: .3;
  cursor: not-allowed;
  pointer-events: none;
}

.organizer-gallery-nav-prev {
  left: 20px;
}

.organizer-gallery-nav-next {
  right: 20px;
}

.organizer-gallery-indicators {
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
  display: flex;
}

.organizer-gallery-dot {
  cursor: pointer;
  background: #d1d5db;
  border: none;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  padding: 0;
  transition: all .3s;
}

.organizer-gallery-dot:hover {
  background: #9ca3af;
  transform: scale(1.2);
}

.organizer-gallery-dot-active {
  background: #c53796;
  border-radius: 6px;
  width: 32px;
}

.organizer-practice-hall-text {
  flex-direction: column;
  gap: 25px;
  display: flex;
}

.organizer-practice-hall-section {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.organizer-practice-hall-text h3, 
.organizer-practice-hall-text h2, 
.organizer-practice-hall-text h4, 
.organizer-practice-hall-text h5, 
.organizer-practice-hall-text h6 {
  color: #c53796;
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
}

.organizer-practice-hall-text p {
  color: #444;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
}

.organizer-practice-hall-text ul {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.organizer-practice-hall-text li {
  color: #444;
  padding-left: 20px;
  font-size: 1.05rem;
  line-height: 1.7;
  position: relative;
}

.organizer-practice-hall-text li:before {
  content: "";
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 10px;
  left: 0;
}

.organizer-retreat-form {
  flex-direction: column;
  gap: 30px;
  display: flex;
}

.organizer-retreat-form-section {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.organizer-retreat-form-section-title {
  color: #2c3e50;
  border-bottom: 2px solid #e9ecef;
  margin: 0;
  padding-bottom: 10px;
  font-size: 1.3rem;
}

.organizer-retreat-form-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  display: grid;
}

.organizer-retreat-form-field {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.organizer-retreat-form-field-full {
  grid-column: 1 / -1;
}

.organizer-retreat-input-wrapper {
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
}

.organizer-retreat-input-wrapper svg {
  color: #c53796;
  pointer-events: none;
  position: absolute;
  left: 12px;
}

.organizer-retreat-input-wrapper input {
  padding-left: 40px;
}

.organizer-retreat-options-category {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  flex-direction: column;
  gap: 15px;
  padding: 20px;
  display: flex;
}

.organizer-retreat-options-category-title {
  color: #2c3e50;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1.1rem;
  display: flex;
}

.organizer-retreat-options-category-title svg {
  color: #c53796;
}

.organizer-retreat-options-list {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  display: grid;
}

.organizer-retreat-option-item {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  transition: all .3s;
  display: flex;
}

.organizer-retreat-option-item:hover {
  background: #c537960d;
  border-color: #c53796;
}

.organizer-retreat-option-label {
  cursor: pointer;
  color: #2c3e50;
  -webkit-user-select: none;
  user-select: none;
  margin: 0;
  font-size: .95rem;
}

.organizer-retreat-selected-count {
  text-align: center;
  color: #2c3e50;
  background: linear-gradient(135deg, #c537961a 0%, #ff6b9d1a 100%);
  border: 2px solid #c537964d;
  border-radius: 12px;
  padding: 15px 20px;
  font-size: 1.05rem;
}

.organizer-retreat-selected-count strong {
  color: #c53796;
  font-size: 1.2rem;
}

.organizer-retreat-submit-button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border: none;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 16px 32px;
  font-size: 1.1rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  box-shadow: 0 4px 15px #c537964d;
}

.organizer-retreat-submit-button:hover {
  background: linear-gradient(135deg, #b02d7a 0%, #ff5a8f 100%);
  transform: translateY(-3px);
  box-shadow: 0 6px 25px #c5379666;
}

.organizer-retreat-submit-button:active {
  transform: translateY(-1px);
}

@media (width <= 768px) {
  .organizer-retreat-dialog {
    max-width: 95vw;
  }

  .organizer-retreat-dialog-title {
    font-size: 1.5rem;
  }

  .organizer-retreat-form-grid, .organizer-retreat-options-list {
    grid-template-columns: 1fr;
  }

  .organizer-retreat-options-category {
    padding: 15px;
  }

  .organizer-practice-hall-dialog {
    max-width: 95vw;
  }

  .organizer-practice-hall-dialog-title {
    font-size: 1.6rem;
  }

  .organizer-gallery-grid {
    gap: 10px;
  }

  .organizer-practice-hall-gallery-image {
    height: 300px;
  }

  .organizer-gallery-nav {
    width: 40px;
    height: 40px;
  }

  .organizer-gallery-nav-prev {
    left: 10px;
  }

  .organizer-gallery-nav-next {
    right: 10px;
  }

  .organizer-practice-hall-subtitle {
    font-size: 1.15rem;
  }

  .organizer-practice-hall-paragraph, .organizer-practice-hall-list li {
    font-size: 1rem;
  }
}

@media (width <= 480px) {
  .organizer-retreat-dialog-title {
    font-size: 1.3rem;
  }

  .organizer-retreat-form-section-title {
    font-size: 1.15rem;
  }

  .organizer-retreat-options-category-title {
    font-size: 1rem;
  }

  .organizer-retreat-submit-button {
    padding: 14px 24px;
    font-size: 1rem;
  }

  .organizer-practice-hall-dialog-title {
    font-size: 1.4rem;
  }

  .organizer-gallery-grid {
    gap: 8px;
  }

  .organizer-zone-expand-icon {
    width: 32px;
    height: 32px;
    top: 10px;
    right: 10px;
  }

  .organizer-zone-click-hint {
    margin-top: 10px;
    font-size: .75rem;
  }

  .organizer-practice-hall-gallery-image {
    height: 250px;
  }

  .organizer-gallery-nav {
    width: 36px;
    height: 36px;
  }

  .organizer-gallery-nav svg {
    width: 18px;
    height: 18px;
  }

  .organizer-gallery-nav-prev {
    left: 8px;
  }

  .organizer-gallery-nav-next {
    right: 8px;
  }

  .organizer-gallery-dot {
    width: 10px;
    height: 10px;
  }

  .organizer-gallery-dot-active {
    width: 24px;
  }

  .organizer-practice-hall-subtitle {
    font-size: 1.1rem;
  }

  .organizer-practice-hall-paragraph, .organizer-practice-hall-list li {
    font-size: .95rem;
  }
}

.organizer-services-modern-section {
  background: linear-gradient(135deg, #fafbfc 0%, #f5f7fa 100%);
  padding: 120px 20px;
  position: relative;
  overflow: hidden;
}

.organizer-services-modern-section:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 20% 30%, #c537960a 0%, #0000 50%), radial-gradient(circle at 80% 70%, #ff6b9d08 0%, #0000 50%);
  position: absolute;
  inset: 0;
}

.organizer-services-modern-section:after {
  content: "";
  pointer-events: none;
  opacity: .6;
  background-image: repeating-linear-gradient(0deg, #c5379608 0, #0000 1px 40px, #c5379608 41px), repeating-linear-gradient(90deg, #c5379608 0, #0000 1px 40px, #c5379608 41px), radial-gradient(circle at 15% 15%, #c537960d 0%, #0000 25%), radial-gradient(circle at 85% 85%, #ff6b9d0d 0%, #0000 25%);
  position: absolute;
  inset: 0;
}

.organizer-services-modern-container {
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
}

.organizer-services-modern-header {
  text-align: center;
  margin-bottom: 80px;
}

.organizer-services-modern-title {
  color: #1a1a1a;
  margin: 0 0 20px;
  font-size: 3.5rem;
  line-height: 1.2;
}

.organizer-services-modern-highlight {
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.organizer-services-modern-subtitle {
  color: #1a1a1aa6;
  margin: 0;
  font-size: 1.25rem;
}

.organizer-services-modern-grid {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 25px;
  margin-bottom: 60px;
  display: grid;
}

.organizer-service-modern-card {
  cursor: pointer;
  background: #fff;
  border: 2px solid #0000;
  border-radius: 20px;
  transition: all .4s;
  overflow: hidden;
  box-shadow: 0 4px 15px #00000014;
}

.organizer-service-modern-card:hover {
  border-color: #c53796;
  transform: translateY(-8px);
  box-shadow: 0 12px 30px #c5379633;
}

.organizer-service-modern-image-wrapper {
  width: 100%;
  height: 220px;
  position: relative;
  overflow: hidden;
}

.organizer-service-modern-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .5s;
}

.organizer-service-modern-card:hover .organizer-service-modern-image {
  transform: scale(1.1);
}

.organizer-service-modern-content {
  padding: 25px;
}

.organizer-service-modern-title {
  color: #2c3e50;
  letter-spacing: .02em;
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: 600;
}

.organizer-service-modern-description {
  color: #2c3e50b3;
  margin: 0;
  font-size: .95rem;
  line-height: 1.6;
}

.organizer-services-modern-footer {
  text-align: center;
  padding: 0;
}

.organizer-services-modern-footer-content {
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  background: linear-gradient(135deg, #fffffff2 0%, #ffffffd9 100%);
  border: 1px solid #c5379626;
  border-radius: 32px;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: 60px 80px;
  transition: all .4s;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px #c5379614, 0 8px 24px #0000000a;
}

.organizer-services-modern-footer-content:before {
  content: "";
  background: linear-gradient(90deg, #0000 0%, #c53796 20%, #8b2674 50%, #c53796 80%, #0000 100%);
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.organizer-services-modern-footer-content:hover {
  border-color: #c5379640;
  transform: translateY(-4px);
  box-shadow: 0 24px 70px #c537961f, 0 12px 32px #0000000f;
}

.organizer-services-footer-icon-circle {
  background: linear-gradient(135deg, #c53796 0%, #8b2674 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  display: flex;
  box-shadow: 0 8px 24px #c537964d;
}

.organizer-services-footer-icon {
  color: #fff;
  width: 36px;
  height: 36px;
}

.organizer-services-footer-text-wrapper {
  text-align: center;
  max-width: 600px;
}

.organizer-services-footer-title {
  background: linear-gradient(135deg, #c53796 0%, #8b2674 100%);
  -webkit-text-fill-color: transparent;
  letter-spacing: -.02em;
  background-clip: text;
  margin: 0 0 12px;
  font-size: 1.75rem;
  font-weight: 600;
}

.organizer-services-footer-description {
  color: #1a1a1abf;
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.6;
}

.organizer-services-footer-gradient-line {
  background: linear-gradient(90deg, #0000 0%, #c53796 50%, #0000 100%);
  border-radius: 2px;
  width: 120px;
  height: 4px;
}

.organizer-services-modern-footer-icon {
  color: #c53796;
  flex-shrink: 0;
}

.organizer-services-modern-footer-text {
  color: #1a1a1ad9;
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.5;
}

@media (width <= 1200px) {
  .organizer-service-modern-large, .organizer-service-modern-medium, .organizer-service-modern-small {
    grid-column: span 6;
  }
}

@media (width <= 768px) {
  .organizer-services-modern-section {
    padding: 80px 20px;
  }

  .organizer-services-modern-header {
    margin-bottom: 50px;
  }

  .organizer-services-modern-title {
    font-size: 2.5rem;
  }

  .organizer-services-modern-subtitle {
    font-size: 1.1rem;
  }

  .organizer-services-modern-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .organizer-service-modern-content {
    padding: 20px;
  }

  .organizer-service-modern-title {
    font-size: 1.05rem;
  }

  .organizer-service-modern-image-wrapper {
    height: 200px;
  }

  .organizer-services-modern-footer-content {
    gap: 20px;
    padding: 40px 30px;
  }

  .organizer-services-footer-icon-circle {
    width: 64px;
    height: 64px;
  }

  .organizer-services-footer-icon {
    width: 28px;
    height: 28px;
  }

  .organizer-services-footer-title {
    font-size: 1.35rem;
  }

  .organizer-services-footer-description, .organizer-services-modern-footer-text {
    font-size: 1rem;
  }
}

@media (width <= 576px) {
  .organizer-services-modern-title {
    font-size: 2rem;
  }

  .organizer-services-modern-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .organizer-service-modern-image-wrapper {
    height: 200px;
  }
}

.organizer-zone-modal-content {
  max-width: 900px;
  max-height: 90vh;
  padding: 0;
  overflow-y: auto;
}

.organizer-zone-modal-title {
  color: #2c3e50;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 8px;
  font-size: 2rem;
  font-weight: 700;
}

.organizer-zone-modal-description {
  color: #6c757d;
  margin-bottom: 24px;
  font-size: 1.05rem;
}

.organizer-zone-modal-gallery {
  background: #f8f9fa;
  border-radius: 12px;
  width: 100%;
  height: 450px;
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
}

.organizer-zone-gallery-image-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.organizer-zone-gallery-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.organizer-zone-gallery-nav {
  cursor: pointer;
  z-index: 10;
  background: #fffffff2;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 4px 12px #00000026;
}

.organizer-zone-gallery-nav:hover {
  background: #fff;
  transform: translateY(-50%)scale(1.1);
  box-shadow: 0 6px 20px #c537964d;
}

.organizer-zone-gallery-nav-left {
  left: 20px;
}

.organizer-zone-gallery-nav-right {
  right: 20px;
}

.organizer-zone-gallery-nav svg {
  color: #c53796;
}

.organizer-zone-gallery-counter {
  color: #fff;
  z-index: 10;
  background: #000000bf;
  border-radius: 20px;
  padding: 8px 20px;
  font-size: .9rem;
  font-weight: 600;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.organizer-zone-modal-text {
  padding: 0 30px 30px;
}

.organizer-zone-modal-section {
  margin-bottom: 30px;
}

.organizer-zone-modal-section:last-child {
  margin-bottom: 0;
}

.organizer-zone-modal-subtitle {
  color: #2c3e50;
  margin-bottom: 16px;
  padding-left: 20px;
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
}

.organizer-zone-modal-subtitle:before {
  content: "";
  background: linear-gradient(#c53796 0%, #ff6b9d 100%);
  border-radius: 3px;
  width: 5px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.organizer-zone-modal-section p {
  color: #495057;
  margin-bottom: 16px;
  font-size: 1.05rem;
  line-height: 1.8;
}

.organizer-zone-modal-section p:last-child {
  margin-bottom: 0;
}

.organizer-zone-modal-list {
  margin: 20px 0;
}

.organizer-zone-modal-list p {
  color: #2c3e50;
  margin-bottom: 12px;
  font-weight: 600;
}

.organizer-zone-modal-list ul {
  margin: 0;
  padding-left: 24px;
  list-style: none;
}

.organizer-zone-modal-list li {
  color: #495057;
  margin-bottom: 10px;
  padding-left: 16px;
  font-size: 1.05rem;
  line-height: 1.8;
  position: relative;
}

.organizer-zone-modal-list li:before {
  content: "–";
  color: #c53796;
  font-weight: 600;
  position: absolute;
  left: 0;
}

.organizer-zone-modal-highlight {
  background: linear-gradient(135deg, #c5379614 0%, #ff6b9d14 100%);
  border-left: 4px solid #c53796;
  border-radius: 12px;
  padding: 16px 20px;
  font-style: italic;
  margin-top: 16px !important;
}

.organizer-zone-modal-divider {
  background: linear-gradient(90deg, #0000 0%, #c5379633 50%, #0000 100%);
  height: 1px;
  margin: 30px 0;
}

@media (width <= 768px) {
  .organizer-zone-modal-content {
    max-width: 100%;
    padding: 0;
  }

  .organizer-zone-modal-title {
    font-size: 1.6rem;
  }

  .organizer-zone-modal-description {
    font-size: .95rem;
  }

  .organizer-zone-modal-gallery {
    border-radius: 8px;
    height: 300px;
  }

  .organizer-zone-gallery-nav {
    width: 40px;
    height: 40px;
  }

  .organizer-zone-gallery-nav-left {
    left: 10px;
  }

  .organizer-zone-gallery-nav-right {
    right: 10px;
  }

  .organizer-zone-modal-text {
    padding: 0 20px 20px;
  }

  .organizer-zone-modal-subtitle {
    font-size: 1.2rem;
  }

  .organizer-zone-modal-section p, .organizer-zone-modal-list li {
    font-size: .95rem;
  }
}

@media (width <= 576px) {
  .organizer-zone-modal-title {
    font-size: 1.4rem;
  }

  .organizer-zone-modal-gallery {
    height: 250px;
  }

  .organizer-zone-modal-subtitle {
    padding-left: 16px;
    font-size: 1.1rem;
  }

  .organizer-zone-modal-subtitle:before {
    width: 4px;
    height: 20px;
  }
}

.organizer-cta-modern-section {
  background: radial-gradient(circle at 20% 30%, #c537960d 0%, #0000 70%), radial-gradient(circle at 80% 70%, #ff6b9d0a 0%, #0000 70%), linear-gradient(135deg, #fff6 0%, #ffffffd9 20%, #fffffff2 50%, #ffffffd9 80%, #fff6 100%);
  padding: 80px 20px;
  position: relative;
  overflow: hidden;
}

.organizer-cta-modern-bg-elements {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.organizer-cta-modern-circle {
  filter: blur(120px);
  background: radial-gradient(circle, #c5379614 0%, #c5379608 40%, #0000 80%);
  border-radius: 50%;
  position: absolute;
}

.organizer-cta-modern-circle-1 {
  width: 600px;
  height: 600px;
  top: -200px;
  left: -100px;
}

.organizer-cta-modern-circle-2 {
  background: radial-gradient(circle, #ff6b9d0f 0%, #ff6b9d05 40%, #0000 80%);
  width: 500px;
  height: 500px;
  bottom: -150px;
  right: -100px;
}

.organizer-cta-modern-container {
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.organizer-cta-modern-content {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  display: flex;
}

.organizer-cta-modern-badge {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #c53796;
  background: #c537961a;
  border: 1px solid #c537964d;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  font-size: .9rem;
  font-weight: 500;
  display: inline-flex;
}

.organizer-cta-modern-title {
  color: #1a1a1a;
  max-width: 800px;
  margin: 0;
  font-size: 2.5rem;
  line-height: 1.25;
}

.organizer-cta-modern-subtitle {
  color: #1a1a1aa6;
  margin: 0;
  font-size: 1.25rem;
}

.organizer-cta-modern-buttons {
  flex-direction: column;
  gap: 16px;
  margin-top: 10px;
  display: flex;
}

.organizer-cta-modern-row {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  display: flex;
}

.organizer-cta-modern-btn {
  border: 2px solid #0000;
  border-radius: 100px;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  font-size: 1.05rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s cubic-bezier(.22, 1, .36, 1);
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.organizer-cta-modern-whatsapp {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #c53796;
  background: #c537961a;
  border-color: #c537964d;
}

.organizer-cta-modern-whatsapp:hover {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-color: #c53796;
  box-shadow: 0 10px 40px #c5379666;
}

.organizer-cta-modern-telegram {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #c53796;
  background: #c537961a;
  border-color: #c537964d;
}

.organizer-cta-modern-telegram:hover {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  border-color: #c53796;
  box-shadow: 0 10px 40px #c5379666;
}

.organizer-cta-modern-primary {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff6b9d 100%);
  padding: 20px 48px;
  font-size: 1.2rem;
  box-shadow: 0 10px 40px #c5379666;
}

.organizer-cta-modern-primary:hover {
  box-shadow: 0 15px 60px #c5379699;
}

.organizer-cta-modern-shine {
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #ffffff4d, #0000);
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width <= 768px) {
  .organizer-cta-modern-section {
    padding: 60px 20px;
  }

  .organizer-cta-modern-title {
    font-size: 2rem;
  }

  .organizer-cta-modern-subtitle {
    font-size: 1.1rem;
  }

  .organizer-cta-modern-row {
    flex-direction: column;
    width: 100%;
  }

  .organizer-cta-modern-btn {
    justify-content: center;
    width: 100%;
  }
}

@media (width <= 576px) {
  .organizer-cta-modern-title {
    font-size: 1.75rem;
  }

  .organizer-cta-modern-subtitle {
    font-size: 1.1rem;
  }

  .organizer-cta-modern-btn {
    padding: 14px 28px;
    font-size: 1rem;
  }

  .organizer-cta-modern-primary {
    padding: 18px 36px;
    font-size: 1.1rem;
  }

  .organizer-cta-modern-circle-1, .organizer-cta-modern-circle-2 {
    display: none;
  }
}

.footer-section {
  color: #fff;
  background: linear-gradient(#2c3e50 0%, #1a252f 100%);
  padding: 80px 20px 0;
  position: relative;
  overflow: hidden;
}

.footer-section:before {
  content: "";
  opacity: .5;
  background: linear-gradient(90deg, #0000 0%, #c53796 50%, #0000 100%);
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.footer-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.footer-content {
  grid-template-columns: repeat(4, 1fr);
  gap: 60px;
  margin-bottom: 60px;
  animation: 1s ease-out fadeInUp;
  display: grid;
}

.footer-column {
  flex-direction: column;
  display: flex;
}

.footer-column-title {
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 30px;
  padding-bottom: 15px;
  font-size: 1.3rem;
  font-weight: 600;
  position: relative;
}

.footer-column-title:after {
  content: "";
  background: linear-gradient(90deg, #c53796, #ff8c42);
  border-radius: 2px;
  width: 50px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.footer-nav-list {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.footer-nav-link {
  color: #fffc;
  letter-spacing: .5px;
  padding-left: 0;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
  transition: all .3s;
  position: relative;
}

.footer-nav-link:before {
  content: "";
  background: #c53796;
  width: 0;
  height: 1px;
  transition: width .3s;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.footer-nav-link:hover {
  color: #c53796;
  padding-left: 10px;
}

.footer-nav-link:hover:before {
  width: 30px;
}

.footer-contact-list {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.footer-contact-item {
  color: #fffc;
  background: #ffffff0d;
  border-radius: 10px;
  align-items: center;
  gap: 15px;
  padding: 12px 15px;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.footer-contact-item:hover {
  color: #fff;
  background: #c5379626;
  transform: translateX(5px);
}

.footer-contact-icon {
  color: #fff;
  background: linear-gradient(135deg, #c53796 0%, #ff8c42 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: all .3s;
  display: flex;
}

.footer-contact-item:hover .footer-contact-icon {
  transform: rotate(10deg)scale(1.1);
}

.footer-contact-text {
  letter-spacing: .3px;
  font-size: 1rem;
  font-weight: 400;
}

.footer-social-list {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.footer-social-link {
  color: #fff;
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  padding: 15px 20px;
  text-decoration: none;
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  position: relative;
  overflow: hidden;
}

.footer-social-link:before {
  content: "";
  opacity: 0;
  transition: opacity .4s;
  position: absolute;
  inset: 0;
}

.footer-social-link:hover:before {
  opacity: 1;
}

.footer-social-telegram {
  background: #0088cc26;
  border: 1px solid #0088cc4d;
}

.footer-social-telegram:before {
  background: linear-gradient(135deg, #0088cce6 0%, #005f8de6 100%);
}

.footer-social-telegram:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px #08c6;
}

.footer-social-whatsapp {
  background: #25d36626;
  border: 1px solid #25d3664d;
}

.footer-social-whatsapp:before {
  background: linear-gradient(135deg, #25d366e6 0%, #128c7ee6 100%);
}

.footer-social-whatsapp:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px #25d36666;
}

.footer-social-instagram {
  background: #c5379626;
  border: 1px solid #c537964d;
}

.footer-social-instagram:before {
  background: linear-gradient(135deg, #c53796e6 0%, #e1306ce6 100%);
}

.footer-social-instagram:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px #c5379666;
}

.footer-social-icon {
  z-index: 1;
  background: #ffffff1a;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  transition: all .3s;
  display: flex;
  position: relative;
}

.footer-social-link:hover .footer-social-icon {
  background: #fff3;
  transform: rotate(10deg)scale(1.1);
}

.footer-social-text {
  letter-spacing: .5px;
  z-index: 1;
  font-size: 1.05rem;
  font-weight: 500;
  position: relative;
}

.footer-language-toggle {
  cursor: pointer;
  color: #fff;
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  padding: 18px 25px;
  transition: all .3s;
  display: flex;
}

.footer-language-toggle:hover {
  background: #c5379633;
  border-color: #c5379680;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px #c537964d;
}

.footer-language-icon {
  flex-shrink: 0;
  transition: transform .3s;
}

.footer-language-toggle:hover .footer-language-icon {
  transform: rotate(180deg);
}

.footer-language-options {
  letter-spacing: 1px;
  align-items: center;
  gap: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
}

.footer-language-option {
  opacity: .5;
  transition: all .3s;
}

.footer-language-option.active {
  opacity: 1;
  color: #c53796;
}

.footer-language-separator {
  opacity: .3;
}

.footer-bottom {
  text-align: center;
  border-top: 1px solid #ffffff1a;
  padding: 40px 0;
}

.footer-philosophy {
  margin-bottom: 20px;
}

.footer-philosophy-text {
  letter-spacing: 1.5px;
  color: #ffffffe6;
  max-width: 600px;
  margin: 0 auto;
  font-size: 1.3rem;
  font-style: italic;
  font-weight: 300;
}

.footer-copyright-text {
  color: #fff9;
  letter-spacing: .5px;
  font-size: .95rem;
  font-weight: 300;
}

@media (width <= 1024px) {
  .footer-section {
    padding: 70px 15px 0;
  }

  .footer-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin-bottom: 50px;
  }

  .footer-column-title {
    margin-bottom: 25px;
    font-size: 1.2rem;
  }
}

@media (width <= 768px) {
  .footer-section {
    padding: 60px 15px 0;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 45px;
    margin-bottom: 45px;
  }

  .footer-column {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .footer-column-title {
    text-align: center;
    margin-bottom: 22px;
    font-size: 1.15rem;
  }

  .footer-column-title:after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer-nav-list {
    align-items: center;
    gap: 12px;
  }

  .footer-nav-link {
    text-align: center;
  }

  .footer-contact-list {
    gap: 15px;
  }

  .footer-social-list {
    gap: 12px;
  }

  .footer-language-toggle {
    width: fit-content;
    margin: 0 auto;
  }

  .footer-philosophy-text {
    padding: 0 20px;
    font-size: 1.15rem;
  }

  .footer-copyright-text {
    font-size: .9rem;
  }
}

@media (width <= 480px) {
  .footer-section {
    padding: 50px 15px 0;
  }

  .footer-content {
    gap: 35px;
    margin-bottom: 35px;
  }

  .footer-column-title {
    margin-bottom: 20px;
    font-size: 1.05rem;
  }

  .footer-nav-link {
    font-size: .95rem;
  }

  .footer-contact-item {
    padding: 10px 12px;
  }

  .footer-contact-icon {
    width: 36px;
    height: 36px;
  }

  .footer-contact-icon svg {
    width: 18px;
    height: 18px;
  }

  .footer-contact-text {
    font-size: .95rem;
  }

  .footer-social-link {
    padding: 12px 18px;
  }

  .footer-social-icon {
    width: 40px;
    height: 40px;
  }

  .footer-social-icon svg {
    width: 20px;
    height: 20px;
  }

  .footer-social-text {
    font-size: 1rem;
  }

  .footer-language-toggle {
    padding: 15px 20px;
  }

  .footer-language-options {
    font-size: 1rem;
  }

  .footer-bottom {
    padding: 30px 0;
  }

  .footer-philosophy {
    margin-bottom: 18px;
  }

  .footer-philosophy-text {
    padding: 0 15px;
    font-size: 1.05rem;
  }

  .footer-copyright-text {
    font-size: .85rem;
  }
}

@media (width <= 360px) {
  .footer-section {
    padding: 40px 12px 0;
  }

  .footer-content {
    gap: 30px;
    margin-bottom: 30px;
  }

  .footer-column-title {
    margin-bottom: 18px;
    font-size: 1rem;
  }

  .footer-nav-link {
    font-size: .9rem;
  }

  .footer-contact-text {
    font-size: .88rem;
  }

  .footer-social-text {
    font-size: .95rem;
  }

  .footer-philosophy-text {
    padding: 0 10px;
    font-size: .95rem;
    line-height: 1.6;
  }

  .footer-copyright-text {
    font-size: .8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-nav-link:hover, .footer-contact-item:hover, .footer-social-link:hover, .footer-language-toggle:hover, .footer-contact-item:hover .footer-contact-icon, .footer-social-link:hover .footer-social-icon, .footer-language-toggle:hover .footer-language-icon {
    transform: none;
  }
}

@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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-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-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@keyframes enter {
  from {
    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));
  }
}

@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));
  }
}

@keyframes accordion-down {
  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height));
  }
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height, var(--bits-accordion-content-height));
  }

  to {
    height: 0;
  }
}
@custom-variant dark (&:is(.dark *));

:root {
  --font-size: 16px;
  --background: #ffffff;
  --foreground: oklch(0.145 0 0);
  --card: #ffffff;
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: #030213;
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.95 0.0058 264.53);
  --secondary-foreground: #030213;
  --muted: #ececf0;
  --muted-foreground: #717182;
  --accent: #e9ebef;
  --accent-foreground: #030213;
  --destructive: #d4183d;
  --destructive-foreground: #ffffff;
  --border: rgba(0, 0, 0, 0.1);
  --input: transparent;
  --input-background: #f3f3f5;
  --switch-background: #cbced4;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.646 0.222 41.116);
  --chart-2: oklch(0.6 0.118 184.704);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);
  --radius: 0.625rem;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.145 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.145 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.985 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.396 0.141 25.723);
  --destructive-foreground: oklch(0.637 0.237 25.331);
  --border: oklch(0.269 0 0);
  --input: oklch(0.269 0 0);
  --ring: oklch(0.439 0 0);
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: oklch(0.488 0.243 264.376);
  --chart-2: oklch(0.696 0.17 162.48);
  --chart-3: oklch(0.769 0.188 70.08);
  --chart-4: oklch(0.627 0.265 303.9);
  --chart-5: oklch(0.645 0.246 16.439);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(0.269 0 0);
  --sidebar-ring: oklch(0.439 0 0);
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-input-background: var(--input-background);
  --color-switch-background: var(--switch-background);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }

  body {
    @apply bg-background text-foreground;
  }
}

/**
 * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
 */
@layer base {
  :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) {
    h1 {
      font-size: var(--text-2xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    h2 {
      font-size: var(--text-xl);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    h3 {
      font-size: var(--text-lg);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    h4 {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    p {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.5;
    }

    label {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    button {
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      line-height: 1.5;
    }

    input {
      font-size: var(--text-base);
      font-weight: var(--font-weight-normal);
      line-height: 1.5;
    }
  }
}

html {
  font-size: var(--font-size);
}

/* Hero Block для Tilda - Конвертированная версия */

/* Tilda Window Container Settings */
.tilda-section {
    height: 100vh;
    min-height: 800px;
    position: relative;
    overflow: hidden;
}

/* Основные стили блока */
.tilda-hero-section {
    position: relative;
    height: auto;
    min-height: 800px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    padding: 40px 0;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    contain: layout style paint;
}

.tilda-hero-section.initialized {
    opacity: 1;
}

/* Параллакс фон */
.tilda-parallax-bg {
    position: absolute;
    top: -20%;
    left: 0;
    width: 100%;
    height: 120%;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    will-change: transform;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

.tilda-parallax-bg.loaded {
    opacity: 1;
}

/* Основной контейнер */
.tilda-hero-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 60px;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    transform: none;
    scale: none;
}

/* Левая часть с контентом */
.tilda-hero-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.tilda-hero-text {
    animation: tilda-fadeInUp 1s ease-out;
}

.tilda-hero-title {
    font-size: 4.5rem;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.1;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.tilda-hero-subtitle {
    font-size: 3.6rem;
    font-weight: 700;
    color: #C53796;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.tilda-hero-description {
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.8;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Информационная карточка */
.tilda-info-card {
    background: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    color: #333;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    animation: tilda-fadeInUp 1s ease-out 0.3s both;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.tilda-card-title {
    font-size: 2.3rem;
    font-weight: 600;
    color: #C53796;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.tilda-card-content p {
    font-size: 1.2rem;
    line-height: 1.7;
    margin-bottom: 15px;
    color: #555;
}

.tilda-card-content p:last-child {
    margin-bottom: 0;
}

/* Правая часть с видео */
.tilda-hero-video {
    animation: tilda-fadeInRight 1s ease-out 0.5s both;
}

.tilda-video-container {
    position: relative;
    width: 100%;
    height: 600px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    border: 3px solid rgba(255, 255, 255, 0.2);
}

/* Заглушка для видео */
.tilda-video-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, 
                rgba(255, 107, 53, 0.8) 0%, 
                rgba(255, 107, 53, 0.6) 50%, 
                rgba(0, 0, 0, 0.7) 100%),
                url('https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=60') center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}

.tilda-video-placeholder.show {
    opacity: 1;
    pointer-events: all;
}

.tilda-video-placeholder:hover {
    transform: scale(1.02);
}

.tilda-video-content {
    text-align: center;
    color: white;
}

.tilda-play-button {
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.tilda-play-button:hover {
    transform: scale(1.1);
}

.tilda-video-text {
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: 1px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

/* Реальное видео */
.tilda-hero-video-element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Скролл индикатор */
.tilda-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    animation: tilda-bounce 2s infinite;
    z-index: 3;
}

.tilda-scroll-arrow {
    margin-bottom: 10px;
}

.tilda-scroll-text {
    font-size: 0.9rem;
    letter-spacing: 1px;
    opacity: 0.8;
}

/* Анимации */
@keyframes tilda-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tilda-fadeInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes tilda-bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* Адаптивность */
@media (max-width: 1200px) {
    .tilda-hero-container {
        grid-template-columns: 1fr 350px;
        gap: 40px;
        padding: 0 30px;
    }
    
    .tilda-hero-title {
        font-size: 3.8rem;
    }
    
    .tilda-hero-subtitle {
        font-size: 3rem;
    }
    
    .tilda-video-container {
        height: 500px;
    }
}

@media (max-width: 968px) {
    .tilda-hero-container {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
        padding: 0 20px;
    }
    
    .tilda-hero-title {
        font-size: 3.2rem;
    }
    
    .tilda-hero-subtitle {
        font-size: 2.6rem;
    }
    
    .tilda-video-container {
        height: 400px;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .tilda-info-card {
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .tilda-section {
        height: auto;
        min-height: 100vh;
    }
    
    .tilda-hero-section {
        height: auto;
        min-height: 100vh;
        padding: 0;
        display: block;
    }
    
    .tilda-hero-container {
        gap: 0;
        padding: 0;
        grid-template-columns: 1fr;
        align-items: stretch;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 100vh;
    }
    
    .tilda-hero-content {
        order: 1;
        gap: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    
    .tilda-hero-text {
        text-align: center;
        width: 100%;
        padding: 40px 20px;
        background: rgba(0, 0, 0, 0.8);
        margin: 0;
    }
    
    .tilda-hero-title {
        font-size: 2.5rem;
        font-weight: 700;
        letter-spacing: 2px;
        line-height: 1.1;
        margin-bottom: 15px;
        word-wrap: break-word;
        hyphens: auto;
        width: 100%;
        color: white;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        text-align: center;
    }
    
    .tilda-hero-subtitle {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 1.5px;
        line-height: 1.1;
        width: 100%;
        color: #C53796;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        margin: 0;
        text-align: center;
    }
    
    .tilda-hero-description {
        font-size: 1.1rem;
        line-height: 1.6;
        letter-spacing: 0.8px;
        margin: 20px 0 0 0;
        text-align: center;
        width: 100%;
        color: white;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }
    
    /* Показываем карточку PoToK на мобильных устройствах */
    .tilda-info-card {
        display: block;
        order: 2;
        margin: 16px;
        background: #ffffff;
        border-radius: 20px;
        padding: 30px 24px;
        width: calc(100% - 32px);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
        border: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    
    .tilda-card-title {
        font-size: 1.75rem;
        font-weight: 600;
        color: #C53796;
        text-align: left;
        margin-bottom: 20px;
        letter-spacing: 0.5px;
    }
    
    .tilda-card-content p {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 16px;
        text-align: left;
        color: #2d3748;
        font-weight: 400;
    }
    
    .tilda-hero-video {
        order: 3;
        margin: 20px;
        width: calc(100% - 40px);
    }
    
    .tilda-video-container {
        height: 400px;
        margin: 0;
        width: 100%;
        border-radius: 15px;
        border: 2px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
        overflow: hidden;
    }
}

@media (max-width: 480px) {
    .tilda-section {
        height: auto;
        min-height: 100vh;
    }
    
    .tilda-hero-section {
        padding: 0;
        height: auto;
        min-height: 100vh;
        display: block;
    }
    
    .tilda-hero-container {
        gap: 0;
        height: auto;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }
    
    .tilda-hero-content {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    .tilda-hero-text {
        padding: 30px 15px;
        background: rgba(0, 0, 0, 0.8);
        text-align: center;
        width: 100%;
        margin: 0;
    }
    
    .tilda-hero-title {
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 1.5px;
        line-height: 1.1;
        margin-bottom: 12px;
        word-wrap: break-word;
        hyphens: auto;
        color: white;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        text-align: center;
    }
    
    .tilda-hero-subtitle {
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 1px;
        line-height: 1.1;
        color: #C53796;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        margin: 0;
        text-align: center;
    }
    
    .tilda-hero-description {
        font-size: 0.95rem;
        line-height: 1.5;
        letter-spacing: 0.6px;
        margin: 15px 0 0 0;
        text-align: center;
        color: white;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }
    
    /* Показываем карточку PoToK на мобильных устройствах */
    .tilda-info-card {
        display: block;
        order: 2;
        margin: 12px;
        background: #ffffff;
        border-radius: 18px;
        padding: 26px 20px;
        width: calc(100% - 24px);
        box-shadow: 0 6px 28px rgba(0, 0, 0, 0.1);
        border: none;
    }
    
    .tilda-card-title {
        font-size: 1.5rem;
        font-weight: 600;
        color: #C53796;
        text-align: left;
        margin-bottom: 18px;
        letter-spacing: 0.5px;
    }
    
    .tilda-card-content p {
        font-size: 0.88rem;
        line-height: 1.55;
        margin-bottom: 14px;
        text-align: left;
        color: #2d3748;
        font-weight: 400;
    }
    
    .tilda-hero-video {
        order: 3;
        margin: 15px;
        width: calc(100% - 30px);
    }
    
    .tilda-video-container {
        height: 300px;
        margin: 0;
        width: 100%;
        border-radius: 12px;
        border: 2px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        overflow: hidden;
    }
    
    .tilda-scroll-indicator {
        bottom: 20px;
    }
}

@media (max-width: 360px) {
    .tilda-section {
        height: auto;
        min-height: 100vh;
    }
    
    .tilda-hero-section {
        padding: 0;
        height: auto;
        min-height: 100vh;
        display: block;
    }
    
    .tilda-hero-container {
        padding: 0;
        gap: 0;
        height: auto;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }
    
    .tilda-hero-content {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    .tilda-hero-text {
        padding: 25px 12px;
        background: rgba(0, 0, 0, 0.8);
        text-align: center;
        margin: 0;
        width: 100%;
    }
    
    .tilda-hero-title {
        font-size: 1.8rem;
        font-weight: 700;
        letter-spacing: 1.2px;
        line-height: 1.1;
        margin-bottom: 10px;
        word-wrap: break-word;
        hyphens: auto;
        color: white;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        text-align: center;
    }
    
    .tilda-hero-subtitle {
        font-size: 1.4rem;
        font-weight: 700;
        letter-spacing: 0.8px;
        line-height: 1.1;
        color: #C53796;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
        margin: 0;
        text-align: center;
    }
    
    .tilda-hero-description {
        font-size: 0.9rem;
        line-height: 1.4;
        letter-spacing: 0.5px;
        margin: 12px 0 0 0;
        text-align: center;
        color: white;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }
    
    /* Показываем карточку PoToK на мобильных устройствах */
    .tilda-info-card {
        display: block;
        order: 2;
        margin: 10px;
        background: #ffffff;
        border-radius: 16px;
        padding: 22px 18px;
        width: calc(100% - 20px);
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
        border: none;
    }
    
    .tilda-card-title {
        font-size: 1.35rem;
        font-weight: 600;
        color: #C53796;
        text-align: left;
        margin-bottom: 16px;
        letter-spacing: 0.5px;
    }
    
    .tilda-card-content p {
        font-size: 0.82rem;
        line-height: 1.5;
        margin-bottom: 12px;
        text-align: left;
        color: #2d3748;
        font-weight: 400;
    }
    
    .tilda-hero-video {
        order: 3;
        margin: 12px;
        width: calc(100% - 24px);
    }
    
    .tilda-video-container {
        height: 250px;
        margin: 0;
        width: 100%;
        border-radius: 10px;
        border: 2px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        overflow: hidden;
    }
}

/* Поддержка уменьшенной анимации */
@media (prefers-reduced-motion: reduce) {
    .tilda-hero-text,
    .tilda-info-card,
    .tilda-hero-video {
        animation: none;
    }
    
    .tilda-scroll-indicator {
        animation: none;
    }
    
    .tilda-video-placeholder:hover {
        transform: none;
    }
    
    .tilda-play-button:hover {
        transform: none;
    }
}

/* Стили для блока индивидуальных программ */
.individual-programs-section {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(
        rgba(0, 0, 0, 0.6), 
        rgba(0, 0, 0, 0.4)
    ), url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
    background-attachment: fixed;
    display: flex;
    align-items: center;
    padding: 80px 20px;
}

/* Метка услуг в левом верхнем углу */
.services-badge {
    position: absolute;
    top: 30px;
    left: 30px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: rgba(255, 255, 255, 0.8);
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.2);
    z-index: 10;
    animation: fadeInLeft 1s ease-out;
}

.programs-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

/* Заголовок секции */
.programs-header {
    text-align: center;
    margin-bottom: 80px;
    animation: fadeInUp 1s ease-out;
}

.programs-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 4px;
    color: #ffffff;
    margin-bottom: 30px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    position: relative;
}

.programs-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, #ff6b35, #ff8c42);
    border-radius: 2px;
}

.programs-description {
    font-size: 1.3rem;
    line-height: 1.8;
    color: #ffffff;
    max-width: 800px;
    margin: 0 auto;
    font-weight: 300;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    opacity: 0.95;
}

/* Сетка программ */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px;
}

.program-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
    overflow: hidden;
}

.program-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #ff6b35, #ff8c42);
}

.program-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
    background: rgba(255, 255, 255, 1);
}

.program-content {
    position: relative;
    z-index: 2;
}

.program-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    margin: 0 auto 30px auto;
    background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
    border-radius: 50%;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(255, 107, 53, 0.3);
}

.program-card:hover .program-icon {
    transform: translateY(-5px) scale(1.1);
    box-shadow: 0 12px 25px rgba(255, 107, 53, 0.4);
    background: linear-gradient(135deg, #ff8c42 0%, #ff6b35 100%);
}

.program-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 25px;
    letter-spacing: 1px;
    line-height: 1.3;
}

.program-description {
    font-size: 1rem;
    line-height: 1.7;
    color: #666;
    font-weight: 400;
}

/* Анимации */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.program-card {
    animation: fadeInUp 0.8s ease-out;
}

.program-card:nth-child(1) {
    animation-delay: 0.2s;
}

.program-card:nth-child(2) {
    animation-delay: 0.4s;
}

.program-card:nth-child(3) {
    animation-delay: 0.6s;
}

/* Стили для блока банных программ */
.bath-programs-section {
    background: #f8f9fa;
    padding: 80px 20px;
    min-height: 100vh;
}

.bath-programs-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.bath-programs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.bath-program-card {
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    animation: fadeInUp 0.8s ease-out;
}

.bath-program-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.program-image-container {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.hit-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #ff6b35;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    z-index: 10;
    letter-spacing: 1px;
}

.program-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.bath-program-card:hover .program-image {
    transform: scale(1.05);
}

.program-info {
    padding: 25px;
    text-align: left;
}

.program-name {
    font-size: 1.3rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.program-guests {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 15px;
    font-weight: 400;
}

.program-details {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    font-size: 0.85rem;
    color: #888;
}

.program-duration, .program-stages {
    font-weight: 500;
}

.program-separator {
    color: #ccc;
    font-weight: 300;
}

.program-price {
    font-size: 1.8rem;
    font-weight: 700;
    color: #b8860b;
    margin-bottom: 20px;
}

.program-button {
    background: #8B4513;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
    width: 100%;
}

.program-button:hover {
    background: #A0522D;
    transform: translateY(-2px);
}

/* Специальная карточка */
.special-card {
    background: #ffffff;
    color: #333;
}

.special-card .program-name {
    color: #333;
    font-size: 1.3rem;
    font-weight: 700;
}

.special-card .program-guests {
    color: #666;
}

.special-card .program-details {
    color: #888;
}

.special-card .program-price {
    color: #b8860b;
}

.special-card .program-button {
    background: #8B4513;
    color: white;
}

.special-card .program-button:hover {
    background: #A0522D;
}

/* Анимации для карточек банных программ */
.bath-program-card:nth-child(1) { animation-delay: 0.1s; }
.bath-program-card:nth-child(2) { animation-delay: 0.2s; }
.bath-program-card:nth-child(3) { animation-delay: 0.3s; }
.bath-program-card:nth-child(4) { animation-delay: 0.4s; }
.bath-program-card:nth-child(5) { animation-delay: 0.5s; }
.bath-program-card:nth-child(6) { animation-delay: 0.6s; }

/* Адаптивность для индивидуальных программ */
@media (max-width: 1024px) {
    .programs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .programs-title {
        font-size: 2.8rem;
    }
    
    .programs-description {
        font-size: 1.1rem;
    }
    
    .bath-programs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .individual-programs-section {
        padding: 60px 15px;
        background-attachment: scroll;
        min-height: auto;
        background: linear-gradient(
            rgba(0, 0, 0, 0.7), 
            rgba(0, 0, 0, 0.5)
        ), url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
    }
    
    .services-badge {
        position: relative;
        top: auto;
        left: auto;
        margin: 0 auto 30px auto;
        text-align: center;
        display: block;
        width: fit-content;
        padding: 10px 20px;
        font-size: 0.8rem;
        letter-spacing: 1.2px;
        background: rgba(197, 55, 150, 0.2);
        border: 1px solid rgba(197, 55, 150, 0.4);
        color: rgba(255, 255, 255, 0.95);
    }
    
    .programs-header {
        margin-bottom: 50px;
    }
    
    .programs-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 40px;
    }
    
    .programs-title {
        font-size: 2.5rem;
        letter-spacing: 2px;
        margin-bottom: 25px;
    }
    
    .programs-description {
        font-size: 1.1rem;
        padding: 0 15px;
        line-height: 1.7;
        max-width: 90%;
    }
    
    .program-card {
        padding: 35px 30px;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    }
    
    .program-icon {
        width: 75px;
        height: 75px;
        margin-bottom: 25px;
    }
    
    .program-icon svg {
        width: 42px;
        height: 42px;
    }
    
    .program-title {
        font-size: 1.3rem;
        margin-bottom: 20px;
        line-height: 1.3;
    }
    
    .program-description {
        font-size: 1rem;
        line-height: 1.6;
    }
    
    .bath-programs-section {
        padding: 60px 15px;
    }
    
    .bath-programs-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .program-info {
        padding: 20px;
    }
    
    .program-name {
        font-size: 1.2rem;
    }
    
    .program-price {
        font-size: 1.6rem;
    }
}

@media (max-width: 480px) {
    .individual-programs-section {
        padding: 50px 15px;
        background: linear-gradient(
            rgba(0, 0, 0, 0.75), 
            rgba(0, 0, 0, 0.6)
        ), url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
        background-attachment: scroll;
    }
    
    .services-badge {
        position: relative;
        top: auto;
        left: auto;
        margin: 0 auto 25px auto;
        text-align: center;
        display: block;
        width: fit-content;
        padding: 8px 16px;
        font-size: 0.75rem;
        letter-spacing: 1px;
        background: rgba(197, 55, 150, 0.25);
        border: 1px solid rgba(197, 55, 150, 0.5);
        color: rgba(255, 255, 255, 1);
        backdrop-filter: blur(5px);
    }
    
    .programs-header {
        margin-bottom: 40px;
        text-align: center;
    }
    
    .programs-grid {
        gap: 25px;
        margin-top: 30px;
    }
    
    .programs-title {
        font-size: 2rem;
        letter-spacing: 1.5px;
        margin-bottom: 20px;
        line-height: 1.2;
    }
    
    .programs-description {
        font-size: 1rem;
        padding: 0 10px;
        line-height: 1.6;
        max-width: 95%;
        margin: 0 auto;
    }
    
    .program-card {
        padding: 30px 25px;
        max-width: 350px;
        margin: 0 auto;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
        background: rgba(255, 255, 255, 0.98);
    }
    
    .program-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 22px;
    }
    
    .program-icon svg {
        width: 38px;
        height: 38px;
    }
    
    .program-title {
        font-size: 1.25rem;
        margin-bottom: 18px;
        line-height: 1.3;
        letter-spacing: 0.5px;
    }
    
    .program-description {
        font-size: 0.95rem;
        line-height: 1.55;
        color: #555;
    }
    
    .bath-programs-section {
        padding: 40px 10px;
    }
    
    .program-image-container {
        height: 180px;
    }
    
    .program-info {
        padding: 15px;
    }
    
    .program-name {
        font-size: 1.1rem;
    }
    
    .program-price {
        font-size: 1.4rem;
    }
    
    .program-button {
        padding: 10px 20px;
        font-size: 0.85rem;
    }
}

@media (max-width: 360px) {
    .individual-programs-section {
        padding: 40px 12px;
    }
    
    .services-badge {
        padding: 6px 14px;
        font-size: 0.7rem;
        margin-bottom: 20px;
    }
    
    .programs-header {
        margin-bottom: 35px;
    }
    
    .programs-title {
        font-size: 1.75rem;
        letter-spacing: 1px;
        margin-bottom: 18px;
    }
    
    .programs-description {
        font-size: 0.9rem;
        padding: 0 8px;
        line-height: 1.55;
    }
    
    .program-card {
        padding: 25px 20px;
        max-width: 320px;
        margin: 0 auto;
    }
    
    .program-icon {
        width: 65px;
        height: 65px;
        margin-bottom: 20px;
    }
    
    .program-icon svg {
        width: 34px;
        height: 34px;
    }
    
    .program-title {
        font-size: 1.1rem;
        margin-bottom: 16px;
        line-height: 1.25;
    }
    
    .program-description {
        font-size: 0.88rem;
        line-height: 1.5;
    }
}

/* Services Section Styles */
.services-section {
    padding: 80px 20px;
    background-color: #f5f5f5;
    font-family: 'Montserrat', 'Arial', sans-serif;
}

.services-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Заголовок секции */
.services-header {
    text-align: center;
    margin-bottom: 60px;
    animation: fadeInUp 1s ease-out;
}

.services-title {
    font-size: 3rem;
    font-weight: 300;
    letter-spacing: 3px;
    color: #333;
    margin-bottom: 30px;
    position: relative;
}

.services-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

.services-description {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #666;
    max-width: 800px;
    margin: 0 auto;
    font-weight: 300;
}

.services-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.service-card {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    cursor: pointer;
    height: 280px;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.service-image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.service-card:hover .service-image img {
    transform: scale(1.05);
}

.service-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.85) 100%
    );
    display: flex;
    align-items: flex-end;
    padding: 25px;
    transition: all 0.3s ease;
}

.service-card:hover .service-overlay {
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
}

.service-content {
    width: 100%;
    color: white;
    text-align: left;
}

.service-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.service-subtitle {
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 15px;
    opacity: 0.9;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.service-button {
    background: linear-gradient(135deg, #C53796 0%, #D2691E 100%);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.service-button:hover {
    background: linear-gradient(135deg, #D2691E 0%, #C53796 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.4);
}

.service-button:active {
    transform: translateY(0);
}

/* Специальные цвета для разных карточек */
.service-card:nth-child(1) .service-button {
    background: linear-gradient(135deg, #C53796 0%, #CD853F 100%);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.service-card:nth-child(2) .service-button {
    background: linear-gradient(135deg, #B8860B 0%, #DAA520 100%);
    box-shadow: 0 4px 15px rgba(184, 134, 11, 0.3);
}

.service-card:nth-child(3) .service-button {
    background: linear-gradient(135deg, #8B4513 0%, #A0522D 100%);
    box-shadow: 0 4px 15px rgba(139, 69, 19, 0.3);
}

.service-card:nth-child(4) .service-button {
    background: linear-gradient(135deg, #D2691E 0%, #CD853F 100%);
    box-shadow: 0 4px 15px rgba(210, 105, 30, 0.3);
}

.service-card:nth-child(1) .service-button:hover {
    background: linear-gradient(135deg, #CD853F 0%, #C53796 100%);
}

.service-card:nth-child(2) .service-button:hover {
    background: linear-gradient(135deg, #DAA520 0%, #B8860B 100%);
}

.service-card:nth-child(3) .service-button:hover {
    background: linear-gradient(135deg, #A0522D 0%, #8B4513 100%);
}

.service-card:nth-child(4) .service-button:hover {
    background: linear-gradient(135deg, #CD853F 0%, #D2691E 100%);
}

/* Анимации при загрузке */
.service-card:nth-child(1) {
    animation-delay: 0.1s;
}

.service-card:nth-child(2) {
    animation-delay: 0.2s;
}

.service-card:nth-child(3) {
    animation-delay: 0.3s;
}

.service-card:nth-child(4) {
    animation-delay: 0.4s;
}

/* Дополнительные эффекты */
.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    z-index: 1;
}

.service-card:hover::before {
    transform: translateX(100%);
}

/* Эффект при наведении на весь блок */
.services-row:hover .service-card:not(:hover) {
    opacity: 0.7;
    transform: scale(0.98) translateY(-5px);
}

/* Адаптивность */
@media (max-width: 1024px) {
    .services-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .service-card {
        height: 250px;
    }
    
    .service-title {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .services-section {
        padding: 60px 15px;
    }
    
    .services-header {
        margin-bottom: 40px;
    }
    
    .services-title {
        font-size: 2rem;
        letter-spacing: 2px;
        margin-bottom: 20px;
    }
    
    .services-title::after {
        width: 60px;
        height: 2px;
    }
    
    .services-description {
        font-size: 1rem;
        line-height: 1.6;
        padding: 0 10px;
    }
    
    .services-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .service-card {
        height: 200px;
    }
    
    .service-overlay {
        padding: 20px;
    }
    
    .service-title {
        font-size: 1.3rem;
        margin-bottom: 6px;
    }
    
    .service-subtitle {
        font-size: 0.9rem;
        margin-bottom: 12px;
    }
    
    .service-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .services-section {
        padding: 40px 15px;
    }
    
    .services-row {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .service-card {
        height: 220px;
    }
    
    .service-title {
        font-size: 16px;
    }
    
    .service-subtitle {
        font-size: 12px;
    }
    
    .service-button {
        padding: 10px 20px;
        font-size: 12px;
    }
}

/* Retreat Space Section Styles */
.retreat-space-section {
    position: relative;
    padding: 80px 20px;
    background-color: #f5f5f5;
    font-family: 'Montserrat', 'Arial', sans-serif;
}

/* Метка для организаторов */
.organizers-badge {
    position: absolute;
    top: 30px;
    left: 30px;
    background: rgba(197, 55, 150, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #C53796;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border: 1px solid rgba(197, 55, 150, 0.3);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.2);
    z-index: 10;
    animation: fadeInLeft 1s ease-out;
    transition: all 0.3s ease;
}

.organizers-badge:hover {
    background: rgba(197, 55, 150, 0.25);
    border-color: rgba(197, 55, 150, 0.5);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.3);
}

.retreat-space-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Заголовок секции */
.retreat-space-header {
    text-align: center;
    margin-bottom: 60px;
    animation: fadeInUp 1s ease-out;
}

.retreat-space-title {
    font-size: 3rem;
    font-weight: 300;
    letter-spacing: 3px;
    color: #333;
    margin-bottom: 30px;
    position: relative;
    text-transform: uppercase;
}

.retreat-space-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

.retreat-space-description {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #666;
    max-width: 900px;
    margin: 0 auto;
    font-weight: 300;
}

.retreat-space-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.retreat-card {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    cursor: pointer;
    aspect-ratio: 3 / 4; /* Портретная ориентация как на референсе */
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards;
}

.retreat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.retreat-image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.retreat-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.retreat-card:hover .retreat-image img {
    transform: scale(1.05);
}

.retreat-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
    display: flex;
    align-items: flex-end;
    padding: 25px;
    transition: all 0.3s ease;
}

.retreat-card:hover .retreat-overlay {
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.3) 0%,
        rgba(0, 0, 0, 0.5) 100%
    );
}

.retreat-content {
    width: 100%;
    color: white;
    text-align: left;
}

.retreat-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.retreat-subtitle {
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 15px;
    opacity: 0.9;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.retreat-button {
    background: linear-gradient(135deg, #C53796 0%, #D2691E 100%);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.retreat-button:hover {
    background: linear-gradient(135deg, #D2691E 0%, #C53796 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.4);
}

.retreat-button:active {
    transform: translateY(0);
}

/* Специальные цвета для разных карточек первого ряда */
.retreat-card:nth-child(1) .retreat-button {
    background: linear-gradient(135deg, #C53796 0%, #CD853F 100%);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.retreat-card:nth-child(2) .retreat-button {
    background: linear-gradient(135deg, #B8860B 0%, #DAA520 100%);
    box-shadow: 0 4px 15px rgba(184, 134, 11, 0.3);
}

.retreat-card:nth-child(3) .retreat-button {
    background: linear-gradient(135deg, #8B4513 0%, #A0522D 100%);
    box-shadow: 0 4px 15px rgba(139, 69, 19, 0.3);
}

.retreat-card:nth-child(4) .retreat-button {
    background: linear-gradient(135deg, #D2691E 0%, #CD853F 100%);
    box-shadow: 0 4px 15px rgba(210, 105, 30, 0.3);
}

.retreat-card:nth-child(1) .retreat-button:hover {
    background: linear-gradient(135deg, #CD853F 0%, #C53796 100%);
}

.retreat-card:nth-child(2) .retreat-button:hover {
    background: linear-gradient(135deg, #DAA520 0%, #B8860B 100%);
}

.retreat-card:nth-child(3) .retreat-button:hover {
    background: linear-gradient(135deg, #A0522D 0%, #8B4513 100%);
}

.retreat-card:nth-child(4) .retreat-button:hover {
    background: linear-gradient(135deg, #CD853F 0%, #D2691E 100%);
}

/* Специальные цвета для карточек второго ряда */
.retreat-space-row:nth-child(3) .retreat-card:nth-child(1) .retreat-button {
    background: linear-gradient(135deg, #8B4513 0%, #A0522D 100%);
    box-shadow: 0 4px 15px rgba(139, 69, 19, 0.3);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(2) .retreat-button {
    background: linear-gradient(135deg, #C53796 0%, #8B4513 100%);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(3) .retreat-button {
    background: linear-gradient(135deg, #DAA520 0%, #C53796 100%);
    box-shadow: 0 4px 15px rgba(218, 165, 32, 0.3);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(4) .retreat-button {
    background: linear-gradient(135deg, #D2691E 0%, #B8860B 100%);
    box-shadow: 0 4px 15px rgba(210, 105, 30, 0.3);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(1) .retreat-button:hover {
    background: linear-gradient(135deg, #A0522D 0%, #8B4513 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(2) .retreat-button:hover {
    background: linear-gradient(135deg, #8B4513 0%, #C53796 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(3) .retreat-button:hover {
    background: linear-gradient(135deg, #C53796 0%, #DAA520 100%);
}

.retreat-space-row:nth-child(3) .retreat-card:nth-child(4) .retreat-button:hover {
    background: linear-gradient(135deg, #B8860B 0%, #D2691E 100%);
}

/* Анимации */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Анимации при загрузке */
.retreat-card:nth-child(1) {
    animation-delay: 0.1s;
}

.retreat-card:nth-child(2) {
    animation-delay: 0.2s;
}

.retreat-card:nth-child(3) {
    animation-delay: 0.3s;
}

.retreat-card:nth-child(4) {
    animation-delay: 0.4s;
}

/* Дополнительные эффекты */
.retreat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    z-index: 1;
}

.retreat-card:hover::before {
    transform: translateX(100%);
}

/* Эффект при наведении на весь блок */
.retreat-space-row:hover .retreat-card:not(:hover) {
    opacity: 0.7;
    transform: scale(0.98) translateY(-5px);
}

/* Адаптивность */
@media (max-width: 1024px) {
    .retreat-space-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .retreat-card {
        aspect-ratio: 3 / 4; /* Сохраняем портретную ориентацию */
    }
    
    .retreat-title {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .retreat-space-section {
        padding: 60px 15px;
    }
    
    .organizers-badge {
        position: relative;
        top: auto;
        left: auto;
        margin: 20px auto 30px auto;
        text-align: center;
        display: block;
        width: fit-content;
        padding: 10px 20px;
        font-size: 0.75rem;
        letter-spacing: 1.2px;
    }
    
    .retreat-space-header {
        margin-bottom: 40px;
    }
    
    .retreat-space-title {
        font-size: 2rem;
        letter-spacing: 2px;
        margin-bottom: 20px;
    }
    
    .retreat-space-title::after {
        width: 60px;
        height: 2px;
    }
    
    .retreat-space-description {
        font-size: 1rem;
        line-height: 1.6;
        padding: 0 10px;
    }
    
    .retreat-space-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .retreat-card {
        aspect-ratio: 3 / 4; /* Сохраняем портретную ориентацию на мобильных */
    }
    
    .retreat-overlay {
        padding: 20px;
    }
    
    .retreat-title {
        font-size: 1.3rem;
        margin-bottom: 6px;
    }
    
    .retreat-subtitle {
        font-size: 0.9rem;
        margin-bottom: 12px;
    }
    
    .retreat-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .retreat-space-section {
        padding: 40px 15px;
    }
    
    .organizers-badge {
        position: relative;
        top: auto;
        left: auto;
        margin: 15px auto 25px auto;
        text-align: center;
        display: block;
        width: fit-content;
        padding: 8px 16px;
        font-size: 0.7rem;
        letter-spacing: 1px;
    }
    
    .retreat-space-row {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .retreat-card {
        aspect-ratio: 3 / 4; /* Сохраняем портретную ориентацию на маленьких экранах */
    }
    
    .retreat-title {
        font-size: 16px;
    }
    
    .retreat-subtitle {
        font-size: 12px;
    }
    
    .retreat-button {
        padding: 10px 20px;
        font-size: 12px;
    }
}

/* Atmosphere Section Styles */
.atmosphere-section {
    position: relative;
    padding: 100px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    overflow: hidden;
}

.atmosphere-container {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

/* Заголовок секции */
.atmosphere-header {
    text-align: center;
    margin-bottom: 70px;
    animation: fadeInUp 1s ease-out;
}

.atmosphere-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 6px;
    color: #333;
    margin-bottom: 50px;
    position: relative;
    text-transform: uppercase;
}

.atmosphere-title::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

.atmosphere-description {
    max-width: 900px;
    margin: 0 auto;
}

.atmosphere-description p {
    font-size: 1.3rem;
    line-height: 2;
    color: #555;
    margin-bottom: 25px;
    font-weight: 300;
    letter-spacing: 0.5px;
}

.atmosphere-description p:last-child {
    margin-bottom: 0;
}

/* Галерея */
.atmosphere-gallery-wrapper {
    position: relative;
    margin-top: 60px;
}

.atmosphere-gallery {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 10px 0 30px 0;
    scrollbar-width: thin;
    scrollbar-color: #C53796 #f0f0f0;
    -webkit-overflow-scrolling: touch;
}

.atmosphere-gallery::-webkit-scrollbar {
    height: 8px;
}

.atmosphere-gallery::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 10px;
}

.atmosphere-gallery::-webkit-scrollbar-thumb {
    background: #C53796;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.atmosphere-gallery::-webkit-scrollbar-thumb:hover {
    background: #B02D7A;
}

.gallery-item {
    flex: 0 0 auto;
    width: calc(20% - 16px); /* 5 карточек в ряд с учетом gap */
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
}

.gallery-item-frame {
    background: white;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transition: box-shadow 0.3s ease;
    height: 100%;
}

.gallery-item:hover .gallery-item-frame {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.gallery-image {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    border-radius: 4px;
    transition: transform 0.5s ease, filter 0.3s ease;
    filter: brightness(1.1) contrast(1.15) saturate(1.2);
}

.gallery-item:hover .gallery-image {
    transform: scale(1.02);
    filter: brightness(1.15) contrast(1.2) saturate(1.25);
}

/* Навигационные кнопки */
.gallery-nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(197, 55, 150, 0.9);
    border: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.4);
    color: white;
}

.gallery-nav-button:hover {
    background: rgba(176, 45, 122, 1);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.6);
}

.gallery-nav-button:active {
    transform: translateY(-50%) scale(0.95);
}

.gallery-nav-left {
    left: 20px;
}

.gallery-nav-right {
    right: 20px;
}

/* Подсказка для прокрутки */
.gallery-hint {
    text-align: center;
    margin-top: 30px;
    color: #999;
    font-size: 0.9rem;
    letter-spacing: 1px;
    animation: fadeInUp 1.5s ease-out;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .atmosphere-section {
        padding: 80px 15px;
    }
    
    .atmosphere-title {
        font-size: 2.8rem;
        letter-spacing: 4px;
    }
    
    .atmosphere-description p {
        font-size: 1.15rem;
        line-height: 1.8;
        margin-bottom: 20px;
    }
    
    .gallery-item {
        width: calc(25% - 15px); /* 4 карточки на планшетах */
    }
    
    .gallery-nav-button {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 768px) {
    .atmosphere-section {
        padding: 60px 15px;
    }
    
    .atmosphere-header {
        margin-bottom: 50px;
    }
    
    .atmosphere-title {
        font-size: 2.2rem;
        letter-spacing: 3px;
        margin-bottom: 40px;
    }
    
    .atmosphere-title::after {
        width: 80px;
        height: 2px;
        bottom: -15px;
    }
    
    .atmosphere-description {
        padding: 0 10px;
    }
    
    .atmosphere-description p {
        font-size: 1.05rem;
        line-height: 1.7;
        margin-bottom: 18px;
    }
    
    .atmosphere-gallery-wrapper {
        margin-top: 40px;
    }
    
    .gallery-item {
        width: calc(50% - 10px); /* 2 карточки на небольших экранах */
    }
    
    /* Скрыть навигационные кнопки на мобильных */
    .gallery-nav-button {
        display: none;
    }
    
    .gallery-hint {
        display: block;
        font-size: 0.85rem;
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .atmosphere-section {
        padding: 50px 15px;
    }
    
    .atmosphere-header {
        margin-bottom: 40px;
    }
    
    .atmosphere-title {
        font-size: 1.8rem;
        letter-spacing: 2px;
        margin-bottom: 35px;
    }
    
    .atmosphere-title::after {
        width: 60px;
        bottom: -12px;
    }
    
    .atmosphere-description p {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 15px;
    }
    
    .atmosphere-gallery {
        gap: 15px;
        padding: 10px 0 25px 0;
    }
    
    .gallery-item {
        width: calc(100% - 15px); /* 1 карточка на мобильных */
    }
    
    .gallery-hint {
        font-size: 0.8rem;
        margin-top: 15px;
    }
}

@media (max-width: 360px) {
    .atmosphere-section {
        padding: 40px 12px;
    }
    
    .atmosphere-title {
        font-size: 1.6rem;
        letter-spacing: 1.5px;
        margin-bottom: 30px;
    }
    
    .atmosphere-description p {
        font-size: 0.88rem;
        line-height: 1.55;
        margin-bottom: 14px;
    }
    
    .gallery-item {
        width: calc(100% - 10px); /* 1 карточка на очень маленьких ��кранах */
    }
}

/* SPA Services Carousel Section Styles */
.spa-services-carousel-section {
    position: relative;
    padding: 80px 20px;
    background: linear-gradient(
        rgba(0, 0, 0, 0.7), 
        rgba(0, 0, 0, 0.6)
    ), url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80') center/cover fixed;
    font-family: 'Arial', sans-serif;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.spa-carousel-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.95);
    padding: 10px 18px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 10;
    animation: fadeInLeft 1s ease-out;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.spa-services-carousel-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.spa-services-carousel-text {
    text-align: center;
    margin-bottom: 50px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    animation: fadeInUp 1s ease-out;
}

.spa-services-carousel-title {
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #333;
}

.spa-services-carousel-subtitle {
    font-size: 2.8rem;
    font-weight: 300;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 25px;
}

.spa-services-carousel-subtitle::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

.spa-services-carousel-description {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.8;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* Carousel */
.spa-services-carousel {
    position: relative;
}

.spa-carousel-track-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.spa-carousel-track-wrapper::-webkit-scrollbar {
    display: none;
}

.spa-carousel-track {
    display: flex;
    gap: 20px;
    padding: 0;
    margin: 0;
    list-style: none;
    will-change: transform;
}

.spa-carousel-card {
    flex: 0 0 calc((100% - 40px) / 3);
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    position: relative;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.12);
    transition: all 0.3s ease;
}

.spa-carousel-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.spa-carousel-card-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.spa-carousel-card:hover .spa-carousel-card-image {
    transform: scale(1.05);
}

.spa-carousel-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.0) 40%, rgba(0, 0, 0, 0.35) 100%);
    pointer-events: none;
}

.spa-carousel-card-icon {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #299DC3 0%, #33B5E5 100%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(41, 157, 195, 0.4);
    z-index: 10;
    transition: all 0.3s ease;
}

.spa-carousel-card-icon[data-icon-type="flame"] {
    background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
    box-shadow: 0 6px 16px rgba(255, 107, 53, 0.4);
}

.spa-carousel-card-icon[data-icon-type="leaf"] {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}

.spa-carousel-card:hover .spa-carousel-card-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 8px 20px rgba(41, 157, 195, 0.6);
}

.spa-carousel-card:hover .spa-carousel-card-icon[data-icon-type="flame"] {
    box-shadow: 0 8px 20px rgba(255, 107, 53, 0.6);
}

.spa-carousel-card:hover .spa-carousel-card-icon[data-icon-type="leaf"] {
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.6);
}

.spa-carousel-card-content {
    padding: 16px;
}

.spa-carousel-card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 6px;
}

.spa-carousel-card-tag {
    font-size: 0.9rem;
    color: #666;
}

.spa-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    font-size: 1.8rem;
    font-weight: 300;
    transition: all 0.3s ease;
}

.spa-carousel-nav:hover:not(:disabled) {
    background: #fff;
    transform: translateY(-50%) scale(1.1);
}

.spa-carousel-nav:disabled {
    opacity: 0.4;
    cursor: default;
}

.spa-carousel-prev {
    left: 8px;
}

.spa-carousel-next {
    right: 8px;
}

.spa-carousel-dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    margin-top: 12px;
}

.spa-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #cfd8dc;
    transition: all 0.2s ease;
    cursor: pointer;
}

.spa-carousel-dot:hover {
    background: #a0a8ae;
}

.spa-carousel-dot.active {
    width: 22px;
    border-radius: 8px;
    background: #C53796;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .spa-services-carousel-subtitle {
        font-size: 2.4rem;
        letter-spacing: 3px;
        margin-bottom: 35px;
        padding-bottom: 20px;
    }
    
    .spa-services-carousel-subtitle::after {
        width: 100px;
    }
    
    .spa-services-carousel-description {
        font-size: 1.1rem;
        line-height: 1.7;
    }
    
    .spa-carousel-card {
        flex: 0 0 calc((100% - 20px) / 2);
    }
}

@media (max-width: 768px) {
    .spa-services-carousel-section {
        padding: 60px 15px;
        background: linear-gradient(
            rgba(0, 0, 0, 0.75), 
            rgba(0, 0, 0, 0.65)
        ), url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80') center/cover;
    }
    
    .spa-carousel-badge {
        position: relative;
        top: auto;
        left: auto;
        margin: 0 auto 30px auto;
        display: block;
        width: fit-content;
    }
    
    .spa-services-carousel-text {
        margin-bottom: 40px;
        padding: 0 10px;
    }
    
    .spa-services-carousel-title {
        font-size: 2rem;
        margin-bottom: 20px;
    }
    
    .spa-services-carousel-subtitle {
        font-size: 2rem;
        letter-spacing: 2px;
        margin-bottom: 30px;
        padding-bottom: 18px;
    }
    
    .spa-services-carousel-subtitle::after {
        width: 80px;
        height: 2px;
    }
    
    .spa-services-carousel-description {
        font-size: 1.05rem;
        line-height: 1.6;
    }
    
    .spa-carousel-card {
        flex: 0 0 calc((100% - 20px) / 2);
    }
    
    .spa-carousel-nav {
        width: 40px;
        height: 40px;
        font-size: 1.6rem;
    }
}

@media (max-width: 600px) {
    .spa-services-carousel-section {
        padding: 50px 15px;
        background-attachment: scroll;
    }
    
    .spa-carousel-badge {
        font-size: 0.8rem;
        padding: 8px 16px;
    }
    
    .spa-services-carousel-text {
        margin-bottom: 35px;
    }
    
    .spa-services-carousel-title {
        font-size: 1.8rem;
    }
    
    .spa-services-carousel-subtitle {
        font-size: 1.8rem;
        letter-spacing: 1.5px;
        margin-bottom: 28px;
        padding-bottom: 16px;
    }
    
    .spa-services-carousel-subtitle::after {
        width: 70px;
    }
    
    .spa-services-carousel-description {
        font-size: 1rem;
        line-height: 1.6;
    }
    
    .spa-carousel-card {
        flex: 0 0 100%;
    }
    
    .spa-carousel-card-image {
        height: 200px;
    }
    
    .spa-carousel-nav {
        width: 36px;
        height: 36px;
        font-size: 1.4rem;
    }
    
    .spa-carousel-prev {
        left: 4px;
    }
    
    .spa-carousel-next {
        right: 4px;
    }
}

@media (max-width: 480px) {
    .spa-services-carousel-section {
        padding: 40px 10px;
    }
    
    .spa-services-carousel-text {
        margin-bottom: 30px;
    }
    
    .spa-services-carousel-title {
        font-size: 1.6rem;
    }
    
    .spa-services-carousel-subtitle {
        font-size: 1.6rem;
        letter-spacing: 1.2px;
        margin-bottom: 25px;
        padding-bottom: 14px;
    }
    
    .spa-services-carousel-subtitle::after {
        width: 60px;
    }
    
    .spa-services-carousel-description {
        font-size: 0.95rem;
        line-height: 1.55;
    }
    
    .spa-carousel-card-image {
        height: 180px;
    }
}

@media (max-width: 360px) {
    .spa-services-carousel-subtitle {
        font-size: 1.4rem;
        letter-spacing: 1px;
        margin-bottom: 22px;
        padding-bottom: 12px;
    }
    
    .spa-services-carousel-subtitle::after {
        width: 50px;
        height: 2px;
    }
    
    .spa-services-carousel-description {
        font-size: 0.88rem;
        line-height: 1.5;
    }
}

/* Oasis Section Styles */
.oasis-section {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 800px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

/* Video Background */
.oasis-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.oasis-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    filter: brightness(0.7) contrast(1.1);
}

.oasis-video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.3) 50%,
        rgba(0, 0, 0, 0.6) 100%
    );
    z-index: 1;
}

/* Content */
.oasis-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: 40px;
    text-align: center;
}

.oasis-text-container {
    animation: fadeInUp 1.5s ease-out;
}

.oasis-main-title {
    font-size: 4rem;
    font-weight: 300;
    letter-spacing: 8px;
    color: #ffffff;
    margin-bottom: 80px;
    text-transform: uppercase;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
    position: relative;
}

.oasis-main-title::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
    box-shadow: 0 0 20px rgba(197, 55, 150, 0.6);
}

/* Animated Phrases */
.oasis-phrases {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
}

.oasis-phrase {
    font-size: 2.5rem;
    font-weight: 300;
    line-height: 1.6;
    color: #ffffff;
    letter-spacing: 2px;
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
    font-style: italic;
    max-width: 900px;
    margin: 0 auto;
}

.oasis-phrase.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Sound Control */
.oasis-sound-toggle {
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.oasis-sound-toggle:hover {
    background: rgba(197, 55, 150, 0.9);
    border-color: rgba(197, 55, 150, 1);
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.5);
}

.oasis-sound-toggle:active {
    transform: scale(0.95);
}

/* Scroll Indicator */
.oasis-scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    animation: oasisScrollBounce 2s infinite ease-in-out;
}

.oasis-scroll-line {
    width: 2px;
    height: 40px;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255, 255, 255, 0.8),
        transparent
    );
    border-radius: 2px;
}

@keyframes oasisScrollBounce {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
        opacity: 0.6;
    }
    50% {
        transform: translateX(-50%) translateY(10px);
        opacity: 1;
    }
}

/* Адаптивность */
@media (max-width: 1024px) {
    .oasis-section {
        min-height: 700px;
    }
    
    .oasis-main-title {
        font-size: 3.2rem;
        letter-spacing: 6px;
        margin-bottom: 70px;
    }
    
    .oasis-main-title::after {
        width: 120px;
        bottom: -25px;
    }
    
    .oasis-phrase {
        font-size: 2.2rem;
        letter-spacing: 1.5px;
    }
    
    .oasis-phrases {
        min-height: 180px;
    }
}

@media (max-width: 768px) {
    .oasis-section {
        height: 100vh;
        min-height: 600px;
    }
    
    .oasis-content {
        padding: 30px 20px;
    }
    
    .oasis-main-title {
        font-size: 2.5rem;
        letter-spacing: 4px;
        margin-bottom: 60px;
    }
    
    .oasis-main-title::after {
        width: 100px;
        height: 2px;
        bottom: -20px;
    }
    
    .oasis-phrase {
        font-size: 1.8rem;
        letter-spacing: 1.2px;
        line-height: 1.5;
        padding: 0 15px;
    }
    
    .oasis-phrases {
        min-height: 150px;
    }
    
    .oasis-sound-toggle {
        width: 55px;
        height: 55px;
        bottom: 30px;
        right: 30px;
    }
    
    .oasis-sound-toggle svg {
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 480px) {
    .oasis-section {
        height: 100vh;
        min-height: 550px;
    }
    
    .oasis-content {
        padding: 25px 15px;
    }
    
    .oasis-main-title {
        font-size: 2rem;
        letter-spacing: 3px;
        margin-bottom: 50px;
    }
    
    .oasis-main-title::after {
        width: 80px;
        bottom: -18px;
    }
    
    .oasis-phrase {
        font-size: 1.4rem;
        letter-spacing: 1px;
        line-height: 1.45;
        padding: 0 10px;
    }
    
    .oasis-phrases {
        min-height: 130px;
    }
    
    .oasis-sound-toggle {
        width: 50px;
        height: 50px;
        bottom: 25px;
        right: 25px;
    }
    
    .oasis-sound-toggle svg {
        width: 20px;
        height: 20px;
    }
    
    .oasis-scroll-indicator {
        bottom: 25px;
    }
    
    .oasis-scroll-line {
        height: 35px;
    }
}

@media (max-width: 360px) {
    .oasis-section {
        min-height: 500px;
    }
    
    .oasis-main-title {
        font-size: 1.7rem;
        letter-spacing: 2.5px;
        margin-bottom: 45px;
    }
    
    .oasis-main-title::after {
        width: 70px;
        height: 2px;
        bottom: -16px;
    }
    
    .oasis-phrase {
        font-size: 1.2rem;
        letter-spacing: 0.8px;
        line-height: 1.4;
        padding: 0 8px;
    }
    
    .oasis-phrases {
        min-height: 120px;
    }
    
    .oasis-sound-toggle {
        width: 45px;
        height: 45px;
        bottom: 20px;
        right: 20px;
    }
    
    .oasis-sound-toggle svg {
        width: 18px;
        height: 18px;
    }
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .oasis-phrase {
        transition: opacity 0.5s ease;
        transform: none;
    }
    
    .oasis-phrase.visible {
        transform: none;
    }
    
    .oasis-scroll-indicator {
        animation: none;
    }
    
    .oasis-sound-toggle:hover {
        transform: none;
    }
}

/* Location Section Styles */
.location-section {
    position: relative;
    padding: 100px 20px;
    background: #f8f9fa;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.location-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        rgba(255, 255, 255, 0.92),
        rgba(248, 249, 250, 0.95)
    ),
    url('https://images.unsplash.com/photo-1615729947596-a598e5de0ab3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxtb250ZW5lZ3JvJTIwbWFwJTIwYWVyaWFsJTIwdmlld3xlbnwxfHx8fDE3NjAzODU2MDh8MA&ixlib=rb-4.1.0&q=80&w=1080') center/cover;
    z-index: 0;
    opacity: 0.4;
}

.location-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 1;
}

/* Header */
.location-header {
    text-align: center;
    margin-bottom: 80px;
    animation: fadeInUp 1s ease-out;
}

.location-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 6px;
    color: #333;
    margin-bottom: 40px;
    position: relative;
    text-transform: uppercase;
}

.location-title::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

.location-intro {
    font-size: 1.35rem;
    line-height: 1.8;
    color: #555;
    max-width: 800px;
    margin: 0 auto;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* Location Grid */
.location-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 80px;
}

.location-item {
    border-radius: 20px;
    padding: 35px 40px;
    display: flex;
    align-items: center;
    gap: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.6);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: translateY(30px);
    position: relative;
    overflow: hidden;
}

.location-item.visible {
    opacity: 1;
    transform: translateY(0);
    animation: locationItemFadeIn 0.6s ease-out forwards;
}

.location-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: inherit;
    background-position: inherit;
    z-index: -1;
    transition: transform 0.4s ease;
}

.location-item:hover::before {
    transform: scale(1.05);
}

.location-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    border-color: rgba(197, 55, 150, 0.6);
}

/* Icon */
.location-icon {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    background: rgba(255, 255, 255, 0.98);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.location-icon svg {
    width: 38px;
    height: 38px;
    transition: transform 0.3s ease;
}

.location-item:hover .location-icon {
    transform: scale(1.1) rotate(5deg);
}

.location-item:hover .location-icon svg {
    transform: scale(1.1);
}

/* Content */
.location-content {
    flex: 1;
    position: relative;
    z-index: 2;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    min-height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.location-time {
    font-size: 1.5rem;
    font-weight: 700;
    color: #FF6FD8;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.location-destination {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Footer */
.location-footer {
    text-align: center;
    margin-bottom: 60px;
    animation: fadeInUp 1.5s ease-out;
}

.location-outro {
    font-size: 1.3rem;
    line-height: 1.8;
    color: #555;
    max-width: 800px;
    margin: 0 auto;
    font-weight: 300;
    font-style: italic;
    letter-spacing: 0.5px;
}

/* Map Placeholder */
.location-map-placeholder {
    position: relative;
    height: 500px;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    animation: fadeInUp 2s ease-out;
    border: 3px solid rgba(197, 55, 150, 0.2);
    cursor: pointer;
}

.location-map-placeholder iframe {
    filter: grayscale(0%) contrast(1.1) brightness(1.05);
}

/* Photo overlay on hover */
.map-photo-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.location-map-placeholder:hover .map-photo-overlay {
    opacity: 1;
}

.map-photo-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
    transform: scale(1);
    transition: all 0.5s ease;
}

.location-map-placeholder:hover .map-photo-image {
    opacity: 0.85;
    transform: scale(1.05);
}

.map-photo-content {
    position: relative;
    z-index: 6;
    text-align: center;
    padding: 40px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 2px solid rgba(197, 55, 150, 0.5);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.5s ease 0.2s;
}

.location-map-placeholder:hover .map-photo-content {
    transform: translateY(0);
    opacity: 1;
}

.map-photo-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 15px;
    letter-spacing: 2px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.map-photo-description {
    font-size: 1.3rem;
    color: #ffffff;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.6;
    font-style: italic;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
}

.map-label {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    padding: 20px 30px;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border: 2px solid rgba(197, 55, 150, 0.3);
    display: flex;
    align-items: center;
    gap: 18px;
    z-index: 10;
    transition: all 0.3s ease;
    animation: fadeInUp 2.5s ease-out;
}

.map-label:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    border-color: rgba(197, 55, 150, 0.5);
}

.map-label-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

.map-label-icon svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 8px rgba(197, 55, 150, 0.3));
}

.map-label-text {
    font-size: 1.15rem;
    font-weight: 700;
    color: #333;
    letter-spacing: 0.5px;
    line-height: 1.4;
    margin: 0;
}

.map-label-text span {
    font-size: 0.9rem;
    font-weight: 500;
    color: #666;
    letter-spacing: 0.3px;
}

/* Animations */
@keyframes locationItemFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes markerBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Адаптивность */
@media (max-width: 1024px) {
    .location-section {
        padding: 80px 15px;
    }
    
    .location-title {
        font-size: 2.8rem;
        letter-spacing: 4px;
    }
    
    .location-intro {
        font-size: 1.2rem;
    }
    
    .location-grid {
        gap: 25px;
    }
    
    .location-item {
        padding: 30px 35px;
    }
    
    .location-icon {
        width: 65px;
        height: 65px;
    }
    
    .location-icon svg {
        width: 34px;
        height: 34px;
    }
}

@media (max-width: 768px) {
    .location-section {
        padding: 60px 15px;
        min-height: auto;
    }
    
    .location-header {
        margin-bottom: 60px;
    }
    
    .location-title {
        font-size: 2.2rem;
        letter-spacing: 3px;
        margin-bottom: 35px;
    }
    
    .location-title::after {
        width: 80px;
        height: 2px;
        bottom: -15px;
    }
    
    .location-intro {
        font-size: 1.1rem;
        line-height: 1.6;
        padding: 0 10px;
    }
    
    .location-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 60px;
    }
    
    .location-item {
        padding: 25px 30px;
    }
    
    .location-icon {
        width: 60px;
        height: 60px;
    }
    
    .location-icon svg {
        width: 32px;
        height: 32px;
    }
    
    .location-content {
        min-height: 90px;
    }
    
    .location-time {
        font-size: 1.3rem;
    }
    
    .location-destination {
        font-size: 1rem;
    }
    
    .location-footer {
        margin-bottom: 50px;
    }
    
    .location-outro {
        font-size: 1.1rem;
        padding: 0 10px;
    }
    
    .location-map-placeholder {
        height: 400px;
        border-radius: 20px;
        border-width: 2px;
    }
    
    .map-photo-title {
        font-size: 2rem;
        margin-bottom: 12px;
        letter-spacing: 1.5px;
    }
    
    .map-photo-description {
        font-size: 1.1rem;
    }
    
    .map-photo-content {
        padding: 30px;
    }
    
    .map-label {
        bottom: 20px;
        left: 20px;
        padding: 18px 25px;
        gap: 15px;
    }
    
    .map-label-icon {
        width: 40px;
        height: 40px;
    }
    
    .map-label-text {
        font-size: 1.05rem;
    }
    
    .map-label-text span {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .location-section {
        padding: 50px 15px;
    }
    
    .location-header {
        margin-bottom: 50px;
    }
    
    .location-title {
        font-size: 1.8rem;
        letter-spacing: 2px;
        margin-bottom: 30px;
    }
    
    .location-title::after {
        width: 60px;
        bottom: -12px;
    }
    
    .location-intro {
        font-size: 1rem;
        line-height: 1.55;
        padding: 0 5px;
    }
    
    .location-grid {
        gap: 15px;
        margin-bottom: 50px;
    }
    
    .location-item {
        padding: 20px 25px;
        gap: 20px;
    }
    
    .location-icon {
        width: 55px;
        height: 55px;
    }
    
    .location-icon svg {
        width: 28px;
        height: 28px;
    }
    
    .location-content {
        min-height: 85px;
        padding: 12px 18px;
    }
    
    .location-time {
        font-size: 1.2rem;
        margin-bottom: 6px;
    }
    
    .location-destination {
        font-size: 0.95rem;
        line-height: 1.5;
    }
    
    .location-footer {
        margin-bottom: 40px;
    }
    
    .location-outro {
        font-size: 1rem;
        line-height: 1.6;
    }
    
    .location-map-placeholder {
        height: 350px;
        border-radius: 18px;
        border-width: 2px;
    }
    
    .map-photo-title {
        font-size: 1.6rem;
        margin-bottom: 10px;
        letter-spacing: 1.2px;
    }
    
    .map-photo-description {
        font-size: 1rem;
    }
    
    .map-photo-content {
        padding: 25px;
    }
    
    .map-label {
        bottom: 15px;
        left: 15px;
        padding: 15px 20px;
        gap: 12px;
        border-radius: 15px;
    }
    
    .map-label-icon {
        width: 35px;
        height: 35px;
    }
    
    .map-label-text {
        font-size: 0.95rem;
        line-height: 1.35;
    }
    
    .map-label-text span {
        font-size: 0.8rem;
    }
}

@media (max-width: 360px) {
    .location-section {
        padding: 40px 12px;
    }
    
    .location-title {
        font-size: 1.6rem;
        letter-spacing: 1.5px;
        margin-bottom: 28px;
    }
    
    .location-title::after {
        width: 50px;
        height: 2px;
        bottom: -10px;
    }
    
    .location-intro {
        font-size: 0.9rem;
        line-height: 1.5;
    }
    
    .location-grid {
        gap: 12px;
        margin-bottom: 40px;
    }
    
    .location-item {
        padding: 18px 20px;
        gap: 18px;
    }
    
    .location-icon {
        width: 50px;
        height: 50px;
    }
    
    .location-icon svg {
        width: 26px;
        height: 26px;
    }
    
    .location-content {
        min-height: 80px;
        padding: 10px 16px;
    }
    
    .location-time {
        font-size: 1.1rem;
        margin-bottom: 5px;
    }
    
    .location-destination {
        font-size: 0.88rem;
        line-height: 1.45;
    }
    
    .location-outro {
        font-size: 0.9rem;
        line-height: 1.55;
    }
    
    .location-map-placeholder {
        height: 300px;
        border-radius: 15px;
        border-width: 2px;
    }
    
    .map-photo-title {
        font-size: 1.4rem;
        margin-bottom: 8px;
        letter-spacing: 1px;
    }
    
    .map-photo-description {
        font-size: 0.9rem;
    }
    
    .map-photo-content {
        padding: 20px;
    }
    
    .map-label {
        bottom: 12px;
        left: 12px;
        padding: 12px 18px;
        gap: 10px;
        border-radius: 12px;
    }
    
    .map-label-icon {
        width: 32px;
        height: 32px;
    }
    
    .map-label-text {
        font-size: 0.88rem;
        line-height: 1.3;
    }
    
    .map-label-text span {
        font-size: 0.75rem;
    }
}

/* CTA Section Styles */
.cta-section {
    position: relative;
    padding: 120px 20px;
    margin-top: 80px;
    min-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Background */
.cta-background {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(0, 0, 0, 0.65), 
        rgba(0, 0, 0, 0.55)
    ), url('https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80') center/cover fixed;
    z-index: 0;
}

@keyframes ctaBackgroundZoom {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.05);
    }
}

.cta-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: 1;
}

.cta-container {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

.cta-content {
    text-align: center;
    animation: fadeInUp 1s ease-out;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 60px 80px;
    border-radius: 30px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.9);
}

/* Badge */
.cta-badge {
    display: inline-block;
    background: rgba(197, 55, 150, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #C53796;
    padding: 12px 28px;
    border-radius: 30px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: 1px solid rgba(197, 55, 150, 0.3);
    box-shadow: 0 4px 20px rgba(197, 55, 150, 0.2);
    margin-bottom: 35px;
    animation: ctaBadgePulse 2s ease-in-out infinite;
}

@keyframes ctaBadgePulse {
    0%, 100% {
        box-shadow: 0 4px 20px rgba(197, 55, 150, 0.2);
    }
    50% {
        box-shadow: 0 4px 30px rgba(197, 55, 150, 0.4);
    }
}

/* Title */
.cta-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 3px;
    color: #333;
    margin-bottom: 30px;
    text-shadow: none;
    line-height: 1.3;
}

.cta-title-accent {
    display: block;
    font-size: 4rem;
    font-weight: 400;
    background: linear-gradient(135deg, #C53796, #ff8c42);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: 10px;
    text-shadow: none;
}

.cta-text {
    font-size: 1.5rem;
    line-height: 1.9;
    color: #555;
    font-weight: 300;
    letter-spacing: 0.5px;
    margin-bottom: 55px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: none;
}

.cta-buttons {
    display: flex;
    gap: 30px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 35px;
}

.cta-button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 22px 50px;
    border-radius: 60px;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.cta-button-bg {
    position: absolute;
    inset: 0;
    transition: all 0.4s ease;
    z-index: 0;
}

.cta-button-icon,
.cta-button-text {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.cta-button:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.25);
    border-color: transparent;
}

.cta-button:active {
    transform: translateY(-2px) scale(1);
}

.cta-button:hover .cta-button-icon {
    transform: scale(1.15) rotate(10deg);
}

/* WhatsApp Button */
.cta-button-whatsapp .cta-button-bg {
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.9) 0%, rgba(18, 140, 126, 0.9) 100%);
}

.cta-button-whatsapp {
    color: #ffffff;
}

.cta-button-whatsapp:hover .cta-button-bg {
    background: linear-gradient(135deg, rgba(18, 140, 126, 1) 0%, rgba(7, 94, 84, 1) 100%);
}

/* Telegram Button */
.cta-button-telegram .cta-button-bg {
    background: linear-gradient(135deg, rgba(0, 136, 204, 0.9) 0%, rgba(0, 95, 141, 0.9) 100%);
}

.cta-button-telegram {
    color: #ffffff;
}

.cta-button-telegram:hover .cta-button-bg {
    background: linear-gradient(135deg, rgba(0, 95, 141, 1) 0%, rgba(0, 74, 110, 1) 100%);
}

/* Subtext */
.cta-subtext {
    font-size: 1rem;
    color: #555;
    font-weight: 300;
    letter-spacing: 1px;
    text-shadow: none;
    animation: fadeInUp 1.5s ease-out;
}

/* Decorative Shapes */
.cta-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    opacity: 0.6;
}

.cta-shape-1 {
    width: 400px;
    height: 400px;
    top: -200px;
    left: -200px;
    background: radial-gradient(circle, rgba(197, 55, 150, 0.3) 0%, transparent 70%);
    animation: ctaShapeFloat 15s ease-in-out infinite;
}

.cta-shape-2 {
    width: 500px;
    height: 500px;
    bottom: -250px;
    right: -250px;
    background: radial-gradient(circle, rgba(255, 140, 66, 0.25) 0%, transparent 70%);
    animation: ctaShapeFloat 20s ease-in-out infinite reverse;
}

@keyframes ctaShapeFloat {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    50% {
        transform: translate(50px, 50px) scale(1.1);
    }
}

/* Адаптивность */
@media (max-width: 1024px) {
    .cta-section {
        padding: 100px 20px;
        margin-top: 60px;
        min-height: 75vh;
    }
    
    .cta-content {
        padding: 50px 60px;
    }
    
    .cta-title {
        font-size: 2.8rem;
        letter-spacing: 2px;
    }
    
    .cta-title-accent {
        font-size: 3.2rem;
    }
    
    .cta-text {
        font-size: 1.35rem;
        margin-bottom: 50px;
    }
    
    .cta-button {
        padding: 20px 45px;
        font-size: 1.05rem;
    }
}

@media (max-width: 768px) {
    .cta-section {
        padding: 80px 20px;
        margin-top: 50px;
        min-height: 70vh;
    }
    
    .cta-content {
        padding: 45px 40px;
        border-radius: 25px;
    }
    
    .cta-badge {
        font-size: 0.85rem;
        padding: 10px 24px;
        margin-bottom: 30px;
        letter-spacing: 1.5px;
    }
    
    .cta-title {
        font-size: 2.2rem;
        letter-spacing: 1.5px;
        margin-bottom: 25px;
    }
    
    .cta-title-accent {
        font-size: 2.6rem;
        margin-top: 8px;
    }
    
    .cta-text {
        font-size: 1.25rem;
        line-height: 1.75;
        margin-bottom: 45px;
        padding: 0 10px;
    }
    
    .cta-buttons {
        gap: 25px;
        margin-bottom: 30px;
    }
    
    .cta-button {
        padding: 18px 40px;
        font-size: 1rem;
        gap: 12px;
    }
    
    .cta-subtext {
        font-size: 0.95rem;
    }
}

@media (max-width: 600px) {
    .cta-section {
        padding: 70px 15px;
        margin-top: 40px;
        min-height: 65vh;
    }
    
    .cta-content {
        padding: 40px 30px;
        border-radius: 22px;
    }
    
    .cta-badge {
        font-size: 0.8rem;
        padding: 9px 20px;
        margin-bottom: 25px;
        letter-spacing: 1.2px;
    }
    
    .cta-title {
        font-size: 1.9rem;
        letter-spacing: 1px;
        margin-bottom: 20px;
    }
    
    .cta-title-accent {
        font-size: 2.3rem;
        margin-top: 6px;
    }
    
    .cta-text {
        font-size: 1.15rem;
        line-height: 1.7;
        margin-bottom: 40px;
    }
    
    .cta-buttons {
        flex-direction: column;
        gap: 20px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 28px auto;
    }
    
    .cta-button {
        width: 100%;
        justify-content: center;
        padding: 18px 35px;
        font-size: 1.05rem;
    }
    
    .cta-subtext {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .cta-section {
        padding: 60px 15px;
        margin-top: 30px;
        min-height: 60vh;
    }
    
    .cta-content {
        padding: 35px 25px;
        border-radius: 20px;
    }
    
    .cta-badge {
        font-size: 0.75rem;
        padding: 8px 18px;
        margin-bottom: 22px;
        letter-spacing: 1px;
    }
    
    .cta-title {
        font-size: 1.7rem;
        letter-spacing: 0.8px;
        margin-bottom: 18px;
    }
    
    .cta-title-accent {
        font-size: 2rem;
        margin-top: 5px;
    }
    
    .cta-text {
        font-size: 1.05rem;
        line-height: 1.65;
        margin-bottom: 35px;
    }
    
    .cta-buttons {
        gap: 18px;
        margin-bottom: 25px;
    }
    
    .cta-button {
        padding: 16px 32px;
        font-size: 1rem;
        gap: 10px;
    }
    
    .cta-button-icon {
        width: 22px;
        height: 22px;
    }
    
    .cta-subtext {
        font-size: 0.88rem;
    }
    
    .cta-shape-1,
    .cta-shape-2 {
        opacity: 0.3;
    }
}

@media (max-width: 360px) {
    .cta-section {
        padding: 50px 12px;
        margin-top: 25px;
        min-height: 55vh;
    }
    
    .cta-content {
        padding: 30px 20px;
        border-radius: 18px;
    }
    
    .cta-badge {
        font-size: 0.7rem;
        padding: 7px 16px;
        margin-bottom: 20px;
    }
    
    .cta-title {
        font-size: 1.5rem;
        letter-spacing: 0.6px;
        margin-bottom: 15px;
    }
    
    .cta-title-accent {
        font-size: 1.8rem;
    }
    
    .cta-text {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 30px;
    }
    
    .cta-buttons {
        gap: 15px;
        margin-bottom: 22px;
    }
    
    .cta-button {
        padding: 14px 28px;
        font-size: 0.95rem;
        gap: 8px;
    }
    
    .cta-button-icon {
        width: 20px;
        height: 20px;
    }
    
    .cta-subtext {
        font-size: 0.85rem;
    }
}

/* Instagram Section Styles */
.instagram-section {
    position: relative;
    padding: 100px 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    overflow: hidden;
}

.instagram-container {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

/* Header */
.instagram-header {
    text-align: center;
    margin-bottom: 70px;
    animation: fadeInUp 1s ease-out;
}

.instagram-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, #C53796 0%, #E1306C 50%, #F77737 100%);
    border-radius: 25px;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(197, 55, 150, 0.3);
    animation: instagramIconPulse 3s ease-in-out infinite;
}

@keyframes instagramIconPulse {
    0%, 100% {
        box-shadow: 0 10px 30px rgba(197, 55, 150, 0.3);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 15px 40px rgba(197, 55, 150, 0.5);
        transform: scale(1.05);
    }
}

.instagram-icon {
    color: #ffffff;
}

.instagram-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: 4px;
    color: #333;
    margin-bottom: 20px;
}

.instagram-subtitle {
    font-size: 1.3rem;
    color: #666;
    font-weight: 300;
    letter-spacing: 0.5px;
    max-width: 600px;
    margin: 0 auto;
}

/* Grid */
.instagram-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 60px;
}

.instagram-post {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    text-decoration: none;
}

.instagram-post:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.instagram-post-image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.instagram-post-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, filter 0.4s ease;
    filter: brightness(1) contrast(1.1) saturate(1.1);
}

.instagram-post:hover .instagram-post-image {
    transform: scale(1.1);
    filter: brightness(0.8) contrast(1.15) saturate(1.2);
}

.instagram-post-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(197, 55, 150, 0.85) 0%,
        rgba(225, 48, 108, 0.85) 50%,
        rgba(247, 119, 55, 0.85) 100%
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.instagram-post:hover .instagram-post-overlay {
    opacity: 1;
}

.instagram-post-icon {
    color: #ffffff;
    margin-bottom: 20px;
    animation: instagramIconBounce 0.6s ease-out;
}

@keyframes instagramIconBounce {
    0% {
        transform: scale(0) rotate(-180deg);
    }
    60% {
        transform: scale(1.2) rotate(10deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}

.instagram-post-caption {
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: center;
    font-weight: 400;
    letter-spacing: 0.3px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease 0.1s;
}

.instagram-post:hover .instagram-post-caption {
    opacity: 1;
    transform: translateY(0);
}

/* CTA Button */
.instagram-cta {
    text-align: center;
    animation: fadeInUp 1.2s ease-out;
}

.instagram-button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 20px 50px;
    border-radius: 50px;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    color: #ffffff;
    background: linear-gradient(135deg, #C53796 0%, #E1306C 50%, #F77737 100%);
    box-shadow: 0 10px 30px rgba(197, 55, 150, 0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.instagram-button::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #E1306C 0%, #F77737 50%, #C53796 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.instagram-button:hover::before {
    opacity: 1;
}

.instagram-button:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 45px rgba(197, 55, 150, 0.5);
}

.instagram-button:active {
    transform: translateY(-2px) scale(1.02);
}

.instagram-button svg,
.instagram-button span {
    position: relative;
    z-index: 1;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .instagram-section {
        padding: 80px 15px;
    }
    
    .instagram-header {
        margin-bottom: 60px;
    }
    
    .instagram-icon-wrapper {
        width: 90px;
        height: 90px;
        border-radius: 22px;
        margin-bottom: 25px;
    }
    
    .instagram-icon {
        width: 42px;
        height: 42px;
    }
    
    .instagram-title {
        font-size: 2.8rem;
        letter-spacing: 3px;
    }
    
    .instagram-subtitle {
        font-size: 1.2rem;
    }
    
    .instagram-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        margin-bottom: 50px;
    }
}

@media (max-width: 768px) {
    .instagram-section {
        padding: 60px 15px;
    }
    
    .instagram-header {
        margin-bottom: 50px;
    }
    
    .instagram-icon-wrapper {
        width: 80px;
        height: 80px;
        border-radius: 20px;
        margin-bottom: 22px;
    }
    
    .instagram-icon {
        width: 38px;
        height: 38px;
    }
    
    .instagram-title {
        font-size: 2.2rem;
        letter-spacing: 2px;
        margin-bottom: 18px;
    }
    
    .instagram-subtitle {
        font-size: 1.1rem;
        padding: 0 20px;
    }
    
    .instagram-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        margin-bottom: 45px;
    }
    
    .instagram-post-overlay {
        padding: 25px;
    }
    
    .instagram-post-icon {
        margin-bottom: 15px;
    }
    
    .instagram-post-icon svg {
        width: 32px;
        height: 32px;
    }
    
    .instagram-post-caption {
        font-size: 0.95rem;
        line-height: 1.5;
    }
    
    .instagram-button {
        padding: 18px 45px;
        font-size: 1.05rem;
        gap: 12px;
    }
    
    .instagram-button svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 600px) {
    .instagram-section {
        padding: 50px 15px;
    }
    
    .instagram-header {
        margin-bottom: 40px;
    }
    
    .instagram-icon-wrapper {
        width: 70px;
        height: 70px;
        border-radius: 18px;
        margin-bottom: 20px;
    }
    
    .instagram-icon {
        width: 34px;
        height: 34px;
    }
    
    .instagram-title {
        font-size: 1.9rem;
        letter-spacing: 1.5px;
        margin-bottom: 15px;
    }
    
    .instagram-subtitle {
        font-size: 1rem;
        padding: 0 15px;
        line-height: 1.6;
    }
    
    .instagram-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-bottom: 40px;
    }
    
    .instagram-post {
        border-radius: 15px;
    }
    
    .instagram-post-overlay {
        padding: 20px;
    }
    
    .instagram-post-caption {
        font-size: 0.9rem;
        line-height: 1.45;
    }
    
    .instagram-button {
        padding: 16px 40px;
        font-size: 1rem;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .instagram-section {
        padding: 40px 15px;
    }
    
    .instagram-header {
        margin-bottom: 35px;
    }
    
    .instagram-icon-wrapper {
        width: 65px;
        height: 65px;
        border-radius: 16px;
        margin-bottom: 18px;
    }
    
    .instagram-icon {
        width: 30px;
        height: 30px;
    }
    
    .instagram-title {
        font-size: 1.7rem;
        letter-spacing: 1.2px;
        margin-bottom: 12px;
    }
    
    .instagram-subtitle {
        font-size: 0.95rem;
        padding: 0 10px;
    }
    
    .instagram-grid {
        gap: 12px;
        margin-bottom: 35px;
    }
    
    .instagram-post {
        border-radius: 12px;
    }
    
    .instagram-post-overlay {
        padding: 18px;
    }
    
    .instagram-post-icon {
        margin-bottom: 12px;
    }
    
    .instagram-post-icon svg {
        width: 28px;
        height: 28px;
    }
    
    .instagram-post-caption {
        font-size: 0.85rem;
        line-height: 1.4;
    }
    
    .instagram-button {
        padding: 15px 35px;
        font-size: 0.95rem;
        gap: 8px;
    }
    
    .instagram-button svg {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 360px) {
    .instagram-section {
        padding: 35px 12px;
    }
    
    .instagram-title {
        font-size: 1.5rem;
        letter-spacing: 1px;
    }
    
    .instagram-subtitle {
        font-size: 0.88rem;
    }
    
    .instagram-grid {
        gap: 10px;
        margin-bottom: 30px;
    }
    
    .instagram-button {
        padding: 14px 30px;
        font-size: 0.9rem;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .instagram-icon-wrapper {
        animation: none;
    }
    
    .instagram-post:hover {
        transform: translateY(-5px);
    }
    
    .instagram-post:hover .instagram-post-image {
        transform: scale(1.05);
    }
    
    .instagram-post-icon {
        animation: none;
    }
    
    .instagram-button:hover {
        transform: translateY(-3px) scale(1.02);
    }
}

/* Modern CTA Section Styles */
.cta-modern-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 100px 20px;
}

/* Animated Gradient Background */
.cta-modern-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
    z-index: 0;
}

.cta-modern-gradient-1 {
    position: absolute;
    width: 600px;
    height: 600px;
    top: -300px;
    left: -100px;
    background: radial-gradient(circle, rgba(197, 55, 150, 0.4) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(80px);
    animation: ctaModernFloat1 20s ease-in-out infinite;
}

.cta-modern-gradient-2 {
    position: absolute;
    width: 800px;
    height: 800px;
    bottom: -400px;
    right: -200px;
    background: radial-gradient(circle, rgba(255, 140, 66, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(100px);
    animation: ctaModernFloat2 25s ease-in-out infinite;
}

.cta-modern-gradient-3 {
    position: absolute;
    width: 500px;
    height: 500px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(41, 157, 195, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(90px);
    animation: ctaModernFloat3 30s ease-in-out infinite;
}

@keyframes ctaModernFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(100px, 50px) scale(1.1); }
    66% { transform: translate(-50px, 100px) scale(0.9); }
}

@keyframes ctaModernFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(-100px, -80px) scale(1.15); }
    66% { transform: translate(80px, 60px) scale(0.95); }
}

@keyframes ctaModernFloat3 {
    0%, 100% { transform: translate(-50%, -50%) scale(1) rotate(0deg); }
    50% { transform: translate(-50%, -50%) scale(1.2) rotate(180deg); }
}

/* Floating Particles */
.cta-modern-particles {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.cta-modern-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    animation: ctaModernParticleFloat infinite ease-in-out;
}

@keyframes ctaModernParticleFloat {
    0%, 100% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100vh) translateX(50px);
        opacity: 0;
    }
}

/* Grid Pattern */
.cta-modern-grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    z-index: 1;
    opacity: 0.5;
}

/* Container */
.cta-modern-container {
    max-width: 900px;
    width: 100%;
    position: relative;
    z-index: 2;
}

/* Content Card */
.cta-modern-content {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 40px;
    padding: 70px 60px;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.cta-modern-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    animation: ctaModernShine 3s infinite;
}

@keyframes ctaModernShine {
    0% { left: -100%; }
    50%, 100% { left: 100%; }
}

/* Sparkle Icon */
.cta-modern-sparkle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.cta-modern-sparkle {
    color: #FFD700;
    filter: drop-shadow(0 0 20px rgba(255, 215, 0, 0.6));
    animation: ctaModernSparkle 2s ease-in-out infinite;
}

@keyframes ctaModernSparkle {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        filter: drop-shadow(0 0 20px rgba(255, 215, 0, 0.6));
    }
    50% {
        transform: scale(1.2) rotate(180deg);
        filter: drop-shadow(0 0 30px rgba(255, 215, 0, 1));
    }
}

/* Badge */
.cta-modern-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 255, 127, 0.15);
    border: 1px solid rgba(0, 255, 127, 0.3);
    color: #00FF7F;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin: 0 auto 40px auto;
    width: fit-content;
    display: flex;
    box-shadow: 0 0 20px rgba(0, 255, 127, 0.2);
}

.cta-modern-badge-dot {
    width: 8px;
    height: 8px;
    background: #00FF7F;
    border-radius: 50%;
    animation: ctaModernPulse 2s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(0, 255, 127, 0.8);
}

@keyframes ctaModernPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.3);
        opacity: 0.7;
    }
}

/* Title */
.cta-modern-title {
    font-size: 3.5rem;
    font-weight: 300;
    letter-spacing: -1px;
    color: #ffffff;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.2;
}

.cta-modern-title-gradient {
    display: inline-block;
    background: linear-gradient(135deg, #C53796, #FF8C42, #FFD700);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 600;
    position: relative;
}

.cta-modern-title-gradient::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #C53796, #FF8C42, #FFD700);
    border-radius: 2px;
    opacity: 0.6;
}

/* Description */
.cta-modern-description {
    font-size: 1.25rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px auto;
    font-weight: 300;
}

/* Buttons */
.cta-modern-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.cta-modern-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 40px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    border: 2px solid transparent;
}

.cta-modern-button-shine {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.cta-modern-button:hover .cta-modern-button-shine {
    left: 100%;
}

.cta-modern-button-icon,
.cta-modern-button-text,
.cta-modern-button-arrow {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.cta-modern-button-arrow {
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

.cta-modern-button:hover .cta-modern-button-arrow {
    opacity: 1;
    transform: translateX(0);
}

.cta-modern-button:hover .cta-modern-button-icon {
    transform: scale(1.2) rotate(10deg);
}

/* Primary Button (WhatsApp) */
.cta-modern-button-primary {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #ffffff;
    box-shadow: 
        0 10px 40px rgba(37, 211, 102, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.cta-modern-button-primary:hover {
    transform: translateY(-5px);
    box-shadow: 
        0 20px 50px rgba(37, 211, 102, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Secondary Button (Telegram) */
.cta-modern-button-secondary {
    background: linear-gradient(135deg, #0088CC 0%, #005F8D 100%);
    color: #ffffff;
    box-shadow: 
        0 10px 40px rgba(0, 136, 204, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.cta-modern-button-secondary:hover {
    transform: translateY(-5px);
    box-shadow: 
        0 20px 50px rgba(0, 136, 204, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Features */
.cta-modern-features {
    display: flex;
    gap: 30px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.cta-modern-feature {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 500;
}

.cta-modern-feature-icon {
    font-size: 1.5rem;
    filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
}

/* Wave */
.cta-modern-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    z-index: 1;
    pointer-events: none;
}

.cta-modern-wave svg {
    width: 100%;
    height: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
    .cta-modern-section {
        padding: 80px 20px;
    }
    
    .cta-modern-content {
        padding: 60px 50px;
    }
    
    .cta-modern-title {
        font-size: 3rem;
    }
    
    .cta-modern-description {
        font-size: 1.15rem;
    }
}

@media (max-width: 768px) {
    .cta-modern-section {
        padding: 60px 20px;
        min-height: auto;
    }
    
    .cta-modern-content {
        padding: 50px 40px;
        border-radius: 30px;
    }
    
    .cta-modern-title {
        font-size: 2.5rem;
    }
    
    .cta-modern-description {
        font-size: 1.1rem;
        margin-bottom: 40px;
    }
    
    .cta-modern-buttons {
        flex-direction: column;
        width: 100%;
        gap: 15px;
    }
    
    .cta-modern-button {
        width: 100%;
        justify-content: center;
        max-width: 400px;
    }
    
    .cta-modern-features {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .cta-modern-content {
        padding: 40px 30px;
        border-radius: 25px;
    }
    
    .cta-modern-sparkle {
        width: 40px;
        height: 40px;
    }
    
    .cta-modern-badge {
        padding: 10px 20px;
        font-size: 0.85rem;
        margin-bottom: 30px;
    }
    
    .cta-modern-title {
        font-size: 2rem;
        margin-bottom: 25px;
    }
    
    .cta-modern-description {
        font-size: 1rem;
        margin-bottom: 35px;
    }
    
    .cta-modern-button {
        padding: 18px 35px;
        font-size: 1rem;
    }
    
    .cta-modern-feature {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .cta-modern-content {
        padding: 35px 25px;
        border-radius: 20px;
    }
    
    .cta-modern-title {
        font-size: 1.8rem;
    }
    
    .cta-modern-description {
        font-size: 0.95rem;
        line-height: 1.6;
    }
    
    .cta-modern-button {
        padding: 16px 30px;
        font-size: 0.95rem;
    }
    
    .cta-modern-gradient-1,
    .cta-modern-gradient-2,
    .cta-modern-gradient-3 {
        filter: blur(60px);
    }
}

@media (max-width: 360px) {
    .cta-modern-content {
        padding: 30px 20px;
    }
    
    .cta-modern-title {
        font-size: 1.6rem;
    }
    
    .cta-modern-badge {
        padding: 8px 16px;
        font-size: 0.8rem;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .cta-modern-gradient-1,
    .cta-modern-gradient-2,
    .cta-modern-gradient-3,
    .cta-modern-particle,
    .cta-modern-sparkle,
    .cta-modern-badge-dot,
    .cta-modern-content::before {
        animation: none;
    }
    
    .cta-modern-button:hover {
        transform: translateY(-3px);
    }
}

/* Premium CTA Section Styles */
.cta-premium-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
    overflow: hidden;
}

/* Parallax Background */
.cta-premium-background {
    position: absolute;
    top: -10%;
    left: -5%;
    right: -5%;
    bottom: -10%;
    background-image: url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2000&q=80');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    will-change: transform;
    transition: transform 0.1s ease-out;
    z-index: 0;
}

.cta-premium-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        rgba(0, 0, 0, 0.6), 
        rgba(0, 0, 0, 0.4)
    );
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
}

.cta-premium-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Main Card */
.cta-premium-card {
    background: transparent;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 40px;
    padding: 40px 50px;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.2),
        0 5px 20px rgba(197, 55, 150, 0.1);
    position: relative;
    overflow: hidden;
}

.cta-premium-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    pointer-events: none;
}

/* Header Navigation */
.cta-premium-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 2;
}

.cta-premium-logo {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.cta-premium-logo-text {
    font-size: 1.8rem;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.cta-premium-logo-subtitle {
    font-size: 1rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cta-premium-nav {
    display: flex;
    align-items: center;
    gap: 25px;
}

.cta-premium-nav-link {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.85);
    font-size: 1rem;
    font-weight: 300;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    letter-spacing: 1px;
}

.cta-premium-nav-link:hover {
    color: #C53796;
    transform: translateY(-2px);
}

.cta-premium-nav-button {
    background: linear-gradient(135deg, #C53796 0%, #B02D7A 100%);
    color: #ffffff;
    padding: 14px 32px;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 
        0 4px 15px rgba(197, 55, 150, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.cta-premium-nav-button:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 8px 25px rgba(197, 55, 150, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, #B02D7A 0%, #8B2360 100%);
}

/* Main Content Grid */
.cta-premium-content {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
}

/* Left Side - Image */
.cta-premium-image-wrapper {
    position: relative;
}

.cta-premium-image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta-premium-image {
    width: 90%;
    height: 90%;
    object-fit: cover;
    border-radius: 25px;
    box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.4),
        0 10px 30px rgba(197, 55, 150, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cta-premium-image-wrapper:hover .cta-premium-image {
    transform: scale(1.05);
    box-shadow: 
        0 40px 80px rgba(0, 0, 0, 0.5),
        0 15px 40px rgba(197, 55, 150, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.cta-premium-image-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, rgba(197, 55, 150, 0.4) 0%, rgba(255, 140, 66, 0.3) 50%, transparent 70%);
    filter: blur(50px);
    z-index: 1;
    animation: ctaPremiumGlowPulse 4s ease-in-out infinite;
}

@keyframes ctaPremiumGlowPulse {
    0%, 100% {
        opacity: 0.6;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.1);
    }
}

/* Right Side - Text Content */
.cta-premium-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cta-premium-text-inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.cta-premium-subtitle {
    font-size: 1.1rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 2px;
    margin: 0;
    line-height: 1.6;
    text-transform: uppercase;
}

.cta-premium-title {
    font-size: 4rem;
    font-weight: 300;
    color: #ffffff;
    line-height: 1.15;
    letter-spacing: 2px;
    margin: 0;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

/* CTA Group */
.cta-premium-cta-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cta-premium-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: #8B4513;
    color: #ffffff;
    padding: 18px 32px;
    border-radius: 30px;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 10px 30px rgba(139, 69, 19, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    max-width: 320px;
    gap: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.cta-premium-button-text {
    flex: 1;
}

.cta-premium-button-icon {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.cta-premium-button:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 
        0 15px 40px rgba(139, 69, 19, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: #7a3a0f;
}

.cta-premium-button:hover .cta-premium-button-icon {
    transform: translateX(5px);
}

.cta-premium-description {
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    max-width: 450px;
    font-weight: 300;
    letter-spacing: 0.5px;
}

.cta-inline-button {
    display: inline-flex;
    align-items: center;
    background: #8B4513;
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 
        0 8px 20px rgba(139, 69, 19, 0.5),
        0 4px 10px rgba(139, 69, 19, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    letter-spacing: 1px;
    white-space: nowrap;
    animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 
            0 8px 20px rgba(139, 69, 19, 0.5),
            0 4px 10px rgba(139, 69, 19, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }
    50% {
        box-shadow: 
            0 8px 25px rgba(139, 69, 19, 0.7),
            0 4px 15px rgba(139, 69, 19, 0.5),
            inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
}

.cta-inline-button:hover {
    background: #7a3a0f;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 
        0 12px 30px rgba(139, 69, 19, 0.7),
        0 6px 15px rgba(139, 69, 19, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    animation: none;
}

/* Social Links */
.cta-premium-social {
    display: flex;
    gap: 30px;
    align-items: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
    z-index: 2;
}

.cta-premium-social-link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 400;
    transition: all 0.3s ease;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cta-premium-social-link:hover {
    color: #ffffff;
    transform: translateY(-2px);
    background: rgba(197, 55, 150, 0.2);
    border-color: rgba(197, 55, 150, 0.4);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.cta-premium-social-link svg {
    transition: transform 0.3s ease;
}

.cta-premium-social-link:hover svg {
    transform: scale(1.15) rotate(5deg);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .cta-premium-content {
        gap: 60px;
    }
    
    .cta-premium-title {
        font-size: 3.5rem;
    }
}

@media (max-width: 1024px) {
    .cta-premium-card {
        padding: 35px 40px;
        border-radius: 40px;
    }
    
    .cta-premium-content {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .cta-premium-image-wrapper {
        order: 2;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .cta-premium-text {
        order: 1;
        text-align: center;
    }
    
    .cta-premium-text-inner {
        align-items: center;
    }
    
    .cta-premium-title {
        font-size: 3rem;
    }
    
    .cta-premium-button {
        max-width: 100%;
        width: 100%;
    }
    
    .cta-premium-description {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .cta-premium-section {
        padding: 40px 20px;
        min-height: auto;
    }
    
    .cta-premium-card {
        padding: 30px 25px;
        border-radius: 35px;
    }
    
    .cta-premium-header {
        margin-bottom: 40px;
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }
    
    .cta-premium-nav {
        width: 100%;
        justify-content: space-between;
    }
    
    .cta-premium-logo-text {
        font-size: 1.5rem;
    }
    
    .cta-premium-title {
        font-size: 2.5rem;
        letter-spacing: -0.5px;
    }
    
    .cta-premium-subtitle {
        font-size: 1rem;
    }
    
    .cta-premium-description {
        font-size: 1rem;
    }
    
    .cta-premium-button {
        padding: 16px 28px;
        font-size: 1rem;
    }
    
    .cta-premium-content {
        gap: 40px;
        margin-bottom: 30px;
    }
    
    .cta-premium-social {
        justify-content: center;
        padding-top: 25px;
    }
}

@media (max-width: 600px) {
    .cta-premium-card {
        padding: 25px 20px;
        border-radius: 30px;
    }
    
    .cta-premium-header {
        margin-bottom: 35px;
    }
    
    .cta-premium-logo-text {
        font-size: 1.3rem;
    }
    
    .cta-premium-nav-link {
        font-size: 0.9rem;
    }
    
    .cta-premium-nav-button {
        padding: 12px 24px;
        font-size: 0.9rem;
    }
    
    .cta-premium-title {
        font-size: 2rem;
    }
    
    .cta-premium-subtitle {
        font-size: 0.95rem;
    }
    
    .cta-premium-description {
        font-size: 0.95rem;
        line-height: 1.6;
    }
    
    .cta-premium-button {
        padding: 14px 24px;
        font-size: 0.95rem;
    }
    
    .cta-premium-text-inner {
        gap: 25px;
    }
    
    .cta-premium-social {
        flex-direction: column;
        gap: 20px;
        padding-top: 20px;
    }
}

@media (max-width: 480px) {
    .cta-premium-section {
        padding: 30px 15px;
    }
    
    .cta-premium-card {
        padding: 20px 15px;
        border-radius: 25px;
    }
    
    .cta-premium-header {
        margin-bottom: 30px;
        gap: 15px;
    }
    
    .cta-premium-nav {
        flex-direction: column;
        gap: 15px;
        width: 100%;
    }
    
    .cta-premium-nav-button {
        width: 100%;
        text-align: center;
    }
    
    .cta-premium-title {
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    
    .cta-premium-content {
        gap: 30px;
        margin-bottom: 25px;
    }
}

@media (max-width: 360px) {
    .cta-premium-title {
        font-size: 1.6rem;
    }
    
    .cta-premium-subtitle {
        font-size: 0.9rem;
    }
    
    .cta-premium-description {
        font-size: 0.9rem;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .cta-premium-image,
    .cta-premium-button,
    .cta-premium-social-link,
    .cta-premium-nav-button,
    .cta-premium-nav-link {
        transition: none;
    }
    
    .cta-premium-image-wrapper:hover .cta-premium-image {
        transform: scale(1);
    }
    
    .cta-premium-button:hover {
        transform: none;
    }
}

/* ============================================
   ORGANIZER PAGE SECTIONS
   ============================================ */

/* Organizer Hero Section - Modern Artistic Design */
.organizer-hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
}

.organizer-hero-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    filter: brightness(0.85) contrast(1.1);
}

.organizer-hero-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background: linear-gradient(
        135deg,
        rgba(197, 55, 150, 0.15) 0%,
        rgba(0, 0, 0, 0.7) 40%,
        rgba(0, 0, 0, 0.8) 60%,
        rgba(197, 55, 150, 0.1) 100%
    );
}

.organizer-hero-decorative-elements {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
}

.organizer-hero-decorative-circle {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(
        circle at center,
        rgba(197, 55, 150, 0.3) 0%,
        rgba(197, 55, 150, 0.1) 40%,
        transparent 70%
    );
    filter: blur(60px);
}

.organizer-hero-decorative-circle-1 {
    width: 800px;
    height: 800px;
    top: -200px;
    right: -200px;
}

.organizer-hero-decorative-circle-2 {
    width: 600px;
    height: 600px;
    bottom: -150px;
    left: -150px;
}

.organizer-hero-content {
    position: relative;
    z-index: 10;
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 20px;
}

.organizer-hero-glass-card {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.08) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 32px;
    padding: 80px 60px;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 0 80px rgba(197, 55, 150, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    position: relative;
}

.organizer-hero-top-accent {
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        #C53796 50%,
        transparent 100%
    );
    border-radius: 2px;
    box-shadow: 0 0 20px rgba(197, 55, 150, 0.6);
}

.organizer-hero-icon-wrapper {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C53796 0%, #8B2870 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 
        0 8px 32px rgba(197, 55, 150, 0.4),
        inset 0 2px 8px rgba(255, 255, 255, 0.2);
}

.organizer-hero-icon {
    width: 38px;
    height: 38px;
    color: white;
    stroke-width: 1.5;
}

.organizer-hero-title {
    color: white;
    margin: 0;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.organizer-hero-brand {
    font-size: 5rem;
    font-weight: 300;
    letter-spacing: 0.2em;
    text-transform: none;
    color: #C53796;
    filter: drop-shadow(0 4px 20px rgba(197, 55, 150, 0.5));
}

.organizer-hero-title-separator {
    font-size: 2rem;
    font-weight: 100;
    color: rgba(197, 55, 150, 0.6);
    letter-spacing: 0.3em;
}

.organizer-hero-title-type {
    font-size: 2rem;
    font-weight: 300;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
}

.organizer-hero-location-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 28px;
    background: linear-gradient(
        135deg,
        rgba(197, 55, 150, 0.25) 0%,
        rgba(197, 55, 150, 0.15) 100%
    );
    border: 1px solid rgba(197, 55, 150, 0.3);
    border-radius: 50px;
    color: white;
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 
        0 4px 16px rgba(197, 55, 150, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.organizer-hero-location-icon {
    width: 18px;
    height: 18px;
    stroke-width: 2;
    color: #C53796;
}

.organizer-hero-subtitle {
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.8;
    max-width: 650px;
    text-align: center;
    font-style: italic;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    margin: 0;
}

.organizer-hero-bottom-line {
    width: 200px;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.3) 50%,
        transparent 100%
    );
    transform-origin: center;
}

/* Responsive - Hero Section */
@media (max-width: 1200px) {
    .organizer-hero-glass-card {
        padding: 60px 50px;
    }
    
    .organizer-hero-brand {
        font-size: 4rem;
    }
    
    .organizer-hero-title-type {
        font-size: 1.7rem;
    }
    
    .organizer-hero-subtitle {
        font-size: 1.35rem;
        max-width: 600px;
    }
}

@media (max-width: 1024px) {
    .organizer-hero-glass-card {
        padding: 50px 40px;
        gap: 28px;
    }
    
    .organizer-hero-icon-wrapper {
        width: 70px;
        height: 70px;
    }
    
    .organizer-hero-icon {
        width: 34px;
        height: 34px;
    }
    
    .organizer-hero-brand {
        font-size: 3.5rem;
        letter-spacing: 0.18em;
    }
    
    .organizer-hero-title-separator {
        font-size: 1.8rem;
    }
    
    .organizer-hero-title-type {
        font-size: 1.5rem;
        letter-spacing: 0.12em;
    }
    
    .organizer-hero-location-badge {
        font-size: 1rem;
        padding: 10px 24px;
    }
    
    .organizer-hero-subtitle {
        font-size: 1.25rem;
        max-width: 550px;
    }
}

@media (max-width: 768px) {
    .organizer-hero-section {
        min-height: 70vh;
    }
    
    .organizer-hero-content {
        padding: 40px 20px;
    }
    
    .organizer-hero-glass-card {
        padding: 40px 30px;
        gap: 24px;
        border-radius: 24px;
    }
    
    .organizer-hero-icon-wrapper {
        width: 60px;
        height: 60px;
    }
    
    .organizer-hero-icon {
        width: 28px;
        height: 28px;
    }
    
    .organizer-hero-brand {
        font-size: 2.8rem;
        letter-spacing: 0.15em;
    }
    
    .organizer-hero-title-separator {
        font-size: 1.5rem;
    }
    
    .organizer-hero-title-type {
        font-size: 1.3rem;
    }
    
    .organizer-hero-location-badge {
        font-size: 0.95rem;
        padding: 9px 20px;
    }
    
    .organizer-hero-location-icon {
        width: 16px;
        height: 16px;
    }
    
    .organizer-hero-subtitle {
        font-size: 1.1rem;
        max-width: 500px;
    }
    
    .organizer-hero-decorative-circle-1 {
        width: 500px;
        height: 500px;
        top: -100px;
        right: -100px;
    }
    
    .organizer-hero-decorative-circle-2 {
        width: 400px;
        height: 400px;
        bottom: -100px;
        left: -100px;
    }
}

@media (max-width: 480px) {
    .organizer-hero-glass-card {
        padding: 35px 24px;
        gap: 20px;
        border-radius: 20px;
    }
    
    .organizer-hero-top-accent {
        height: 2px;
    }
    
    .organizer-hero-icon-wrapper {
        width: 55px;
        height: 55px;
    }
    
    .organizer-hero-icon {
        width: 26px;
        height: 26px;
    }
    
    .organizer-hero-brand {
        font-size: 2.2rem;
        letter-spacing: 0.12em;
    }
    
    .organizer-hero-title-separator {
        font-size: 1.3rem;
    }
    
    .organizer-hero-title-type {
        font-size: 1.1rem;
        letter-spacing: 0.1em;
    }
    
    .organizer-hero-location-badge {
        font-size: 0.85rem;
        padding: 8px 18px;
        gap: 8px;
    }
    
    .organizer-hero-location-icon {
        width: 14px;
        height: 14px;
    }
    
    .organizer-hero-subtitle {
        font-size: 1rem;
        max-width: 90%;
        letter-spacing: 0.03em;
        line-height: 1.7;
    }
    
    .organizer-hero-bottom-line {
        width: 120px;
    }
    
    .organizer-hero-decorative-circle-1 {
        width: 350px;
        height: 350px;
    }
    
    .organizer-hero-decorative-circle-2 {
        width: 300px;
        height: 300px;
    }
}

/* Organizer Description Section */
.organizer-description-section {
    position: relative;
    padding: 100px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.organizer-description-container {
    max-width: 1400px;
    margin: 0 auto;
}

.organizer-description-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: center;
}

.organizer-description-text {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.organizer-description-badge {
    display: inline-block;
    align-self: flex-start;
    padding: 12px 28px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border-radius: 25px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.organizer-description-content {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333;
    font-weight: 300;
    letter-spacing: 0.02em;
}

.organizer-description-cta {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 20px;
}

.organizer-description-primary-btn {
    padding: 18px 40px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border: none;
    border-radius: 30px;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.4);
    align-self: flex-start;
}

.organizer-description-primary-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(197, 55, 150, 0.5);
    background: linear-gradient(135deg, #B02D7A 0%, #ff5a8f 100%);
}

.organizer-description-social {
    display: flex;
    gap: 15px;
}

.organizer-description-social-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: white;
    border: 2px solid #e9ecef;
    border-radius: 25px;
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.organizer-description-social-link:hover {
    border-color: #C53796;
    color: #C53796;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.2);
}

.organizer-description-media {
    position: relative;
}

/* Gallery Styles */
.organizer-description-gallery {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    height: 500px;
}

.gallery-slides-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.gallery-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.gallery-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.gallery-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-slide-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gallery-slide-title {
    color: white;
    font-size: 1.8rem;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0;
}

.gallery-slide-description {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 0;
    max-width: 90%;
}

/* Navigation Buttons */
.gallery-nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.gallery-nav-button:hover {
    background: white;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.gallery-nav-button svg {
    color: #C53796;
}

.gallery-nav-prev {
    left: 20px;
}

.gallery-nav-next {
    right: 20px;
}

/* Dot Indicators */
.gallery-indicators {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.gallery-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.gallery-dot:hover {
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.2);
}

.gallery-dot.active {
    background: white;
    width: 30px;
    border-radius: 5px;
}

/* Responsive - Description Section */
@media (max-width: 1024px) {
    .organizer-description-grid {
        gap: 60px;
    }
    
    .organizer-description-content {
        font-size: 1.05rem;
    }
}

@media (max-width: 768px) {
    .organizer-description-section {
        padding: 60px 20px;
    }
    
    .organizer-description-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .organizer-description-gallery {
        height: 400px;
    }
    
    .gallery-slide-title {
        font-size: 1.5rem;
    }
    
    .gallery-slide-description {
        font-size: 0.85rem;
        max-width: 100%;
    }
    
    .gallery-slide-overlay {
        padding: 30px 20px;
    }
    
    .gallery-nav-button {
        width: 40px;
        height: 40px;
    }
    
    .gallery-nav-prev {
        left: 10px;
    }
    
    .gallery-nav-next {
        right: 10px;
    }
    
    .organizer-description-social {
        flex-direction: column;
    }
    
    .organizer-description-social-link {
        justify-content: center;
    }
    
    .organizer-description-primary-btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .organizer-description-section {
        padding: 40px 15px;
    }
    
    .organizer-description-content {
        font-size: 1rem;
    }
    
    .organizer-description-primary-btn {
        font-size: 1rem;
        padding: 16px 32px;
    }
    
    .organizer-description-gallery {
        height: 350px;
        border-radius: 20px;
    }
    
    .gallery-slide-title {
        font-size: 1.3rem;
    }
    
    .gallery-slide-description {
        font-size: 0.8rem;
    }
    
    .gallery-slide-overlay {
        padding: 25px 15px;
        gap: 8px;
    }
    
    .gallery-nav-button {
        width: 35px;
        height: 35px;
    }
    
    .gallery-nav-button svg {
        width: 20px;
        height: 20px;
    }
    
    .gallery-indicators {
        bottom: 15px;
        gap: 8px;
    }
    
    .gallery-dot {
        width: 8px;
        height: 8px;
    }
    
    .gallery-dot.active {
        width: 24px;
    }
    
    .organizer-description-image {
        height: 300px;
    }
    
    .organizer-description-overlay-title {
        font-size: 1.3rem;
    }
}

/* Organizer Accordion Section */
.organizer-accordion-section {
    position: relative;
    padding: 100px 20px;
    background: #ffffff;
}

.organizer-accordion-container {
    max-width: 1200px;
    margin: 0 auto;
}

.organizer-accordion-header {
    text-align: center;
    margin-bottom: 60px;
}

.organizer-accordion-main-title {
    font-size: 2.8rem;
    font-weight: 300;
    color: #222;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}

.organizer-accordion-subtitle {
    font-size: 1.1rem;
    color: #666;
    font-weight: 300;
    letter-spacing: 0.02em;
}

.organizer-accordion {
    width: 100%;
}

.organizer-accordion-item {
    border: 2px solid #e9ecef;
    border-radius: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    background: #ffffff;
    transition: all 0.3s ease;
    scroll-margin-top: 0;
}

.organizer-accordion-item:hover {
    border-color: #C53796;
    box-shadow: 0 4px 20px rgba(197, 55, 150, 0.1);
}

.organizer-accordion-trigger {
    padding: 25px 30px;
    font-size: 1.2rem;
    font-weight: 500;
    color: #333;
    transition: all 0.3s ease;
}

.organizer-accordion-trigger:hover {
    background: rgba(197, 55, 150, 0.05);
}

.organizer-accordion-trigger[data-state="open"] {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.05) 100%);
}

.organizer-accordion-trigger-content {
    display: flex;
    align-items: center;
    gap: 15px;
}

.organizer-accordion-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.organizer-accordion-content {
    padding: 30px;
    background: #fafbfc;
}

/* Info Blocks */
.organizer-info-block {
    margin-bottom: 40px;
}

.organizer-info-block:last-child {
    margin-bottom: 0;
}

.organizer-info-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}

.organizer-info-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    margin-bottom: 15px;
}

/* Accommodation Grid */
.organizer-accommodation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.organizer-accommodation-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.organizer-accommodation-card:hover {
    transform: translateY(-5px);
    border-color: #C53796;
    box-shadow: 0 8px 25px rgba(197, 55, 150, 0.2);
}

.organizer-accommodation-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.organizer-accommodation-info {
    padding: 15px;
}

.organizer-accommodation-name {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.organizer-accommodation-link {
    color: #C53796;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.organizer-accommodation-link:hover {
    color: #B02D7A;
    text-decoration: underline;
}

/* Hall Card */
.organizer-hall-card {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 25px;
    background: white;
    border-radius: 15px;
    padding: 20px;
    border: 2px solid #e9ecef;
    margin-top: 20px;
}

.organizer-hall-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.organizer-hall-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

.organizer-link-button {
    display: inline-block;
    padding: 10px 20px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    text-decoration: none;
    border-radius: 20px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-align: center;
    align-self: flex-start;
}

.organizer-link-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.4);
}

/* Zones Grid - Old Style (kept for backward compatibility) */
.organizer-zones-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.organizer-zone-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    background: white;
    border-radius: 12px;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.organizer-zone-item:hover {
    border-color: #C53796;
    transform: translateX(5px);
}

.organizer-zone-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

/* Zones Photo Grid - New Enhanced Style */
.organizer-zones-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
    margin-top: 25px;
}

.organizer-zone-photo-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.organizer-zone-photo-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(197, 55, 150, 0.2);
    border-color: #C53796;
}

.organizer-zone-photo-wrapper {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.organizer-zone-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.organizer-zone-photo-card:hover .organizer-zone-photo {
    transform: scale(1.1);
}

.organizer-zone-photo-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.85) 0%, rgba(255, 107, 157, 0.75) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.organizer-zone-photo-card:hover .organizer-zone-photo-overlay {
    opacity: 1;
}

.organizer-zone-photo-icon {
    width: 70px;
    height: 70px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C53796;
    transform: scale(0.8);
    transition: transform 0.4s ease;
}

.organizer-zone-photo-card:hover .organizer-zone-photo-icon {
    transform: scale(1);
}

.organizer-zone-photo-content {
    padding: 25px;
}

.organizer-zone-photo-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #2c3e50;
    margin: 0 0 12px 0;
    letter-spacing: 0.02em;
}

.organizer-zone-photo-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #6c757d;
    margin: 0;
    font-weight: 400;
}

/* Clickable Tea Zone Card */
.organizer-zone-clickable {
    cursor: pointer;
    position: relative;
}

.organizer-zone-clickable:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 16px 40px rgba(197, 55, 150, 0.3);
}

.organizer-zone-clickable:active {
    transform: translateY(-10px) scale(1.01);
}

.organizer-zone-expand-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C53796;
    opacity: 0;
    transform: scale(0.8) rotate(-90deg);
    transition: all 0.4s ease;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.organizer-zone-clickable:hover .organizer-zone-expand-icon {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

.organizer-zone-click-hint {
    font-size: 0.85rem;
    color: #C53796;
    margin: 12px 0 0 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.organizer-zone-clickable:hover .organizer-zone-click-hint {
    opacity: 1;
    transform: translateY(0);
}

/* SPA Card */
.organizer-spa-card {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 30px;
    background: white;
    border-radius: 15px;
    padding: 25px;
    border: 2px solid #e9ecef;
    margin-top: 20px;
}

.organizer-spa-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 12px;
}

.organizer-spa-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.organizer-spa-list {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
}

.organizer-spa-included {
    font-size: 1.05rem;
    color: #C53796;
    font-weight: 600;
    padding: 15px;
    background: rgba(197, 55, 150, 0.1);
    border-radius: 10px;
    border-left: 4px solid #C53796;
}

/* Pricing Table - Old Style (kept for compatibility) */
.organizer-pricing-table {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    border: 2px solid #e9ecef;
    margin-bottom: 30px;
}

.organizer-pricing-header {
    display: grid;
    grid-template-columns: 1.5fr 2fr 1fr;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    font-weight: 600;
}

.organizer-pricing-row {
    display: grid;
    grid-template-columns: 1.5fr 2fr 1fr;
    border-bottom: 1px solid #e9ecef;
}

/* Pricing Table - Modern Style */
.organizer-pricing-table-wrapper {
    margin-bottom: 35px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    background: white;
}

.organizer-pricing-table-wrapper table {
    width: 100%;
    border-collapse: collapse;
}

.organizer-table-head-icon {
    width: 80px;
    text-align: center;
}

.organizer-table-head {
    padding: 20px 16px;
    font-weight: 700;
    color: #2c3e50;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.05) 0%, rgba(255, 107, 157, 0.05) 100%);
    border-bottom: 2px solid #C53796;
}

.organizer-table-head-price {
    padding: 20px 16px;
    font-weight: 700;
    color: #2c3e50;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.05) 0%, rgba(255, 107, 157, 0.05) 100%);
    border-bottom: 2px solid #C53796;
    text-align: right;
}

.organizer-table-cell-icon {
    padding: 24px 16px;
    text-align: center;
}

.organizer-table-icon-wrapper {
    width: 50px;
    height: 50px;
    margin: 0 auto;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.1) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C53796;
    transition: all 0.3s ease;
}

.organizer-table-cell-season {
    padding: 24px 16px;
    font-weight: 700;
    font-size: 1.1rem;
    color: #2c3e50;
    position: relative;
}

.organizer-table-badge {
    display: inline-block;
    margin-left: 12px;
    padding: 4px 12px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.organizer-table-cell-period {
    padding: 24px 16px;
    color: #6c757d;
    font-size: 0.95rem;
}

.organizer-table-cell-price {
    padding: 24px 16px;
    font-weight: 700;
    font-size: 1.3rem;
    color: #C53796;
    text-align: right;
}

.organizer-pricing-table-wrapper tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: all 0.3s ease;
}

.organizer-pricing-table-wrapper tbody tr:last-child {
    border-bottom: none;
}

.organizer-pricing-table-wrapper tbody tr:hover {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.03) 0%, rgba(255, 107, 157, 0.03) 100%);
}

.organizer-pricing-table-wrapper tbody tr:hover .organizer-table-icon-wrapper {
    transform: scale(1.1) rotateY(360deg);
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.2) 0%, rgba(255, 107, 157, 0.2) 100%);
}

.organizer-table-row-featured {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.08) 0%, rgba(255, 107, 157, 0.08) 100%);
    position: relative;
}

.organizer-table-row-featured::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #C53796 0%, #ff6b9d 100%);
}

.organizer-table-row-featured:hover {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.12) 0%, rgba(255, 107, 157, 0.12) 100%);
}

.organizer-table-row-featured .organizer-table-icon-wrapper {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
}

.organizer-table-row-featured .organizer-table-cell-price {
    font-size: 1.5rem;
}

/* Pricing Cards - Modern Style (kept for backwards compatibility) */
.organizer-pricing-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
    margin-bottom: 35px;
}

.organizer-pricing-card {
    position: relative;
    background: white;
    border-radius: 24px;
    padding: 35px 25px;
    text-align: center;
    border: 2px solid #e9ecef;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.organizer-pricing-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #C53796 0%, #ff6b9d 100%);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.organizer-pricing-card:hover {
    transform: translateY(-10px);
    border-color: #C53796;
    box-shadow: 0 20px 40px rgba(197, 55, 150, 0.15);
}

.organizer-pricing-card:hover::before {
    transform: scaleX(1);
}

.organizer-pricing-card-featured {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-color: #C53796;
    box-shadow: 0 15px 35px rgba(197, 55, 150, 0.3);
    transform: scale(1.05);
}

.organizer-pricing-card-featured:hover {
    transform: translateY(-10px) scale(1.05);
    box-shadow: 0 25px 50px rgba(197, 55, 150, 0.4);
}

.organizer-pricing-card-featured .organizer-pricing-card-season,
.organizer-pricing-card-featured .organizer-pricing-card-period,
.organizer-pricing-card-featured .organizer-pricing-card-price,
.organizer-pricing-card-featured .organizer-pricing-card-per-week {
    color: white;
}

.organizer-pricing-card-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.1) 100%);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C53796;
    transition: all 0.4s ease;
}

.organizer-pricing-card-featured .organizer-pricing-card-icon {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    backdrop-filter: blur(10px);
}

.organizer-pricing-card:hover .organizer-pricing-card-icon {
    transform: rotateY(360deg) scale(1.1);
}

.organizer-pricing-card-season {
    font-size: 1.35rem;
    font-weight: 700;
    color: #2c3e50;
    margin: 0 0 10px 0;
    letter-spacing: 0.02em;
}

.organizer-pricing-card-period {
    font-size: 0.95rem;
    color: #6c757d;
    margin: 0 0 25px 0;
    font-weight: 500;
}

.organizer-pricing-card-featured .organizer-pricing-card-period {
    color: rgba(255, 255, 255, 0.9);
}

.organizer-pricing-card-price-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding-top: 20px;
    border-top: 2px solid #f0f0f0;
}

.organizer-pricing-card-featured .organizer-pricing-card-price-wrapper {
    border-top-color: rgba(255, 255, 255, 0.3);
}

.organizer-pricing-card-price {
    font-size: 2.5rem;
    font-weight: 800;
    color: #C53796;
    line-height: 1;
    letter-spacing: -0.02em;
}

.organizer-pricing-card-featured .organizer-pricing-card-price {
    color: white;
}

.organizer-pricing-card-per-week {
    font-size: 0.85rem;
    color: #999;
    font-weight: 500;
}

.organizer-pricing-card-featured .organizer-pricing-card-per-week {
    color: rgba(255, 255, 255, 0.85);
}

.organizer-pricing-card-badge {
    position: absolute;
    top: 15px;
    right: -35px;
    background: rgba(255, 255, 255, 0.3);
    color: white;
    padding: 5px 40px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transform: rotate(45deg);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.organizer-pricing-row:last-child {
    border-bottom: none;
}

.organizer-pricing-row:hover {
    background: rgba(197, 55, 150, 0.05);
}

.organizer-pricing-cell {
    padding: 18px 20px;
    font-size: 1rem;
}

.organizer-pricing-season {
    font-weight: 600;
    color: #333;
}

.organizer-pricing-period {
    color: #666;
}

.organizer-pricing-price {
    font-weight: 700;
    color: #C53796;
    font-size: 1.2rem;
}

.organizer-pricing-description {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 25px;
    padding: 20px;
    background: rgba(197, 55, 150, 0.05);
    border-radius: 10px;
    border-left: 4px solid #C53796;
}

.organizer-download-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
}

.organizer-download-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 25px rgba(197, 55, 150, 0.4);
}

/* Features List */
.organizer-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.organizer-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 1.05rem;
    color: #444;
    line-height: 1.7;
}

.organizer-feature-bullet {
    width: 8px;
    height: 8px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
    margin-top: 8px;
    flex-shrink: 0;
}

/* Price Highlight */
.organizer-price-highlight {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.05) 100%);
    border-radius: 15px;
    border: 2px solid #C53796;
    margin-bottom: 25px;
}

.organizer-price-highlight svg {
    color: #C53796;
    flex-shrink: 0;
}

.organizer-price-text {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.organizer-price-label {
    font-size: 1.05rem;
    color: #666;
    font-weight: 500;
}

.organizer-price-amount {
    font-size: 1.5rem;
    color: #C53796;
    font-weight: 700;
}

/* CTA Button */
.organizer-cta-button {
    padding: 16px 32px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
    width: 100%;
}

.organizer-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 25px rgba(197, 55, 150, 0.4);
    background: linear-gradient(135deg, #B02D7A 0%, #ff5a8f 100%);
}

.organizer-cta-primary {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    box-shadow: 0 4px 15px rgba(44, 62, 80, 0.3);
}

.organizer-cta-primary:hover {
    background: linear-gradient(135deg, #1a252f 0%, #2c3e50 100%);
    box-shadow: 0 6px 25px rgba(44, 62, 80, 0.4);
}

/* Location List */
.organizer-location-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.organizer-location-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
    background: white;
    border-radius: 12px;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.organizer-location-item:hover {
    border-color: #C53796;
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.15);
}

.organizer-location-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.organizer-location-item p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    margin: 0;
    padding-top: 10px;
}

/* Services Grid */
.organizer-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.organizer-service-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    background: white;
    border-radius: 12px;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.organizer-service-card:hover {
    border-color: #C53796;
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.15);
}

.organizer-service-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.organizer-service-name {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.5;
}

/* Responsive - Accordion Section */
@media (max-width: 1024px) {
    .organizer-accordion-main-title {
        font-size: 2.3rem;
    }
    
    .organizer-hall-card,
    .organizer-spa-card {
        grid-template-columns: 250px 1fr;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .organizer-accordion-section {
        padding: 60px 15px;
    }
    
    .organizer-accordion-main-title {
        font-size: 2rem;
    }
    
    .organizer-accordion-subtitle {
        font-size: 1rem;
    }
    
    .organizer-accordion-trigger {
        padding: 20px;
        font-size: 1.05rem;
    }
    
    .organizer-accordion-icon {
        width: 45px;
        height: 45px;
    }
    
    .organizer-accordion-content {
        padding: 20px 15px;
    }
    
    .organizer-accommodation-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 15px;
    }
    
    .organizer-hall-card,
    .organizer-spa-card {
        grid-template-columns: 1fr;
    }
    
    .organizer-hall-image,
    .organizer-spa-image {
        height: 200px;
    }
    
    .organizer-pricing-header,
    .organizer-pricing-row {
        grid-template-columns: 1fr;
    }
    
    .organizer-pricing-cell {
        padding: 12px 15px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .organizer-pricing-row .organizer-pricing-cell:last-child {
        border-bottom: none;
    }
    
    .organizer-pricing-cards-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 20px;
    }
    
    .organizer-pricing-card {
        padding: 30px 20px;
    }
    
    .organizer-pricing-card-featured {
        transform: scale(1);
    }
    
    .organizer-pricing-card-featured:hover {
        transform: translateY(-8px) scale(1);
    }
    
    /* Pricing Table Responsive */
    .organizer-table-head,
    .organizer-table-head-price,
    .organizer-table-cell-season,
    .organizer-table-cell-period,
    .organizer-table-cell-price {
        font-size: 0.85rem;
        padding: 16px 12px;
    }
    
    .organizer-table-cell-icon {
        padding: 16px 8px;
    }
    
    .organizer-table-icon-wrapper {
        width: 40px;
        height: 40px;
    }
    
    .organizer-table-badge {
        display: block;
        margin: 8px 0 0 0;
        font-size: 0.7rem;
    }
    
    .organizer-zones-grid {
        grid-template-columns: 1fr;
    }
    
    .organizer-zones-photo-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .organizer-zone-photo-wrapper {
        height: 200px;
    }
    
    .organizer-zone-photo-content {
        padding: 20px;
    }
    
    .organizer-zone-photo-title {
        font-size: 1.05rem;
    }
    
    .organizer-zone-photo-description {
        font-size: 0.9rem;
    }
    
    .organizer-zone-expand-icon {
        width: 36px;
        height: 36px;
        top: 12px;
        right: 12px;
    }
    
    .organizer-zone-click-hint {
        font-size: 0.8rem;
    }
    
    .organizer-services-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .organizer-accordion-section {
        padding: 40px 15px;
    }
    
    .organizer-accordion-main-title {
        font-size: 1.6rem;
    }
    
    .organizer-accordion-header {
        margin-bottom: 40px;
    }
    
    .organizer-accordion-trigger {
        padding: 15px;
    }
    
    .organizer-accordion-trigger-content {
        gap: 10px;
    }
    
    .organizer-accordion-icon {
        width: 40px;
        height: 40px;
    }
    
    .organizer-accommodation-grid {
        grid-template-columns: 1fr;
    }
    
    .organizer-pricing-cards-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .organizer-pricing-card {
        padding: 25px 20px;
    }
    
    .organizer-pricing-card-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 15px;
    }
    
    .organizer-pricing-card-season {
        font-size: 1.2rem;
    }
    
    /* Pricing Table Mobile */
    .organizer-pricing-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .organizer-table-head,
    .organizer-table-head-price,
    .organizer-table-cell-season,
    .organizer-table-cell-period,
    .organizer-table-cell-price {
        font-size: 0.8rem;
        padding: 12px 8px;
        white-space: nowrap;
    }
    
    .organizer-table-head-icon,
    .organizer-table-cell-icon {
        width: 60px;
        padding: 12px 4px;
    }
    
    .organizer-table-icon-wrapper {
        width: 36px;
        height: 36px;
    }
    
    .organizer-table-icon-wrapper svg {
        width: 18px;
        height: 18px;
    }
    
    .organizer-table-badge {
        padding: 3px 8px;
        font-size: 0.65rem;
    }
    
    .organizer-table-cell-price {
        font-size: 1.1rem;
    }
    
    .organizer-pricing-card-period {
        font-size: 0.85rem;
        margin-bottom: 20px;
    }
    
    .organizer-pricing-card-price {
        font-size: 2rem;
    }
    
    .organizer-pricing-card-per-week {
        font-size: 0.8rem;
    }
    
    .organizer-pricing-card-featured {
        transform: scale(1);
    }
    
    .organizer-zones-photo-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .organizer-zone-photo-wrapper {
        height: 180px;
    }
    
    .organizer-zone-photo-content {
        padding: 18px;
    }
    
    .organizer-zone-photo-title {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    
    .organizer-zone-photo-description {
        font-size: 0.85rem;
    }
    
    .organizer-zone-photo-icon {
        width: 60px;
        height: 60px;
    }
    
    .organizer-download-button,
    .organizer-cta-button {
        font-size: 0.95rem;
        padding: 14px 24px;
    }
}

/* Retreat Program Dialog Styles */
.organizer-retreat-dialog {
    max-width: 900px;
    max-height: 90vh;
    overflow-y: auto;
}

.organizer-retreat-dialog-title {
    font-size: 1.8rem;
    color: #2c3e50;
    margin-bottom: 8px;
}

.organizer-retreat-dialog-description {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 20px;
}

/* Practice Hall Dialog Styles */
.organizer-practice-hall-dialog {
    max-width: 1000px;
    max-height: 90vh;
    overflow-y: auto;
}

.organizer-practice-hall-dialog-title {
    font-size: 2rem;
    color: #2c3e50;
    margin-bottom: 20px;
    text-align: center;
}

.organizer-practice-hall-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.organizer-practice-hall-gallery {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.organizer-gallery-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
}

/* Сетка для отображения фото в один горизонтальный ряд */
.organizer-gallery-grid {
    display: flex;
    flex-direction: row;
    gap: 15px;
    width: 100%;
    animation: fadeInGallery 0.4s ease-in-out;
}

@keyframes fadeInGallery {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.organizer-practice-hall-gallery-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.organizer-practice-hall-gallery-image:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 20px rgba(197, 55, 150, 0.2);
}

.organizer-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.organizer-gallery-nav:hover:not(.organizer-gallery-nav-disabled) {
    background: #C53796;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

.organizer-gallery-nav-disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.organizer-gallery-nav-prev {
    left: 20px;
}

.organizer-gallery-nav-next {
    right: 20px;
}

.organizer-gallery-indicators {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px 0;
}

.organizer-gallery-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.organizer-gallery-dot:hover {
    background: #9ca3af;
    transform: scale(1.2);
}

.organizer-gallery-dot-active {
    background: #C53796;
    width: 32px;
    border-radius: 6px;
}

.organizer-practice-hall-text {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.organizer-practice-hall-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.organizer-practice-hall-subtitle {
    font-size: 1.3rem;
    font-weight: 600;
    color: #C53796;
    margin: 0;
}

.organizer-practice-hall-paragraph {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    margin: 0;
}

.organizer-practice-hall-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.organizer-practice-hall-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    padding-left: 20px;
    position: relative;
}

.organizer-practice-hall-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 50%;
}

.organizer-retreat-form {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.organizer-retreat-form-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.organizer-retreat-form-section-title {
    font-size: 1.3rem;
    color: #2c3e50;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}

.organizer-retreat-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.organizer-retreat-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.organizer-retreat-form-field-full {
    grid-column: 1 / -1;
}

.organizer-retreat-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-retreat-input-wrapper svg {
    position: absolute;
    left: 12px;
    color: #C53796;
    pointer-events: none;
}

.organizer-retreat-input-wrapper input {
    padding-left: 40px;
}

.organizer-retreat-options-category {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    border: 1px solid #e9ecef;
}

.organizer-retreat-options-category-title {
    font-size: 1.1rem;
    color: #2c3e50;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.organizer-retreat-options-category-title svg {
    color: #C53796;
}

.organizer-retreat-options-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.organizer-retreat-option-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
    cursor: pointer;
}

.organizer-retreat-option-item:hover {
    border-color: #C53796;
    background: rgba(197, 55, 150, 0.05);
}

.organizer-retreat-option-label {
    cursor: pointer;
    margin: 0;
    font-size: 0.95rem;
    color: #2c3e50;
    user-select: none;
}

.organizer-retreat-selected-count {
    padding: 15px 20px;
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.1) 100%);
    border-radius: 12px;
    text-align: center;
    font-size: 1.05rem;
    color: #2c3e50;
    border: 2px solid rgba(197, 55, 150, 0.3);
}

.organizer-retreat-selected-count strong {
    color: #C53796;
    font-size: 1.2rem;
}

.organizer-retreat-submit-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border: none;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(197, 55, 150, 0.3);
    margin-top: 10px;
}

.organizer-retreat-submit-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 25px rgba(197, 55, 150, 0.4);
    background: linear-gradient(135deg, #B02D7A 0%, #ff5a8f 100%);
}

.organizer-retreat-submit-button:active {
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .organizer-retreat-dialog {
        max-width: 95vw;
    }

    .organizer-retreat-dialog-title {
        font-size: 1.5rem;
    }

    .organizer-retreat-form-grid {
        grid-template-columns: 1fr;
    }

    .organizer-retreat-options-list {
        grid-template-columns: 1fr;
    }

    .organizer-retreat-options-category {
        padding: 15px;
    }

    .organizer-practice-hall-dialog {
        max-width: 95vw;
    }

    .organizer-practice-hall-dialog-title {
        font-size: 1.6rem;
    }

    /* На планшетах также один горизонтальный ряд */
    .organizer-gallery-grid {
        gap: 10px;
    }

    .organizer-practice-hall-gallery-image {
        height: 300px;
    }

    .organizer-gallery-nav {
        width: 40px;
        height: 40px;
    }

    .organizer-gallery-nav-prev {
        left: 10px;
    }

    .organizer-gallery-nav-next {
        right: 10px;
    }

    .organizer-practice-hall-subtitle {
        font-size: 1.15rem;
    }

    .organizer-practice-hall-paragraph,
    .organizer-practice-hall-list li {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .organizer-retreat-dialog-title {
        font-size: 1.3rem;
    }

    .organizer-retreat-form-section-title {
        font-size: 1.15rem;
    }

    .organizer-retreat-options-category-title {
        font-size: 1rem;
    }

    .organizer-retreat-submit-button {
        font-size: 1rem;
        padding: 14px 24px;
    }

    .organizer-practice-hall-dialog-title {
        font-size: 1.4rem;
    }

    /* На мобильных также о��ин горизонтальный ряд */
    .organizer-gallery-grid {
        gap: 8px;
    }

    .organizer-zone-expand-icon {
        width: 32px;
        height: 32px;
        top: 10px;
        right: 10px;
    }

    .organizer-zone-click-hint {
        font-size: 0.75rem;
        margin-top: 10px;
    }

    .organizer-practice-hall-gallery-image {
        height: 250px;
    }

    .organizer-gallery-nav {
        width: 36px;
        height: 36px;
    }

    .organizer-gallery-nav svg {
        width: 18px;
        height: 18px;
    }

    .organizer-gallery-nav-prev {
        left: 8px;
    }

    .organizer-gallery-nav-next {
        right: 8px;
    }

    .organizer-gallery-dot {
        width: 10px;
        height: 10px;
    }

    .organizer-gallery-dot-active {
        width: 24px;
    }

    .organizer-practice-hall-subtitle {
        font-size: 1.1rem;
    }

    .organizer-practice-hall-paragraph,
    .organizer-practice-hall-list li {
        font-size: 0.95rem;
    }
}

/* Organizer Services Modern Section Styles */
.organizer-services-modern-section {
    position: relative;
    padding: 120px 20px;
    background: linear-gradient(135deg, #fafbfc 0%, #f5f7fa 100%);
    overflow: hidden;
}

.organizer-services-modern-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 30%, rgba(197, 55, 150, 0.04) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(255, 107, 157, 0.03) 0%, transparent 50%);
    pointer-events: none;
}

.organizer-services-modern-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        repeating-linear-gradient(
            0deg,
            rgba(197, 55, 150, 0.03) 0px,
            transparent 1px,
            transparent 40px,
            rgba(197, 55, 150, 0.03) 41px
        ),
        repeating-linear-gradient(
            90deg,
            rgba(197, 55, 150, 0.03) 0px,
            transparent 1px,
            transparent 40px,
            rgba(197, 55, 150, 0.03) 41px
        ),
        radial-gradient(
            circle at 15% 15%,
            rgba(197, 55, 150, 0.05) 0%,
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(255, 107, 157, 0.05) 0%,
            transparent 25%
        );
    pointer-events: none;
    opacity: 0.6;
}

.organizer-services-modern-container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.organizer-services-modern-header {
    text-align: center;
    margin-bottom: 80px;
}

.organizer-services-modern-title {
    font-size: 3.5rem;
    color: #1a1a1a;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.organizer-services-modern-highlight {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.organizer-services-modern-subtitle {
    font-size: 1.25rem;
    color: rgba(26, 26, 26, 0.65);
    margin: 0;
}

/* Simple Grid Layout - 3 columns */
.organizer-services-modern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
    margin-bottom: 60px;
}

/* Card Styles */
.organizer-service-modern-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    border: 2px solid transparent;
    cursor: pointer;
}

.organizer-service-modern-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(197, 55, 150, 0.2);
    border-color: #C53796;
}

.organizer-service-modern-image-wrapper {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.organizer-service-modern-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.organizer-service-modern-card:hover .organizer-service-modern-image {
    transform: scale(1.1);
}



.organizer-service-modern-content {
    padding: 25px;
}

.organizer-service-modern-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #2c3e50;
    margin: 0 0 12px 0;
    letter-spacing: 0.02em;
}

.organizer-service-modern-description {
    font-size: 0.95rem;
    color: rgba(44, 62, 80, 0.7);
    line-height: 1.6;
    margin: 0;
}



/* Footer */
.organizer-services-modern-footer {
    text-align: center;
    padding: 0;
}

.organizer-services-modern-footer-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    padding: 60px 80px;
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.85) 100%);
    backdrop-filter: blur(30px);
    border-radius: 32px;
    border: 1px solid rgba(197, 55, 150, 0.15);
    box-shadow: 0 20px 60px rgba(197, 55, 150, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: all 0.4s ease;
}

.organizer-services-modern-footer-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, 
        transparent 0%,
        #C53796 20%,
        #8B2674 50%,
        #C53796 80%,
        transparent 100%);
}

.organizer-services-modern-footer-content:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 70px rgba(197, 55, 150, 0.12),
                0 12px 32px rgba(0, 0, 0, 0.06);
    border-color: rgba(197, 55, 150, 0.25);
}

.organizer-services-footer-icon-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C53796 0%, #8B2674 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(197, 55, 150, 0.3);
    flex-shrink: 0;
}

.organizer-services-footer-icon {
    width: 36px;
    height: 36px;
    color: white;
}

.organizer-services-footer-text-wrapper {
    text-align: center;
    max-width: 600px;
}

.organizer-services-footer-title {
    font-size: 1.75rem;
    font-weight: 600;
    background: linear-gradient(135deg, #C53796 0%, #8B2674 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 12px 0;
    letter-spacing: -0.02em;
}

.organizer-services-footer-description {
    font-size: 1.15rem;
    color: rgba(26, 26, 26, 0.75);
    margin: 0;
    line-height: 1.6;
}

.organizer-services-footer-gradient-line {
    width: 120px;
    height: 4px;
    background: linear-gradient(90deg, 
        transparent 0%,
        #C53796 50%,
        transparent 100%);
    border-radius: 2px;
}

.organizer-services-modern-footer-icon {
    color: #C53796;
    flex-shrink: 0;
}

.organizer-services-modern-footer-text {
    font-size: 1.15rem;
    color: rgba(26, 26, 26, 0.85);
    margin: 0;
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 1200px) {
    .organizer-service-modern-large,
    .organizer-service-modern-medium {
        grid-column: span 6;
    }
    
    .organizer-service-modern-small {
        grid-column: span 6;
    }
}

@media (max-width: 768px) {
    .organizer-services-modern-section {
        padding: 80px 20px;
    }

    .organizer-services-modern-header {
        margin-bottom: 50px;
    }

    .organizer-services-modern-title {
        font-size: 2.5rem;
    }

    .organizer-services-modern-subtitle {
        font-size: 1.1rem;
    }

    .organizer-services-modern-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .organizer-service-modern-content {
        padding: 20px;
    }

    .organizer-service-modern-title {
        font-size: 1.05rem;
    }
    
    .organizer-service-modern-image-wrapper {
        height: 200px;
    }

    .organizer-services-modern-footer-content {
        padding: 40px 30px;
        gap: 20px;
    }
    
    .organizer-services-footer-icon-circle {
        width: 64px;
        height: 64px;
    }
    
    .organizer-services-footer-icon {
        width: 28px;
        height: 28px;
    }
    
    .organizer-services-footer-title {
        font-size: 1.35rem;
    }

    .organizer-services-footer-description {
        font-size: 1rem;
    }
    
    .organizer-services-modern-footer-text {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .organizer-services-modern-title {
        font-size: 2rem;
    }

    .organizer-services-modern-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .organizer-service-modern-image-wrapper {
        height: 200px;
    }
}

/* ============================================
   ORGANIZER SERVICES POPUPBLOCK STYLES
   ============================================ */

/* Note: Popupblock styles are unified with organizer-zone-clickable 
   in the Accordion section above (line ~7597).
   Both Tea Zone and Accommodation card use the same .organizer-zone-clickable class. */

/* ============================================
   ACCOMMODATION MODAL STYLES
   ============================================ */

.organizer-zone-modal-content {
    max-width: 900px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 0;
}

.organizer-zone-modal-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.organizer-zone-modal-description {
    font-size: 1.05rem;
    color: #6c757d;
    margin-bottom: 24px;
}

/* Gallery Styles */
.organizer-zone-modal-gallery {
    position: relative;
    width: 100%;
    height: 450px;
    background: #f8f9fa;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
}

.organizer-zone-gallery-image-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.organizer-zone-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Gallery Navigation */
.organizer-zone-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.organizer-zone-gallery-nav:hover {
    background: white;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(197, 55, 150, 0.3);
}

.organizer-zone-gallery-nav-left {
    left: 20px;
}

.organizer-zone-gallery-nav-right {
    right: 20px;
}

.organizer-zone-gallery-nav svg {
    color: #C53796;
}

/* Gallery Counter */
.organizer-zone-gallery-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.75);
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    z-index: 10;
}

/* Modal Text Content */
.organizer-zone-modal-text {
    padding: 0 30px 30px 30px;
}

.organizer-zone-modal-section {
    margin-bottom: 30px;
}

.organizer-zone-modal-section:last-child {
    margin-bottom: 0;
}

.organizer-zone-modal-subtitle {
    font-size: 1.4rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 16px;
    position: relative;
    padding-left: 20px;
}

.organizer-zone-modal-subtitle::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 24px;
    background: linear-gradient(180deg, #C53796 0%, #ff6b9d 100%);
    border-radius: 3px;
}

.organizer-zone-modal-section p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 16px;
}

.organizer-zone-modal-section p:last-child {
    margin-bottom: 0;
}

.organizer-zone-modal-list {
    margin: 20px 0;
}

.organizer-zone-modal-list p {
    font-weight: 600;
    margin-bottom: 12px;
    color: #2c3e50;
}

.organizer-zone-modal-list ul {
    margin: 0;
    padding-left: 24px;
    list-style: none;
}

.organizer-zone-modal-list li {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 10px;
    position: relative;
    padding-left: 16px;
}

.organizer-zone-modal-list li::before {
    content: '–';
    position: absolute;
    left: 0;
    color: #C53796;
    font-weight: 600;
}

.organizer-zone-modal-highlight {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.08) 0%, rgba(255, 107, 157, 0.08) 100%);
    padding: 16px 20px;
    border-radius: 12px;
    border-left: 4px solid #C53796;
    font-style: italic;
    margin-top: 16px !important;
}

.organizer-zone-modal-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(197, 55, 150, 0.2) 50%, transparent 100%);
    margin: 30px 0;
}

/* Responsive Modal Styles */
@media (max-width: 768px) {
    .organizer-zone-modal-content {
        max-width: 100%;
        padding: 0;
    }

    .organizer-zone-modal-title {
        font-size: 1.6rem;
    }

    .organizer-zone-modal-description {
        font-size: 0.95rem;
    }

    .organizer-zone-modal-gallery {
        height: 300px;
        border-radius: 8px;
    }

    .organizer-zone-gallery-nav {
        width: 40px;
        height: 40px;
    }

    .organizer-zone-gallery-nav-left {
        left: 10px;
    }

    .organizer-zone-gallery-nav-right {
        right: 10px;
    }

    .organizer-zone-modal-text {
        padding: 0 20px 20px 20px;
    }

    .organizer-zone-modal-subtitle {
        font-size: 1.2rem;
    }

    .organizer-zone-modal-section p,
    .organizer-zone-modal-list li {
        font-size: 0.95rem;
    }
}

@media (max-width: 576px) {
    .organizer-zone-modal-title {
        font-size: 1.4rem;
    }

    .organizer-zone-modal-gallery {
        height: 250px;
    }

    .organizer-zone-modal-subtitle {
        font-size: 1.1rem;
        padding-left: 16px;
    }

    .organizer-zone-modal-subtitle::before {
        width: 4px;
        height: 20px;
    }
}

/* Organizer CTA Modern Section Styles */
.organizer-cta-modern-section {
    position: relative;
    padding: 80px 20px;
    background: 
        radial-gradient(circle at 20% 30%, rgba(197, 55, 150, 0.05) 0%, transparent 70%),
        radial-gradient(circle at 80% 70%, rgba(255, 107, 157, 0.04) 0%, transparent 70%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.85) 20%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.85) 80%, rgba(255, 255, 255, 0.4) 100%);
    overflow: hidden;
}

.organizer-cta-modern-bg-elements {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.organizer-cta-modern-circle {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197, 55, 150, 0.08) 0%, rgba(197, 55, 150, 0.03) 40%, transparent 80%);
    filter: blur(120px);
}

.organizer-cta-modern-circle-1 {
    width: 600px;
    height: 600px;
    top: -200px;
    left: -100px;
}

.organizer-cta-modern-circle-2 {
    width: 500px;
    height: 500px;
    bottom: -150px;
    right: -100px;
    background: radial-gradient(circle, rgba(255, 107, 157, 0.06) 0%, rgba(255, 107, 157, 0.02) 40%, transparent 80%);
}

.organizer-cta-modern-container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.organizer-cta-modern-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.organizer-cta-modern-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: rgba(197, 55, 150, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(197, 55, 150, 0.3);
    border-radius: 100px;
    color: #C53796;
    font-size: 0.9rem;
    font-weight: 500;
}

.organizer-cta-modern-title {
    font-size: 2.5rem;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.25;
    max-width: 800px;
}

.organizer-cta-modern-subtitle {
    font-size: 1.25rem;
    color: rgba(26, 26, 26, 0.65);
    margin: 0;
}

.organizer-cta-modern-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 10px;
}

.organizer-cta-modern-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.organizer-cta-modern-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    border-radius: 100px;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
}

.organizer-cta-modern-whatsapp {
    background: rgba(197, 55, 150, 0.1);
    backdrop-filter: blur(10px);
    color: #C53796;
    border-color: rgba(197, 55, 150, 0.3);
}

.organizer-cta-modern-whatsapp:hover {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border-color: #C53796;
    box-shadow: 0 10px 40px rgba(197, 55, 150, 0.4);
}

.organizer-cta-modern-telegram {
    background: rgba(197, 55, 150, 0.1);
    backdrop-filter: blur(10px);
    color: #C53796;
    border-color: rgba(197, 55, 150, 0.3);
}

.organizer-cta-modern-telegram:hover {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    border-color: #C53796;
    box-shadow: 0 10px 40px rgba(197, 55, 150, 0.4);
}

.organizer-cta-modern-primary {
    background: linear-gradient(135deg, #C53796 0%, #ff6b9d 100%);
    color: white;
    padding: 20px 48px;
    font-size: 1.2rem;
    box-shadow: 0 10px 40px rgba(197, 55, 150, 0.4);
}

.organizer-cta-modern-primary:hover {
    box-shadow: 0 15px 60px rgba(197, 55, 150, 0.6);
}

.organizer-cta-modern-shine {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    pointer-events: none;
}

@media (max-width: 768px) {
    .organizer-cta-modern-section {
        padding: 60px 20px;
    }

    .organizer-cta-modern-title {
        font-size: 2rem;
    }

    .organizer-cta-modern-subtitle {
        font-size: 1.1rem;
    }

    .organizer-cta-modern-row {
        flex-direction: column;
        width: 100%;
    }

    .organizer-cta-modern-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .organizer-cta-modern-title {
        font-size: 1.75rem;
    }

    .organizer-cta-modern-subtitle {
        font-size: 1.1rem;
    }

    .organizer-cta-modern-btn {
        font-size: 1rem;
        padding: 14px 28px;
    }

    .organizer-cta-modern-primary {
        font-size: 1.1rem;
        padding: 18px 36px;
    }

    .organizer-cta-modern-circle-1,
    .organizer-cta-modern-circle-2 {
        display: none;
    }
}

/* Footer Section Styles */
.footer-section {
    position: relative;
    background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
    color: #ffffff;
    padding: 80px 20px 0 20px;
    overflow: hidden;
}

.footer-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #C53796 50%, transparent 100%);
    opacity: 0.5;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

/* Main Content */
.footer-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px;
    margin-bottom: 60px;
    animation: fadeInUp 1s ease-out;
}

/* Column Base Styles */
.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-column-title {
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 15px;
}

.footer-column-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, #C53796, #ff8c42);
    border-radius: 2px;
}

/* Navigation Column */
.footer-nav-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-nav-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    position: relative;
    padding-left: 0;
}

.footer-nav-link::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1px;
    background: #C53796;
    transition: width 0.3s ease;
}

.footer-nav-link:hover {
    color: #C53796;
    padding-left: 10px;
}

.footer-nav-link:hover::before {
    width: 30px;
}

/* Contacts Column */
.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 15px;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 12px 15px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
}

.footer-contact-item:hover {
    color: #ffffff;
    background: rgba(197, 55, 150, 0.15);
    transform: translateX(5px);
}

.footer-contact-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #C53796 0%, #ff8c42 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    transition: all 0.3s ease;
}

.footer-contact-item:hover .footer-contact-icon {
    transform: rotate(10deg) scale(1.1);
}

.footer-contact-text {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.3px;
}

/* Social Media Column */
.footer-social-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-social-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    border-radius: 12px;
    text-decoration: none;
    color: #ffffff;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.footer-social-link::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.footer-social-link:hover::before {
    opacity: 1;
}

.footer-social-telegram {
    background: rgba(0, 136, 204, 0.15);
    border: 1px solid rgba(0, 136, 204, 0.3);
}

.footer-social-telegram::before {
    background: linear-gradient(135deg, rgba(0, 136, 204, 0.9) 0%, rgba(0, 95, 141, 0.9) 100%);
}

.footer-social-telegram:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 136, 204, 0.4);
}

.footer-social-whatsapp {
    background: rgba(37, 211, 102, 0.15);
    border: 1px solid rgba(37, 211, 102, 0.3);
}

.footer-social-whatsapp::before {
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.9) 0%, rgba(18, 140, 126, 0.9) 100%);
}

.footer-social-whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.4);
}

.footer-social-instagram {
    background: rgba(197, 55, 150, 0.15);
    border: 1px solid rgba(197, 55, 150, 0.3);
}

.footer-social-instagram::before {
    background: linear-gradient(135deg, rgba(197, 55, 150, 0.9) 0%, rgba(225, 48, 108, 0.9) 100%);
}

.footer-social-instagram:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(197, 55, 150, 0.4);
}

.footer-social-icon {
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.footer-social-link:hover .footer-social-icon {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(10deg) scale(1.1);
}

.footer-social-text {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 1;
}

/* Language Column */
.footer-language-toggle {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 25px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
    color: #ffffff;
}

.footer-language-toggle:hover {
    background: rgba(197, 55, 150, 0.2);
    border-color: rgba(197, 55, 150, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(197, 55, 150, 0.3);
}

.footer-language-icon {
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.footer-language-toggle:hover .footer-language-icon {
    transform: rotate(180deg);
}

.footer-language-options {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 1px;
}

.footer-language-option {
    transition: all 0.3s ease;
    opacity: 0.5;
}

.footer-language-option.active {
    opacity: 1;
    color: #C53796;
}

.footer-language-separator {
    opacity: 0.3;
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 40px 0;
    text-align: center;
}

.footer-philosophy {
    margin-bottom: 20px;
}

.footer-philosophy-text {
    font-size: 1.3rem;
    font-weight: 300;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.9);
    font-style: italic;
    max-width: 600px;
    margin: 0 auto;
}

.footer-copyright-text {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.5px;
    font-weight: 300;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .footer-section {
        padding: 70px 15px 0 15px;
    }
    
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px;
        margin-bottom: 50px;
    }
    
    .footer-column-title {
        font-size: 1.2rem;
        margin-bottom: 25px;
    }
}

@media (max-width: 768px) {
    .footer-section {
        padding: 60px 15px 0 15px;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 45px;
        margin-bottom: 45px;
    }
    
    .footer-column {
        max-width: 500px;
        margin: 0 auto;
        width: 100%;
    }
    
    .footer-column-title {
        font-size: 1.15rem;
        text-align: center;
        margin-bottom: 22px;
    }
    
    .footer-column-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .footer-nav-list {
        align-items: center;
        gap: 12px;
    }
    
    .footer-nav-link {
        text-align: center;
    }
    
    .footer-contact-list {
        gap: 15px;
    }
    
    .footer-social-list {
        gap: 12px;
    }
    
    .footer-language-toggle {
        margin: 0 auto;
        width: fit-content;
    }
    
    .footer-philosophy-text {
        font-size: 1.15rem;
        padding: 0 20px;
    }
    
    .footer-copyright-text {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .footer-section {
        padding: 50px 15px 0 15px;
    }
    
    .footer-content {
        gap: 35px;
        margin-bottom: 35px;
    }
    
    .footer-column-title {
        font-size: 1.05rem;
        margin-bottom: 20px;
    }
    
    .footer-nav-link {
        font-size: 0.95rem;
    }
    
    .footer-contact-item {
        padding: 10px 12px;
    }
    
    .footer-contact-icon {
        width: 36px;
        height: 36px;
    }
    
    .footer-contact-icon svg {
        width: 18px;
        height: 18px;
    }
    
    .footer-contact-text {
        font-size: 0.95rem;
    }
    
    .footer-social-link {
        padding: 12px 18px;
    }
    
    .footer-social-icon {
        width: 40px;
        height: 40px;
    }
    
    .footer-social-icon svg {
        width: 20px;
        height: 20px;
    }
    
    .footer-social-text {
        font-size: 1rem;
    }
    
    .footer-language-toggle {
        padding: 15px 20px;
    }
    
    .footer-language-options {
        font-size: 1rem;
    }
    
    .footer-bottom {
        padding: 30px 0;
    }
    
    .footer-philosophy {
        margin-bottom: 18px;
    }
    
    .footer-philosophy-text {
        font-size: 1.05rem;
        padding: 0 15px;
    }
    
    .footer-copyright-text {
        font-size: 0.85rem;
    }
}

@media (max-width: 360px) {
    .footer-section {
        padding: 40px 12px 0 12px;
    }
    
    .footer-content {
        gap: 30px;
        margin-bottom: 30px;
    }
    
    .footer-column-title {
        font-size: 1rem;
        margin-bottom: 18px;
    }
    
    .footer-nav-link {
        font-size: 0.9rem;
    }
    
    .footer-contact-text {
        font-size: 0.88rem;
    }
    
    .footer-social-text {
        font-size: 0.95rem;
    }
    
    .footer-philosophy-text {
        font-size: 0.95rem;
        line-height: 1.6;
        padding: 0 10px;
    }
    
    .footer-copyright-text {
        font-size: 0.8rem;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .footer-nav-link:hover,
    .footer-contact-item:hover,
    .footer-social-link:hover,
    .footer-language-toggle:hover {
        transform: none;
    }
    
    .footer-contact-item:hover .footer-contact-icon,
    .footer-social-link:hover .footer-social-icon,
    .footer-language-toggle:hover .footer-language-icon {
        transform: none;
    }
}

  
/* Details/Summary Accordion Styles */
details.organizer-accordion-item {
  border: 2px solid #e9ecef;
  border-radius: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
}

details.organizer-accordion-item:hover {
  border-color: #C53796;
  box-shadow: 0 4px 20px rgba(197, 55, 150, 0.1);
}

details.organizer-accordion-item[open] {
  border-color: #C53796;
}

details.organizer-accordion-item summary {
  list-style: none;
  cursor: pointer;
  padding: 25px 30px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #333;
  transition: all 0.3s ease;
  position: relative;
}

details.organizer-accordion-item summary::-webkit-details-marker {
  display: none;
}

details.organizer-accordion-item summary::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #C53796;
  transition: transform 0.3s ease;
}

details.organizer-accordion-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

details.organizer-accordion-item summary:hover {
  background: rgba(197, 55, 150, 0.05);
}

details.organizer-accordion-item[open] summary {
  background: linear-gradient(135deg, rgba(197, 55, 150, 0.1) 0%, rgba(255, 107, 157, 0.05) 100%);
}
/* Dialog/Modal Styles */
.dialog-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}

.dialog-overlay[style*="display: flex"] {
  display: flex !important;
}

.dialog-content {
  background: white;
  border-radius: 20px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  padding:calc(var(--spacing) * 6);
}

.dialog-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s;
}

.dialog-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.dialog-header {
  padding: 30px 30px 20px;
  text-align: center;
}

.dialog-title {
  font-size: 1.875rem;
  font-weight: 700;
  margin: 0;
  color: #1a1a1a;
}

.dialog-description {
  font-size: 1rem;
  color: #6c757d;
  margin-top: 8px;
}

/* Gallery navigation styles */
.organizer-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s;
}

.organizer-gallery-nav:hover {
  background: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.organizer-gallery-nav-prev {
  left: 20px;
}

.organizer-gallery-nav-next {
  right: 20px;
}

.organizer-gallery-nav-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.organizer-gallery-indicators {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}

.organizer-gallery-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: #ddd;
  cursor: pointer;
  transition: all 0.2s;
}

.organizer-gallery-dot-active {
  background: #C53796;
  width: 24px;
  border-radius: 5px;
}

.organizer-zone-clickable {
  transition: transform 0.2s;
}

.organizer-zone-clickable:hover {
  transform: translateY(-4px);
}

.organizer-zone-expand-icon {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.organizer-zone-clickable:hover .organizer-zone-expand-icon {
  opacity: 1;
}

.organizer-zone-click-hint {
  margin-top: 8px;
  font-size: 0.875rem;
  color: #C53796;
}


