/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
  --color-red-50: oklch(97.1% 0.013 17.38);
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-amber-50: oklch(98.7% 0.022 95.277);
  --color-amber-100: oklch(96.2% 0.059 95.617);
  --color-amber-200: oklch(92.4% 0.12 95.746);
  --color-amber-800: oklch(47.3% 0.137 46.201);
  --color-blue-100: oklch(93.2% 0.032 255.585);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-300: oklch(80.9% 0.105 251.813);
  --color-slate-50: oklch(98.4% 0.003 247.858);
  --color-slate-100: oklch(96.8% 0.007 247.896);
  --color-slate-200: oklch(92.9% 0.013 255.508);
  --color-slate-300: oklch(86.9% 0.022 252.894);
  --color-slate-500: oklch(55.4% 0.046 257.417);
  --color-slate-600: oklch(44.6% 0.043 257.281);
  --color-slate-700: oklch(37.2% 0.044 257.287);
  --color-slate-800: oklch(27.9% 0.041 260.031);
  --color-slate-900: oklch(20.8% 0.042 265.755);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --container-4xl: 56rem;
  --container-5xl: 64rem;
  --container-7xl: 80rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.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-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --tracking-tight: -0.025em;
  --tracking-wider: 0.05em;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --blur-3xl: 64px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
  --font-display: Manrope, ui-sans-serif, system-ui, sans-serif;
  --color-brand-50: #eefafa;
  --color-brand-100: #d5f2f4;
  --color-brand-400: #3bb8c0;
  --color-brand-500: #169fa8;
  --color-brand-600: #008e97;
  --color-brand-700: #007982;
  --color-brand-800: #08646b;
  --color-brand-900: #0b5157;
  --color-brand-950: #323332;
  --color-aqua-50: #fff7ed;
  --color-aqua-100: #ffedd5;
  --color-aqua-200: #fed7aa;
  --color-aqua-300: #fdba74;
  --color-aqua-400: #fb923c;
  --color-aqua-500: #f5821f;
  --color-aqua-600: #ea6d0b;
  --color-aqua-700: #c25409;
  --color-aqua-800: #9a420f;
}
*, ::after, ::before, ::backdrop, ::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}
html, :host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
  font-feature-settings: var(--default-font-feature-settings, normal);
  font-variation-settings: var(--default-font-variation-settings, normal);
  -webkit-tap-highlight-color: transparent;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}
b, strong {
  font-weight: bolder;
}
code, kbd, samp, pre {
  font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
  font-feature-settings: var(--default-mono-font-feature-settings, normal);
  font-variation-settings: var(--default-mono-font-variation-settings, normal);
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.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 {
  display: block;
  vertical-align: middle;
}
img, video {
  max-width: 100%;
  height: auto;
}
button, input, select, optgroup, textarea, ::file-selector-button {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}
:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}
:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}
::file-selector-button {
  margin-inline-end: 4px;
}
::placeholder {
  opacity: 1;
}
@supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
  ::placeholder {
    color: currentcolor;
    @supports (color: color-mix(in lab, red, red)) {
      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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}
:-moz-ui-invalid {
  box-shadow: none;
}
button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
  appearance: button;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}
[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.inset-x-0 {
  inset-inline: calc(var(--spacing) * 0);
}
.-top-24 {
  top: calc(var(--spacing) * -24);
}
.-top-32 {
  top: calc(var(--spacing) * -32);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.top-10 {
  top: calc(var(--spacing) * 10);
}
.-right-24 {
  right: calc(var(--spacing) * -24);
}
.-right-32 {
  right: calc(var(--spacing) * -32);
}
.right-5 {
  right: calc(var(--spacing) * 5);
}
.-bottom-28 {
  bottom: calc(var(--spacing) * -28);
}
.bottom-0 {
  bottom: calc(var(--spacing) * 0);
}
.bottom-5 {
  bottom: calc(var(--spacing) * 5);
}
.-left-20 {
  left: calc(var(--spacing) * -20);
}
.left-1\/3 {
  left: calc(1/3 * 100%);
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.mx-2 {
  margin-inline: calc(var(--spacing) * 2);
}
.mx-auto {
  margin-inline: auto;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-7 {
  margin-top: calc(var(--spacing) * 7);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-9 {
  margin-top: calc(var(--spacing) * 9);
}
.mt-12 {
  margin-top: calc(var(--spacing) * 12);
}
.mt-14 {
  margin-top: calc(var(--spacing) * 14);
}
.mt-auto {
  margin-top: auto;
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.mb-10 {
  margin-bottom: calc(var(--spacing) * 10);
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-5 {
  height: calc(var(--spacing) * 5);
}
.h-6 {
  height: calc(var(--spacing) * 6);
}
.h-7 {
  height: calc(var(--spacing) * 7);
}
.h-10 {
  height: calc(var(--spacing) * 10);
}
.h-11 {
  height: calc(var(--spacing) * 11);
}
.h-12 {
  height: calc(var(--spacing) * 12);
}
.h-14 {
  height: calc(var(--spacing) * 14);
}
.h-20 {
  height: calc(var(--spacing) * 20);
}
.h-48 {
  height: calc(var(--spacing) * 48);
}
.h-52 {
  height: calc(var(--spacing) * 52);
}
.h-56 {
  height: calc(var(--spacing) * 56);
}
.h-80 {
  height: calc(var(--spacing) * 80);
}
.h-96 {
  height: calc(var(--spacing) * 96);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.w-2 {
  width: calc(var(--spacing) * 2);
}
.w-4 {
  width: calc(var(--spacing) * 4);
}
.w-5 {
  width: calc(var(--spacing) * 5);
}
.w-6 {
  width: calc(var(--spacing) * 6);
}
.w-7 {
  width: calc(var(--spacing) * 7);
}
.w-10 {
  width: calc(var(--spacing) * 10);
}
.w-11 {
  width: calc(var(--spacing) * 11);
}
.w-12 {
  width: calc(var(--spacing) * 12);
}
.w-56 {
  width: calc(var(--spacing) * 56);
}
.w-80 {
  width: calc(var(--spacing) * 80);
}
.w-96 {
  width: calc(var(--spacing) * 96);
}
.w-\[132px\] {
  width: 132px;
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-4xl {
  max-width: var(--container-4xl);
}
.max-w-5xl {
  max-width: var(--container-5xl);
}
.max-w-7xl {
  max-width: var(--container-7xl);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-none {
  max-width: none;
}
.max-w-xl {
  max-width: var(--container-xl);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.flex-1 {
  flex: 1;
}
.rotate-45 {
  rotate: 45deg;
}
.cursor-pointer {
  cursor: pointer;
}
.scroll-mt-28 {
  scroll-margin-top: calc(var(--spacing) * 28);
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-items-center {
  place-items: center;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-1 {
  gap: calc(var(--spacing) * 1);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.gap-12 {
  gap: calc(var(--spacing) * 12);
}
.gap-14 {
  gap: calc(var(--spacing) * 14);
}
.space-y-3 {
  :where(& > :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)));
  }
}
.space-y-4 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-5 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-6 {
  :where(& > :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;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-3xl {
  border-radius: var(--radius-3xl);
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.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-amber-200 {
  border-color: var(--color-amber-200);
}
.border-slate-200 {
  border-color: var(--color-slate-200);
}
.border-slate-200\/80 {
  border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
  }
}
.border-slate-300 {
  border-color: var(--color-slate-300);
}
.border-white\/10 {
  border-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.border-white\/15 {
  border-color: color-mix(in srgb, #fff 15%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
  }
}
.border-white\/25 {
  border-color: color-mix(in srgb, #fff 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
  }
}
.bg-amber-50\/70 {
  background-color: color-mix(in srgb, oklch(98.7% 0.022 95.277) 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-amber-50) 70%, transparent);
  }
}
.bg-amber-100 {
  background-color: var(--color-amber-100);
}
.bg-aqua-50 {
  background-color: var(--color-aqua-50);
}
.bg-aqua-100 {
  background-color: var(--color-aqua-100);
}
.bg-aqua-300 {
  background-color: var(--color-aqua-300);
}
.bg-aqua-400 {
  background-color: var(--color-aqua-400);
}
.bg-aqua-400\/20 {
  background-color: color-mix(in srgb, #fb923c 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-aqua-400) 20%, transparent);
  }
}
.bg-aqua-500 {
  background-color: var(--color-aqua-500);
}
.bg-aqua-600 {
  background-color: var(--color-aqua-600);
}
.bg-brand-50 {
  background-color: var(--color-brand-50);
}
.bg-brand-100 {
  background-color: var(--color-brand-100);
}
.bg-brand-400\/20 {
  background-color: color-mix(in srgb, #3bb8c0 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-400) 20%, transparent);
  }
}
.bg-brand-700 {
  background-color: var(--color-brand-700);
}
.bg-brand-950 {
  background-color: var(--color-brand-950);
}
.bg-red-50 {
  background-color: var(--color-red-50);
}
.bg-slate-50 {
  background-color: var(--color-slate-50);
}
.bg-slate-100 {
  background-color: var(--color-slate-100);
}
.bg-slate-800 {
  background-color: var(--color-slate-800);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/5 {
  background-color: color-mix(in srgb, #fff 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
  }
}
.bg-white\/8 {
  background-color: color-mix(in srgb, #fff 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 8%, transparent);
  }
}
.bg-white\/10 {
  background-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.bg-white\/70 {
  background-color: color-mix(in srgb, #fff 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 70%, transparent);
  }
}
.bg-white\/90 {
  background-color: color-mix(in srgb, #fff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
  }
}
.bg-white\/95 {
  background-color: color-mix(in srgb, #fff 95%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
  }
}
.bg-gradient-to-br {
  --tw-gradient-position: to bottom right in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  --tw-gradient-position: to top in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.from-black\/55 {
  --tw-gradient-from: color-mix(in srgb, #000 55%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--color-black) 55%, transparent);
  }
  --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-brand-700 {
  --tw-gradient-from: var(--color-brand-700);
  --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-brand-950 {
  --tw-gradient-to: var(--color-brand-950);
  --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-transparent {
  --tw-gradient-to: transparent;
  --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));
}
.object-cover {
  object-fit: cover;
}
.object-top {
  object-position: top;
}
.p-3 {
  padding: calc(var(--spacing) * 3);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.p-6 {
  padding: calc(var(--spacing) * 6);
}
.p-7 {
  padding: calc(var(--spacing) * 7);
}
.p-8 {
  padding: calc(var(--spacing) * 8);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-2\.5 {
  padding-block: calc(var(--spacing) * 2.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-3\.5 {
  padding-block: calc(var(--spacing) * 3.5);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-5 {
  padding-block: calc(var(--spacing) * 5);
}
.py-12 {
  padding-block: calc(var(--spacing) * 12);
}
.py-14 {
  padding-block: calc(var(--spacing) * 14);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.py-20 {
  padding-block: calc(var(--spacing) * 20);
}
.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.pt-8 {
  padding-top: calc(var(--spacing) * 8);
}
.pt-12 {
  padding-top: calc(var(--spacing) * 12);
}
.text-center {
  text-align: center;
}
.font-display {
  font-family: var(--font-display);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-5xl {
  font-size: var(--text-5xl);
  line-height: var(--tw-leading, var(--text-5xl--line-height));
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.text-\[10px\] {
  font-size: 10px;
}
.leading-5 {
  --tw-leading: calc(var(--spacing) * 5);
  line-height: calc(var(--spacing) * 5);
}
.leading-6 {
  --tw-leading: calc(var(--spacing) * 6);
  line-height: calc(var(--spacing) * 6);
}
.leading-7 {
  --tw-leading: calc(var(--spacing) * 7);
  line-height: calc(var(--spacing) * 7);
}
.leading-8 {
  --tw-leading: calc(var(--spacing) * 8);
  line-height: calc(var(--spacing) * 8);
}
.leading-snug {
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-extrabold {
  --tw-font-weight: var(--font-weight-extrabold);
  font-weight: var(--font-weight-extrabold);
}
.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.font-normal {
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-\[0\.13em\] {
  --tw-tracking: 0.13em;
  letter-spacing: 0.13em;
}
.tracking-\[0\.16em\] {
  --tw-tracking: 0.16em;
  letter-spacing: 0.16em;
}
.tracking-tight {
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
}
.tracking-wider {
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
}
.text-amber-800 {
  color: var(--color-amber-800);
}
.text-aqua-100 {
  color: var(--color-aqua-100);
}
.text-aqua-200 {
  color: var(--color-aqua-200);
}
.text-aqua-300 {
  color: var(--color-aqua-300);
}
.text-aqua-600 {
  color: var(--color-aqua-600);
}
.text-aqua-700 {
  color: var(--color-aqua-700);
}
.text-aqua-800 {
  color: var(--color-aqua-800);
}
.text-blue-100 {
  color: var(--color-blue-100);
}
.text-blue-200 {
  color: var(--color-blue-200);
}
.text-blue-300 {
  color: var(--color-blue-300);
}
.text-brand-600 {
  color: var(--color-brand-600);
}
.text-brand-700 {
  color: var(--color-brand-700);
}
.text-brand-800 {
  color: var(--color-brand-800);
}
.text-brand-900 {
  color: var(--color-brand-900);
}
.text-brand-950 {
  color: var(--color-brand-950);
}
.text-red-700 {
  color: var(--color-red-700);
}
.text-slate-500 {
  color: var(--color-slate-500);
}
.text-slate-600 {
  color: var(--color-slate-600);
}
.text-slate-700 {
  color: var(--color-slate-700);
}
.text-slate-800 {
  color: var(--color-slate-800);
}
.text-slate-900 {
  color: var(--color-slate-900);
}
.text-white {
  color: var(--color-white);
}
.text-white\/80 {
  color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.uppercase {
  text-transform: uppercase;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-50 {
  opacity: 50%;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-soft {
  --tw-shadow: 0 18px 60px var(--tw-shadow-color, rgba(15, 65, 112, 0.10));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.blur-3xl {
  --tw-blur: blur(var(--blur-3xl));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.outline-none {
  --tw-outline-style: none;
  outline-style: none;
}
.group-open\:rotate-45 {
  &:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 45deg;
  }
}
.hover\:-translate-y-1 {
  &:hover {
    @media (hover: hover) {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.hover\:bg-aqua-300 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-aqua-300);
    }
  }
}
.hover\:bg-aqua-400 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-aqua-400);
    }
  }
}
.hover\:bg-brand-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-brand-50);
    }
  }
}
.hover\:bg-brand-800 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-brand-800);
    }
  }
}
.hover\:bg-slate-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-slate-50);
    }
  }
}
.hover\:bg-white\/10 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #fff 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }
  }
}
.hover\:text-aqua-300 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-aqua-300);
    }
  }
}
.hover\:text-brand-600 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-brand-600);
    }
  }
}
.hover\:text-brand-700 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-brand-700);
    }
  }
}
.hover\:text-white {
  &:hover {
    @media (hover: hover) {
      color: var(--color-white);
    }
  }
}
.hover\:shadow-soft {
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 18px 60px var(--tw-shadow-color, rgba(15, 65, 112, 0.10));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.focus\:border-brand-500 {
  &:focus {
    border-color: var(--color-brand-500);
  }
}
.focus\:ring-4 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus\:ring-brand-100 {
  &:focus {
    --tw-ring-color: var(--color-brand-100);
  }
}
.focus\:ring-brand-500 {
  &:focus {
    --tw-ring-color: var(--color-brand-500);
  }
}
.sm\:block {
  @media (width >= 40rem) {
    display: block;
  }
}
.sm\:inline {
  @media (width >= 40rem) {
    display: inline;
  }
}
.sm\:w-auto {
  @media (width >= 40rem) {
    width: auto;
  }
}
.sm\:grid-cols-2 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.sm\:flex-row {
  @media (width >= 40rem) {
    flex-direction: row;
  }
}
.sm\:items-center {
  @media (width >= 40rem) {
    align-items: center;
  }
}
.sm\:justify-between {
  @media (width >= 40rem) {
    justify-content: space-between;
  }
}
.sm\:p-5 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 5);
  }
}
.sm\:p-8 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 8);
  }
}
.sm\:p-9 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 9);
  }
}
.sm\:p-12 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 12);
  }
}
.sm\:px-6 {
  @media (width >= 40rem) {
    padding-inline: calc(var(--spacing) * 6);
  }
}
.sm\:text-4xl {
  @media (width >= 40rem) {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
}
.sm\:text-5xl {
  @media (width >= 40rem) {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
.sm\:text-xl {
  @media (width >= 40rem) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
}
.md\:grid-cols-2 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:p-10 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 10);
  }
}
.md\:py-20 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 20);
  }
}
.md\:py-24 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 24);
  }
}
.md\:py-28 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 28);
  }
}
.lg\:sticky {
  @media (width >= 64rem) {
    position: sticky;
  }
}
.lg\:top-28 {
  @media (width >= 64rem) {
    top: calc(var(--spacing) * 28);
  }
}
.lg\:col-span-2 {
  @media (width >= 64rem) {
    grid-column: span 2 / span 2;
  }
}
.lg\:flex {
  @media (width >= 64rem) {
    display: flex;
  }
}
.lg\:hidden {
  @media (width >= 64rem) {
    display: none;
  }
}
.lg\:grid-cols-3 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.lg\:grid-cols-4 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.lg\:grid-cols-\[\.9fr_1\.1fr\] {
  @media (width >= 64rem) {
    grid-template-columns: .9fr 1.1fr;
  }
}
.lg\:grid-cols-\[\.75fr_1\.25fr\] {
  @media (width >= 64rem) {
    grid-template-columns: .75fr 1.25fr;
  }
}
.lg\:grid-cols-\[\.85fr_1\.15fr\] {
  @media (width >= 64rem) {
    grid-template-columns: .85fr 1.15fr;
  }
}
.lg\:grid-cols-\[1\.1fr_\.9fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 1.1fr .9fr;
  }
}
.lg\:grid-cols-\[1\.2fr_\.8fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 1.2fr .8fr;
  }
}
.lg\:grid-cols-\[1\.05fr_\.95fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 1.05fr .95fr;
  }
}
.lg\:grid-cols-\[1\.15fr_\.85fr\] {
  @media (width >= 64rem) {
    grid-template-columns: 1.15fr .85fr;
  }
}
.lg\:grid-cols-\[1fr_300px\] {
  @media (width >= 64rem) {
    grid-template-columns: 1fr 300px;
  }
}
.lg\:items-center {
  @media (width >= 64rem) {
    align-items: center;
  }
}
.lg\:items-start {
  @media (width >= 64rem) {
    align-items: flex-start;
  }
}
.lg\:self-start {
  @media (width >= 64rem) {
    align-self: flex-start;
  }
}
.lg\:p-12 {
  @media (width >= 64rem) {
    padding: calc(var(--spacing) * 12);
  }
}
.lg\:px-8 {
  @media (width >= 64rem) {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.lg\:py-32 {
  @media (width >= 64rem) {
    padding-block: calc(var(--spacing) * 32);
  }
}
.lg\:text-6xl {
  @media (width >= 64rem) {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
}
.xl\:grid-cols-3 {
  @media (width >= 80rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@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-tracking {
  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: 0px;
}
@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-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-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;
}
@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-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-tracking: 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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}


/* WordPress / Salute Sicilia component layer */
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: 3px; }

.ss-custom-logo .custom-logo-link { display:block; }
.ss-custom-logo img { width:132px; height:auto; max-height:56px; object-fit:contain; }

.ss-nav { display:flex; align-items:center; gap:1.35rem; list-style:none; margin:0; padding:0; }
.ss-nav > li { position:relative; }
.ss-nav a { display:block; color:#334155; font-size:.875rem; font-weight:600; text-decoration:none; transition:color .2s ease; }
.ss-nav a:hover, .ss-nav .current-menu-item > a, .ss-nav .current_page_item > a { color:#007982; }
.ss-nav .sub-menu { visibility:hidden; opacity:0; transform:translateY(8px); position:absolute; z-index:60; top:calc(100% + 14px); left:0; width:min(420px, calc(100vw - 2rem)); max-width:min(420px, calc(100vw - 2rem)); margin:0; padding:.55rem; list-style:none; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 18px 60px rgba(15,65,112,.10); transition:.2s ease; overflow:hidden; }
.ss-nav > li:last-child .sub-menu, .ss-nav > li.menu-item-has-children.menu-align-right .sub-menu { left:auto; right:0; }
.ss-nav li:hover > .sub-menu, .ss-nav li:focus-within > .sub-menu { visibility:visible; opacity:1; transform:translateY(0); }
.ss-nav .sub-menu a { display:block; padding:.8rem 1rem; border-radius:.75rem; font-weight:500; line-height:1.45; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
.ss-nav .sub-menu a:hover { background:#f8fafc; }

.ss-mobile-nav { list-style:none; margin:0; padding:0; }
.ss-mobile-nav > li > a { display:block; padding:.8rem .75rem; border-radius:.75rem; color:#1e293b; font-weight:650; text-decoration:none; }
.ss-mobile-nav > li > a:hover { background:#f8fafc; }
.ss-mobile-nav .sub-menu { display:none; list-style:none; margin:.25rem 0 .5rem; padding:.25rem 0 .25rem 1rem; border-left:2px solid #d5f2f4; }
.ss-mobile-nav .sub-menu.is-open, .ss-mobile-nav .current-menu-ancestor > .sub-menu { display:block; }
.ss-mobile-nav .sub-menu a { display:block; padding:.55rem .7rem; color:#475569; font-size:.9rem; text-decoration:none; }

.ss-footer-nav { margin-top:1rem; list-style:none; padding:0; color:#bfdbfe; font-size:.875rem; }
.ss-footer-nav li + li { margin-top:.75rem; }
.ss-footer-nav a { color:inherit; text-decoration:none; }
.ss-footer-nav a:hover { color:#fff; }

.entry-content { color:#475569; font-size:1.05rem; line-height:1.8; }
.entry-content > * + * { margin-top:1.35rem; }
.entry-content h2, .entry-content h3, .entry-content h4 { color:#323332; font-family:Manrope, sans-serif; font-weight:800; line-height:1.2; scroll-margin-top:7rem; }
.entry-content h2 { margin-top:2.7rem; font-size:2rem; }
.entry-content h3 { margin-top:2.2rem; font-size:1.55rem; }
.entry-content h4 { margin-top:1.8rem; font-size:1.2rem; }
.entry-content a { color:#007982; font-weight:650; text-decoration:underline; }
.entry-content ul, .entry-content ol { padding-left:1.4rem; }
.entry-content ul { list-style:disc; }
.entry-content ol { list-style:decimal; }
.entry-content li + li { margin-top:.5rem; }
.entry-content blockquote { border-left:4px solid #f5821f; background:#fff7ed; padding:1rem 1.25rem; border-radius:0 1rem 1rem 0; color:#334155; }
.entry-content table { width:100%; border-collapse:collapse; font-size:.95rem; }
.entry-content th, .entry-content td { border:1px solid #e2e8f0; padding:.75rem; text-align:left; vertical-align:top; }
.entry-content th { background:#eefafa; color:#323332; }
.entry-content img { max-width:100%; height:auto; border-radius:1rem; }
.entry-content .alignwide { width:min(1100px, calc(100vw - 2rem)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.entry-content .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }

.ss-pagination .nav-links { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; }
.ss-pagination .page-numbers { display:grid; min-width:2.6rem; height:2.6rem; place-items:center; border:1px solid #cbd5e1; border-radius:.75rem; padding:0 .7rem; color:#334155; text-decoration:none; }
.ss-pagination .current { background:#007982; color:white; border-color:#007982; }

@media (max-width:1023px) { .ss-nav { display:none; } }


/* Salute Sicilia corporate identity */
.ss-brand-logo {
  display: block;
  width: clamp(178px, 18vw, 260px);
  height: auto;
}
.ss-brand-mark {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}
.ss-footer-logo-panel {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border-radius: 1rem;
  padding: .75rem 1rem;
}
.ss-footer-logo-panel img {
  display: block;
  width: min(250px, 100%);
  height: auto;
}
.ss-brand-stripe {
  height: 3px;
  background: #008e97;
}
.hero-grid {
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 34px 34px;
}
@media (max-width: 640px) {
  .ss-brand-logo { width: 178px; }
}

/* Neutralize legacy Tailwind blue helper colors on corporate dark surfaces. */
.text-blue-100 { color: #e5e7eb; }
.text-blue-200 { color: #d1d5db; }
.text-blue-300 { color: #9ca3af; }
.ss-custom-logo img {
  width: clamp(178px, 18vw, 260px);
  max-height: none;
  height: auto;
}
.underline { text-decoration-line: underline; }

/* Salute Sicilia V4 — ECM Costo Zero FAQ integration */
.ss-faq-section{background:#fff}
.ss-faq-section .ecmz-faq{
  --ecmz-faq-primary:#323332;
  --ecmz-faq-accent:#008e97;
  --ecmz-faq-text:#323332;
  --ecmz-faq-muted:#64748b;
  --ecmz-faq-bg:#eefafa;
  --ecmz-faq-card:#fff;
  --ecmz-faq-border:#d5f2f4;
  --ecmz-faq-soft:#fff7ed;
  box-shadow:0 18px 60px rgba(50,51,50,.07);
}
.ss-faq-section .ecmz-faq-card__number{color:#f5821f;background:#fff7ed}
.ss-faq-section .ecmz-faq__eyebrow{color:#008e97}
.ss-faq-section .ecmz-faq-card:hover,
.ss-faq-section .ecmz-faq-card[open]{border-color:#78d1d7}
.ss-faq-section .ecmz-faq-card__summary:focus-visible{outline-color:rgba(0,142,151,.28)}
.ss-faq-section .ecmz-faq-card__answer-inner{color:#475569}
.ss-faq-section .ecmz-faq-card__answer-inner strong{color:#323332}
.ss-faq-section .ecmz-faq-card__source a{color:#008e97}
.ss-faq-section .ecmz-faq-card__source a:hover,
.ss-faq-section .ecmz-faq-card__source a:focus-visible{color:#f5821f}


/* Salute Sicilia V5.2 — Catalogo corsi filtrabile */
.ss-catalog-section{padding:4.5rem 0;background:#f8fafc}
.ss-course-filters{margin-bottom:1.5rem;padding:1.5rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff;box-shadow:0 18px 60px rgba(50,51,50,.06)}
.ss-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.ss-filter-eyebrow{margin:0 0 .25rem;color:#008e97;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ss-filter-heading h2{margin:0;color:#323332;font-size:1.5rem;line-height:1.25;font-weight:800}
.ss-filter-reset-top,.ss-filter-reset{color:#007982;font-size:.875rem;font-weight:700;text-decoration:none}
.ss-filter-reset-top:hover,.ss-filter-reset:hover{color:#f5821f;text-decoration:underline}
.ss-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ss-filter-field{min-width:0}
.ss-filter-field label{display:block;margin-bottom:.4rem;color:#475569;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.ss-filter-field input,.ss-filter-field select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:.8rem;background:#fff;padding:.65rem .8rem;color:#323332;font:inherit;outline:none;transition:border-color .18s,box-shadow .18s}
.ss-filter-field input:focus,.ss-filter-field select:focus{border-color:#008e97;box-shadow:0 0 0 4px rgba(0,142,151,.12)}
.ss-filter-search{grid-column:span 2}
.ss-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid #eef2f7}
.ss-filter-submit{border:0;border-radius:.8rem;background:#008e97;padding:.75rem 1.15rem;color:#fff;font-weight:800;cursor:pointer;transition:background .18s,transform .18s}
.ss-filter-submit:hover{background:#007982;transform:translateY(-1px)}
.ss-filter-hint{margin-left:auto;color:#64748b;font-size:.8rem}
.ss-catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;color:#64748b;font-size:.9rem}
.ss-catalog-summary strong{color:#323332;font-size:1.15rem}
.ss-course-status{display:inline-flex;border-radius:999px;padding:.28rem .65rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#fff;color:#323332;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ss-course-status--iscrizioni-aperte{background:#d1fae5;color:#065f46}
.ss-course-status--in-partenza{background:#fff7ed;color:#c25409}
.ss-course-status--posti-esauriti{background:#fee2e2;color:#991b1b}
.ss-course-status--concluso{background:#e2e8f0;color:#475569}
.ss-catalog-pagination{margin-top:3rem}
.ss-catalog-pagination .page-numbers{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}
.ss-catalog-pagination a,.ss-catalog-pagination span{display:grid;min-width:42px;min-height:42px;place-items:center;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;padding:.45rem .7rem;color:#323332;font-weight:700;text-decoration:none}
.ss-catalog-pagination .current{border-color:#008e97;background:#008e97;color:#fff}
.ss-catalog-pagination a:hover{border-color:#008e97;color:#008e97}
.ss-no-results{padding:3rem 1.5rem;border:1px dashed #cbd5e1;border-radius:1.5rem;background:#fff;text-align:center}
.ss-no-results-mark{display:grid;width:54px;height:54px;place-items:center;margin:0 auto 1rem;border-radius:50%;background:#fff7ed;color:#f5821f;font-size:1.5rem;font-weight:900}
.ss-no-results h2{margin:0;color:#323332;font-size:1.5rem;font-weight:800}
.ss-no-results p{max-width:38rem;margin:.75rem auto 1.25rem;color:#64748b}
.ss-no-results a{display:inline-flex;border-radius:.8rem;background:#008e97;padding:.75rem 1rem;color:#fff;font-weight:800;text-decoration:none}
@media(max-width:1024px){.ss-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-filter-search{grid-column:span 2}}
@media(max-width:640px){.ss-catalog-section{padding:3rem 0}.ss-course-filters{padding:1.1rem;border-radius:1.1rem}.ss-filter-heading{display:block}.ss-filter-reset-top{display:inline-block;margin-top:.65rem}.ss-filter-grid{grid-template-columns:1fr}.ss-filter-search{grid-column:auto}.ss-filter-hint{width:100%;margin-left:0}.ss-catalog-summary{align-items:flex-start;flex-direction:column;gap:.2rem}}


/* V5.3 modern single-course landing page */
.ss-course-page{--ss-teal:#008e97;--ss-orange:#f5821f;--ss-charcoal:#323332;--ss-ink:#243036;--ss-muted:#64748b;--ss-border:#e2e8f0;--ss-soft:#f7fafb;background:#fff;color:var(--ss-ink)}
.ss-course-shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.ss-course-hero{position:relative;overflow:hidden;background:linear-gradient(128deg,#252726 0%,#323332 63%,#4a3a2d 100%);color:#fff;border-bottom:4px solid var(--ss-orange)}
.ss-course-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.ss-course-hero__glow{position:absolute;border-radius:999px;filter:blur(65px);opacity:.2}.ss-course-hero__glow--one{width:360px;height:360px;background:var(--ss-teal);right:5%;top:-120px}.ss-course-hero__glow--two{width:300px;height:300px;background:var(--ss-orange);left:-80px;bottom:-180px}
.ss-course-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:64px;align-items:center;padding-block:72px}
.ss-course-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#d7e6e6}.ss-course-breadcrumb a{color:inherit;text-decoration:none}.ss-course-breadcrumb a:hover{color:#fff}
.ss-course-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.ss-course-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ss-course-badge--brand{border-color:rgba(0,142,151,.55);background:rgba(0,142,151,.22)}.ss-course-status.is-open{background:#dff7ef;color:#116149;border-color:#9bdec8}.ss-course-status.is-soon{background:#fff0dc;color:#8a4500;border-color:#ffd09d}.ss-course-status.is-closed{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.ss-course-hero h1{max-width:820px;margin:19px 0 0;font-family:Manrope,Inter,sans-serif;font-size:clamp(34px,4.3vw,60px);line-height:1.06;letter-spacing:-.035em;font-weight:800;color:#fff}.ss-course-hero__lead{max-width:760px;margin:20px 0 0;font-size:18px;line-height:1.7;color:#dbe4e7}
.ss-course-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}.ss-course-metric{display:flex;align-items:center;gap:12px;min-height:78px;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.ss-course-metric__icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:rgba(245,130,31,.18);color:#ffb26e;font-size:11px;font-weight:900}.ss-course-metric small,.ss-course-metric strong{display:block}.ss-course-metric small{font-size:11px;color:#bfc9cc}.ss-course-metric strong{margin-top:2px;font-size:14px;line-height:1.35;color:#fff}
.ss-course-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.ss-course-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:13px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.ss-course-btn:hover{transform:translateY(-1px)}.ss-course-btn--primary{background:var(--ss-orange);color:#fff!important;box-shadow:0 10px 25px rgba(245,130,31,.2)}.ss-course-btn--primary:hover{background:#dc6f0c}.ss-course-btn--ghost{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff!important}.ss-course-btn--ghost:hover{background:rgba(255,255,255,.12)}.ss-course-btn--secondary{background:var(--ss-teal);color:#fff!important}.ss-course-btn--outline{border:1px solid #cbd5e1;background:#fff;color:#334155!important}.ss-course-btn--outline:hover{border-color:var(--ss-teal);color:var(--ss-teal)!important}.ss-course-btn--block{display:flex;width:100%}
.ss-course-poster{margin:0}.ss-course-poster__frame{overflow:hidden;padding:9px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:#fff;box-shadow:0 32px 70px rgba(0,0,0,.3);transform:rotate(1deg)}.ss-course-poster img{display:block;width:100%;max-height:510px;object-fit:contain;border-radius:20px;background:#fff}.ss-course-poster figcaption{margin-top:14px;text-align:center;font-size:11px;letter-spacing:.04em;color:#bfc9cc}
.ss-course-anchorbar{position:sticky;top:0;z-index:35;border-bottom:1px solid #e6eaed;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}body.admin-bar .ss-course-anchorbar{top:32px}.ss-course-anchorbar__inner{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}.ss-course-anchorbar__inner::-webkit-scrollbar{display:none}.ss-course-anchorbar a{flex:0 0 auto;padding:8px 13px;border-radius:10px;color:#52616a;font-size:13px;font-weight:700;text-decoration:none}.ss-course-anchorbar a:hover{background:#eefafa;color:var(--ss-teal)}
.ss-course-body{padding:68px 0 90px;background:linear-gradient(#fff 0,#fff 65%,#f8fafc 100%)}.ss-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}.ss-course-main{min-width:0}.ss-course-section{scroll-margin-top:120px;padding:38px 0;border-bottom:1px solid var(--ss-border)}.ss-course-section:first-child{padding-top:0}.ss-course-section:last-child{border-bottom:0}.ss-course-section__eyebrow{margin-bottom:7px;color:var(--ss-teal);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ss-course-section h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:clamp(26px,3vw,36px);line-height:1.16;letter-spacing:-.025em;color:var(--ss-charcoal)}.ss-course-section__lead,.ss-course-intro{max-width:760px;margin:12px 0 0;color:var(--ss-muted);font-size:16px;line-height:1.75}.ss-course-intro-card{padding:32px;border:1px solid #e4ecee;border-radius:24px;background:linear-gradient(135deg,#f4fbfb,#fff 62%);box-shadow:0 15px 45px rgba(50,51,50,.05)}.ss-course-editorial{margin-top:20px}.ss-course-editorial>:first-child{margin-top:0}.ss-course-editorial>:last-child{margin-bottom:0}.ss-course-editorial p,.ss-course-editorial li{font-size:16px;line-height:1.8;color:#475569}
.ss-course-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.ss-course-detail{min-height:94px;padding:18px;border:1px solid var(--ss-border);border-radius:17px;background:#fff}.ss-course-detail span,.ss-course-detail strong{display:block}.ss-course-detail span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#839099}.ss-course-detail strong{margin-top:7px;font-size:15px;line-height:1.45;color:var(--ss-charcoal)}
.ss-course-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.ss-course-person{padding:19px;border-radius:17px;background:#323332;color:#fff}.ss-course-person span,.ss-course-person strong{display:block}.ss-course-person span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#ffb26e}.ss-course-person strong{margin-top:7px;font-size:15px;line-height:1.5}
.ss-course-callout{margin-top:18px;padding:20px 22px;border-left:4px solid var(--ss-teal);border-radius:0 16px 16px 0;background:#eefafa}.ss-course-callout--light{border-color:var(--ss-orange);background:#fff7ed}.ss-course-callout strong{color:var(--ss-charcoal)}.ss-course-callout p{margin:7px 0 0;color:#52616a;line-height:1.7}
.ss-course-professions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.ss-course-professions span{display:inline-flex;padding:8px 12px;border:1px solid #d8e6e7;border-radius:999px;background:#f8fcfc;color:#40565a;font-size:13px;font-weight:650}
.ss-course-program-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:26px;border:1px solid #ffd7b1;border-radius:24px;background:linear-gradient(135deg,#fff7ed,#fff 72%)}.ss-course-program-card__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--ss-orange);color:#fff;font-size:12px;font-weight:900}.ss-course-program-card h2{font-size:27px}.ss-course-program-card p{margin:7px 0 0;color:#64748b;line-height:1.6}
.ss-course-enrollment{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:20px;padding:30px!important;border:0!important;border-radius:25px;background:var(--ss-charcoal);color:#fff}.ss-course-enrollment h2{color:#fff}.ss-course-enrollment p{max-width:600px;margin:9px 0 0;color:#d4dcdf;line-height:1.65}.ss-course-enrollment__actions{display:flex;flex:0 0 auto;flex-direction:column;gap:9px}.ss-course-enrollment .ss-course-btn--outline{border-color:rgba(255,255,255,.25);background:transparent;color:#fff!important}.ss-course-enrollment .ss-course-btn--outline:hover{background:rgba(255,255,255,.08)}
.ss-course-sidebar{position:sticky;top:86px}.ss-course-enroll-card{overflow:hidden;border:1px solid #dfe6e8;border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(50,51,50,.10)}.ss-course-enroll-card__top{padding:25px;background:linear-gradient(145deg,#008e97,#08747b);color:#fff}.ss-course-enroll-card__top span,.ss-course-enroll-card__top strong,.ss-course-enroll-card__top small{display:block}.ss-course-enroll-card__top span{font-size:12px;font-weight:700;color:#c8f1f3}.ss-course-enroll-card__top strong{margin-top:3px;font-family:Manrope,Inter,sans-serif;font-size:32px;line-height:1.1}.ss-course-enroll-card__top small{margin-top:7px;font-size:13px}.ss-course-enroll-card__facts{padding:20px 24px}.ss-course-enroll-card__facts>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f2}.ss-course-enroll-card__facts>div:last-child{border-bottom:0}.ss-course-enroll-card__facts span{font-size:12px;color:#7b8990}.ss-course-enroll-card__facts strong{max-width:60%;text-align:right;font-size:12px;line-height:1.45;color:#334155}.ss-course-enroll-card>.ss-course-btn{margin:0 22px 10px;width:calc(100% - 44px)}.ss-course-provider-trust{display:flex;align-items:center;gap:11px;margin-top:12px;padding:18px 22px;border-top:1px solid #edf1f2;background:#fafcfc}.ss-course-provider-trust__mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #dbe8ea,0 6px 18px rgba(15,65,112,.08)}.ss-course-provider-trust__mark img{display:block;width:26px;height:26px;object-fit:contain}.ss-course-provider-trust strong,.ss-course-provider-trust small{display:block}.ss-course-provider-trust strong{font-size:13px;color:#323332}.ss-course-provider-trust small{margin-top:2px;font-size:11px;color:#748189}
.ss-course-mobile-cta{display:none}
@media(max-width:1023px){.ss-course-hero__grid{grid-template-columns:1fr;gap:38px;padding-block:55px}.ss-course-poster{max-width:560px}.ss-course-layout{grid-template-columns:1fr}.ss-course-sidebar{position:static}.ss-course-enroll-card{max-width:620px}.ss-course-anchorbar{top:0}body.admin-bar .ss-course-anchorbar{top:46px}}
@media(max-width:782px){body.admin-bar .ss-course-anchorbar{top:0}.ss-course-body{padding:45px 0 105px}.ss-course-metrics{grid-template-columns:1fr}.ss-course-metric{min-height:68px}.ss-course-detail-grid,.ss-course-people-grid{grid-template-columns:1fr}.ss-course-program-card{grid-template-columns:auto 1fr}.ss-course-program-card>.ss-course-btn{grid-column:1/-1}.ss-course-enrollment{display:block;padding:24px!important}.ss-course-enrollment__actions{margin-top:22px}.ss-course-intro-card{padding:24px}.ss-course-mobile-cta{position:fixed;z-index:60;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 10px 10px 17px;border:1px solid #dce3e5;border-radius:17px;background:rgba(255,255,255,.97);box-shadow:0 18px 45px rgba(0,0,0,.18);backdrop-filter:blur(12px)}.ss-course-mobile-cta>span{font-size:15px;font-weight:900;color:#323332}.ss-course-mobile-cta small{display:block;margin-top:1px;color:#748189;font-size:10px;font-weight:700}.ss-course-mobile-cta a{padding:11px 18px;border-radius:11px;background:#f5821f;color:#fff;font-size:13px;font-weight:900;text-decoration:none}}
@media(max-width:520px){.ss-course-shell{width:min(100% - 24px,1180px)}.ss-course-hero__grid{padding-block:42px}.ss-course-hero h1{font-size:34px}.ss-course-poster__frame{border-radius:22px}.ss-course-section{padding:31px 0}.ss-course-program-card{padding:21px}.ss-course-anchorbar a{padding:7px 10px}}


/* Header / logo refinement — V5.3.1 */
.ss-header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height: 6rem;
  gap: 1.5rem;
}
.ss-site-brand {
  display:flex;
  align-items:center;
  flex: 0 1 420px;
  min-width: 240px;
  text-decoration:none;
}
.ss-site-brand__logo,
.ss-site-brand__logo .custom-logo-link {
  display:block;
  width:100%;
}
.ss-site-brand__logo img,
.ss-site-brand__logo-image,
.ss-brand-logo {
  display:block;
  width: clamp(240px, 24vw, 400px);
  max-width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}
.ss-header-actions {
  flex: 1 1 auto;
  justify-content:flex-end;
}
@media (min-width: 1280px) {
  .ss-header-inner { min-height: 6.5rem; }
  .ss-site-brand { flex-basis: 460px; }
  .ss-site-brand__logo img,
  .ss-site-brand__logo-image,
  .ss-brand-logo {
    width: clamp(280px, 25vw, 430px);
    max-height: 78px;
  }
}
@media (max-width: 1023px) {
  .ss-header-inner { min-height: 5.5rem; }
  .ss-site-brand { flex: 1 1 auto; min-width: 0; }
  .ss-site-brand__logo img,
  .ss-site-brand__logo-image,
  .ss-brand-logo {
    width: clamp(210px, 44vw, 320px);
    max-height: 64px;
  }
}
@media (max-width: 640px) {
  .ss-header-inner { min-height: 5rem; gap: .75rem; }
  .ss-site-brand__logo img,
  .ss-site-brand__logo-image,
  .ss-brand-logo {
    width: min(240px, 56vw);
    max-height: 52px;
  }
}


/* Main navigation refinement — V5.3.2 */
.ss-nav {
  flex-wrap: nowrap;
  gap: clamp(.85rem, 1.2vw, 1.35rem);
  white-space: nowrap;
}
.ss-nav > li,
.ss-nav > li > a {
  white-space: nowrap;
}
.ss-nav > li > a {
  line-height: 1.2;
}
.ss-header-actions nav {
  min-width: 0;
}
.ss-header-actions > a {
  flex: 0 0 auto;
  white-space: nowrap;
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .ss-site-brand { flex-basis: 330px; }
  .ss-site-brand__logo img,
  .ss-site-brand__logo-image,
  .ss-brand-logo {
    width: clamp(250px, 26vw, 330px);
    max-height: 68px;
  }
  .ss-nav { gap: .75rem; }
  .ss-nav a { font-size: .82rem; }
}


/* Full-width header alignment — V5.3.3 */
.ss-header-inner--full {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 1024px) {
  .ss-header-inner--full {
    padding-left: clamp(1.25rem, 2vw, 2.25rem);
    padding-right: clamp(1.25rem, 2vw, 2.25rem);
  }
  .ss-header-inner--full .ss-site-brand {
    margin-left: 0;
  }
}

/* V5.3.4 — UI cleanup, course hero balance and overflow fixes */
html,
body {
  max-width: 100%;
}
body {
  overflow-x: clip;
}
img,
svg,
video,
iframe {
  max-width: 100%;
}
.ss-header-inner--full,
.ss-header-actions,
.ss-header-actions nav,
.ss-course-page,
.ss-course-hero,
.ss-course-body,
.ss-course-shell {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .ss-header-inner--full {
    display: grid;
    grid-template-columns: minmax(260px, 420px) minmax(0, 1fr);
    align-items: center;
    column-gap: clamp(1rem, 2.2vw, 2.5rem);
  }
  .ss-header-inner--full .ss-site-brand {
    width: 100%;
    min-width: 0;
    max-width: 420px;
    flex: none;
  }
  .ss-header-actions {
    width: 100%;
    min-width: 0;
    justify-content: flex-end;
  }
}

/* Compact, readable course hero. */
.ss-course-hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 410px);
  gap: clamp(32px, 4vw, 54px);
  padding-block: clamp(48px, 5vw, 62px);
}
.ss-course-hero h1 {
  max-width: 760px;
  font-size: clamp(32px, 3.35vw, 52px);
  line-height: 1.075;
  letter-spacing: -.03em;
  overflow-wrap: break-word;
}
.ss-course-hero__lead {
  max-width: 700px;
  font-size: 17px;
}
.ss-course-poster {
  width: min(100%, 410px);
  max-width: 410px;
  justify-self: end;
}
.ss-course-poster__frame {
  transform: none;
  padding: 8px;
  border-radius: 24px;
}
.ss-course-poster img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  object-position: center;
  border-radius: 17px;
}
.ss-course-poster figcaption {
  margin-top: 10px;
}
.ss-course-metrics {
  margin-top: 24px;
}
.ss-course-hero__actions {
  margin-top: 24px;
}

/* Profession list: visible, scannable and explicitly counted. */
.ss-course-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.ss-course-profession-count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid #cce5e7;
  border-radius: 999px;
  background: #eefafa;
  color: #007982;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.ss-course-professions span {
  background: #fff;
  border-color: #d7e5e6;
  box-shadow: 0 3px 10px rgba(50,51,50,.035);
}

/* Avoid desktop navigation causing document overflow at intermediate widths. */
@media (min-width: 1024px) and (max-width: 1180px) {
  .ss-header-actions { display: none !important; }
  #menuButton { display: grid !important; }
  #mobileMenu:not(.hidden) { display: block !important; }
}
@media (max-width: 1023px) {
  .ss-course-hero__grid {
    grid-template-columns: 1fr;
    padding-block: 48px;
  }
  .ss-course-poster {
    justify-self: start;
    max-width: 460px;
  }
}
@media (max-width: 640px) {
  body { overflow-x: hidden; }
  .ss-course-hero__grid { padding-block: 38px; }
  .ss-course-hero h1 { font-size: clamp(29px, 9vw, 38px); }
  .ss-course-poster { width: 100%; max-width: 100%; }
  .ss-course-poster img { max-height: 390px; }
  .ss-course-section-heading { display: block; }
  .ss-course-profession-count { margin-top: 14px; }
}

@media (max-width: 1279px) {
  .ss-nav { gap: 1rem; }
  .ss-nav .sub-menu { width:min(380px, calc(100vw - 2rem)); max-width:min(380px, calc(100vw - 2rem)); }
}

/* Site-wide information request dialog — V5.3.14 */
.ss-info-dialog {
  width: min(720px, calc(100vw - 2rem));
  max-width: 720px;
  max-height: calc(100vh - 2rem);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 1.5rem;
  background: transparent;
  color: #323332;
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  overflow: visible;
}
.ss-info-dialog::backdrop { background: rgba(20,28,28,.68); backdrop-filter: blur(4px); }
.ss-info-dialog__panel { position:relative; max-height:calc(100vh - 2rem); overflow:auto; border-radius:1.5rem; background:#fff; padding:2rem; }
.ss-info-dialog__close { position:absolute; top:1rem; right:1rem; display:grid; place-items:center; width:2.5rem; height:2.5rem; border:1px solid #e2e8f0; border-radius:999px; background:#fff; color:#323332; font-size:1.6rem; line-height:1; cursor:pointer; }
.ss-info-dialog__close:hover { background:#f8fafc; }
.ss-info-dialog__intro { padding-right:3rem; margin-bottom:1.5rem; }
.ss-info-dialog__eyebrow { display:block; margin-bottom:.4rem; color:#008e97; font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ss-info-dialog__intro h2 { margin:0; color:#323332; font-family:Manrope,sans-serif; font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.15; font-weight:800; }
.ss-info-dialog__intro p { margin:.65rem 0 0; color:#64748b; line-height:1.65; }
.ss-info-form { display:grid; gap:1rem; }
.ss-info-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ss-info-form label:not(.ss-info-form__privacy) { display:block; margin-bottom:.4rem; color:#334155; font-size:.875rem; font-weight:700; }
.ss-info-form input[type="text"], .ss-info-form input[type="email"], .ss-info-form input[type="tel"], .ss-info-form textarea { width:100%; border:1px solid #cbd5e1; border-radius:.85rem; background:#fff; padding:.8rem .95rem; color:#0f172a; outline:none; transition:border-color .2s, box-shadow .2s; }
.ss-info-form textarea { resize:vertical; min-height:125px; }
.ss-info-form input:focus, .ss-info-form textarea:focus { border-color:#008e97; box-shadow:0 0 0 4px rgba(0,142,151,.12); }
.ss-info-form__privacy { display:flex; align-items:flex-start; gap:.65rem; color:#64748b; font-size:.82rem; line-height:1.55; }
.ss-info-form__privacy input { margin-top:.2rem; flex:0 0 auto; }
.ss-info-form__privacy a { color:#007982; font-weight:700; text-decoration:underline; }
.ss-info-form__honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ss-info-form__actions { display:flex; justify-content:flex-end; gap:.75rem; padding-top:.25rem; }
.ss-info-form__cancel, .ss-info-form__submit { border:0; border-radius:.85rem; padding:.85rem 1.2rem; font-weight:800; cursor:pointer; }
.ss-info-form__cancel { background:#f1f5f9; color:#475569; }
.ss-info-form__submit { background:#008e97; color:#fff; box-shadow:0 8px 20px rgba(0,142,151,.18); }
.ss-info-form__submit:hover { background:#007982; }
.ss-info-toast { position:fixed; z-index:9999; right:1rem; bottom:1rem; display:grid; gap:.15rem; width:min(390px,calc(100vw - 2rem)); border-radius:1rem; padding:1rem 1.15rem; box-shadow:0 16px 45px rgba(15,23,42,.18); }
.ss-info-toast--success { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.ss-info-toast--error { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; }
.ss-info-toast span { font-size:.875rem; }
@media (max-width:640px) {
  .ss-info-dialog__panel { padding:1.35rem; }
  .ss-info-form__grid { grid-template-columns:1fr; }
  .ss-info-form__actions { flex-direction:column-reverse; }
  .ss-info-form__cancel, .ss-info-form__submit { width:100%; }
}


/* ==========================================================================
   Salute Sicilia V5.4 — Visual Refinement
   ========================================================================== */
:root{
  --ss-teal:#008e97;
  --ss-teal-dark:#006f76;
  --ss-teal-soft:#eefafa;
  --ss-orange:#f5821f;
  --ss-orange-dark:#d96508;
  --ss-orange-soft:#fff7ed;
  --ss-charcoal:#2f3130;
  --ss-ink:#273238;
  --ss-muted:#64748b;
  --ss-line:#e4eaec;
  --ss-surface:#f7f9f9;
  --ss-radius:20px;
  --ss-shadow-sm:0 8px 24px rgba(38,50,53,.06);
  --ss-shadow-md:0 18px 50px rgba(38,50,53,.09);
  --ss-shadow-lg:0 28px 70px rgba(20,35,38,.13);
}
html{overflow-x:clip}
body{overflow-x:clip;color:var(--ss-ink);font-size:16px;line-height:1.65;background:#fff}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
h1,h2,h3,h4,.font-display{font-family:Manrope,Inter,ui-sans-serif,sans-serif}
::selection{background:#cceff1;color:#1e3133}
:focus-visible{outline:3px solid rgba(0,142,151,.28);outline-offset:3px}

/* 1. Header: lighter, stable, same content grid, compact-on-scroll. */
.ss-main-header{position:sticky;top:0;z-index:80;overflow:visible;border-bottom:1px solid rgba(226,232,240,.9);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);transition:box-shadow .25s ease,background .25s ease}
.ss-main-header.ss-header--scrolled{background:rgba(255,255,255,.985);box-shadow:0 10px 35px rgba(31,45,47,.08)}
.ss-main-header-row{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:24px;width:min(1280px,100%);min-height:80px;margin-inline:auto;padding:10px 32px;box-sizing:border-box;transition:min-height .25s ease,padding .25s ease}
.ss-header--scrolled .ss-main-header-row{min-height:70px;padding-block:7px}
.ss-main-brand{display:flex;align-items:center;justify-content:flex-start;width:220px;min-width:220px;max-width:220px;overflow:hidden;text-decoration:none}
.ss-main-brand .ss-main-logo-image{display:block;width:220px;max-width:220px;max-height:52px;height:auto;object-fit:contain;object-position:left center;transition:width .25s ease,max-height .25s ease}
.ss-header--scrolled .ss-main-brand .ss-main-logo-image{width:204px;max-width:204px;max-height:46px}
.ss-main-nav{display:flex;align-items:center;justify-content:flex-end;min-width:0;padding-inline:16px;overflow:visible}
.ss-main-nav .ss-nav{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:clamp(14px,1.35vw,24px);width:auto;margin:0;padding:0;list-style:none;white-space:nowrap}
.ss-main-nav .ss-nav>li{position:relative;flex:0 0 auto}
.ss-main-nav .ss-nav>li>a{display:flex!important;align-items:center;gap:6px;min-height:42px;padding:2px 0!important;color:#39464c!important;font-size:12.5px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:.055em!important;text-transform:uppercase!important;text-decoration:none!important;white-space:nowrap!important;transition:color .18s ease}
.ss-main-nav .ss-nav>li.menu-item-has-children>a::after{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.ss-main-nav .ss-nav>li.menu-item-has-children:hover>a::after,.ss-main-nav .ss-nav>li.menu-item-has-children:focus-within>a::after{transform:translateY(3px) rotate(225deg)}
.ss-main-nav .ss-nav>li>a:hover,.ss-main-nav .ss-nav>.current-menu-item>a,.ss-main-nav .ss-nav>.current-menu-ancestor>a,.ss-main-nav .ss-nav>.current_page_item>a{color:var(--ss-teal)!important}
.ss-main-nav .ss-nav .sub-menu{visibility:hidden;opacity:0;transform:translateY(8px);position:absolute;z-index:100;top:calc(100% + 9px);left:0;width:min(410px,calc(100vw - 48px));max-width:min(410px,calc(100vw - 48px));margin:0;padding:8px;list-style:none;border:1px solid var(--ss-line);border-radius:16px;background:#fff;box-shadow:var(--ss-shadow-lg);white-space:normal;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.ss-main-nav .ss-nav>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:0}
.ss-main-nav .ss-nav li:hover>.sub-menu,.ss-main-nav .ss-nav li:focus-within>.sub-menu{visibility:visible;opacity:1;transform:translateY(0)}
.ss-main-nav .ss-nav .sub-menu a{display:block;width:100%;padding:10px 12px;border-radius:10px;color:#3d4b51!important;font-size:13px!important;font-weight:600!important;line-height:1.42!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;transition:background .16s ease,color .16s ease,padding-left .16s ease}
.ss-main-nav .ss-nav .sub-menu a:hover{padding-left:15px;background:var(--ss-teal-soft);color:var(--ss-teal-dark)!important}
.ss-main-fad{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid var(--ss-teal);border-radius:11px;background:var(--ss-teal);color:#fff!important;font-size:12px;font-weight:800;line-height:1;letter-spacing:.045em;text-align:center;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;box-shadow:0 7px 18px rgba(0,142,151,.13);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.ss-main-fad:hover{transform:translateY(-1px);background:var(--ss-teal-dark);box-shadow:0 10px 22px rgba(0,142,151,.18)}
.ss-main-toggle{display:none;width:44px;height:44px;place-items:center;border:1px solid #dce4e6;border-radius:12px;background:#fff;color:var(--ss-charcoal);cursor:pointer}.ss-main-toggle svg{width:23px;height:23px}
.ss-mobile-panel{display:none;border-top:1px solid #e9edef;background:#fff}.ss-mobile-panel.hidden{display:none!important}.ss-mobile-panel-inner{width:min(100%,1280px);margin-inline:auto;padding:12px 20px 20px}.ss-mobile-fad{display:block;margin-top:10px;padding:12px 16px;border-radius:11px;background:var(--ss-teal);color:#fff!important;font-weight:800;text-align:center;text-transform:uppercase;text-decoration:none!important}
body.admin-bar .ss-main-header{top:32px}
@media(max-width:1180px){.ss-main-header-row{grid-template-columns:minmax(0,1fr) auto;min-height:78px;padding:9px 22px}.ss-main-brand{width:min(220px,58vw);min-width:0;max-width:none}.ss-main-brand .ss-main-logo-image{width:min(220px,58vw);max-width:100%;max-height:50px}.ss-main-nav,.ss-main-fad{display:none!important}.ss-main-toggle{display:grid}.ss-mobile-panel:not(.hidden){display:block!important}.ss-mobile-nav>.menu-item-has-children>a{display:flex;align-items:center;justify-content:space-between}.ss-mobile-nav>.menu-item-has-children>a::after{content:"+";font-size:18px;font-weight:500;color:var(--ss-teal)}}
@media(max-width:782px){body.admin-bar .ss-main-header{top:46px}}
@media(max-width:640px){.ss-main-header-row{min-height:72px;padding-inline:16px}.ss-main-brand{width:min(200px,66vw)}.ss-main-brand .ss-main-logo-image{width:min(200px,66vw);max-height:46px}.ss-mobile-panel-inner{padding-inline:16px}}

/* 2–3. Home hero and typography: softer, more editorial, less poster-like. */
.ss-home-hero{background:linear-gradient(128deg,#252a29 0%,#293230 48%,#123d40 100%)!important;border-bottom:1px solid rgba(255,255,255,.06)}
.ss-home-hero .hero-grid{opacity:.22!important;background-size:44px 44px}
.ss-home-hero__inner{min-height:620px;padding-top:88px!important;padding-bottom:92px!important;align-items:center}
.ss-home-hero__copy{max-width:760px!important}
.ss-home-hero h1{max-width:760px;font-size:clamp(42px,4.35vw,66px)!important;line-height:1.035!important;letter-spacing:-.045em!important;text-wrap:balance}
.ss-home-hero__copy>p{max-width:690px!important;color:#d7e1e2!important;font-size:clamp(17px,1.45vw,20px)!important;line-height:1.7!important}
.ss-home-hero__panel{border-color:rgba(255,255,255,.1)!important;background:rgba(255,255,255,.065)!important;box-shadow:0 28px 75px rgba(0,0,0,.22)!important}
.ss-home-hero__panel>div{border-radius:20px!important}
.ss-home-section h2{letter-spacing:-.032em!important;line-height:1.12!important;text-wrap:balance}
.ss-home-section p{line-height:1.72}
.ss-home-section--soft{background:linear-gradient(180deg,#f8faf9 0%,#f4f8f8 100%)!important}
.ss-home-medical{background:#fff}
.ss-home-contact{background:linear-gradient(180deg,#f7f9f9,#f2f7f7)!important}

/* 4, 7, 8. Editorial cards, coherent icon system and CTA language. */
.ss-service-card{position:relative;overflow:hidden;border-color:#e4eaec!important;border-radius:22px!important;padding:30px!important;box-shadow:var(--ss-shadow-sm)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.ss-service-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--ss-teal),var(--ss-orange));opacity:0;transition:opacity .22s ease}
.ss-service-card:hover{transform:translateY(-4px)!important;border-color:#d5e5e6!important;box-shadow:var(--ss-shadow-md)!important}.ss-service-card:hover::before{opacity:1}
.ss-service-card__icon{width:50px!important;height:50px!important;border:1px solid #cfe7e9!important;border-radius:15px!important;background:var(--ss-teal-soft)!important;color:var(--ss-teal)!important}
.ss-service-card__icon svg{width:23px;height:23px;stroke-width:1.8}
.ss-service-card h3{font-size:22px!important;letter-spacing:-.02em}.ss-service-card p{font-size:15.5px;line-height:1.72!important}.ss-service-card>a{color:var(--ss-teal-dark)!important;font-size:14px;text-decoration:none}.ss-service-card>a:hover{color:var(--ss-orange-dark)!important}
.ss-ui-btn,.ss-course-btn,.ss-card-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:11px!important;font-weight:800!important;text-decoration:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important}
.ss-ui-btn:hover,.ss-course-btn:hover,.ss-card-cta:hover{transform:translateY(-1px)}
.ss-ui-btn--primary,.ss-course-btn--primary,.ss-card-cta--primary{background:var(--ss-teal)!important;color:#fff!important;border-color:var(--ss-teal)!important;box-shadow:0 8px 20px rgba(0,142,151,.13)}
.ss-ui-btn--primary:hover,.ss-course-btn--primary:hover,.ss-card-cta--primary:hover{background:var(--ss-teal-dark)!important;box-shadow:0 11px 25px rgba(0,142,151,.18)}
.ss-ui-btn--inverse{background:#fff!important;border-color:#fff!important;color:var(--ss-charcoal)!important}.ss-ui-btn--inverse:hover{background:#f7f9f9!important}

/* Course cards */
.ss-course-card{border-color:#e1e8ea!important;border-radius:22px!important;box-shadow:var(--ss-shadow-sm)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.ss-course-card:hover{transform:translateY(-4px);border-color:#d3e2e4!important;box-shadow:var(--ss-shadow-md)!important}
.ss-course-card__media{height:230px!important;background:#eef3f3!important}.ss-course-card__media img{transition:transform .35s ease}.ss-course-card:hover .ss-course-card__media img{transform:scale(1.025)}
.ss-course-card__body{padding:24px!important}.ss-course-card__title{font-size:19px!important;line-height:1.35!important;letter-spacing:-.02em!important}.ss-course-card__title a{text-decoration:none}.ss-course-card__meta{margin-top:20px!important}.ss-course-card__meta>div{border:1px solid #e6ecee;border-radius:13px!important;background:#fafcfc!important;padding:12px!important}.ss-course-card__meta>div:first-child{background:var(--ss-teal-soft)!important;border-color:#d7ecee}
.ss-course-card__actions{align-items:center;gap:10px!important;padding-top:20px!important}.ss-card-cta{min-height:42px;padding:10px 13px!important;font-size:13px!important}.ss-card-cta--secondary{border-color:transparent!important;background:transparent!important;color:var(--ss-teal-dark)!important}.ss-card-cta--secondary:hover{background:var(--ss-teal-soft)!important}

/* 5–6. Palette discipline and section rhythm. */
.ss-home-section{position:relative}.ss-home-section+.ss-home-section{border-top:1px solid rgba(228,234,236,.72)}
.ss-home-section--white{background:#fff}.ss-home-section--soft{border-top:0}
.text-brand-700,.text-brand-800{color:var(--ss-teal-dark)!important}.bg-brand-700{background-color:var(--ss-teal)!important}.hover\:bg-brand-800:hover{background-color:var(--ss-teal-dark)!important}

/* 9. Premium single-course landing page. */
.ss-course-hero{background:linear-gradient(132deg,#252827 0%,#303635 58%,#123d40 100%)!important;border-bottom:3px solid var(--ss-orange)!important}
.ss-course-hero:after{opacity:.65}.ss-course-hero__grid{grid-template-columns:minmax(0,1.22fr) minmax(280px,.62fr)!important;gap:54px!important;padding-block:58px!important}
.ss-course-hero h1{max-width:760px!important;font-size:clamp(36px,3.65vw,54px)!important;line-height:1.055!important;letter-spacing:-.042em!important;text-wrap:balance}.ss-course-hero__lead{max-width:700px!important;font-size:17px!important;line-height:1.72!important;color:#d7e1e2!important}
.ss-course-metrics{gap:10px!important;margin-top:25px!important}.ss-course-metric{min-height:70px!important;padding:12px 13px!important;border-radius:15px!important;background:rgba(255,255,255,.065)!important}.ss-course-metric__icon{width:35px!important;height:35px!important;border-radius:10px!important;color:#ffc08a!important}.ss-course-metric strong{font-size:14px!important}
.ss-course-hero__actions{margin-top:25px!important}.ss-course-poster{max-width:390px!important;justify-self:end}.ss-course-poster__frame{padding:8px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:19px!important;background:#fff!important;box-shadow:0 24px 65px rgba(0,0,0,.25)!important}.ss-course-poster img{width:100%!important;max-height:440px!important;object-fit:contain!important;border-radius:12px!important;background:#fff!important}.ss-course-poster figcaption{margin-top:10px!important;font-size:11px!important;color:#bac6c8!important}
.ss-course-anchorbar{border-bottom:1px solid #e7ecee!important;background:rgba(255,255,255,.97)!important;box-shadow:0 4px 18px rgba(50,51,50,.035)}.ss-course-anchorbar a{font-size:13px!important;font-weight:750!important;color:#56656a!important}.ss-course-anchorbar a:hover{background:var(--ss-teal-soft)!important;color:var(--ss-teal-dark)!important}
.ss-course-body{background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}.ss-course-layout{gap:54px!important}.ss-course-section{padding:38px 0!important}.ss-course-section h2{font-size:clamp(27px,2.3vw,35px)!important}.ss-course-intro-card{padding:30px!important;border-color:#ddebed!important;border-radius:22px!important;background:linear-gradient(135deg,#f4fbfb,#fff 72%)!important;box-shadow:var(--ss-shadow-sm)!important}
.ss-course-detail{border-color:#e3eaec!important;border-radius:15px!important;background:#fff!important;box-shadow:0 4px 16px rgba(50,51,50,.025)}.ss-course-person{border-radius:15px!important;background:#333635!important}.ss-course-program-card{border-radius:21px!important;box-shadow:0 10px 28px rgba(245,130,31,.055)}
.ss-course-enrollment{border-radius:22px!important;background:linear-gradient(130deg,#2f3130,#263a3a)!important}.ss-course-enroll-card{border-radius:21px!important;box-shadow:var(--ss-shadow-md)!important}.ss-course-enroll-card__top{background:linear-gradient(140deg,#008e97,#086d73)!important}.ss-course-sidebar{top:96px!important}

/* 10. Professions: compact first view + opt-in expansion. */
.ss-course-professions{gap:7px!important;margin-top:20px!important}.ss-course-professions span{padding:7px 10px!important;border-color:#dbe8e9!important;border-radius:999px!important;background:#f7fbfb!important;color:#40565a!important;font-size:12px!important;font-weight:650!important}.ss-course-profession--extra{display:none!important}.ss-course-professions.is-expanded .ss-course-profession--extra{display:inline-flex!important}.ss-course-professions-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 13px;border:1px solid #cfe3e5;border-radius:10px;background:#fff;color:var(--ss-teal-dark);font-size:13px;font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease}.ss-course-professions-toggle:hover{background:var(--ss-teal-soft);border-color:#b8dadd}.ss-course-professions-toggle__icon{font-size:18px;line-height:1;transition:transform .18s ease}.ss-course-professions-toggle[aria-expanded="true"] .ss-course-professions-toggle__icon{transform:rotate(45deg)}

/* 11. FAQ integration: visually native to the theme. */
.ss-faq-section{background:#fff!important}.ss-faq-section .ecmz-faq{border:1px solid #e2e9eb!important;border-radius:24px!important;background:linear-gradient(180deg,#fbfdfd,#fff)!important;box-shadow:var(--ss-shadow-sm)!important}.ss-faq-section .ecmz-faq-card{border-color:#e4ebed!important;border-radius:14px!important;box-shadow:none!important;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ss-faq-section .ecmz-faq-card:hover{transform:translateY(-1px);border-color:#cbe1e3!important}.ss-faq-section .ecmz-faq-card[open]{border-color:#b8dadd!important;background:#fbfefe!important}.ss-faq-section .ecmz-faq-card__summary{padding-block:17px!important}.ss-faq-section .ecmz-faq-card__number{color:var(--ss-orange)!important;background:var(--ss-orange-soft)!important}.ss-faq-section .ecmz-faq__eyebrow{color:var(--ss-teal)!important}

/* Contact card */
.ss-contact-card{border-color:#e1e9eb!important;border-radius:22px!important;box-shadow:var(--ss-shadow-sm)!important}.ss-contact-card input,.ss-contact-card textarea{border-color:#d7e0e3!important;border-radius:11px!important;background:#fff!important}.ss-contact-card input:focus,.ss-contact-card textarea:focus{border-color:#72c7cc!important;box-shadow:0 0 0 4px rgba(0,142,151,.09)!important}

/* 12. Footer: quieter, corporate, useful. */
.ss-site-footer{background:#292c2b!important;border-top:4px solid var(--ss-teal)}.ss-site-footer__grid{padding-top:48px!important;padding-bottom:48px!important}.ss-footer-logo-panel{padding:9px 12px!important;border-radius:12px!important}.ss-footer-logo-panel img{width:min(220px,100%)!important}.ss-site-footer h2{font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:#fff}.ss-site-footer ul{font-size:13.5px!important}.ss-site-footer a{transition:color .16s ease}.ss-site-footer a:hover{color:#8fdce0!important}.ss-site-footer__note{max-width:260px;color:#9fb0b5!important}.ss-site-footer .border-t{border-color:rgba(255,255,255,.08)!important}.ss-site-footer .text-blue-300{color:#899da2!important}

/* 13. Subtle micro-interactions / reveal. */
.ss-reveal{opacity:0;transform:translateY(13px);transition:opacity .5s ease,transform .5s ease}.ss-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ss-reveal{opacity:1!important;transform:none!important;transition:none!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* 14. Mobile-first refinement. */
@media(max-width:1023px){.ss-home-hero__inner{min-height:auto;padding-top:68px!important;padding-bottom:72px!important}.ss-home-hero__visual{max-width:650px}.ss-course-hero__grid{grid-template-columns:1fr!important;gap:34px!important;padding-block:46px!important}.ss-course-poster{justify-self:start!important;max-width:520px!important}.ss-course-layout{gap:30px!important}.ss-course-sidebar{position:static!important}.ss-course-enroll-card{max-width:620px}}
@media(max-width:767px){.ss-home-hero h1{font-size:clamp(38px,10.7vw,50px)!important}.ss-home-hero__copy>p{font-size:17px!important}.ss-home-hero__panel{padding:10px!important;border-radius:22px!important}.ss-home-hero__panel>div{padding:17px!important}.ss-home-hero__panel .grid-cols-3{grid-template-columns:1fr!important}.ss-service-card{padding:24px!important}.ss-course-card__media{height:210px!important}.ss-course-card__actions{flex-direction:column}.ss-card-cta{width:100%}.ss-course-hero h1{font-size:clamp(31px,9vw,40px)!important}.ss-course-hero__grid{padding-block:38px!important}.ss-course-metrics{grid-template-columns:1fr!important}.ss-course-poster{width:100%;max-width:100%!important}.ss-course-poster img{max-height:400px!important}.ss-course-anchorbar__inner{gap:4px!important;overflow-x:auto!important;scrollbar-width:none}.ss-course-anchorbar__inner::-webkit-scrollbar{display:none}.ss-course-anchorbar a{white-space:nowrap}.ss-course-section{padding:31px 0!important}.ss-course-detail-grid,.ss-course-people-grid{grid-template-columns:1fr!important}.ss-course-enrollment{display:block!important;padding:24px!important}.ss-course-enrollment__actions{margin-top:20px!important}.ss-site-footer__grid{padding-top:38px!important;padding-bottom:38px!important}}
@media(max-width:520px){.ss-home-hero__inner{padding-top:52px!important;padding-bottom:58px!important}.ss-home-hero h1{font-size:clamp(34px,10.5vw,43px)!important}.ss-home-hero .inline-flex{font-size:12px!important}.ss-course-shell{width:min(100% - 24px,1180px)!important}.ss-course-mobile-cta{left:8px!important;right:8px!important;bottom:8px!important}.ss-info-dialog__panel{border-radius:18px!important}}

/* V5.4 consistency: mobile enrolment is a primary teal action. */
.ss-course-mobile-cta a{background:var(--ss-teal)!important;color:#fff!important;box-shadow:0 7px 18px rgba(0,142,151,.16)}
.ss-course-mobile-cta a:hover{background:var(--ss-teal-dark)!important}

/* Refined long-form editorial rhythm across generic WordPress content. */
.entry-content{font-size:1rem;line-height:1.78;color:#526168}
.entry-content h2{font-size:clamp(1.75rem,2.4vw,2.15rem);letter-spacing:-.03em}
.entry-content h3{font-size:clamp(1.35rem,1.9vw,1.65rem);letter-spacing:-.02em}
.entry-content p+ul,.entry-content p+ol{margin-top:1rem}

/* V5.4.1 — Enrollment CTA box fix */
.ss-course-section.ss-course-enrollment {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 210px) !important;
  align-items: center !important;
  gap: 32px !important;
  margin-top: 22px !important;
  padding: 34px 36px !important;
  border: 0 !important;
  border-radius: 22px !important;
  overflow: hidden;
  background: linear-gradient(130deg, #2f3130, #263a3a) !important;
  color: #fff !important;
  box-sizing: border-box;
}
.ss-course-section.ss-course-enrollment .ss-course-section__eyebrow {
  margin: 0 0 9px !important;
  color: #58d0d5 !important;
}
.ss-course-section.ss-course-enrollment h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(28px, 2.35vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
}
.ss-course-section.ss-course-enrollment p {
  max-width: 620px !important;
  margin: 11px 0 0 !important;
  color: #d8e0e1 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}
.ss-course-enrollment__actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.ss-course-enrollment__actions .ss-course-btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding-inline: 16px !important;
  white-space: nowrap;
  box-sizing: border-box;
}
.ss-course-section.ss-course-enrollment .ss-course-btn--outline {
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.025) !important;
  color: #fff !important;
}
.ss-course-section.ss-course-enrollment .ss-course-btn--outline:hover {
  border-color: rgba(255,255,255,.48) !important;
  background: rgba(255,255,255,.08) !important;
}
@media (max-width: 900px) {
  .ss-course-section.ss-course-enrollment {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 30px !important;
  }
  .ss-course-enrollment__actions {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 600px) {
  .ss-course-section.ss-course-enrollment {
    padding: 24px !important;
    border-radius: 18px !important;
  }
  .ss-course-section.ss-course-enrollment h2 {
    font-size: 28px !important;
  }
  .ss-course-enrollment__actions {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   Salute Sicilia V5.5 — Premium UI System
   ========================================================================== */
:root{
  --ss-shell:1280px;
  --ss-gutter:32px;
  --ss-space-1:6px;
  --ss-space-2:10px;
  --ss-space-3:16px;
  --ss-space-4:24px;
  --ss-space-5:32px;
  --ss-space-6:48px;
  --ss-space-7:72px;
  --ss-radius-sm:12px;
  --ss-radius-md:18px;
  --ss-radius-lg:26px;
  --ss-ease:cubic-bezier(.2,.7,.2,1);
}
.ss-premium-shell{width:min(var(--ss-shell),100%);margin-inline:auto;padding-inline:var(--ss-gutter);box-sizing:border-box}

/* Premium typography and vertical rhythm. */
body{font-size:17px;line-height:1.68;color:#425158}
p{max-width:72ch}
h1,h2,h3,h4{color:var(--ss-charcoal);text-wrap:balance}
.ss-home-section{position:relative}
.ss-home-section>div{position:relative;z-index:1}
.ss-home-section--white{background:#fff}
.ss-home-section--soft{background:linear-gradient(180deg,#f7faf9 0%,#fbfcfc 100%)!important}
.ss-home-medical{background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%)}
.ss-home-contact{background:linear-gradient(180deg,#f7faf9 0%,#f1f6f6 100%)!important}

/* 1 / 10 — Premium sticky header: lighter normal state, tighter on scroll. */
.ss-main-header-row{min-height:78px!important;gap:22px!important}
.ss-main-brand,.ss-main-brand .ss-main-logo-image{transition:width .28s var(--ss-ease),max-width .28s var(--ss-ease),max-height .28s var(--ss-ease)}
.ss-main-header.ss-header--scrolled{box-shadow:0 12px 38px rgba(28,42,44,.075)!important}
.ss-main-header.ss-header--scrolled .ss-main-header-row{min-height:66px!important}
.ss-main-fad{min-height:42px!important;padding:10px 16px!important;border-radius:12px!important;letter-spacing:.035em!important;box-shadow:0 8px 20px rgba(0,142,151,.12)!important}
.ss-main-nav .ss-nav>li>a{position:relative}
.ss-main-nav .sub-menu{padding:10px!important;border-radius:18px!important;border-color:#dfe8e9!important;box-shadow:0 24px 65px rgba(31,46,49,.14)!important}
.ss-main-nav .sub-menu a{padding:11px 13px!important;border-radius:11px!important;line-height:1.42!important}

/* 1 / 2 — Distinctive hero, softer gradient, controlled text measure. */
.ss-home-hero{background:linear-gradient(125deg,#282c2b 0%,#2f3432 54%,#1d4c4c 100%)!important}
.ss-home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 30%,rgba(0,142,151,.20),transparent 34%),radial-gradient(circle at 12% 92%,rgba(245,130,31,.10),transparent 28%)}
.ss-home-hero .hero-grid{opacity:.28!important;background-size:42px 42px!important}
.ss-home-hero__inner{min-height:640px;align-items:center!important;padding-block:clamp(82px,8vw,118px)!important}
.ss-home-hero__copy{max-width:690px!important}
.ss-home-hero h1{max-width:12ch!important;font-size:clamp(46px,4.65vw,68px)!important;line-height:1.015!important;letter-spacing:-.047em!important;font-weight:800!important}
.ss-home-hero__copy>p{max-width:620px!important;margin-top:25px!important;color:#d8e1e2!important;font-size:18px!important;line-height:1.72!important}
.ss-home-hero__copy>.inline-flex{border-color:rgba(255,255,255,.14)!important;background:rgba(255,255,255,.075)!important;backdrop-filter:blur(8px);font-size:12.5px!important;letter-spacing:.03em}
.ss-home-hero__panel{max-width:520px;margin-left:auto;padding:12px!important;border-radius:28px!important;border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.075)!important;box-shadow:0 32px 90px rgba(0,0,0,.24)!important}
.ss-home-hero__panel>div{padding:22px!important;border-radius:21px!important;box-shadow:0 10px 40px rgba(12,22,24,.08)}
.ss-home-hero__panel .grid-cols-3>div{min-height:122px;border:1px solid rgba(0,142,151,.08);border-radius:17px!important}
.ss-home-hero__panel .grid-cols-3>div>div:first-child{margin-bottom:22px!important}

/* 15 — Trust signals: quiet, institutional, useful. */
.ss-trust-strip{position:relative;z-index:4;margin-top:-28px;padding-bottom:10px}
.ss-trust-strip__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #e2e9ea;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(32,47,49,.09);overflow:hidden}
.ss-trust-item{display:flex;align-items:center;gap:13px;min-width:0;padding:18px 20px;border-right:1px solid #edf1f2}
.ss-trust-item:last-child{border-right:0}
.ss-trust-item__icon{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ss-teal-soft);color:var(--ss-teal)}
.ss-trust-item__icon svg{width:21px;height:21px;stroke-linecap:round;stroke-linejoin:round}
.ss-trust-item strong,.ss-trust-item small{display:block}
.ss-trust-item strong{color:#29383c;font-size:13px;line-height:1.25}
.ss-trust-item small{margin-top:3px;color:#7a898e;font-size:11.5px;line-height:1.35}

/* 2 / 6 / 16 — Section rhythm, 12-column feel and consistent spacing. */
.ss-home-section{padding-block:clamp(76px,7vw,104px)!important}
.ss-home-section .max-w-7xl,.ss-course-shell,.ss-site-footer__grid{max-width:var(--ss-shell)!important}
.ss-home-section h2{letter-spacing:-.035em!important;line-height:1.12!important}
.ss-home-section p.text-sm.font-bold.uppercase,.ss-course-section__eyebrow{font-size:11px!important;letter-spacing:.18em!important;font-weight:800!important}

/* 3 / 7 — Unified line-icon language and premium service cards. */
.ss-service-card{min-height:100%;padding:32px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#fcfdfd)!important;box-shadow:0 10px 32px rgba(38,52,54,.055)!important}
.ss-service-card::before{height:2px!important;background:linear-gradient(90deg,var(--ss-teal),var(--ss-orange))!important}
.ss-service-card:hover{transform:translateY(-5px)!important;box-shadow:0 24px 56px rgba(38,52,54,.105)!important}
.ss-service-card__icon{width:52px!important;height:52px!important;border-radius:16px!important;box-shadow:inset 0 0 0 1px rgba(0,142,151,.07)}
.ss-service-card__icon svg{stroke-linecap:round;stroke-linejoin:round}
.ss-service-card h3{margin-top:24px!important;font-size:23px!important;line-height:1.2!important}
.ss-service-card p{margin-top:14px!important;max-width:42ch;font-size:15.5px!important}
.ss-service-card>a{margin-top:auto!important;padding-top:24px!important}

/* 8 — One button system: teal primary, outlined teal secondary, orange only accents. */
.ss-ui-btn,.ss-course-btn,.ss-card-cta{min-height:46px!important;border-radius:12px!important;padding:11px 18px!important;font-size:13.5px!important;letter-spacing:-.005em;box-sizing:border-box}
.ss-ui-btn--primary,.ss-course-btn--primary,.ss-card-cta--primary{background:var(--ss-teal)!important;color:#fff!important;box-shadow:0 9px 22px rgba(0,142,151,.14)!important}
.ss-ui-btn--primary:hover,.ss-course-btn--primary:hover,.ss-card-cta--primary:hover{background:var(--ss-teal-dark)!important;box-shadow:0 13px 28px rgba(0,142,151,.19)!important}
.ss-course-btn--secondary,.ss-course-btn--outline{border:1px solid #bfcfd1!important;background:#fff!important;color:var(--ss-teal-dark)!important}
.ss-course-btn--secondary:hover,.ss-course-btn--outline:hover{border-color:#8fbdc0!important;background:var(--ss-teal-soft)!important}

/* 4 — Course cards: editorial/magazine composition. */
.ss-course-card{position:relative;border-color:#e0e7e9!important;border-radius:24px!important;background:#fff;box-shadow:0 10px 30px rgba(35,48,50,.055)!important;transition:transform .25s var(--ss-ease),box-shadow .25s var(--ss-ease),border-color .25s var(--ss-ease)!important}
.ss-course-card:hover{transform:translateY(-6px);border-color:#cfdee0!important;box-shadow:0 26px 60px rgba(35,48,50,.115)!important}
.ss-course-card__media{height:250px!important;background:#eef3f3!important}
.ss-course-card__media img{transition:transform .42s var(--ss-ease),filter .42s var(--ss-ease)!important}
.ss-course-card:hover .ss-course-card__media img{transform:scale(1.035)!important;filter:saturate(1.02)}
.ss-course-card__veil{position:absolute;inset:45% 0 0;background:linear-gradient(to top,rgba(20,30,31,.56),transparent);pointer-events:none}
.ss-course-card__media .absolute.inset-x-0.bottom-0{z-index:2;padding:18px!important}
.ss-course-card__media .absolute.inset-x-0.bottom-0 span{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.ss-course-card__body{padding:26px!important}
.ss-course-card__body>p:first-child{color:var(--ss-teal)!important;font-size:10.5px!important;letter-spacing:.15em!important}
.ss-course-card__title{display:-webkit-box;min-height:78px;margin-top:9px!important;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:19.5px!important;line-height:1.34!important}
.ss-course-card__meta{margin-top:20px!important;gap:8px!important;padding-top:17px;border-top:1px solid #edf1f2}
.ss-course-card__meta>div{padding:10px 0!important;border:0!important;background:transparent!important}
.ss-course-card__meta>div:first-child{background:transparent!important;border:0!important}
.ss-course-card__meta span{font-size:11px!important;color:#839096!important}
.ss-course-card__meta strong{display:block;margin-top:2px;color:#314044;font-size:15px}
.ss-course-card__actions{gap:12px!important;padding-top:20px!important;border-top:1px solid #edf1f2}
.ss-course-card__actions .ss-card-cta--primary{flex:0 0 auto;min-width:112px}
.ss-card-link{justify-content:flex-end!important;min-height:auto!important;padding:8px 0!important;border:0!important;background:transparent!important;color:var(--ss-teal-dark)!important;box-shadow:none!important;text-align:right!important}
.ss-card-link:hover{transform:translateX(2px)!important;background:transparent!important;color:var(--ss-orange-dark)!important}

/* 5 — Premium course hero and product-like enrolment card. */
.ss-course-hero{background:linear-gradient(125deg,#292d2c 0%,#303635 57%,#164c4c 100%)!important}
.ss-course-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 79% 25%,rgba(0,142,151,.20),transparent 31%)}
.ss-course-hero__grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.18fr) minmax(300px,390px)!important;gap:clamp(42px,5vw,70px)!important;padding-block:clamp(54px,5vw,72px)!important}
.ss-course-hero h1{max-width:17ch!important;font-size:clamp(38px,3.55vw,56px)!important;line-height:1.035!important;letter-spacing:-.045em!important}
.ss-course-hero__lead{max-width:680px!important;color:#d5dedf!important;line-height:1.72!important}
.ss-course-poster{width:min(100%,390px)!important;max-width:390px!important}
.ss-course-poster__frame{padding:9px!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 30px 70px rgba(0,0,0,.22)!important}
.ss-course-poster img{max-height:430px!important;border-radius:17px!important}
.ss-course-metric{border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.065)!important;backdrop-filter:blur(8px)}
.ss-course-anchorbar{border-color:#e6ecee!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)}
.ss-course-anchorbar a{border-radius:9px!important;font-size:12.5px!important;transition:background .16s ease,color .16s ease}.ss-course-anchorbar a:hover{background:var(--ss-teal-soft);color:var(--ss-teal-dark)}
.ss-course-layout{grid-template-columns:minmax(0,1fr) 340px!important;gap:52px!important}
.ss-course-sidebar{top:90px!important}
.ss-course-enroll-card{border:1px solid #dce5e7!important;border-radius:24px!important;box-shadow:0 26px 64px rgba(33,48,50,.105)!important}
.ss-course-enroll-card__top{padding:26px!important;background:linear-gradient(145deg,#008e97,#087078)!important}
.ss-course-enroll-card__top span{font-size:11px!important;letter-spacing:.04em;text-transform:uppercase}
.ss-course-enroll-card__top strong{font-size:34px!important;letter-spacing:-.035em}
.ss-course-enroll-card__facts{padding:18px 24px 15px!important}
.ss-course-enroll-card__facts>div{padding:11px 0!important}.ss-course-enroll-card__facts span{font-size:11.5px!important}.ss-course-enroll-card__facts strong{font-size:12.5px!important}
.ss-course-provider-trust{background:#f8fbfb!important}

/* 7 / 13 — Consistent line icons in event facts. */
.ss-course-detail-grid{gap:12px!important}
.ss-course-detail{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:84px;padding:15px 16px!important;border-radius:16px!important;background:#fff!important;box-shadow:0 6px 20px rgba(38,52,54,.035)!important}
.ss-course-detail__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ss-teal-soft);color:var(--ss-teal)}
.ss-course-detail__icon svg{width:21px;height:21px;stroke-linecap:round;stroke-linejoin:round}
.ss-course-detail__content>span,.ss-course-detail__content>strong{display:block!important}
.ss-course-detail__content>span{color:#839096!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:.08em}
.ss-course-detail__content>strong{margin-top:3px;color:#314044!important;font-size:13.5px!important;line-height:1.4}

/* 6 — Elegant program document callout. */
.ss-course-program-card{grid-template-columns:56px minmax(0,1fr) auto!important;gap:20px!important;padding:25px 27px!important;border:1px solid #f4d6b9!important;border-radius:22px!important;background:linear-gradient(135deg,#fffaf5 0%,#fff 64%)!important;box-shadow:0 12px 34px rgba(155,85,25,.045)!important}
.ss-course-program-card__icon{width:50px!important;height:50px!important;border-radius:15px!important;background:var(--ss-orange-soft)!important;border:1px solid #ffd9b8;color:var(--ss-orange-dark)!important;font-size:11px!important}
.ss-course-program-card h2{margin:4px 0 0!important;font-size:clamp(24px,2.1vw,30px)!important}.ss-course-program-card p{max-width:620px!important;margin-top:7px!important;font-size:14.5px!important}
.ss-course-program-card>.ss-course-btn{min-width:130px;background:#fff!important}

/* 7 — Professions as compact editorial tags with disclosure. */
.ss-course-professions{gap:7px!important}
.ss-course-professions span{padding:7px 10px!important;border:1px solid #dbe9ea!important;border-radius:999px!important;background:#f4fbfb!important;color:#35494c!important;font-size:11.5px!important;font-weight:700!important;box-shadow:none!important}
.ss-course-professions-toggle{margin-top:16px!important;padding:8px 12px!important;border:1px solid #cbdcde!important;border-radius:10px!important;background:#fff!important;color:var(--ss-teal-dark)!important;font-size:12px!important;font-weight:800!important}
.ss-course-profession-count{border-color:#dbe9ea!important;background:#f6fbfb!important;color:#607579!important}

/* 8 — Refined visual separators / section cadence. */
.ss-course-section{position:relative;border-color:#e8edef!important}
.ss-course-section:not(.ss-course-enrollment)::before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--ss-teal),rgba(0,142,151,0))}
.ss-course-section:first-child::before{display:none}
.ss-course-section__heading h2,.ss-course-section-heading h2,.ss-course-section>h2{letter-spacing:-.035em!important}

/* 9 — FAQ becomes a native premium module. */
.ss-faq-section{background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%)!important}
.ss-faq-section .ecmz-faq{padding:clamp(26px,4vw,48px)!important;border:1px solid #e2e9eb!important;border-radius:26px!important;background:#fff!important;box-shadow:0 18px 50px rgba(38,52,54,.065)!important}
.ss-faq-section .ecmz-faq__grid{gap:10px!important}
.ss-faq-section .ecmz-faq-card{border:1px solid #e5ebed!important;border-radius:16px!important;background:#fff!important;overflow:hidden;transition:transform .18s var(--ss-ease),border-color .18s ease,box-shadow .18s ease!important}
.ss-faq-section .ecmz-faq-card:hover{transform:translateY(-1px)!important;border-color:#c8dfe1!important;box-shadow:0 9px 24px rgba(38,52,54,.045)!important}
.ss-faq-section .ecmz-faq-card[open]{border-color:#aed4d7!important;background:#fbfefe!important;box-shadow:0 10px 26px rgba(0,142,151,.05)!important}
.ss-faq-section .ecmz-faq-card__summary{padding:18px 20px!important}
.ss-faq-section .ecmz-faq-card__number{width:34px!important;height:34px!important;border-radius:11px!important;background:var(--ss-orange-soft)!important;color:var(--ss-orange-dark)!important;font-size:11px!important}
.ss-faq-section .ecmz-faq-card__question{font-size:15.5px!important;line-height:1.42!important}.ss-faq-section .ecmz-faq-card__excerpt{margin-top:4px!important;font-size:12.5px!important}
.ss-faq-section .ecmz-faq-card__answer-inner{padding:0 20px 21px 74px!important;color:#526168!important;line-height:1.72!important}

/* 11 — Corporate footer with a premium conversion band. */
.ss-site-footer{border-top:0!important;background:#252827!important}
.ss-footer-cta-wrap{padding:62px 0 46px;background:#f5f8f8}
.ss-footer-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding-top:34px;padding-bottom:34px;border-radius:24px;background:linear-gradient(120deg,#2d3230 0%,#283332 54%,#166062 100%);color:#fff;box-shadow:0 -4px 30px rgba(30,45,47,.05)}
.ss-footer-cta__eyebrow{display:block;margin-bottom:7px;color:#85d9dd;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ss-footer-cta h2{max-width:690px;margin:0;color:#fff;font-size:clamp(25px,2.4vw,34px)!important;line-height:1.16;letter-spacing:-.035em;text-transform:none!important}
.ss-footer-cta p{margin:8px 0 0;color:#c9d5d6;font-size:14px}
.ss-footer-cta__actions{display:flex;align-items:center;gap:10px}.ss-footer-cta__actions button{border:0;cursor:pointer}
.ss-site-footer__grid{padding-top:52px!important;padding-bottom:48px!important}
.ss-footer-brand-copy{max-width:34ch!important;color:#b7c4c7!important}.ss-footer-provider{color:#d7e0e1!important}.ss-footer-provider strong{color:#fff}
.ss-site-footer h2{font-size:11px!important;letter-spacing:.14em!important}.ss-site-footer ul{font-size:13px!important}.ss-site-footer li+li{margin-top:9px!important}
.ss-site-footer .border-t>div{padding-block:17px!important}

/* 12 — Microinteractions: consistent, quiet and accessible. */
.ss-service-card,.ss-course-card,.ss-course-enroll-card,.ss-course-program-card,.ss-contact-card{will-change:transform}
.ss-service-card a,.ss-course-card a,.ss-site-footer a{transition:color .17s ease,transform .17s var(--ss-ease),background .17s ease,border-color .17s ease!important}
.ss-contact-card{border-color:#e0e8ea!important;border-radius:22px!important;box-shadow:0 14px 42px rgba(35,49,51,.065)!important}
.ss-contact-card input,.ss-contact-card textarea{border-color:#d3dfe1!important;border-radius:12px!important;background:#fff!important}
.ss-contact-card input:focus,.ss-contact-card textarea:focus{border-color:var(--ss-teal)!important;box-shadow:0 0 0 4px rgba(0,142,151,.09)!important}

/* 14 / 16 — Premium mobile, touch targets, responsive typography and layout. */
@media(max-width:1180px){
  :root{--ss-gutter:24px}
  .ss-trust-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-trust-item:nth-child(2){border-right:0}.ss-trust-item:nth-child(-n+2){border-bottom:1px solid #edf1f2}
  .ss-course-layout{grid-template-columns:minmax(0,1fr) 315px!important;gap:34px!important}
}
@media(max-width:1023px){
  .ss-home-hero__inner{grid-template-columns:1fr!important;gap:44px!important;padding-block:66px 78px!important}.ss-home-hero h1{max-width:14ch!important}.ss-home-hero__panel{margin-left:0!important;max-width:650px!important}
  .ss-course-layout{grid-template-columns:1fr!important}.ss-course-sidebar{position:static!important}.ss-course-enroll-card{max-width:620px}
  .ss-footer-cta{grid-template-columns:1fr!important}.ss-footer-cta__actions{justify-content:flex-start}
}
@media(max-width:767px){
  :root{--ss-gutter:18px}
  body{font-size:16px}.ss-home-section{padding-block:66px!important}.ss-home-hero__inner{padding-block:52px 68px!important}.ss-home-hero h1{font-size:clamp(36px,10.2vw,48px)!important;max-width:13ch!important}.ss-home-hero__copy>p{font-size:16.5px!important}.ss-home-hero__panel .grid-cols-3{grid-template-columns:1fr!important}.ss-home-hero__panel .grid-cols-3>div{min-height:auto!important}.ss-trust-strip{margin-top:-22px}.ss-trust-strip__grid{grid-template-columns:1fr}.ss-trust-item{border-right:0!important;border-bottom:1px solid #edf1f2!important;padding:15px 17px}.ss-trust-item:last-child{border-bottom:0!important}
  .ss-service-card{padding:25px!important}.ss-course-card__media{height:218px!important}.ss-course-card__title{min-height:auto}.ss-course-card__actions{align-items:stretch!important;flex-direction:column!important}.ss-course-card__actions .ss-card-cta--primary{width:100%;min-width:0}.ss-card-link{justify-content:center!important;padding-top:10px!important}
  .ss-course-hero__grid{gap:30px!important;padding-block:38px!important}.ss-course-hero h1{font-size:clamp(31px,9vw,40px)!important;max-width:16ch!important}.ss-course-poster{width:100%!important;max-width:100%!important}.ss-course-metrics{grid-template-columns:1fr!important}.ss-course-detail-grid{grid-template-columns:1fr!important}.ss-course-detail{min-height:76px}.ss-course-program-card{grid-template-columns:48px 1fr!important;padding:21px!important}.ss-course-program-card>.ss-course-btn{grid-column:1/-1;width:100%}.ss-course-section.ss-course-enrollment{padding:25px!important}.ss-course-enrollment__actions{grid-template-columns:1fr!important}
  .ss-faq-section .ecmz-faq{padding:22px!important;border-radius:20px!important}.ss-faq-section .ecmz-faq-card__answer-inner{padding-left:20px!important}
  .ss-footer-cta-wrap{padding:44px 0 34px}.ss-footer-cta{padding:27px 22px;border-radius:20px}.ss-footer-cta__actions{flex-direction:column;align-items:stretch}.ss-footer-cta__actions .ss-ui-btn{width:100%}.ss-site-footer__grid{padding-top:38px!important;padding-bottom:38px!important}
}
@media(max-width:520px){
  :root{--ss-gutter:14px}.ss-home-hero h1{font-size:clamp(34px,10.5vw,42px)!important}.ss-home-hero__copy .sm\\:flex-row{gap:9px!important}.ss-home-hero__copy .ss-ui-btn{width:100%}.ss-course-shell{width:min(100% - 24px,1180px)!important}.ss-course-hero h1{font-size:32px!important}.ss-course-enroll-card__top strong{font-size:31px!important}.ss-course-mobile-cta{left:8px!important;right:8px!important;bottom:8px!important}
}

/* V5.5 specificity / shell finishing touches. */
.ss-course-detail > .ss-course-detail__icon{display:grid!important;color:var(--ss-teal)!important;font-size:inherit!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important}
.ss-trust-strip__grid{width:min(calc(100% - 64px),1216px)!important;padding-inline:0!important}
@media(max-width:767px){.ss-trust-strip__grid{width:calc(100% - 28px)!important}}


/* V5.5.1 — visual corrections */
.ss-brand-stripe{background:#008e97!important}
.ss-footer-cta-wrap{padding-bottom:46px!important}
.ss-footer-cta{border-radius:24px!important}
/* Keep only the dropdown chevron; no decorative green dots/underlines. */
.ss-main-nav .ss-nav>li:not(.menu-item-has-children)>a::after{content:none!important;display:none!important}
.ss-main-nav .ss-nav>li.menu-item-has-children>a::after{
  position:static!important;
  display:block!important;
  width:6px!important;
  height:6px!important;
  margin: -3px 0 0 1px!important;
  border:0!important;
  border-right:1.5px solid currentColor!important;
  border-bottom:1.5px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  transform:rotate(45deg)!important;
  transition:transform .18s ease!important;
}
.ss-main-nav .ss-nav>li.menu-item-has-children:hover>a::after,
.ss-main-nav .ss-nav>li.menu-item-has-children:focus-within>a::after{transform:translateY(2px) rotate(225deg)!important}
@media(max-width:767px){.ss-footer-cta-wrap{padding-bottom:34px!important}.ss-footer-cta{border-radius:20px!important}}

/* Salute Sicilia V5.6 — conversion & usability */
.ss-course-program-list{display:grid;gap:.85rem;margin:1.35rem 0 1.5rem;padding:0;list-style:none}
.ss-course-program-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:center;padding:1rem 1.15rem;border:1px solid #dbe5e7;border-radius:1rem;background:#fff;box-shadow:0 8px 24px rgba(50,51,50,.05)}
.ss-course-program-item__number{display:grid;place-items:center;width:42px;height:42px;border-radius:.85rem;background:#eefafa;color:#007982;font-weight:800;font-size:.8rem;letter-spacing:.08em}
.ss-course-program-item__copy{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}
.ss-course-program-item__copy strong{color:#323332;font-size:1rem;line-height:1.45}
.ss-course-program-item__copy small{flex:0 0 auto;color:#64748b;font-weight:700}
.ss-course-program-card h3{margin:0;color:#323332;font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:800}
.ss-course-btn--whatsapp{background:#fff;color:#087f5b;border:1px solid #a7f3d0}
.ss-course-btn--whatsapp:hover{background:#ecfdf5;color:#065f46}
.ss-course-whatsapp-link{display:block;margin-top:.8rem;text-align:center;color:#087f5b;font-size:.85rem;font-weight:800;text-decoration:none}
.ss-course-whatsapp-link:hover{text-decoration:underline}
.ss-related-courses{padding:4.5rem 0;background:linear-gradient(180deg,#f8fbfb 0,#fff 100%);border-top:1px solid #e7eeee}
.ss-related-courses__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}
.ss-related-courses__heading h2{margin:.25rem 0 0;color:#323332;font-family:Manrope,sans-serif;font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:800;letter-spacing:-.035em}
.ss-related-courses__all{color:#007982;font-weight:800;text-decoration:none;white-space:nowrap}
.ss-related-courses__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.ss-info-form select{width:100%;border:1px solid #cbd5e1;border-radius:.85rem;background:#fff;padding:.8rem .95rem;color:#0f172a;outline:none;transition:border-color .2s,box-shadow .2s}
.ss-info-form select:focus{border-color:#008e97;box-shadow:0 0 0 4px rgba(0,142,151,.12)}
.ss-info-form__callback{display:flex;align-items:flex-end;padding-bottom:.1rem}
.ss-info-form__callback label{display:flex!important;align-items:center;gap:.65rem;margin:0!important;padding:.8rem .95rem;width:100%;min-height:48px;border:1px solid #dbe5e7;border-radius:.85rem;background:#f8fbfb;cursor:pointer}
.ss-info-form__callback input{width:1rem;height:1rem;accent-color:#008e97}
.ss-course-status--in-scadenza,.ss-course-status.is-soon{background:#fff7ed!important;color:#b45309!important;border-color:#fed7aa!important}
@media(max-width:980px){.ss-related-courses__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ss-course-program-item__copy{align-items:flex-start;flex-direction:column;gap:.35rem}.ss-related-courses{padding:3rem 0}.ss-related-courses__heading{align-items:flex-start;flex-direction:column;gap:.65rem}.ss-related-courses__grid{grid-template-columns:1fr}}

/* =========================================================
   Salute Sicilia V5.7 — Performance + SEO + Accessibility
   ========================================================= */
:root{
  --ss-font-sans: Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ss-font-display: Manrope,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body,button,input,select,textarea{font-family:var(--ss-font-sans)!important}
h1,h2,h3,h4,h5,h6,.font-display,.ss-course-hero h1,.ss-course-section h2,.ss-course-enroll-card__top strong,.ss-info-dialog__intro h2,.ss-course-program-card h3,.ss-related-courses__heading h2{font-family:var(--ss-font-display)!important}

/* Keyboard accessibility */
.ss-skip-link{
  position:fixed;z-index:100000;top:8px;left:12px;
  transform:translateY(-180%);padding:.8rem 1rem;border-radius:.7rem;
  background:#fff;color:#006b72;font-weight:800;text-decoration:none;
  box-shadow:0 10px 30px rgba(15,23,42,.22);transition:transform .15s ease;
}
.ss-skip-link:focus{transform:translateY(0);outline:3px solid #f5821f;outline-offset:2px}
#main-content{scroll-margin-top:110px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(0,142,151,.42)!important;outline-offset:3px!important;
}

/* Accessible mobile submenu: keep parent link usable and add a dedicated toggle. */
.ss-mobile-nav>.menu-item-has-children{position:relative;padding-right:3rem}
.ss-mobile-nav>.menu-item-has-children>.sub-menu{margin-right:-3rem}
.ss-submenu-toggle{
  position:absolute;right:.35rem;top:.35rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;
  border:1px solid #dbe5e7;border-radius:.7rem;background:#fff;color:#334155;cursor:pointer;
}
.ss-submenu-toggle span{display:block;font-size:1.15rem;line-height:1;transition:transform .18s ease}
.ss-submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.ss-submenu-toggle:hover{background:#eefafa;color:#007982}

/* Improve low-vision / Windows High Contrast behavior. */
@media (forced-colors:active){
  .ss-ui-btn,.ss-course-btn,.ss-card-cta,.ss-main-fad,.ss-mobile-fad{border:1px solid ButtonText}
  .ss-course-badge,.ss-course-status{border:1px solid CanvasText}
}

/* Render deep below-the-fold areas only as they approach the viewport. */
@supports (content-visibility:auto){
  .ss-home-section:nth-of-type(n+4),.ss-faq-section,.ss-related-courses,.ss-site-footer{
    content-visibility:auto;contain-intrinsic-size:auto 760px;
  }
}

/* Ensure external-image cards reserve stable geometry and avoid CLS. */
.ss-course-card__media{aspect-ratio:900/620;height:auto!important;min-height:13rem}
.ss-course-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.ss-course-poster__frame{aspect-ratio:3/4}
.ss-course-poster__frame img{display:block;width:100%;height:100%;object-fit:contain}

/* Dialog accessibility: prevent hidden page scroll while native dialog is open. */
body:has(.ss-info-dialog[open]){overflow:hidden}

/* Reduce motion remains authoritative over all premium microinteractions. */
@media (prefers-reduced-motion:reduce){
  .ss-submenu-toggle span{transition:none!important}
}

/* WCAG target sizing for primary interactive controls. */
.ss-main-nav .ss-nav>li>a,.ss-main-toggle,.ss-main-fad,.ss-mobile-fad,.ss-submenu-toggle,.ss-info-dialog__close{
  min-height:44px;
}
.ss-main-nav .ss-nav>li>a{display:flex;align-items:center}

/* --------------------------------------------------------------
   V5.8 – Homepage hero redesign (preview-aligned)
-------------------------------------------------------------- */
.ss-home-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 16%, rgba(114, 180, 142, .28), transparent 17%),
    radial-gradient(circle at 72% 56%, rgba(0, 142, 151, .20), transparent 24%),
    linear-gradient(115deg, #132629 0%, #152326 34%, #15343b 72%, #145f67 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ss-home-hero__aurora,
.ss-home-hero__gridline{
  position:absolute; inset:0; pointer-events:none;
}
.ss-home-hero__aurora{
  background:
    radial-gradient(circle at 15% 92%, rgba(245,130,31,.12), transparent 20%),
    radial-gradient(circle at 86% 52%, rgba(0,142,151,.20), transparent 30%);
}
.ss-home-hero__gridline{
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.95));
}
.ss-home-hero__inner{
  position:relative; z-index:1; min-height:610px;
  display:grid; grid-template-columns:minmax(0, 1.02fr) minmax(420px, .98fr);
  align-items:center; gap:clamp(2rem, 3vw, 3rem);
  padding-top:clamp(4.75rem, 8vw, 6.8rem);
  padding-bottom:clamp(4.9rem, 8vw, 6.8rem);
}
.ss-home-hero__copy{max-width:640px; color:#fff;}
.ss-home-hero__eyebrow{
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.82rem 1.15rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08); backdrop-filter:blur(9px);
  color:#fff2db; font-size:.96rem; font-weight:700; line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.ss-home-hero__eyebrow-dot{width:.65rem;height:.65rem;border-radius:999px;background:#f6b25d;box-shadow:0 0 0 6px rgba(245,130,31,.14)}
.ss-home-hero__title{
  margin:1.65rem 0 0; color:#fff !important;
  font-family:var(--font-display, inherit);
  font-size:clamp(3rem, 5vw, 5.3rem);
  line-height:.99; letter-spacing:-.052em; font-weight:800;
  max-width:10.8ch; text-wrap:balance;
  text-shadow:0 10px 35px rgba(0,0,0,.18);
}
.ss-home-hero__title-accent{
  color:#56dbe4; display:inline-block;
  text-shadow:0 10px 35px rgba(0,142,151,.18);
}
.ss-home-hero__lead{
  margin-top:1.7rem; max-width:36rem;
  color:#dce7ea !important; font-size:1.34rem; line-height:1.58;
}
.ss-home-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.ss-home-hero .ss-ui-btn{min-width:12.8rem;padding:.95rem 1.35rem !important;font-size:1rem !important}
.ss-home-hero .ss-ui-btn--primary{background:#12bac5 !important;border-color:#12bac5 !important;color:#fff !important;box-shadow:0 16px 36px rgba(18,186,197,.22) !important}
.ss-home-hero .ss-ui-btn--primary:hover{background:#0fa5ae !important;border-color:#0fa5ae !important}
.ss-ui-btn--ghost{background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,.42) !important;box-shadow:none !important}
.ss-ui-btn--ghost:hover{background:rgba(255,255,255,.08) !important;border-color:rgba(255,255,255,.56) !important}
.ss-home-hero__visual{position:relative; min-height:540px;}
.ss-home-hero__quote{
  position:absolute; top:1.8rem; right:0; z-index:3;
  width:min(12rem, 36vw); color:#f4f9fa; font-size:1rem; line-height:1.5;
  text-align:left;
}
.ss-home-hero__quote::after{content:"";display:block;width:3.4rem;height:2px;margin-top:1rem;background:rgba(255,255,255,.85);border-radius:999px}
.ss-home-hero__showcase{position:relative; min-height:540px; padding-top:1rem;}
.ss-home-hero__figure-stage{
  position:absolute; inset:0 0 2.2rem 5%; border-radius:2.4rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 74% 18%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(140deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.12) 48%, rgba(255,255,255,.06) 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 70px rgba(0,0,0,.22);
}
.ss-home-hero__figure-stage::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(16,22,27,.50) 0%, rgba(16,22,27,.18) 44%, rgba(16,22,27,.05) 100%);
}
.ss-home-hero__figure-stage::after{
  content:""; position:absolute; inset:auto -18% -24% auto; width:84%; aspect-ratio:1 / 1;
  border-radius:50%; background:radial-gradient(circle at 40% 40%, rgba(255,255,255,.08), rgba(255,255,255,.03) 55%, transparent 56%);
  border:1px solid rgba(255,255,255,.08);
}
.ss-home-hero__figure{
  position:absolute; bottom:0; border-radius:999px 999px 0 0;
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.18));
}
.ss-home-hero__figure::before,
.ss-home-hero__figure::after{content:""; position:absolute; left:50%; transform:translateX(-50%);}
.ss-home-hero__figure::before{top:-5.4rem; width:6.8rem; height:6.8rem; border-radius:50%;}
.ss-home-hero__figure::after{bottom:0; width:100%; height:82%; border-radius:54% 54% 0 0 / 42% 42% 0 0;}
.ss-home-hero__figure--back{right:30%; width:13.6rem; height:15rem; opacity:.9}
.ss-home-hero__figure--back::before{background:linear-gradient(180deg,#cdb7a6 0%,#b29a87 100%)}
.ss-home-hero__figure--back::after{background:linear-gradient(180deg,#e8eef1 0%,#dce4e8 56%,#cfd7dc 100%)}
.ss-home-hero__figure--front{right:7%; width:16.4rem; height:19.7rem; z-index:1}
.ss-home-hero__figure--front::before{background:linear-gradient(180deg,#e2c4ad 0%,#cda88f 100%)}
.ss-home-hero__figure--front::after{background:linear-gradient(180deg,#f7fafb 0%,#eaf0f4 60%,#dfe7ea 100%)}
.ss-home-hero__feature-card{
  position:absolute; left:0; right:1.2rem; bottom:0; z-index:2;
  padding:1rem; border-radius:2rem;
  background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.65);
  box-shadow:0 24px 68px rgba(15,35,37,.23); backdrop-filter:blur(10px);
}
.ss-home-hero__feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ss-home-hero__feature{
  min-height:8.6rem; padding:1.15rem 1.05rem; border-radius:1.35rem; border:1px solid rgba(0,0,0,.05);
  display:flex; flex-direction:column; justify-content:flex-start; gap:.45rem;
}
.ss-home-hero__feature-icon{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;color:#fff;margin-bottom:.45rem}
.ss-home-hero__feature-icon svg{width:1.32rem;height:1.32rem}
.ss-home-hero__feature strong{font-size:1.02rem;letter-spacing:-.015em}
.ss-home-hero__feature span{font-size:.96rem;line-height:1.45;color:#425567}
.ss-home-hero__feature--formazione{background:#edf9fb}.ss-home-hero__feature--formazione strong{color:#007f88}.ss-home-hero__feature--formazione .ss-home-hero__feature-icon{background:#008e97}
.ss-home-hero__feature--comunicazione{background:#fff3e8}.ss-home-hero__feature--comunicazione strong{color:#c2650f}.ss-home-hero__feature--comunicazione .ss-home-hero__feature-icon{background:#f5821f}
.ss-home-hero__feature--tecnologia{background:#eef4f7}.ss-home-hero__feature--tecnologia strong{color:#1f4a67}.ss-home-hero__feature--tecnologia .ss-home-hero__feature-icon{background:#274f68}
.ss-home-hero__card-bottom{
  margin-top:1rem; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(14rem,.9fr);
  gap:1rem; align-items:stretch; border-radius:1.35rem; overflow:hidden;
  background:linear-gradient(120deg,#163236 0%,#1d3034 46%,#0f3f45 100%); color:#fff;
}
.ss-home-hero__card-copy{padding:1.35rem 1.45rem}
.ss-home-hero__card-kicker{margin:0 0 .55rem;color:#ffcf96;font-size:.96rem;font-weight:700}
.ss-home-hero__card-copy h2{margin:0;color:#fff;font-size:2rem;line-height:1.17;letter-spacing:-.04em}
.ss-home-hero__card-list{list-style:none;margin:0;padding:1.35rem 1.45rem;border-left:1px solid rgba(255,255,255,.15);display:grid;gap:.95rem;align-content:center}
.ss-home-hero__card-list li{position:relative;padding-left:1.4rem;color:#eff7f8;font-size:1rem;line-height:1.45}
.ss-home-hero__card-list li::before{content:"";position:absolute;left:0;top:.48rem;width:.58rem;height:.58rem;border-radius:50%;background:#5dd6df;box-shadow:0 0 0 4px rgba(93,214,223,.15)}
.ss-trust-strip{position:relative;z-index:3;margin-top:-1.55rem;padding-bottom:.6rem}
.ss-trust-strip__grid{background:rgba(255,255,255,.985)!important}

@media (max-width: 1279px){
  .ss-home-hero__inner{grid-template-columns:minmax(0,.96fr) minmax(360px, .94fr);gap:2rem}
  .ss-home-hero__title{font-size:clamp(2.85rem,4.5vw,4.7rem)}
  .ss-home-hero__lead{font-size:1.18rem}
  .ss-home-hero__quote{width:11rem;font-size:.95rem}
  .ss-home-hero__feature-card{right:0}
  .ss-home-hero__card-copy h2{font-size:1.72rem}
}
@media (max-width: 1099px){
  .ss-home-hero__inner{grid-template-columns:1fr;gap:2.3rem;min-height:auto}
  .ss-home-hero__copy{max-width:100%}
  .ss-home-hero__title{max-width:12.5ch}
  .ss-home-hero__visual{min-height:32rem}
  .ss-home-hero__quote{right:1rem;top:0}
  .ss-home-hero__showcase{padding-top:3rem}
}
@media (max-width: 767px){
  .ss-home-hero__inner{padding-top:3.8rem;padding-bottom:4.5rem}
  .ss-home-hero__eyebrow{font-size:.84rem;padding:.72rem 1rem}
  .ss-home-hero__title{font-size:clamp(2.6rem,11vw,4rem);max-width:12ch}
  .ss-home-hero__lead{font-size:1.06rem;line-height:1.6}
  .ss-home-hero__actions{flex-direction:column}
  .ss-home-hero .ss-ui-btn{width:100%}
  .ss-home-hero__visual{min-height:31rem}
  .ss-home-hero__quote{position:static;width:auto;margin-bottom:1rem}
  .ss-home-hero__quote br{display:none}
  .ss-home-hero__showcase{padding-top:0;min-height:29rem}
  .ss-home-hero__figure-stage{inset:0 0 5.7rem 0}
  .ss-home-hero__figure--back{right:38%;width:9.4rem;height:11.4rem}
  .ss-home-hero__figure--front{right:6%;width:11.1rem;height:13.5rem}
  .ss-home-hero__figure::before{top:-3.8rem;width:4.9rem;height:4.9rem}
  .ss-home-hero__feature-card{left:0;right:0;padding:.8rem;border-radius:1.45rem}
  .ss-home-hero__feature-grid{grid-template-columns:1fr;gap:.8rem}
  .ss-home-hero__feature{min-height:auto;padding:1rem 1rem .95rem}
  .ss-home-hero__card-bottom{grid-template-columns:1fr}
  .ss-home-hero__card-list{border-left:0;border-top:1px solid rgba(255,255,255,.15)}
  .ss-home-hero__card-copy h2{font-size:1.5rem}
  .ss-trust-strip{margin-top:-1rem}
}

/* --------------------------------------------------------------
   V5.9 – Pixel-oriented homepage alignment to approved mockup
-------------------------------------------------------------- */
.ss-utility-bar{background:#0a3f43;color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}
.ss-utility-bar__inner{width:min(1376px,100%);height:42px;margin-inline:auto;padding-inline:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;box-sizing:border-box}
.ss-utility-bar a{color:#fff;text-decoration:none;font-size:13px;font-weight:500}
.ss-utility-bar__mail{display:inline-flex;align-items:center;gap:.65rem;justify-self:start}
.ss-utility-bar__mail svg{width:19px;height:19px}
.ss-utility-bar__provider{font-size:13px;font-weight:500;justify-self:center}
.ss-utility-bar__right{display:flex;align-items:center;justify-content:flex-end;gap:1.35rem;justify-self:end}
.ss-utility-bar__social{display:flex;gap:.95rem;align-items:center}
.ss-utility-bar__social a{font-weight:800;font-size:15px}
.ss-utility-bar__search{display:grid;place-items:center;width:24px;height:24px}
.ss-utility-bar__search svg{width:20px;height:20px}

.ss-main-header{position:sticky!important;top:0!important;background:#fff!important;border-bottom:1px solid #edf1f2!important;box-shadow:none!important;backdrop-filter:none!important}
body.admin-bar .ss-main-header{top:32px!important}
.ss-main-header-row{width:min(1376px,100%)!important;height:81px!important;min-height:81px!important;margin-inline:auto!important;padding:0!important;display:grid!important;grid-template-columns:235px minmax(0,1fr) 214px!important;align-items:center!important;gap:2rem!important}
.ss-main-brand{width:235px!important;min-width:235px!important;max-width:235px!important;overflow:visible!important}
.ss-main-brand .ss-main-logo-image{width:214px!important;max-width:214px!important;max-height:50px!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.ss-main-nav{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;overflow:visible!important}
.ss-main-nav .ss-nav{justify-content:center!important;gap:2rem!important}
.ss-main-nav .ss-nav>li>a{min-height:81px!important;padding:0!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;color:#10252b!important;text-transform:uppercase!important;position:relative!important}
.ss-main-nav .ss-nav>li>a:hover,.ss-main-nav .ss-nav>.current-menu-item>a,.ss-main-nav .ss-nav>.current-menu-ancestor>a,.ss-main-nav .ss-nav>.current_page_item>a{color:#008e97!important}
.ss-main-nav .ss-nav>.current-menu-item>a::before,.ss-main-nav .ss-nav>.current_page_item>a::before{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;border-radius:999px;background:#008e97}
.ss-main-nav .ss-nav>li.menu-item-has-children>a::after{width:6px!important;height:6px!important;margin-left:1px!important;margin-top:-4px!important;border-width:1.3px!important}
.ss-main-fad{justify-self:end!important;min-width:214px!important;min-height:50px!important;padding:0 1.25rem!important;border-radius:12px!important;background:#0ea0aa!important;border-color:#0ea0aa!important;box-shadow:0 10px 26px rgba(0,142,151,.17)!important;font-size:13px!important;letter-spacing:0!important;gap:.7rem!important}
.ss-main-fad:hover{background:#078b94!important}
.ss-main-toggle{display:none!important}

/* Exact approved hero proportions at desktop. */
.ss-home-hero{min-height:603px!important;height:603px!important;background:linear-gradient(103deg,#0d3036 0%,#0e2d33 38%,#154a50 100%)!important;border:0!important}
.ss-home-hero__aurora,.ss-home-hero__gridline{display:none!important}
.ss-home-hero__inner{width:min(1376px,100%)!important;height:603px!important;min-height:603px!important;margin-inline:auto!important;padding:0!important;display:grid!important;grid-template-columns:560px 1fr!important;gap:0!important;align-items:stretch!important}
.ss-home-hero__copy{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;justify-content:center!important;max-width:none!important;padding:42px 0 42px 0!important;color:#fff!important}
.ss-home-hero__eyebrow{align-self:flex-start!important;margin:0 0 18px!important;padding:8px 13px!important;border:1px solid #0b9ca6!important;background:rgba(0,0,0,.11)!important;box-shadow:none!important;color:#fff!important;font-size:13px!important;font-weight:600!important}
.ss-home-hero__eyebrow-dot{width:10px!important;height:10px!important;background:#f5a33a!important;box-shadow:none!important}
.ss-home-hero__title{margin:0!important;max-width:520px!important;color:#fff!important;font-size:64px!important;line-height:.99!important;letter-spacing:-.045em!important;font-weight:800!important;text-shadow:none!important}
.ss-home-hero__title-accent{color:#50d8e3!important;text-shadow:none!important}
.ss-home-hero__lead{margin:24px 0 0!important;max-width:540px!important;color:#e4ecee!important;font-size:18px!important;line-height:1.56!important}
.ss-home-hero__actions{margin-top:28px!important;display:flex!important;gap:18px!important;flex-wrap:nowrap!important}
.ss-home-hero .ss-ui-btn{min-width:0!important;height:56px!important;min-height:56px!important;padding:0 35px!important;border-radius:12px!important;font-size:16px!important;font-weight:800!important}
.ss-home-hero .ss-ui-btn--primary{background:#12aeb9!important;border-color:#12aeb9!important;box-shadow:none!important}
.ss-home-hero .ss-ui-btn--ghost{background:transparent!important;border:1px solid rgba(255,255,255,.72)!important;color:#fff!important;min-width:153px!important}
.ss-home-hero__visual{position:relative!important;min-height:603px!important;height:603px!important;overflow:hidden!important}
.ss-home-hero__reference-visual{display:block!important;width:896px!important;height:603px!important;max-width:none!important;object-fit:cover!important;object-position:left top!important;position:absolute!important;left:0!important;top:0!important}

.ss-trust-strip{margin:0!important;padding:0!important;background:#fff!important;border-bottom:1px solid #edf1f2!important}
.ss-trust-strip__grid{width:min(1376px,100%)!important;height:128px!important;margin-inline:auto!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important}
.ss-trust-item{display:grid!important;grid-template-columns:50px 1fr!important;align-items:center!important;gap:15px!important;padding:0 32px!important;border-right:1px solid #dfe6e8!important;border-bottom:0!important;background:#fff!important}
.ss-trust-item:first-child{padding-left:0!important}
.ss-trust-item:last-child{border-right:0!important;padding-right:0!important}
.ss-trust-item__icon{width:48px!important;height:48px!important;color:#0296a0!important;background:transparent!important}
.ss-trust-item__icon svg{width:44px!important;height:44px!important}
.ss-trust-item strong{display:block;color:#0f2931!important;font-size:18px!important;line-height:1.15!important;font-weight:800!important}
.ss-trust-item small{display:block;margin-top:6px;color:#607582!important;font-size:13px!important;line-height:1.35!important}

.ss-reference-courses{background:#fff;padding:31px 0 68px;border-top:1px solid #f1f4f5}
.ss-reference-courses__inner{width:min(1376px,100%)!important;padding:0!important}
.ss-reference-courses__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:19px}
.ss-reference-courses__eyebrow{margin:0 0 12px;color:#008e97;font-size:13px;font-weight:800;letter-spacing:.28em;text-transform:uppercase}
.ss-reference-courses__head h2{margin:0;color:#0d2930;font-size:34px;line-height:1.1;letter-spacing:-.035em;font-weight:800}
.ss-reference-courses__all{display:inline-flex;align-items:center;gap:13px;margin-bottom:7px;color:#008e97;text-decoration:none;font-size:15px;font-weight:800}
.ss-reference-courses__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ss-reference-course-card{overflow:hidden;border-radius:14px;background:#fff;border:1px solid #e7ecee;box-shadow:0 7px 24px rgba(25,45,49,.06)}
.ss-reference-course-card__media{display:block;position:relative;aspect-ratio:1.54/1;overflow:hidden;background:#dfe8eb}
.ss-reference-course-card__media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}
.ss-reference-course-card:hover .ss-reference-course-card__media img{transform:scale(1.025)}
.ss-reference-course-card__badge{position:absolute;left:18px;top:13px;display:inline-flex;align-items:center;justify-content:center;min-width:65px;height:37px;padding:0 14px;border-radius:10px;background:#00a0aa;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;box-shadow:0 7px 18px rgba(0,142,151,.23)}
.ss-reference-course-card__body{padding:15px 17px 18px}
.ss-reference-course-card__body h3{margin:0;font-size:16px;line-height:1.35;color:#163038}
.ss-reference-course-card__body a{color:inherit;text-decoration:none}
.ss-reference-course-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#dbe8eb,#f4f8f9)}

/* Move the rest of the pre-existing homepage farther below the exact mockup opening. */
.ss-reference-courses + .ss-home-section{border-top:1px solid #eef2f3}

@media(max-width:1400px){
  .ss-utility-bar__inner,.ss-main-header-row,.ss-home-hero__inner,.ss-trust-strip__grid,.ss-reference-courses__inner{width:calc(100% - 64px)!important}
  .ss-main-header-row{grid-template-columns:214px minmax(0,1fr) 198px!important;gap:1.4rem!important}
  .ss-main-nav .ss-nav{gap:1.55rem!important}
  .ss-main-fad{min-width:198px!important}
  .ss-home-hero__inner{grid-template-columns:520px 1fr!important}
  .ss-home-hero__reference-visual{left:-16px!important}
}
@media(max-width:1180px){
  .ss-utility-bar__right{display:none!important}
  .ss-utility-bar__inner{grid-template-columns:1fr auto!important;height:38px!important}
  .ss-utility-bar__provider{justify-self:end!important}
  .ss-main-header-row{width:calc(100% - 40px)!important;grid-template-columns:minmax(0,1fr) auto!important;height:76px!important;min-height:76px!important}
  .ss-main-nav,.ss-main-fad{display:none!important}.ss-main-toggle{display:grid!important}
  .ss-home-hero{height:auto!important;min-height:0!important}
  .ss-home-hero__inner{width:calc(100% - 40px)!important;height:auto!important;min-height:0!important;grid-template-columns:1fr!important;padding:54px 0 0!important}
  .ss-home-hero__copy{padding:0 0 40px!important}
  .ss-home-hero__visual{height:auto!important;min-height:0!important;overflow:hidden!important;margin-inline:-20px!important}
  .ss-home-hero__reference-visual{position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:min(896px,100vw)!important;height:auto!important}
  .ss-trust-strip__grid{width:calc(100% - 40px)!important;height:auto!important;grid-template-columns:repeat(2,1fr)!important}
  .ss-trust-item{min-height:110px!important;padding:20px!important;border-bottom:1px solid #dfe6e8!important}
  .ss-trust-item:nth-child(2n){border-right:0!important}
  .ss-reference-courses__inner{width:calc(100% - 40px)!important}
  .ss-reference-courses__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .ss-utility-bar__inner{width:calc(100% - 28px)!important}
  .ss-main-header-row{width:calc(100% - 28px)!important}
  .ss-home-hero__inner{width:calc(100% - 28px)!important;padding-top:42px!important}
  .ss-home-hero__title{font-size:clamp(42px,12vw,58px)!important;max-width:10ch!important}
  .ss-home-hero__lead{font-size:17px!important}
  .ss-home-hero__actions{flex-direction:column!important;gap:10px!important}
  .ss-home-hero .ss-ui-btn{width:100%!important}
  .ss-home-hero__visual{margin-inline:-14px!important}
  .ss-trust-strip__grid{width:calc(100% - 28px)!important;grid-template-columns:1fr!important}
  .ss-trust-item{border-right:0!important;padding:18px 0!important}
  .ss-reference-courses__inner{width:calc(100% - 28px)!important}
  .ss-reference-courses__head{align-items:flex-start;flex-direction:column;gap:.75rem}
  .ss-reference-courses__head h2{font-size:29px}
  .ss-reference-courses__all{margin:0}
  .ss-reference-courses__grid{grid-template-columns:1fr!important}
}

/* Desktop fidelity assets from the approved 1536×1024 mockup. */
@media(min-width:1181px){
  .ss-trust-strip{
    height:128px!important;
    background:#fff url('../images/reference-trust-strip.png') center top / 1536px 128px no-repeat!important;
    overflow:hidden!important;
  }
  .ss-trust-strip__grid{opacity:0!important;pointer-events:none!important}

  .ss-reference-courses{
    height:170px!important;
    min-height:170px!important;
    padding:0!important;
    background:#fff url('../images/reference-courses-opening.png') center top / 1536px 170px no-repeat!important;
    overflow:hidden!important;
  }
  .ss-reference-courses__inner{opacity:0!important;pointer-events:none!important;height:170px!important}
}

/* --------------------------------------------------------------
   V5.9.1 — exact hero ratio correction + removal of mockup-only course opening
-------------------------------------------------------------- */
@media (min-width:1181px){
  .ss-home-hero{
    height:clamp(464px,39.2578125vw,603px)!important;
    min-height:clamp(464px,39.2578125vw,603px)!important;
  }
  .ss-home-hero__inner{
    width:min(1536px,100%)!important;
    max-width:1536px!important;
    height:clamp(464px,39.2578125vw,603px)!important;
    min-height:clamp(464px,39.2578125vw,603px)!important;
    grid-template-columns:41.6666667% 58.3333333%!important;
    gap:0!important;
    padding:0!important;
  }
  .ss-home-hero__copy{
    padding:clamp(32px,2.734375vw,42px) 0 clamp(32px,2.734375vw,42px) clamp(32px,5.208333vw,80px)!important;
  }
  .ss-home-hero__title{
    font-size:clamp(50px,4.166667vw,64px)!important;
    max-width:520px!important;
  }
  .ss-home-hero__lead{
    font-size:clamp(16px,1.171875vw,18px)!important;
    max-width:540px!important;
  }
  .ss-home-hero__visual{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .ss-home-hero__reference-visual{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  /* The mockup-only “I nostri corsi” opening has been removed from markup. */
  .ss-reference-courses{display:none!important}
}

/* V5.9.6 – Medical English poster as information trigger */
.ss-medical-english-poster{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:2rem;
  background:transparent;
  color:inherit;
  text-align:inherit;
  cursor:pointer;
  appearance:none;
}
.ss-medical-english-poster__frame{
  position:relative;
  display:block;
  overflow:hidden;
  padding:.75rem;
  border:1px solid rgba(203,213,225,.8);
  border-radius:2rem;
  background:#fff;
  box-shadow:0 18px 60px rgba(15,65,112,.10);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ss-medical-english-poster img{
  display:block;
  width:100%;
  transition:transform .35s ease;
}
.ss-medical-english-poster__hint{
  position:absolute;
  right:1.6rem;
  bottom:1.6rem;
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border-radius:999px;
  background:rgba(0,142,151,.94);
  color:#fff;
  box-shadow:0 10px 26px rgba(0,142,151,.24);
  opacity:.92;
  transform:translateY(2px);
  transition:transform .22s ease,opacity .22s ease,background .22s ease;
}
.ss-medical-english-poster__hint svg{width:1.25rem;height:1.25rem}
.ss-medical-english-poster:hover .ss-medical-english-poster__frame{
  transform:translateY(-2px);
  border-color:rgba(0,142,151,.34);
  box-shadow:0 24px 70px rgba(15,65,112,.14);
}
.ss-medical-english-poster:hover img{transform:scale(1.006)}
.ss-medical-english-poster:hover .ss-medical-english-poster__hint{
  opacity:1;
  transform:translateY(0) scale(1.04);
  background:#007982;
}
.ss-medical-english-poster:focus-visible{
  outline:3px solid rgba(0,142,151,.45);
  outline-offset:5px;
}
@media(max-width:767px){
  .ss-medical-english-poster__frame{padding:.55rem;border-radius:1.4rem}
  .ss-medical-english-poster__hint{right:1rem;bottom:1rem;width:2.65rem;height:2.65rem}
}
@media(prefers-reduced-motion:reduce){
  .ss-medical-english-poster__frame,.ss-medical-english-poster img,.ss-medical-english-poster__hint{transition:none!important}
}

/* --------------------------------------------------------------
   V5.9.8 – Hero desktop as one continuous background image
-------------------------------------------------------------- */
.ss-home-hero__desktop-hitareas{display:none}

@media (min-width:1181px){
  .ss-home-hero{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    aspect-ratio:1536/602;
    background-image:url('../images/home-hero-full.png')!important;
    background-repeat:no-repeat!important;
    background-position:center top!important;
    background-size:100% 100%!important;
    border:0!important;
  }
  .ss-home-hero::before,
  .ss-home-hero::after,
  .ss-home-hero__aurora,
  .ss-home-hero__gridline{
    display:none!important;
    content:none!important;
  }
  .ss-home-hero__inner{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:100%!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
  }
  /* Keep semantic text in the DOM for accessibility/SEO, but the approved
     desktop hero artwork is rendered as a single continuous background. */
  .ss-home-hero__copy,
  .ss-home-hero__visual{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .ss-home-hero__desktop-hitareas{
    display:block;
    position:absolute;
    inset:0;
    z-index:5;
    pointer-events:none;
  }
  .ss-home-hero__hitarea{
    position:absolute;
    display:block;
    pointer-events:auto;
    border-radius:14px;
    background:transparent;
    text-decoration:none!important;
  }
  .ss-home-hero__hitarea--courses{
    left:5.27%;
    top:82.05%;
    width:16.86%;
    height:9.30%;
  }
  .ss-home-hero__hitarea--about{
    left:23.37%;
    top:82.05%;
    width:10.35%;
    height:9.30%;
  }
  .ss-home-hero__hitarea:focus-visible{
    outline:3px solid #fff!important;
    outline-offset:4px!important;
    box-shadow:0 0 0 6px rgba(0,142,151,.45)!important;
  }
}

@media (max-width:1180px){
  .ss-home-hero__desktop-hitareas{display:none!important}
}

/* --------------------------------------------------------------
   V5.9.10 – Native floating WhatsApp + Zendesk positioning
-------------------------------------------------------------- */
.ss-floating-whatsapp{
  position:fixed;
  bottom:var(--ss-wa-y,20px);
  z-index:2147482000;
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:54px;
  padding:.38rem .8rem .38rem .42rem;
  border-radius:999px;
  background:#19c96b;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 12px 34px rgba(20,93,54,.28);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.ss-floating-whatsapp--left{left:var(--ss-wa-x,20px)}
.ss-floating-whatsapp--right{right:var(--ss-wa-x,20px)}
.ss-floating-whatsapp:hover{transform:translateY(-2px);background:#12b85f;box-shadow:0 16px 38px rgba(20,93,54,.34)}
.ss-floating-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px rgba(25,201,107,.45),0 12px 34px rgba(20,93,54,.28)}
.ss-floating-whatsapp__icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#fff;color:#19c96b}
.ss-floating-whatsapp__icon svg{width:27px;height:27px}
.ss-floating-whatsapp__label{padding-right:.25rem;font-size:.84rem;font-weight:800;white-space:nowrap}
@media(max-width:767px){
  .ss-floating-whatsapp{min-height:50px;padding:.3rem;gap:0}
  .ss-floating-whatsapp__icon{width:44px;height:44px;flex-basis:44px}
  .ss-floating-whatsapp__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.ss-floating-whatsapp{transition:none!important}}


/* --------------------------------------------------------------
   V5.9.11 — Internal page hero contrast fix
-------------------------------------------------------------- */
.ss-internal-hero{
  position:relative;
  background:linear-gradient(118deg,#292d2c 0%,#303432 62%,#4a372a 100%)!important;
  color:#fff!important;
}
.ss-internal-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 86% 22%,rgba(245,130,31,.11),transparent 26%);
}
.ss-internal-hero > div{position:relative;z-index:1}
.ss-internal-hero h1,
.ss-internal-hero h2,
.ss-internal-hero h3,
.ss-internal-hero h4{
  color:#fff!important;
  text-shadow:0 8px 28px rgba(0,0,0,.16);
}
.ss-internal-hero h1{
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
}
.ss-internal-hero nav,
.ss-internal-hero nav a,
.ss-internal-hero nav span{
  color:#eef5f6!important;
}
.ss-internal-hero nav a:hover{color:#fff!important}
.ss-internal-hero .text-aqua-300{color:#f4a452!important}
.ss-internal-hero p.text-lg,
.ss-internal-hero .text-blue-100{
  color:#f1f5f5!important;
}
@media(max-width:767px){
  .ss-internal-hero h1{font-size:clamp(36px,10vw,48px)!important}
}

/* --------------------------------------------------------------
   V5.10 – Premium internal hero system
-------------------------------------------------------------- */
.ss-internal-premium-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 20%,rgba(0,142,151,.20),transparent 28%),
    radial-gradient(circle at 96% 88%,rgba(245,130,31,.10),transparent 24%),
    linear-gradient(120deg,#262a29 0%,#2f3432 52%,#173f42 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ss-internal-premium-hero__grid-bg,
.ss-internal-premium-hero__glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.ss-internal-premium-hero__grid-bg{
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55),transparent 96%);
}
.ss-internal-premium-hero__glow{
  width:32rem;
  height:32rem;
  inset:auto -8rem -17rem auto;
  border-radius:50%;
  background:rgba(0,142,151,.18);
  filter:blur(70px);
}
.ss-internal-premium-hero__layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:clamp(2.25rem,5vw,5.25rem);
  align-items:center;
  min-height:430px;
  padding-top:clamp(3.3rem,5vw,4.8rem);
  padding-bottom:clamp(3.3rem,5vw,4.8rem);
}
.ss-internal-premium-hero__copy{min-width:0;max-width:760px}
.ss-internal-premium-hero__breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.6rem;
  color:#bdcacc;
  font-size:.88rem;
  line-height:1.4;
}
.ss-internal-premium-hero__breadcrumbs a{color:#dbe5e6;text-decoration:none;transition:color .18s ease}
.ss-internal-premium-hero__breadcrumbs a:hover{color:#71dbe1}
.ss-internal-premium-hero__breadcrumbs [aria-current="page"]{color:#fff}
.ss-internal-premium-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:#ffb56f;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.17em;
  line-height:1;
  text-transform:uppercase;
}
.ss-internal-premium-hero__eyebrow>span{
  width:.52rem;
  height:.52rem;
  border-radius:999px;
  background:#f5821f;
  box-shadow:0 0 0 5px rgba(245,130,31,.10);
}
.ss-internal-premium-hero h1{
  margin:1rem 0 0!important;
  max-width:15ch;
  color:#fff!important;
  font-family:var(--ss-font-display)!important;
  font-size:clamp(2.7rem,4.3vw,4.65rem)!important;
  font-weight:800!important;
  line-height:1.02!important;
  letter-spacing:-.048em!important;
  text-wrap:balance;
  text-shadow:0 12px 34px rgba(0,0,0,.14);
}
.ss-internal-premium-hero__lead{
  max-width:690px;
  margin:1.35rem 0 0;
  color:#d7e1e2!important;
  font-size:clamp(1.02rem,1.3vw,1.18rem);
  line-height:1.7;
}
.ss-internal-premium-hero__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.6rem;
}
.ss-internal-premium-hero__badges span{
  display:inline-flex;
  align-items:center;
  min-height:2.25rem;
  padding:.52rem .88rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:#eef5f5;
  font-size:.78rem;
  font-weight:750;
  line-height:1;
  backdrop-filter:blur(7px);
}
.ss-internal-premium-hero__visual{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:1.7rem;
  background:rgba(255,255,255,.075);
  box-shadow:0 26px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.ss-internal-premium-hero__visual::before{
  content:"";
  position:absolute;
  inset:-45% -28% auto auto;
  width:15rem;
  height:15rem;
  border-radius:50%;
  background:rgba(0,142,151,.19);
  filter:blur(20px);
}
.ss-internal-premium-hero__visual-head{
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.35rem 1.45rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.ss-internal-premium-hero__visual-head img{
  display:block;
  width:3.1rem;
  height:3.1rem;
  object-fit:contain;
  padding:.45rem;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,.13);
}
.ss-internal-premium-hero__visual-head small,
.ss-internal-premium-hero__visual-head strong{display:block}
.ss-internal-premium-hero__visual-head small{
  margin-bottom:.2rem;
  color:#73dce1;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ss-internal-premium-hero__visual-head strong{
  max-width:22rem;
  color:#fff;
  font-size:1.16rem;
  line-height:1.3;
}
.ss-internal-premium-hero__visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.09);
}
.ss-internal-premium-hero__visual-item{
  min-height:7.25rem;
  padding:1.15rem 1.25rem;
  background:rgba(26,45,47,.78);
}
.ss-internal-premium-hero__visual-index{
  display:block;
  margin-bottom:.7rem;
  color:#ffb56f;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}
.ss-internal-premium-hero__visual-item strong{
  display:block;
  color:#f5f9f9;
  font-size:.92rem;
  line-height:1.42;
}
.ss-internal-premium-hero__visual-foot{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.4rem;
  color:#c8d5d6;
  font-size:.76rem;
  font-weight:700;
}
.ss-internal-premium-hero--ecm .ss-internal-premium-hero__visual-item:nth-child(1),
.ss-internal-premium-hero--catalog .ss-internal-premium-hero__visual-item:nth-child(1){background:rgba(0,105,112,.70)}
.ss-internal-premium-hero--about .ss-internal-premium-hero__visual-item:nth-child(2){background:rgba(96,65,35,.55)}

@media(max-width:1023px){
  .ss-internal-premium-hero__layout{
    grid-template-columns:1fr;
    min-height:0;
    gap:2rem;
    padding-top:3.2rem;
    padding-bottom:3.5rem;
  }
  .ss-internal-premium-hero h1{max-width:18ch!important}
  .ss-internal-premium-hero__visual{max-width:680px}
}
@media(max-width:640px){
  .ss-internal-premium-hero__layout{padding-top:2.45rem;padding-bottom:2.7rem}
  .ss-internal-premium-hero__breadcrumbs{margin-bottom:1.2rem;font-size:.82rem}
  .ss-internal-premium-hero h1{font-size:clamp(2.35rem,11vw,3.25rem)!important;max-width:15ch!important}
  .ss-internal-premium-hero__lead{font-size:1rem;line-height:1.62}
  .ss-internal-premium-hero__badges{margin-top:1.3rem}
  .ss-internal-premium-hero__visual-grid{grid-template-columns:1fr}
  .ss-internal-premium-hero__visual-item{min-height:auto;padding:1rem 1.2rem}
  .ss-internal-premium-hero__visual-foot{flex-direction:column;gap:.35rem}
}

/* --------------------------------------------------------------
   V5.10.1 – Compact internal hero, single-column
-------------------------------------------------------------- */
.ss-internal-premium-hero__layout{
  display:block!important;
  min-height:0!important;
  padding-top:2.45rem!important;
  padding-bottom:2.65rem!important;
}
.ss-internal-premium-hero__copy{
  max-width:920px!important;
}
.ss-internal-premium-hero__breadcrumbs{
  margin-bottom:1.15rem!important;
}
.ss-internal-premium-hero h1{
  margin-top:.8rem!important;
  max-width:18ch!important;
  font-size:clamp(2.6rem,3.75vw,4.1rem)!important;
  line-height:1.02!important;
}
.ss-internal-premium-hero__lead{
  max-width:820px!important;
  margin-top:1rem!important;
}
.ss-internal-premium-hero__badges{
  margin-top:1.15rem!important;
}
.ss-internal-premium-hero__visual{
  display:none!important;
}
@media(max-width:1023px){
  .ss-internal-premium-hero__layout{
    padding-top:2.2rem!important;
    padding-bottom:2.35rem!important;
  }
}
@media(max-width:640px){
  .ss-internal-premium-hero__layout{
    padding-top:1.8rem!important;
    padding-bottom:2rem!important;
  }
  .ss-internal-premium-hero__breadcrumbs{margin-bottom:.95rem!important}
  .ss-internal-premium-hero h1{
    font-size:clamp(2.2rem,10vw,3rem)!important;
    max-width:16ch!important;
  }
  .ss-internal-premium-hero__lead{margin-top:.85rem!important}
  .ss-internal-premium-hero__badges{margin-top:1rem!important}
}

/* --------------------------------------------------------------
   V5.11 – ECM informational pages
-------------------------------------------------------------- */
.ss-info-page{padding:64px 0 88px;background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}
.ss-info-page__shell{display:block}
.ss-info-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid #dce9eb;border-radius:24px;background:linear-gradient(135deg,#eefafa 0%,#fff 72%);box-shadow:0 15px 45px rgba(50,51,50,.055)}
.ss-info-callout h2{margin:5px 0 8px;color:var(--ss-charcoal)!important;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.035em;line-height:1.15}
.ss-info-callout p{max-width:850px;margin:0;color:#54646b;line-height:1.7}
.ss-info-callout--compact{display:block;margin-top:22px;padding:22px 24px;border-color:#f4d4b8;background:#fff8f1;box-shadow:none}
.ss-info-callout--compact strong{display:block;color:#a8540e;margin-bottom:5px}
.ss-info-callout--compact p{margin:0}
.ss-info-kicker{display:block;color:var(--ss-teal);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.ss-info-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:46px;padding:12px 18px;border-radius:12px;background:var(--ss-teal);color:#fff!important;font-size:13.5px;font-weight:800;text-decoration:none!important;box-shadow:0 9px 22px rgba(0,142,151,.14);transition:.18s ease}
.ss-info-btn:hover{background:#08747b;transform:translateY(-1px)}
.ss-info-btn--block{display:flex;width:100%;margin-top:18px}
.ss-info-link{color:var(--ss-teal)!important;font-weight:800;text-decoration:none!important}.ss-info-link:hover{text-decoration:underline!important}
.ss-info-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.ss-info-stats article{padding:20px;border:1px solid #e1e9ea;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(28,48,52,.05)}
.ss-info-stats span,.ss-info-stats small{display:block;color:#718087;font-size:12px;line-height:1.45}
.ss-info-stats strong{display:block;margin:6px 0 3px;color:#183638;font-size:clamp(24px,2.2vw,31px);letter-spacing:-.04em}
.ss-info-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:54px;align-items:start;margin-top:44px}
.ss-info-main{min-width:0}
.ss-info-section{padding:38px 0;border-bottom:1px solid #e7edef;scroll-margin-top:110px}
.ss-info-section:first-child{padding-top:0}.ss-info-section:last-child{border-bottom:0}
.ss-info-section>h2{margin:7px 0 14px;color:var(--ss-charcoal)!important;font-size:clamp(27px,2.7vw,38px);line-height:1.14;letter-spacing:-.037em}
.ss-info-section>p,.ss-info-section li{color:#4f6068;font-size:16px;line-height:1.78}
.ss-info-section>p{margin:0 0 14px}.ss-info-section strong{color:#243c40}
.ss-info-note{margin-top:18px!important;padding:15px 17px;border-left:3px solid var(--ss-teal);border-radius:0 12px 12px 0;background:#f3fafa;color:#506268!important;font-size:14px!important}
.ss-info-table-wrap{margin:24px 0;overflow-x:auto;border:1px solid #dfe8ea;border-radius:18px;background:#fff}
.ss-info-table{width:100%;min-width:700px;border-collapse:collapse;font-size:14px}
.ss-info-table th{padding:15px 18px;background:#183638;color:#fff;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ss-info-table td{padding:16px 18px;border-top:1px solid #edf1f2;color:#4f6068;vertical-align:top}.ss-info-table tr:nth-child(even) td{background:#fbfcfc}
.ss-info-card-grid{display:grid;gap:16px;margin-top:22px}.ss-info-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ss-info-card{padding:23px;border:1px solid #e0e9ea;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(28,48,52,.045)}
.ss-info-card h3{margin:0 0 8px;color:#213b3e!important;font-size:19px;letter-spacing:-.02em}.ss-info-card p{margin:0;color:#5d6c73;font-size:14.5px;line-height:1.65}
.ss-info-card__number{display:inline-grid;place-items:center;min-width:52px;height:42px;margin-bottom:13px;padding:0 12px;border-radius:12px;background:#e7f8f9;color:#007e87;font-size:20px;font-weight:900}
.ss-info-steps{display:grid;gap:12px;margin:22px 0;padding:0;list-style:none}
.ss-info-steps li{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:start;padding:16px 18px;border:1px solid #e2eaeb;border-radius:16px;background:#fff}
.ss-info-steps>li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ss-teal);color:#fff;font-size:14px;font-weight:900}.ss-info-steps strong{display:block;margin-top:1px}.ss-info-steps p{margin:4px 0 0;color:#65747a;font-size:14px;line-height:1.55}
.ss-info-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.ss-info-checklist>div{display:flex;gap:12px;padding:17px;border:1px solid #e3eaeb;border-radius:15px;background:#fff}.ss-info-checklist span{flex:0 0 auto;color:#e47214;font-size:12px;font-weight:900;letter-spacing:.08em}.ss-info-checklist p{margin:0!important;color:#52636a!important;font-size:14px!important;line-height:1.55!important}
.ss-info-summary{padding:30px!important;border:1px solid #d8e6e8!important;border-radius:22px;background:linear-gradient(135deg,#eefafa,#fff);margin-top:34px}
.ss-info-summary ul{margin:17px 0 0;padding-left:21px}.ss-info-summary li+li{margin-top:8px}
.ss-info-sidebar{position:sticky;top:92px;display:grid;gap:16px}
.ss-info-sidebar__card{padding:22px;border:1px solid #dde7e8;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(28,48,52,.07)}
.ss-info-sidebar__card h2{margin:6px 0 9px;color:#233d40!important;font-size:23px;letter-spacing:-.03em}.ss-info-sidebar__card p{margin:0;color:#64737a;font-size:14px;line-height:1.65}
.ss-info-sidebar__card--muted{background:#f6f9f9;box-shadow:none}.ss-info-sidebar__card--muted strong{display:block;margin-bottom:6px;color:#314b4e}
.ss-info-source-list{display:grid;gap:0;margin:15px 0 0;padding:0;list-style:none}.ss-info-source-list li{border-top:1px solid #edf1f2}.ss-info-source-list li:first-child{border-top:0}.ss-info-source-list a{display:block;padding:11px 0;color:#27464a!important;font-size:14px;font-weight:700;text-decoration:none!important}.ss-info-source-list a:hover{color:var(--ss-teal)!important}
.ss-info-mini-steps{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.ss-info-mini-steps li{display:flex;align-items:center;gap:10px;color:#43585d;font-size:13.5px;font-weight:700}.ss-info-mini-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef8f9;color:#00828b;font-size:11px;font-weight:900}
.ss-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:23px}
.ss-doc-card{padding:24px;border:1px solid #dfe8ea;border-radius:19px;background:#fff;box-shadow:0 12px 34px rgba(28,48,52,.055)}.ss-doc-card>span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eaf8f9;color:#007d86;font-size:10px;font-weight:900;letter-spacing:.08em}.ss-doc-card--new>span{background:#fff0e4;color:#c35f0c}.ss-doc-card h3{margin:13px 0 9px;color:#203c3f!important;font-size:19px;line-height:1.3;letter-spacing:-.02em}.ss-doc-card p{margin:0 0 15px;color:#617177;font-size:14.5px;line-height:1.65}.ss-doc-card a{color:var(--ss-teal)!important;font-size:13px;font-weight:800;text-decoration:none!important}
.ss-timeline{display:grid;gap:0;margin-top:22px;border-left:2px solid #dce8e9}.ss-timeline article{position:relative;display:grid;grid-template-columns:120px 1fr;gap:22px;padding:0 0 30px 27px}.ss-timeline article::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--ss-teal);box-shadow:0 0 0 5px #edfafa}.ss-timeline__date{color:#b15b16;font-size:12px;font-weight:900;letter-spacing:.04em}.ss-timeline h3{margin:0 0 6px;color:#254044!important;font-size:18px}.ss-timeline p{margin:0 0 8px;color:#5a6a70;font-size:14.5px;line-height:1.6}.ss-timeline a{color:var(--ss-teal)!important;font-size:13px;font-weight:800;text-decoration:none!important}
.ss-link-directory{display:grid;gap:10px;margin-top:20px}.ss-link-directory a{display:grid;grid-template-columns:180px 1fr auto;gap:16px;align-items:center;padding:17px 18px;border:1px solid #e1e9ea;border-radius:15px;background:#fff;text-decoration:none!important;transition:.18s ease}.ss-link-directory a:hover{border-color:#b8dddf;transform:translateY(-1px);box-shadow:0 10px 30px rgba(28,48,52,.055)}.ss-link-directory strong{color:#244347}.ss-link-directory span{color:#65747a;font-size:13.5px}.ss-link-directory b{color:var(--ss-teal);font-size:17px}

@media(max-width:1023px){.ss-info-layout{grid-template-columns:1fr;gap:30px}.ss-info-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.ss-info-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ss-info-page{padding:46px 0 68px}.ss-info-callout{display:block;padding:23px}.ss-info-callout .ss-info-btn{width:100%;margin-top:18px}.ss-info-stats,.ss-info-card-grid--2,.ss-info-checklist,.ss-doc-grid,.ss-info-sidebar{grid-template-columns:1fr}.ss-info-layout{margin-top:32px}.ss-info-section{padding:31px 0}.ss-timeline article{grid-template-columns:1fr;gap:7px}.ss-link-directory a{grid-template-columns:1fr auto}.ss-link-directory span{grid-column:1/-1}.ss-info-table{min-width:650px}}

/* --------------------------------------------------------------
   V5.11.1 – Compact native WhatsApp launcher
-------------------------------------------------------------- */
.ss-floating-whatsapp{
  min-height:46px!important;
  gap:.48rem!important;
  padding:.28rem .7rem .28rem .34rem!important;
  border-radius:999px!important;
  background:#20c86a!important;
  box-shadow:0 9px 24px rgba(20,93,54,.24)!important;
}
.ss-floating-whatsapp:hover{
  background:#18b960!important;
  box-shadow:0 12px 28px rgba(20,93,54,.30)!important;
}
.ss-floating-whatsapp__icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
}
.ss-floating-whatsapp__icon img{
  display:block;
  width:30px!important;
  height:30px!important;
  max-width:none!important;
}
.ss-floating-whatsapp__label{
  padding-right:.12rem!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:800!important;
}
@media(max-width:767px){
  .ss-floating-whatsapp{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
  .ss-floating-whatsapp__icon{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }
  .ss-floating-whatsapp__icon img{width:29px!important;height:29px!important}
}

/* --------------------------------------------------------------
   V5.12 – Unified Hero System (pages + courses)
-------------------------------------------------------------- */
.ss-internal-premium-hero--course .ss-internal-premium-hero__layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px)!important;
  gap:clamp(2.25rem,4.5vw,4.75rem)!important;
  align-items:center!important;
  min-height:0!important;
  padding-top:2.55rem!important;
  padding-bottom:2.7rem!important;
}
.ss-internal-premium-hero--course .ss-internal-premium-hero__copy{
  max-width:860px!important;
}
.ss-internal-premium-hero--course h1{
  max-width:18ch!important;
  font-size:clamp(2.45rem,3.45vw,4.05rem)!important;
  line-height:1.015!important;
}
.ss-internal-premium-hero--course .ss-internal-premium-hero__lead{
  max-width:760px!important;
  margin-top:1rem!important;
}
.ss-internal-premium-hero--course .ss-internal-premium-hero__badges{
  margin-top:1.1rem!important;
}
.ss-unified-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin-top:1.15rem;
  max-width:760px;
}
.ss-unified-hero-metric{
  min-width:0;
  padding:.8rem .95rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:.9rem;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}
.ss-unified-hero-metric small,
.ss-unified-hero-metric strong{display:block}
.ss-unified-hero-metric small{
  margin-bottom:.28rem;
  color:#b9c9cb;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ss-unified-hero-metric strong{
  color:#fff;
  font-size:.9rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.ss-unified-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.2rem;
}
.ss-unified-hero-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:46px;
  padding:.72rem 1.15rem;
  border-radius:.78rem;
  font-size:.84rem;
  font-weight:800;
  line-height:1.15;
  text-decoration:none!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ss-unified-hero-action:hover{transform:translateY(-1px)}
.ss-unified-hero-action--primary{
  border:1px solid var(--ss-teal);
  background:var(--ss-teal);
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,142,151,.18);
}
.ss-unified-hero-action--primary:hover{background:#08747b;border-color:#08747b}
.ss-unified-hero-action--secondary{
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.055);
  color:#fff!important;
}
.ss-unified-hero-action--secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.36)}
.ss-unified-hero-visual{
  width:100%;
  max-width:360px;
  margin:0;
  justify-self:end;
}
.ss-unified-hero-visual__frame{
  aspect-ratio:3/4;
  overflow:hidden;
  padding:.5rem;
  border:1px solid rgba(255,255,255,.17);
  border-radius:1.25rem;
  background:#fff;
  box-shadow:0 22px 58px rgba(0,0,0,.24);
}
.ss-unified-hero-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:.85rem;
  background:#fff;
}
.ss-unified-hero-visual figcaption{
  margin-top:.55rem;
  color:#bfcacc;
  font-size:.7rem;
  line-height:1.4;
  text-align:center;
}
/* Keep the common visual language: same eyebrow, breadcrumb, badges and background. */
.ss-internal-premium-hero--course{
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

@media(max-width:1023px){
  .ss-internal-premium-hero--course .ss-internal-premium-hero__layout{
    grid-template-columns:minmax(0,1fr) minmax(235px,300px)!important;
    gap:2rem!important;
    padding-top:2.2rem!important;
    padding-bottom:2.35rem!important;
  }
  .ss-internal-premium-hero--course h1{font-size:clamp(2.25rem,4.8vw,3.4rem)!important}
  .ss-unified-hero-visual{max-width:300px}
}
@media(max-width:820px){
  .ss-internal-premium-hero--course .ss-internal-premium-hero__layout{
    display:block!important;
  }
  .ss-unified-hero-visual{
    max-width:360px;
    margin-top:1.6rem;
    justify-self:auto;
  }
  .ss-unified-hero-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ss-internal-premium-hero--course .ss-internal-premium-hero__layout{
    padding-top:1.8rem!important;
    padding-bottom:2rem!important;
  }
  .ss-internal-premium-hero--course h1{
    font-size:clamp(2.1rem,9.8vw,2.9rem)!important;
    max-width:16ch!important;
  }
  .ss-unified-hero-metrics{grid-template-columns:1fr}
  .ss-unified-hero-actions{flex-direction:column}
  .ss-unified-hero-action{width:100%}
  .ss-unified-hero-visual{max-width:100%;margin-top:1.35rem}
  .ss-unified-hero-visual__frame{max-height:420px;aspect-ratio:auto}
  .ss-unified-hero-visual img{max-height:400px}
}

/* V5.12.1 — Desktop submenu close behavior */
@media (min-width:1181px){
  .ss-main-nav .ss-nav .sub-menu{
    top:calc(100% + 5px)!important;
  }
  .ss-main-nav .ss-nav .sub-menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-7px;
    height:7px;
    background:transparent;
  }
}

/* V5.12.2 — Course cards: start/end dates */
.ss-course-card__meta--extended{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.ss-course-card__meta--extended .ss-course-card__date strong{
  font-size:14px!important;
  white-space:nowrap;
}
.ss-course-card__meta--extended .ss-course-card__date span{
  color:var(--ss-teal)!important;
  font-weight:700;
}
@media(max-width:420px){
  .ss-course-card__meta--extended .ss-course-card__date strong{font-size:13px!important}
}

/* --------------------------------------------------------------
   V5.12.7 – Clean responsive home hero: no information box on tablet/mobile
-------------------------------------------------------------- */
@media (max-width:1180px){
  .ss-home-hero{
    position:relative!important;
    display:block!important;
    height:auto!important;
    min-height:clamp(520px,62vw,570px)!important;
    overflow:hidden!important;
    background:
      linear-gradient(90deg,rgba(13,48,54,.98) 0%,rgba(13,48,54,.94) 42%,rgba(13,48,54,.63) 67%,rgba(13,48,54,.16) 100%),
      url('../images/hero-responsive-clean.png') right bottom / auto 46% no-repeat,
      linear-gradient(115deg,#0d3036 0%,#123b41 62%,#17636b 100%)!important;
  }
  .ss-home-hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:auto 0 0 0!important;
    height:46%!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(13,48,54,0) 0%,rgba(13,48,54,.12) 52%,rgba(13,48,54,.38) 100%)!important;
  }
  .ss-home-hero::after,
  .ss-home-hero__aurora,
  .ss-home-hero__gridline{display:none!important}
  .ss-home-hero__inner{
    position:relative!important;
    z-index:2!important;
    width:min(calc(100% - 48px),1120px)!important;
    height:auto!important;
    min-height:clamp(520px,62vw,570px)!important;
    margin-inline:auto!important;
    padding:58px 0 210px!important;
    display:block!important;
  }
  .ss-home-hero__copy{
    position:relative!important;
    width:min(620px,72%)!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    white-space:normal!important;
    border:0!important;
  }
  .ss-home-hero__visual{display:none!important}
  .ss-home-hero__title{
    max-width:10.5ch!important;
    font-size:clamp(44px,7.1vw,62px)!important;
    line-height:1.01!important;
  }
  .ss-home-hero__lead{max-width:560px!important;font-size:17px!important}
  .ss-home-hero__actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important}
  .ss-home-hero .ss-ui-btn{width:auto!important;min-width:170px!important}
}

@media (max-width:767px){
  .ss-home-hero{
    min-height:620px!important;
    background:
      linear-gradient(180deg,rgba(13,48,54,.99) 0%,rgba(13,48,54,.96) 52%,rgba(13,48,54,.58) 73%,rgba(13,48,54,.17) 100%),
      url('../images/hero-responsive-clean.png') 64% bottom / auto 35% no-repeat,
      linear-gradient(145deg,#0d3036 0%,#123b41 62%,#17636b 100%)!important;
  }
  .ss-home-hero::before{height:35%!important;background:linear-gradient(180deg,rgba(13,48,54,.08),rgba(13,48,54,.42))!important}
  .ss-home-hero__inner{
    width:calc(100% - 32px)!important;
    min-height:620px!important;
    padding:42px 0 230px!important;
  }
  .ss-home-hero__copy{width:100%!important;max-width:none!important}
  .ss-home-hero__eyebrow{font-size:12px!important;margin-bottom:16px!important}
  .ss-home-hero__title{font-size:clamp(38px,10.5vw,52px)!important;max-width:10.5ch!important}
  .ss-home-hero__lead{font-size:16px!important;line-height:1.6!important;margin-top:20px!important}
  .ss-home-hero__actions{flex-direction:column!important;gap:10px!important;margin-top:24px!important}
  .ss-home-hero .ss-ui-btn{width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important}
}

@media (max-width:420px){
  .ss-home-hero{min-height:600px!important;background-size:auto 32%!important;background-position:61% bottom!important}
  .ss-home-hero__inner{min-height:600px!important;padding-bottom:205px!important}
  .ss-home-hero__title{font-size:clamp(35px,10vw,45px)!important}
}

/* --------------------------------------------------------------
   V5.12.14 – Continuous responsive Home Hero (tablet + mobile)
   Keep the approved desktop artwork unchanged. On smaller devices the
   professionals are part of one continuous background, never a second row.
-------------------------------------------------------------- */
@media (min-width:901px) and (max-width:1180px){
  .ss-home-hero{
    min-height:570px!important;
    height:auto!important;
    background-image:
      linear-gradient(90deg,rgba(7,37,42,.28) 0%,rgba(7,37,42,.16) 46%,rgba(7,37,42,.03) 100%),
      url('../images/hero-tablet-continuous.jpg')!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .ss-home-hero::before,
  .ss-home-hero::after,
  .ss-home-hero__aurora,
  .ss-home-hero__gridline{display:none!important;content:none!important}
  .ss-home-hero__inner{
    width:min(calc(100% - 56px),1120px)!important;
    min-height:570px!important;
    height:auto!important;
    padding:52px 0!important;
    display:flex!important;
    align-items:center!important;
  }
  .ss-home-hero__copy{
    width:min(610px,61%)!important;
    max-width:610px!important;
    padding:0!important;
  }
  .ss-home-hero__visual{display:none!important}
  .ss-home-hero__title{
    max-width:10.5ch!important;
    font-size:clamp(46px,5.9vw,62px)!important;
    line-height:1.01!important;
  }
  .ss-home-hero__lead{max-width:550px!important;font-size:17px!important;line-height:1.62!important}
  .ss-home-hero__actions{flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;margin-top:25px!important}
  .ss-home-hero .ss-ui-btn{width:auto!important;min-width:168px!important}
}

@media (min-width:768px) and (max-width:900px){
  .ss-home-hero{
    min-height:610px!important;
    height:auto!important;
    background-image:
      linear-gradient(90deg,rgba(5,35,40,.48) 0%,rgba(5,35,40,.30) 56%,rgba(5,35,40,.08) 100%),
      url('../images/hero-mobile-continuous.jpg')!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .ss-home-hero::before,
  .ss-home-hero::after,
  .ss-home-hero__aurora,
  .ss-home-hero__gridline{display:none!important;content:none!important}
  .ss-home-hero__inner{
    width:calc(100% - 48px)!important;
    min-height:610px!important;
    height:auto!important;
    padding:48px 0!important;
    display:flex!important;
    align-items:center!important;
  }
  .ss-home-hero__copy{width:min(590px,76%)!important;max-width:590px!important;padding:0!important}
  .ss-home-hero__visual{display:none!important}
  .ss-home-hero__title{font-size:clamp(44px,7.1vw,56px)!important;max-width:10.5ch!important}
  .ss-home-hero__lead{max-width:535px!important;font-size:16.5px!important;line-height:1.62!important}
  .ss-home-hero__actions{flex-direction:row!important;flex-wrap:wrap!important;gap:11px!important;margin-top:24px!important}
  .ss-home-hero .ss-ui-btn{width:auto!important;min-width:165px!important}
}

@media (max-width:767px){
  .ss-home-hero{
    min-height:660px!important;
    height:auto!important;
    background-image:
      linear-gradient(180deg,rgba(5,34,39,.22) 0%,rgba(5,34,39,.18) 62%,rgba(5,34,39,.30) 100%),
      linear-gradient(90deg,rgba(5,34,39,.42) 0%,rgba(5,34,39,.18) 65%,rgba(5,34,39,.03) 100%),
      url('../images/hero-mobile-continuous.jpg')!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .ss-home-hero::before,
  .ss-home-hero::after,
  .ss-home-hero__aurora,
  .ss-home-hero__gridline{display:none!important;content:none!important}
  .ss-home-hero__inner{
    width:calc(100% - 32px)!important;
    min-height:660px!important;
    height:auto!important;
    padding:38px 0 42px!important;
    display:flex!important;
    align-items:flex-start!important;
  }
  .ss-home-hero__copy{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .ss-home-hero__visual{display:none!important}
  .ss-home-hero__eyebrow{font-size:12px!important;margin-bottom:16px!important}
  .ss-home-hero__title{
    font-size:clamp(37px,10.2vw,48px)!important;
    line-height:1.02!important;
    max-width:10.4ch!important;
  }
  .ss-home-hero__lead{max-width:100%!important;font-size:16px!important;line-height:1.58!important;margin-top:20px!important}
  .ss-home-hero__actions{flex-direction:column!important;gap:10px!important;margin-top:24px!important}
  .ss-home-hero .ss-ui-btn{width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important}
}

@media (max-width:420px){
  .ss-home-hero{min-height:645px!important;background-position:52% center!important}
  .ss-home-hero__inner{min-height:645px!important;padding:34px 0 38px!important}
  .ss-home-hero__title{font-size:clamp(35px,10vw,44px)!important}
  .ss-home-hero__lead{font-size:15.5px!important}
}

/* Keep floating WhatsApp clear of Hero CTAs on tablet and mobile. */
@media (max-width:1023px){
  .ss-floating-whatsapp{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    gap:0!important;
  }
  .ss-floating-whatsapp__icon{width:32px!important;height:32px!important;flex-basis:32px!important}
  .ss-floating-whatsapp__icon img{width:29px!important;height:29px!important}
  .ss-floating-whatsapp__label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
  }
}

/* V5.12.15 – uploaded brand logo */
.ss-footer-logo-image{display:block;width:100%;height:auto;object-fit:contain}

/* --------------------------------------------------------------
   V5.12.16 – Medical English native section
-------------------------------------------------------------- */
.ss-medical-native{
  padding:clamp(4.5rem,7vw,6.5rem) 0;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9fa 100%);
}
.ss-medical-native__shell{
  width:min(100% - 2rem,1280px);
  margin-inline:auto;
}
.ss-medical-native__layout{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  border:1px solid #dde7e9;
  border-radius:30px;
  background:#fff;
  box-shadow:0 24px 70px rgba(20,50,54,.09);
}
.ss-medical-native__intro{
  position:relative;
  overflow:hidden;
  padding:clamp(2.2rem,4vw,3.4rem);
  color:#fff;
  background:
    radial-gradient(circle at 10% 100%,rgba(0,174,186,.22),transparent 30%),
    linear-gradient(145deg,#182d30 0%,#17383c 58%,#0d6067 100%);
}
.ss-medical-native__intro::after{
  content:"";
  position:absolute;
  width:18rem;
  height:18rem;
  right:-8rem;
  top:-7rem;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 3.7rem rgba(255,255,255,.018),0 0 0 7rem rgba(255,255,255,.014);
}
.ss-medical-native__eyebrow{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-bottom:1.1rem;
  color:#74e3e9;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ss-medical-native__eyebrow span{
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:#f5821f;
  box-shadow:0 0 0 5px rgba(245,130,31,.12);
}
.ss-medical-native__intro h2{
  position:relative;
  z-index:1;
  max-width:12ch;
  margin:0;
  color:#fff!important;
  font-size:clamp(2.3rem,3.5vw,4rem);
  line-height:1.03;
  letter-spacing:-.045em;
}
.ss-medical-native__lead{
  position:relative;
  z-index:1;
  max-width:42rem;
  margin:1.35rem 0 0;
  color:#dce8e9!important;
  font-size:1.06rem;
  line-height:1.72;
}
.ss-medical-native__badges{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.6rem;
}
.ss-medical-native__badges span{
  padding:.48rem .78rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#eefafa;
  font-size:.76rem;
  font-weight:700;
}
.ss-medical-native__pricing{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:1.7rem;
}
.ss-medical-native__pricing>div{
  padding:1rem 1.05rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.07);
}
.ss-medical-native__pricing small{
  display:block;
  margin-bottom:.25rem;
  color:#b9d0d2;
  font-size:.76rem;
}
.ss-medical-native__pricing strong{
  display:block;
  color:#fff;
  font-size:1.38rem;
  line-height:1.2;
}
.ss-medical-native__pricing strong span{
  font-size:.72rem;
  font-weight:600;
  color:#c9dcde;
}
.ss-medical-native__cta{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  min-height:50px;
  margin-top:1.65rem;
  padding:.9rem 1.2rem;
  border:0;
  border-radius:13px;
  background:#08a7b1;
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,142,151,.24);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.ss-medical-native__cta:hover{background:#008e97;transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,142,151,.30)}
.ss-medical-native__cta:focus-visible{outline:3px solid rgba(116,227,233,.72);outline-offset:3px}
.ss-medical-native__content{
  padding:clamp(2rem,3.8vw,3.25rem);
  background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
}
.ss-medical-native__heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);
  gap:2rem;
  align-items:end;
  margin-bottom:1.55rem;
}
.ss-medical-native__heading span,
.ss-medical-native__writing-title span{
  display:block;
  color:#008e97;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ss-medical-native__heading h3{
  margin:.45rem 0 0;
  color:#233239;
  font-size:clamp(1.55rem,2.2vw,2.15rem);
  line-height:1.16;
  letter-spacing:-.035em;
}
.ss-medical-native__heading p{
  margin:0;
  color:#617079;
  font-size:.94rem;
  line-height:1.65;
}
.ss-medical-native__tracks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
}
.ss-medical-native__track{
  min-height:185px;
  padding:1.25rem;
  border:1px solid #e0e8ea;
  border-radius:18px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ss-medical-native__track:hover{
  transform:translateY(-2px);
  border-color:rgba(0,142,151,.28);
  box-shadow:0 14px 28px rgba(15,65,112,.07);
}
.ss-medical-native__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:1rem;
  border-radius:13px;
  background:#e9f8f9;
  color:#008e97;
}
.ss-medical-native__icon svg{width:21px;height:21px}
.ss-medical-native__track h4{
  margin:0;
  color:#26383f;
  font-size:1rem;
  line-height:1.3;
}
.ss-medical-native__track p{
  margin:.55rem 0 0;
  color:#68767e;
  font-size:.86rem;
  line-height:1.55;
}
.ss-medical-native__writing{
  margin-top:.9rem;
  padding:1.25rem 1.35rem;
  border:1px solid #dce9eb;
  border-radius:18px;
  background:#f3f9f9;
}
.ss-medical-native__writing{
  display:grid;
  grid-template-columns:minmax(180px,.56fr) minmax(0,1.44fr);
  gap:1.5rem;
  align-items:center;
}
.ss-medical-native__writing-title h4{
  margin:.35rem 0 0;
  color:#26383f;
  font-size:1.05rem;
}
.ss-medical-native__writing ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem 1rem;
  margin:0;
  padding:0;
  list-style:none;
}
.ss-medical-native__writing li{
  position:relative;
  padding-left:1.1rem;
  color:#53636b;
  font-size:.82rem;
  line-height:1.45;
}
.ss-medical-native__writing li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48rem;
  width:.42rem;
  height:.42rem;
  border-radius:50%;
  background:#f5821f;
}
@media(max-width:1023px){
  .ss-medical-native__layout{grid-template-columns:1fr}
  .ss-medical-native__intro h2{max-width:18ch}
  .ss-medical-native__heading{grid-template-columns:1fr;gap:.6rem;align-items:start}
}
@media(max-width:767px){
  .ss-medical-native{padding:3.2rem 0}
  .ss-medical-native__shell{width:min(100% - 1.25rem,1280px)}
  .ss-medical-native__layout{border-radius:22px}
  .ss-medical-native__intro,.ss-medical-native__content{padding:1.55rem}
  .ss-medical-native__intro h2{font-size:2.25rem;max-width:none}
  .ss-medical-native__lead{font-size:.97rem}
  .ss-medical-native__pricing{grid-template-columns:1fr}
  .ss-medical-native__cta{width:100%}
  .ss-medical-native__tracks{grid-template-columns:1fr}
  .ss-medical-native__track{min-height:auto}
  .ss-medical-native__writing{grid-template-columns:1fr;gap:1rem}
  .ss-medical-native__writing ul{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .ss-medical-native__track,.ss-medical-native__cta{transition:none!important}
}

/* V5.12.17 – manual registration ON/OFF status */
.ss-course-status--iscrizioni-chiuse{
  background:#fff1e6!important;
  color:#a84f08!important;
  border-color:#ffd4ad!important;
}

/* --------------------------------------------------------------
   V5.12.18 – ECM summary card refinement
-------------------------------------------------------------- */
.ss-ecm-summary{
  position:relative;
  overflow:hidden;
  border:1px solid #dbe7e9;
  border-radius:28px;
  background:linear-gradient(145deg,#ffffff 0%,#f7fbfb 100%);
  padding:30px;
  box-shadow:0 18px 48px rgba(19,54,60,.08);
}
.ss-ecm-summary::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#008e97 0%,#13b6c0 70%,#f5821f 100%);
}
.ss-ecm-summary::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-80px;
  top:-90px;
  background:radial-gradient(circle,rgba(19,182,192,.11),rgba(19,182,192,0) 70%);
  pointer-events:none;
}
.ss-ecm-summary__head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
}
.ss-ecm-summary__eyebrow{
  color:#007f88;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ss-ecm-summary__line{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,rgba(0,142,151,.42),rgba(0,142,151,0));
}
.ss-ecm-summary__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:22px 0 0;
}
.ss-ecm-summary__item{
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid #e2ecee;
  border-radius:19px;
  background:#fff;
  padding:19px 20px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ss-ecm-summary__item:hover{
  transform:translateY(-2px);
  border-color:#c8e0e3;
  box-shadow:0 12px 26px rgba(19,54,60,.07);
}
.ss-ecm-summary__item dt{
  margin:0;
  color:#667887;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}
.ss-ecm-summary__item dd{
  margin:7px 0 0;
  color:#16343b;
  font-family:var(--ss-font-display,inherit);
  font-size:clamp(23px,2vw,30px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.08;
}
.ss-ecm-summary__item--accent{
  border-color:#c7e4e6;
  background:linear-gradient(145deg,#eef9fa 0%,#ffffff 100%);
}
.ss-ecm-summary__item--accent dd{color:#007f88}
@media (max-width:767px){
  .ss-ecm-summary{padding:24px 20px;border-radius:23px}
  .ss-ecm-summary__grid{grid-template-columns:1fr;gap:11px;margin-top:18px}
  .ss-ecm-summary__item{min-height:auto;padding:17px 18px}
  .ss-ecm-summary__item dd{font-size:24px}
}
