/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "Rubik",sans-serif;
    --font-mono: ui-monospace,"SF Mono",Menlo,monospace;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --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;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --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);
    --color-primary: #0b5394;
    --color-primary-50: #f0f8ff;
    --color-primary-500: #1976f3;
    --color-primary-600: #0b5394;
    --color-primary-700: #073763;
    --color-secondary-200: #d4e8ef;
    --color-secondary-500: #476f80;
    --color-secondary-600: #345b6c;
    --color-secondary-700: #284d5d;
    --color-neutral: #0c343d;
    --color-background: #ffffff;
  }
}
@layer base {
  *, ::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;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-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;
  }
}
@layer utilities {
  .static {
    position: static;
  }
  .-mx-6 {
    margin-inline: calc(var(--spacing) * -6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .prose {
    color: var(--tw-prose-body);
    max-width: 65ch;
    :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-lead);
      font-size: 1.25em;
      line-height: 1.6;
      margin-top: 1.2em;
      margin-bottom: 1.2em;
    }
    :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-links);
      text-decoration: underline;
      font-weight: 500;
    }
    :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-bold);
      font-weight: 600;
    }
    :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-alpha;
    }
    :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-alpha;
    }
    :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: upper-roman;
    }
    :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: lower-roman;
    }
    :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: decimal;
    }
    :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      list-style-type: disc;
      margin-top: 1.25em;
      margin-bottom: 1.25em;
      padding-inline-start: 1.625em;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      font-weight: 400;
      color: var(--tw-prose-counters);
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
      color: var(--tw-prose-bullets);
    }
    :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.25em;
    }
    :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-color: var(--tw-prose-hr);
      border-top-width: 1px;
      margin-top: 3em;
      margin-bottom: 3em;
    }
    :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 500;
      font-style: italic;
      color: var(--tw-prose-quotes);
      border-inline-start-width: 0.25rem;
      border-inline-start-color: var(--tw-prose-quote-borders);
      quotes: "\201C""\201D""\2018""\2019";
      margin-top: 1.6em;
      margin-bottom: 1.6em;
      padding-inline-start: 1em;
    }
    :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: open-quote;
    }
    :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: close-quote;
    }
    :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 800;
      font-size: 2.25em;
      margin-top: 0;
      margin-bottom: 0.8888889em;
      line-height: 1.1111111;
    }
    :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 900;
      color: inherit;
    }
    :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 700;
      font-size: 1.5em;
      margin-top: 2em;
      margin-bottom: 1em;
      line-height: 1.3333333;
    }
    :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 800;
      color: inherit;
    }
    :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      font-size: 1.25em;
      margin-top: 1.6em;
      margin-bottom: 0.6em;
      line-height: 1.6;
    }
    :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      margin-top: 1.5em;
      margin-bottom: 0.5em;
      line-height: 1.5;
    }
    :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 700;
      color: inherit;
    }
    :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      display: block;
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      font-weight: 500;
      font-family: inherit;
      color: var(--tw-prose-kbd);
      box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
      font-size: 0.875em;
      border-radius: 0.3125rem;
      padding-top: 0.1875em;
      padding-inline-end: 0.375em;
      padding-bottom: 0.1875em;
      padding-inline-start: 0.375em;
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-code);
      font-weight: 600;
      font-size: 0.875em;
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: "`";
    }
    :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: "`";
    }
    :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.875em;
    }
    :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
      font-size: 0.9em;
    }
    :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: inherit;
    }
    :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-pre-code);
      background-color: var(--tw-prose-pre-bg);
      overflow-x: auto;
      font-weight: 400;
      font-size: 0.875em;
      line-height: 1.7142857;
      margin-top: 1.7142857em;
      margin-bottom: 1.7142857em;
      border-radius: 0.375rem;
      padding-top: 0.8571429em;
      padding-inline-end: 1.1428571em;
      padding-bottom: 0.8571429em;
      padding-inline-start: 1.1428571em;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      background-color: transparent;
      border-width: 0;
      border-radius: 0;
      padding: 0;
      font-weight: inherit;
      color: inherit;
      font-size: inherit;
      font-family: inherit;
      line-height: inherit;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
      content: none;
    }
    :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
      content: none;
    }
    :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      width: 100%;
      table-layout: auto;
      margin-top: 2em;
      margin-bottom: 2em;
      font-size: 0.875em;
      line-height: 1.7142857;
    }
    :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-th-borders);
    }
    :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-headings);
      font-weight: 600;
      vertical-align: bottom;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 1px;
      border-bottom-color: var(--tw-prose-td-borders);
    }
    :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-bottom-width: 0;
    }
    :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      vertical-align: baseline;
    }
    :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      border-top-width: 1px;
      border-top-color: var(--tw-prose-th-borders);
    }
    :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      vertical-align: top;
    }
    :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      text-align: start;
    }
    :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      color: var(--tw-prose-captions);
      font-size: 0.875em;
      line-height: 1.4285714;
      margin-top: 0.8571429em;
    }
    --tw-prose-body: oklch(37.3% 0.034 259.733);
    --tw-prose-headings: oklch(21% 0.034 264.665);
    --tw-prose-lead: oklch(44.6% 0.03 256.802);
    --tw-prose-links: oklch(21% 0.034 264.665);
    --tw-prose-bold: oklch(21% 0.034 264.665);
    --tw-prose-counters: oklch(55.1% 0.027 264.364);
    --tw-prose-bullets: oklch(87.2% 0.01 258.338);
    --tw-prose-hr: oklch(92.8% 0.006 264.531);
    --tw-prose-quotes: oklch(21% 0.034 264.665);
    --tw-prose-quote-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-captions: oklch(55.1% 0.027 264.364);
    --tw-prose-kbd: oklch(21% 0.034 264.665);
    --tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% 0.034 264.665) 10%, transparent);
    --tw-prose-code: oklch(21% 0.034 264.665);
    --tw-prose-pre-code: oklch(92.8% 0.006 264.531);
    --tw-prose-pre-bg: oklch(27.8% 0.033 256.848);
    --tw-prose-th-borders: oklch(87.2% 0.01 258.338);
    --tw-prose-td-borders: oklch(92.8% 0.006 264.531);
    --tw-prose-invert-body: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-bullets: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-hr: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-quotes: oklch(96.7% 0.003 264.542);
    --tw-prose-invert-quote-borders: oklch(37.3% 0.034 259.733);
    --tw-prose-invert-captions: oklch(70.7% 0.022 261.325);
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: oklch(87.2% 0.01 258.338);
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: oklch(44.6% 0.03 256.802);
    --tw-prose-invert-td-borders: oklch(37.3% 0.034 259.733);
    font-size: 1rem;
    line-height: 1.75;
    :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
      margin-bottom: 0;
    }
    :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      margin-bottom: 0.5em;
    }
    :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0.375em;
    }
    :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
    }
    :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 1.25em;
    }
    :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.75em;
      margin-bottom: 0.75em;
    }
    :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 1.25em;
      margin-bottom: 1.25em;
    }
    :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0.5em;
      padding-inline-start: 1.625em;
    }
    :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-top: 0.5714286em;
      padding-inline-end: 0.5714286em;
      padding-bottom: 0.5714286em;
      padding-inline-start: 0.5714286em;
    }
    :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-start: 0;
    }
    :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      padding-inline-end: 0;
    }
    :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 2em;
      margin-bottom: 2em;
    }
    :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-top: 0;
    }
    :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
      margin-bottom: 0;
    }
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .h-auto {
    height: auto;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .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-md {
    max-width: var(--container-md);
  }
  .max-w-none {
    max-width: none;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-col {
    flex-direction: column;
  }
  .justify-between {
    justify-content: space-between;
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-secondary-200 {
    border-color: var(--color-secondary-200);
  }
  .bg-background {
    background-color: var(--color-background);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .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-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));
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .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-neutral {
    color: var(--color-neutral);
  }
  .text-secondary-500 {
    color: var(--color-secondary-500);
  }
  .text-secondary-600 {
    color: var(--color-secondary-600);
  }
  .text-secondary-700 {
    color: var(--color-secondary-700);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .not-italic {
    font-style: normal;
  }
  .no-underline {
    text-decoration-line: none;
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .last\:border-b-0 {
    &:last-child {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .hover\:text-primary {
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary);
      }
    }
  }
  .hover\:text-primary-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-primary-500);
      }
    }
  }
  .md\:mx-0 {
    @media (width >= 48rem) {
      margin-inline: calc(var(--spacing) * 0);
    }
  }
  .md\:text-2xl {
    @media (width >= 48rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .md\:text-3xl {
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .md\:text-4xl {
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .md\:text-5xl {
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
}
@layer base {
  body {
    font-family: var(--font-sans);
  }
}
@layer components {
  .hope-shell {
    width: min(1180px,calc(100% - 48px));
    margin-inline: auto;
  }
  .hope-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(11,83,148,.09);
  }
  .hope-nav {
    min-height: 84px;
    display: flex;
    align-items: center;
    gap: 28px;
  }
  .hope-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    color: var(--color-primary-700);
    flex-shrink: 0;
  }
  .hope-mark {
    width: 42px;
    height: 42px;
    border: 4px solid var(--color-primary-500);
    border-right-color: transparent;
    border-radius: 50%;
    position: relative;
    transform: rotate(-18deg);
  }
  .hope-mark span {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-primary-500);
    right: -2px;
    top: 0;
  }
  .hope-wordmark {
    font-weight: 700;
    font-size: 25px;
    line-height: .8;
    letter-spacing: -1px;
  }
  .hope-wordmark small {
    display: block;
    margin-top: 8px;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 2.1px;
    text-transform: uppercase;
    color: var(--color-secondary-600);
  }
  .hope-menu {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 23px;
  }
  .hope-menu a,.hope-login {
    color: var(--color-neutral);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: .2s ease;
    text-transform: uppercase;
    letter-spacing: .055em;
  }
  .hope-menu a:hover,.hope-login:hover {
    color: var(--color-primary-500);
  }
  .hope-nav-actions {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .hope-donate {
    padding: 12px 19px;
    border-radius: 999px;
    background: var(--color-primary-700);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 11px;
    font-weight: 700;
  }
  .hope-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 9px;
    border: 1px solid rgba(7,55,99,.14);
    border-radius: 50%;
    background: #fff;
    color: var(--color-primary-700);
    cursor: pointer;
  }
  .hope-menu-toggle svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
  }
  .hope-mobile-menu {
    display: none;
    background: rgba(255,255,255,.98);
    border-top: 1px solid rgba(7,55,99,.09);
    box-shadow: 0 18px 35px rgba(7,55,99,.08);
  }
  .hope-mobile-menu-inner {
    display: flex;
    flex-direction: column;
    padding-top: 12px;
    padding-bottom: 22px;
  }
  .hope-mobile-menu a {
    padding: 13px 2px;
    border-bottom: 1px solid rgba(7,55,99,.08);
    color: var(--color-neutral);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-size: 13px;
    font-weight: 600;
  }
  .hope-mobile-menu .hope-mobile-donate {
    margin-top: 12px;
    padding: 13px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--color-primary-700);
    color: #fff;
    text-align: center;
  }
  .hope-brand-logo {
    display: block;
    width: auto;
    height: 62px;
    max-width: 235px;
    object-fit: contain;
  }
  .hope-hero {
    min-height: 720px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: linear-gradient(115deg,#fff 0%,#f7fcff 52%,#e9f6ff 100%);
  }
  .hope-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 70px;
    padding-block: 88px 120px;
  }
  .hope-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: var(--color-primary-600);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  .hope-eyebrow span {
    width: 30px;
    height: 2px;
    background: var(--color-primary-500);
  }
  .hope-hero h1 {
    margin: 0;
    max-width: 700px;
    color: var(--color-neutral);
    font-size: clamp(48px,5.7vw,78px);
    line-height: .99;
    letter-spacing: -.055em;
    font-weight: 600;
  }
  .hope-hero h1 em,.hope-intro h2 em {
    color: var(--color-primary-500);
    font-style: normal;
  }
  .hope-lead {
    max-width: 650px;
    margin: 28px 0 0;
    color: var(--color-secondary-600);
    font-size: 18px;
    line-height: 1.75;
  }
  .hope-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 34px;
  }
  .hope-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 15px 22px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
  }
  .hope-btn-primary {
    background: var(--color-primary-700);
    color: #fff;
    box-shadow: 0 14px 34px rgba(7,55,99,.18);
  }
  .hope-btn-ghost {
    color: var(--color-primary-700);
    border: 1px solid rgba(7,55,99,.18);
    background: rgba(255,255,255,.6);
  }
  .hope-proof {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
    margin-top: 54px;
    padding-top: 25px;
    border-top: 1px solid rgba(7,55,99,.1);
  }
  .hope-proof strong,.hope-proof span {
    display: block;
  }
  .hope-proof strong {
    color: var(--color-primary-700);
    font-size: 13px;
  }
  .hope-proof span {
    margin-top: 5px;
    color: var(--color-secondary-500);
    font-size: 11px;
    line-height: 1.45;
  }
  .hope-hero-art {
    min-height: 520px;
    display: grid;
    place-items: center;
    position: relative;
  }
  .hope-water-card {
    width: min(430px,90%);
    aspect-ratio: .86;
    border-radius: 46% 54% 52% 48% / 39% 42% 58% 61%;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: radial-gradient(circle at 28% 20%,#5bc8ff 0%,#1976f3 38%,#073763 100%);
    box-shadow: 0 38px 80px rgba(7,55,99,.22);
    color: #fff;
    transform: rotate(2deg);
  }
  .hope-water-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(255,255,255,.28),transparent 42%,rgba(4,37,66,.15));
  }
  .hope-symbol {
    width: 128px;
    height: 128px;
    border: 13px solid rgba(255,255,255,.95);
    border-right-color: transparent;
    border-radius: 50%;
    position: relative;
    z-index: 2;
    transform: rotate(-18deg);
  }
  .hope-symbol span {
    position: absolute;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #fff;
    right: -5px;
    top: 0;
  }
  .hope-water-card p {
    position: relative;
    z-index: 2;
    margin: 27px 0 0;
    text-align: center;
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: .03em;
  }
  .hope-ripple {
    position: absolute;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
  }
  .ripple-a {
    width: 330px;
    height: 130px;
    top: 40px;
    left: -80px;
    transform: rotate(-20deg);
  }
  .ripple-b {
    width: 370px;
    height: 150px;
    bottom: 70px;
    right: -150px;
    transform: rotate(18deg);
  }
  .ripple-c {
    width: 240px;
    height: 90px;
    bottom: 25px;
    left: -70px;
    transform: rotate(12deg);
  }
  .hope-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .6;
  }
  .hope-orb-one {
    width: 230px;
    height: 230px;
    right: 4%;
    top: 7%;
    background: rgba(91,200,255,.15);
  }
  .hope-orb-two {
    width: 150px;
    height: 150px;
    left: 42%;
    bottom: 8%;
    background: rgba(25,118,243,.08);
  }
  .hope-wave {
    position: absolute;
    bottom: -1px;
    left: -5%;
    width: 110%;
    height: 55px;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  }
  .hope-intro {
    padding: 95px 0 110px;
    background: #fff;
  }
  .hope-intro-grid {
    display: grid;
    grid-template-columns: .65fr 1.35fr;
    gap: 80px;
    align-items: start;
  }
  .hope-kicker {
    margin: 12px 0 0;
    color: var(--color-primary-500);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
  }
  .hope-intro h2 {
    margin: 0;
    font-size: clamp(38px,4.5vw,62px);
    line-height: 1.04;
    letter-spacing: -.045em;
    color: var(--color-neutral);
    font-weight: 600;
  }
  .hope-intro div>p {
    max-width: 680px;
    color: var(--color-secondary-600);
    font-size: 17px;
    line-height: 1.8;
  }
  .hope-paths {
    padding: 105px 0 120px;
    background: #f5faff;
  }
  .hope-section-head {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 48px;
  }
  .hope-section-head h2 {
    margin: 10px 0 0;
    font-size: clamp(38px,4.2vw,58px);
    line-height: 1.03;
    letter-spacing: -.045em;
    font-weight: 600;
  }
  .hope-section-head h2 em {
    color: var(--color-primary-500);
    font-style: normal;
  }
  .hope-section-head>p {
    margin: 0 0 5px;
    color: var(--color-secondary-600);
    font-size: 16px;
    line-height: 1.75;
  }
  .hope-path-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px;
  }
  .hope-path-card {
    position: relative;
    min-height: 355px;
    padding: 31px 27px;
    border: 1px solid rgba(7,55,99,.09);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(7,55,99,.055);
    transition: transform .25s ease,box-shadow .25s ease;
  }
  .hope-path-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 55px rgba(7,55,99,.1);
  }
  .hope-path-featured {
    background: var(--color-primary-700);
    color: #fff;
  }
  .hope-path-number {
    position: absolute;
    top: 25px;
    right: 25px;
    color: rgba(7,55,99,.22);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
  }
  .hope-path-featured .hope-path-number {
    color: rgba(255,255,255,.38);
  }
  .hope-path-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--color-primary-50);
    color: var(--color-primary-600);
  }
  .hope-path-featured .hope-path-icon {
    background: rgba(255,255,255,.13);
    color: #fff;
  }
  .hope-path-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .hope-path-card h3 {
    margin: 46px 0 12px;
    font-size: 21px;
    letter-spacing: -.025em;
  }
  .hope-path-card p {
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 14px;
    line-height: 1.7;
  }
  .hope-path-featured p {
    color: rgba(255,255,255,.75);
  }
  .hope-path-card a {
    position: absolute;
    left: 27px;
    bottom: 28px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
  }
  .hope-brand-logo {
    display: block;
    width: auto;
    height: 48px;
    object-fit: contain;
  }
  .hope-hero-symbol {
    position: relative;
    z-index: 2;
    display: block;
    width: 145px;
    height: 145px;
    object-fit: contain;
  }
  .hope-footer-logo img {
    display: block;
    width: auto;
    height: 72px;
    max-width: 240px;
    object-fit: contain;
  }
  .hope-tma {
    padding: 105px 0;
    background: linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  }
  .hope-tma .hope-section-head {
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 90px;
    margin-bottom: 0;
  }
  .hope-tma .hope-section-head>div:first-child {
    max-width: 680px;
  }
  .hope-tma .hope-kicker {
    margin: 0 0 20px;
  }
  .hope-tma .hope-section-head h2 {
    margin: 0;
    font-size: clamp(40px,4.4vw,62px);
    line-height: 1.04;
  }
  .hope-tma .hope-section-head>div:last-child {
    max-width: 570px;
    padding: 34px 38px;
    border: 1px solid rgba(7,55,99,.09);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 20px 55px rgba(7,55,99,.07);
  }
  .hope-tma .hope-section-head>div:last-child p {
    margin: 0;
    color: var(--color-secondary-700);
    font-size: 17px;
    line-height: 1.72;
  }
  .hope-tma .hope-btn {
    margin-top: 24px;
  }
  .hope-resources-section {
    padding: 95px 0 115px;
    background: #fff;
  }
  .hope-resources-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 48px;
  }
  .hope-resources-intro h2 {
    margin: 10px 0 0;
    color: var(--color-neutral);
    font-size: clamp(38px,4.2vw,58px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 600;
  }
  .hope-resources-intro h2 em {
    color: var(--color-primary-500);
    font-style: normal;
  }
  .hope-resources-intro>p {
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 16px;
    line-height: 1.75;
  }
  .hope-resources-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
  }
  .hope-resource-card {
    position: relative;
    min-height: 245px;
    padding: 34px;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 28px;
    background: #f8fbfe;
    box-shadow: 0 18px 45px rgba(7,55,99,.05);
  }
  .hope-resource-number {
    position: absolute;
    right: 30px;
    top: 30px;
    color: var(--color-primary-500);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
  }
  .hope-resource-card h3 {
    margin: 30px 0 12px;
    color: var(--color-neutral);
    font-size: 23px;
  }
  .hope-resource-card p {
    max-width: 480px;
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 14px;
    line-height: 1.7;
  }
  .hope-resource-placeholder {
    margin-top: 28px;
    padding-top: 17px;
    border-top: 1px solid rgba(7,55,99,.1);
    color: var(--color-primary-700);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
  }
  .hope-resources-note {
    margin: 35px 0 0;
    padding: 20px 24px;
    border-radius: 18px;
    background: #f5faff;
    color: var(--color-secondary-700);
    font-size: 12px;
    line-height: 1.65;
  }
  @media (max-width:760px) {
    .hope-resources-section {
      padding: 70px 0 85px;
    }
    .hope-resources-intro,.hope-resources-grid {
      grid-template-columns: 1fr;
    }
    .hope-resources-intro {
      gap: 25px;
      margin-bottom: 34px;
    }
    .hope-resource-card {
      min-height: 0;
      padding: 28px;
    }
  }
  .hope-locations {
    padding: 110px 0;
    background: #fff;
  }
  .hope-locations-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    align-items: center;
  }
  .hope-locations-copy h2,.hope-cta h2 {
    margin: 10px 0 22px;
    font-size: clamp(38px,4.2vw,58px);
    line-height: 1.03;
    letter-spacing: -.045em;
    font-weight: 600;
    color: var(--color-neutral);
  }
  .hope-locations-copy h2 em,.hope-cta h2 em {
    font-style: normal;
    color: var(--color-primary-500);
  }
  .hope-locations-copy>p:not(.hope-kicker) {
    max-width: 520px;
    margin-bottom: 30px;
    color: var(--color-secondary-600);
    font-size: 16px;
    line-height: 1.75;
  }
  .hope-location-list {
    border-top: 1px solid rgba(7,55,99,.12);
  }
  .hope-location-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 15px;
    align-items: center;
    padding: 23px 8px;
    border-bottom: 1px solid rgba(7,55,99,.12);
  }
  .hope-location-item>span {
    color: var(--color-primary-500);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
  }
  .hope-location-item strong,.hope-location-item small {
    display: block;
  }
  .hope-location-item strong {
    color: var(--color-neutral);
    font-size: 20px;
  }
  .hope-location-item small {
    margin-top: 4px;
    color: var(--color-secondary-500);
    font-size: 12px;
  }
  .hope-location-next {
    opacity: .7;
  }
  .hope-cta {
    padding: 45px 0 105px;
    background: #fff;
  }
  .hope-cta-box {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 50px;
    align-items: center;
    padding: 58px 64px;
    border-radius: 34px;
    background: linear-gradient(120deg,#073763,#0b5394);
    box-shadow: 0 28px 70px rgba(7,55,99,.18);
  }
  .hope-cta .hope-kicker {
    color: #7dd4ff;
  }
  .hope-cta h2 {
    color: #fff;
    margin-bottom: 16px;
  }
  .hope-cta h2 em {
    color: #7dd4ff;
  }
  .hope-cta-box p:not(.hope-kicker) {
    max-width: 650px;
    color: rgba(255,255,255,.75);
    line-height: 1.75;
  }
  .hope-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .hope-btn-light {
    background: #fff;
    color: var(--color-primary-700);
  }
  .hope-cta-link {
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,.35);
    padding-bottom: 3px;
  }
  .hope-footer {
    background: #062844;
    color: #fff;
  }
  .hope-footer-main {
    display: grid;
    grid-template-columns: 1.5fr .7fr .7fr;
    gap: 70px;
    padding-top: 70px;
    padding-bottom: 55px;
  }
  .hope-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    font-size: 26px;
  }
  .hope-brand-mark {
    width: 38px;
    height: 38px;
    border: 4px solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    position: relative;
    transform: rotate(-18deg);
  }
  .hope-brand-mark span {
    position: absolute;
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    right: -2px;
    top: 0;
  }
  .hope-footer-brand p {
    max-width: 320px;
    color: rgba(255,255,255,.6);
    font-size: 14px;
    line-height: 1.7;
  }
  .hope-footer-nav,.hope-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .hope-footer-nav strong,.hope-footer-contact strong {
    margin-bottom: 8px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #7dd4ff;
  }
  .hope-footer a {
    color: rgba(255,255,255,.72);
    text-decoration: none;
    font-size: 13px;
  }
  .hope-footer a:hover {
    color: #fff;
  }
  .hope-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 22px;
    padding-bottom: 24px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.45);
    font-size: 11px;
  }
  .hope-hero-slider {
    position: relative;
    overflow: hidden;
    background: #073763;
    isolation: isolate;
  }
  .hope-hero-slider .hope-hero-grid {
    position: relative;
    z-index: 4;
    grid-template-columns: minmax(0,720px) 1fr;
  }
  .hope-hero-slides,.hope-hero-slide,.hope-hero-shade {
    position: absolute;
    inset: 0;
  }
  .hope-hero-slides {
    z-index: 0;
  }
  .hope-hero-slide {
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1.02);
    transition: opacity .2s ease;
    pointer-events: none;
  }
  .hope-hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
  }
  .hope-hero-puzzle-grid {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(7,1fr);
    grid-template-rows: repeat(5,1fr);
  }
  .hope-hero-puzzle-piece {
    display: block;
    background-image: inherit;
    background-size: 700% 500%;
    background-position: calc(var(--col) * 16.6667%) calc(var(--row) * 25%);
    opacity: 0;
    transform: translate3d(calc((var(--col) - 3) * 7px),calc((var(--row) - 2) * 7px),0) scale(.86) rotate(calc((var(--i) - 17) * .08deg));
    filter: blur(1.5px);
    clip-path: polygon(0 0,42% 0,42% 7%,58% 7%,58% 0,100% 0,100% 42%,93% 42%,93% 58%,100% 58%,100% 100%,58% 100%,58% 93%,42% 93%,42% 100%,0 100%,0 58%,7% 58%,7% 42%,0 42%);
    transition: opacity .38s ease,transform .7s cubic-bezier(.2,.75,.25,1),filter .55s ease;
    transition-delay: calc(var(--i) * 18ms);
  }
  .hope-slide-1 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-4-1.jpg');
  }
  .hope-slide-2 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-04-8-1.jpg');
  }
  .hope-slide-3 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-03-7-1.jpg');
  }
  .hope-slide-4 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-8-1.jpg');
  }
  .hope-hero-slide.is-active .hope-hero-puzzle-piece {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1) rotate(0);
    filter: blur(0);
  }
  .hope-slide-1 {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-4-1.jpg');
  }
  .hope-slide-2 {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-04-8-1.jpg');
  }
  .hope-slide-3 {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-03-7-1.jpg');
  }
  .hope-slide-4 {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-8-1.jpg');
  }
  .hope-hero-shade {
    z-index: 1;
    background: linear-gradient(90deg,rgba(3,30,54,.88) 0%,rgba(4,45,78,.72) 48%,rgba(4,45,78,.28) 100%);
  }
  .hope-hero-watermark {
    position: absolute;
    z-index: 2;
    right: 5vw;
    top: 50%;
    width: min(38vw,520px);
    aspect-ratio: 1;
    transform: translateY(-50%) rotate(-18deg);
    opacity: .13;
    pointer-events: none;
  }
  .hope-hero-watermark:before {
    content: "";
    position: absolute;
    inset: 10%;
    border: clamp(14px,2.3vw,32px) solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
  }
  .hope-hero-watermark span {
    position: absolute;
    width: clamp(22px,3.4vw,48px);
    height: clamp(22px,3.4vw,48px);
    border-radius: 50%;
    background: #fff;
    right: 8%;
    top: 10%;
  }
  .hope-hero-slider .hope-hero-copy h1,.hope-hero-slider .hope-hero-copy h1 em,.hope-hero-slider .hope-lead,.hope-hero-slider .hope-eyebrow,.hope-hero-slider .hope-proof strong,.hope-hero-slider .hope-proof span {
    color: #fff;
  }
  .hope-hero-slider .hope-eyebrow span {
    background: #7dd4ff;
  }
  .hope-hero-slider .hope-lead,.hope-hero-slider .hope-proof span {
    color: rgba(255,255,255,.78);
  }
  .hope-hero-slider .hope-proof {
    display: none;
  }
  .hope-hero-slider .hope-hero-grid {
    padding-bottom: 82px;
  }
  .hope-hero-slider .hope-wave {
    height: 28px;
  }
  .hope-hero-slider .hope-btn-ghost {
    color: #fff;
    border-color: rgba(255,255,255,.6);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(6px);
  }
  .hope-hero-slider .hope-water-card {
    display: none;
  }
  .hope-hero-slider .hope-wave {
    display: none;
  }
  .hope-stories {
    padding: 110px 0;
    background: #f7fbff;
  }
  .hope-story-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
  }
  .hope-story {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 26px;
    background: #dbeef9;
    aspect-ratio: 1/1;
  }
  .hope-story-large {
    grid-row: auto;
  }
  .hope-story img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
  }
  .hope-story:hover img {
    transform: scale(1.025);
  }
  .hope-story:after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent,rgba(3,30,54,.72));
  }
  .hope-story figcaption {
    position: absolute;
    z-index: 2;
    left: 25px;
    bottom: 22px;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
  }
  .hope-section-action {
    margin-top: 28px;
    text-align: center;
  }
  .hope-news {
    padding: 105px 0;
    background: #fff;
  }
  .hope-news-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
  }
  .hope-news-card {
    padding: 30px;
    border: 1px solid rgba(7,55,99,.11);
    border-radius: 22px;
    background: #fff;
    min-height: 255px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .hope-news-date {
    margin: 0 0 20px;
    color: var(--color-primary-500);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
  }
  .hope-news-card h3 {
    margin: 0 0 15px;
    font-size: 21px;
    line-height: 1.25;
  }
  .hope-news-card h3 a {
    color: var(--color-neutral);
    text-decoration: none;
  }
  .hope-news-card>p:not(.hope-news-date) {
    color: var(--color-secondary-600);
    font-size: 13px;
    line-height: 1.65;
  }
  .hope-text-link {
    margin-top: auto;
    color: var(--color-primary-600);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
  }
  .hope-partners {
    padding: 95px 0 90px;
    background: #fff;
    overflow: hidden;
  }
  .hope-partners-head {
    text-align: center;
    margin-bottom: 52px;
  }
  .hope-partners-head .hope-kicker {
    margin-bottom: 12px;
  }
  .hope-partners-head h2 {
    margin: 0;
    color: var(--color-neutral);
    font-size: clamp(34px,3.6vw,50px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 600;
  }
  .hope-partners-head h2 em {
    font-style: normal;
    color: var(--color-primary-500);
  }
  .hope-partners-window {
    width: 100%;
    overflow: hidden;
    mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  }
  .hope-partners-track {
    display: flex;
    width: max-content;
    animation: hopePartnersScroll 34s linear infinite;
  }
  .hope-partners-window:hover .hope-partners-track {
    animation-play-state: paused;
  }
  .hope-partners-set {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-right: 28px;
  }
  .hope-partner-logo {
    width: 270px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .hope-partner-logo img {
    display: block;
    max-width: 100%;
    max-height: 112px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: saturate(.92);
    transition: transform .25s ease,filter .25s ease;
  }
  .hope-partner-logo:hover img {
    transform: scale(1.06);
    filter: saturate(1);
  }
  @keyframes hopePartnersScroll {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
  .hope-gallery-lightbox-sources {
    position: absolute !important;
    left: -99999px !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .hope-puzzle {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr .85fr 1fr;
    grid-template-rows: 260px 260px;
    gap: 10px;
    max-width: 1120px;
    margin: 10px auto 0;
  }
  .hope-puzzle-piece {
    position: relative;
    overflow: hidden;
    background: #dbeef9;
    isolation: isolate;
  }
  .hope-puzzle-piece img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: hopePuzzleFade .8s ease both;
  }
  .hope-puzzle-a {
    border-radius: 34px 8px 8px 34px;
  }
  .hope-puzzle-b {
    border-radius: 8px;
  }
  .hope-puzzle-c {
    border-radius: 8px 34px 34px 8px;
  }
  .hope-puzzle-d {
    border-radius: 34px 8px 8px 34px;
  }
  .hope-puzzle-e {
    border-radius: 8px;
  }
  .hope-puzzle-f {
    border-radius: 8px 34px 34px 8px;
  }
  .hope-puzzle-a:after,.hope-puzzle-c:before,.hope-puzzle-d:after,.hope-puzzle-f:before {
    content: "";
    position: absolute;
    z-index: 3;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    top: 50%;
    transform: translateY(-50%);
  }
  .hope-puzzle-a:after,.hope-puzzle-d:after {
    right: -21px;
  }
  .hope-puzzle-c:before,.hope-puzzle-f:before {
    left: -21px;
  }
  .hope-puzzle-b:before,.hope-puzzle-e:after {
    content: "";
    position: absolute;
    z-index: 3;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    left: 50%;
    transform: translateX(-50%);
  }
  .hope-puzzle-b:before {
    top: -21px;
  }
  .hope-puzzle-e:after {
    bottom: -21px;
  }
  .hope-puzzle-watermark {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 92px;
    height: 92px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(7px);
    box-shadow: 0 10px 35px rgba(7,55,99,.1);
    pointer-events: none;
  }
  .hope-puzzle-watermark img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    opacity: .9;
  }
  @keyframes hopePuzzleFade {
    from {
      opacity: .15;
      transform: scale(1.025);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  @media (max-width:700px) {
    .hope-puzzle {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: repeat(3,min(44vw,210px));
      gap: 7px;
    }
    .hope-puzzle-a,.hope-puzzle-b,.hope-puzzle-c,.hope-puzzle-d,.hope-puzzle-e,.hope-puzzle-f {
      border-radius: 18px;
    }
    .hope-puzzle-piece:before,.hope-puzzle-piece:after {
      display: none;
    }
    .hope-puzzle-watermark {
      width: 68px;
      height: 68px;
    }
    .hope-puzzle-watermark img {
      width: 43px;
      height: 43px;
    }
  }
  @media (prefers-reduced-motion:reduce) {
    .hope-partners-track {
      animation: none;
    }
    .hope-puzzle-piece img {
      animation: none;
    }
  }
  .hope-page {
    overflow: hidden;
    background: #fff;
  }
  .hope-page-hero {
    padding: 105px 0 90px;
    position: relative;
  }
  .hope-page-hero-light {
    background: linear-gradient(135deg,#f7fbff 0%,#fff 72%);
  }
  .hope-page-hero-blue {
    background: linear-gradient(120deg,#073763,#0b5394);
    color: #fff;
  }
  .hope-page-hero-blue .hope-kicker {
    color: #7dd4ff;
  }
  .hope-page-hero-blue .hope-page-lead {
    color: rgba(255,255,255,.78);
  }
  .hope-page-hero-compact {
    padding: 82px 0 72px;
  }
  .hope-page-hero h1 {
    max-width: 900px;
    margin: 12px 0 22px;
    font-size: clamp(48px,6.2vw,84px);
    line-height: .98;
    letter-spacing: -.055em;
  }
  .hope-page-hero h1 em,.hope-page-section h2 em {
    font-style: normal;
    color: var(--color-primary-500);
  }
  .hope-page-hero-blue h1 em {
    color: #7dd4ff;
  }
  .hope-page-lead {
    max-width: 720px;
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 18px;
    line-height: 1.75;
  }
  .hope-page-hero-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 70px;
    align-items: center;
  }
  .hope-page-mark {
    display: flex;
    justify-content: center;
    opacity: .07;
  }
  .hope-page-mark img {
    width: min(310px,80%);
    height: auto;
  }
  .hope-page-section {
    padding: 100px 0;
  }
  .hope-page-section-soft {
    background: #f7fbff;
  }
  .hope-two-col,.hope-team-intro,.hope-contact-grid,.hope-embed-shell {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    align-items: start;
  }
  .hope-page-section h2 {
    margin: 10px 0 0;
    font-size: clamp(38px,4.5vw,58px);
    line-height: 1.04;
    letter-spacing: -.045em;
  }
  .hope-richtext {
    color: var(--color-secondary-600);
    font-size: 16px;
    line-height: 1.8;
  }
  .hope-richtext p:first-child {
    margin-top: 0;
  }
  .hope-value-grid,.hope-project-grid,.hope-location-cards {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .hope-value-grid article,.hope-project-card,.hope-location-cards article {
    padding: 28px;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 22px;
    background: #fff;
  }
  .hope-value-grid span,.hope-project-card>span,.hope-location-cards span {
    display: inline-block;
    margin-bottom: 32px;
    color: var(--color-primary-500);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
  }
  .hope-value-grid h3,.hope-project-card h3,.hope-location-cards h3 {
    margin: 0 0 12px;
    font-size: 22px;
  }
  .hope-value-grid p,.hope-project-card p,.hope-location-cards p {
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 13px;
    line-height: 1.7;
  }
  .hope-project-card {
    min-height: 310px;
    display: flex;
    flex-direction: column;
  }
  .hope-project-card a {
    margin-top: auto;
    color: var(--color-primary-600);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
  }
  .hope-team-intro>div:last-child>p {
    margin-top: 0;
    color: var(--color-secondary-600);
    line-height: 1.75;
  }
  .hope-team-intro .hope-btn {
    margin-top: 18px;
  }
  .hope-process {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
  }
  .hope-process ol {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .hope-process li {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 18px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(7,55,99,.1);
  }
  .hope-process li>strong {
    color: var(--color-primary-500);
    font-size: 12px;
  }
  .hope-process h3 {
    margin: 0 0 7px;
    font-size: 19px;
  }
  .hope-process p {
    margin: 0;
    color: var(--color-secondary-600);
    font-size: 13px;
    line-height: 1.6;
  }
  .hope-contact-quick {
    display: grid;
    gap: 12px;
  }
  .hope-contact-quick a {
    padding: 22px 24px;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 18px;
    background: #fff;
    color: var(--color-neutral);
    text-decoration: none;
  }
  .hope-contact-quick small {
    display: block;
    margin-bottom: 5px;
    color: var(--color-primary-500);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
  }
  .hope-contact-quick strong {
    font-size: 14px;
  }
  .hope-contact-panel,.hope-plugin-slot {
    min-height: 260px;
    padding: 32px;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 24px;
    background: #fff;
  }
  .hope-contact-placeholder,.hope-plugin-placeholder {
    padding: 38px 20px;
    border: 1px dashed rgba(7,55,99,.2);
    border-radius: 16px;
    text-align: center;
    color: var(--color-secondary-600);
    font-size: 13px;
  }
  .hope-embed-intro p {
    color: var(--color-secondary-600);
    line-height: 1.75;
  }
  .hope-donate-visual {
    margin: 30px 0 0;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(7,55,99,.10);
    background: #edf6fc;
  }
  .hope-donate-visual img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: cover;
  }
  .hope-blog-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
  }
  .hope-blog-card {
    overflow: hidden;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 24px;
    background: #fff;
  }
  .hope-blog-image {
    display: block;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #edf6fc;
  }
  .hope-blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
  }
  .hope-blog-card:hover .hope-blog-image img {
    transform: scale(1.025);
  }
  .hope-blog-body {
    padding: 26px;
  }
  .hope-blog-body h2 {
    margin: 0 0 12px;
    font-size: 22px;
    line-height: 1.2;
  }
  .hope-blog-body h2 a {
    color: var(--color-neutral);
    text-decoration: none;
  }
  .hope-blog-body>p:not(.hope-news-date) {
    color: var(--color-secondary-600);
    font-size: 13px;
    line-height: 1.65;
  }
  .hope-empty-state {
    padding: 50px;
    border: 1px dashed rgba(7,55,99,.18);
    border-radius: 22px;
    text-align: center;
    color: var(--color-secondary-600);
  }
  @media (max-width:980px) {
    .hope-page-hero-grid,.hope-two-col,.hope-team-intro,.hope-contact-grid,.hope-embed-shell,.hope-process {
      grid-template-columns: 1fr;
      gap: 38px;
    }
    .hope-page-mark {
      display: none;
    }
    .hope-value-grid,.hope-project-grid,.hope-location-cards {
      grid-template-columns: 1fr 1fr;
    }
    .hope-blog-grid {
      grid-template-columns: 1fr 1fr;
    }
  }
  @media (max-width:640px) {
    .hope-page-hero {
      padding: 70px 0 60px;
    }
    .hope-page-hero h1 {
      font-size: 44px;
    }
    .hope-page-lead {
      font-size: 16px;
    }
    .hope-page-section {
      padding: 72px 0;
    }
    .hope-value-grid,.hope-project-grid,.hope-location-cards,.hope-blog-grid {
      grid-template-columns: 1fr;
    }
    .hope-project-card {
      min-height: 260px;
    }
    .hope-contact-panel,.hope-plugin-slot {
      padding: 20px;
    }
    .hope-two-col,.hope-team-intro,.hope-contact-grid,.hope-embed-shell,.hope-process {
      gap: 28px;
    }
  }
  .hope-intro,.hope-paths,.hope-locations,.hope-stories,.hope-news,.hope-partners,.hope-cta {
    position: relative;
  }
  .hope-intro:before,.hope-stories:before,.hope-partners:before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(25,118,243,.055);
    border-radius: 50%;
    pointer-events: none;
  }
  .hope-intro:before {
    right: -150px;
    top: 70px;
  }
  .hope-stories:before {
    left: -170px;
    bottom: 80px;
  }
  .hope-partners:before {
    right: -180px;
    top: 25px;
  }
  .hope-btn,.hope-donate,.hope-text-link,.hope-cta-link {
    transition: transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease;
  }
  .hope-btn:hover,.hope-donate:hover {
    transform: translateY(-2px);
  }
  .hope-btn-primary:hover,.hope-donate:hover {
    box-shadow: 0 16px 34px rgba(7,55,99,.24);
  }
  .hope-btn-ghost:hover {
    background: #fff;
    border-color: rgba(7,55,99,.3);
  }
  .hope-hero-slider .hope-btn-ghost:hover {
    background: rgba(255,255,255,.18);
    border-color: #fff;
  }
  .hope-text-link:hover,.hope-cta-link:hover {
    opacity: .72;
  }
  .hope-path-icon {
    transition: transform .28s ease;
  }
  .hope-path-card:hover .hope-path-icon {
    transform: translateY(-3px) rotate(-2deg);
  }
  .hope-news-card {
    transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  .hope-news-card:hover {
    transform: translateY(-4px);
    border-color: rgba(25,118,243,.18);
    box-shadow: 0 20px 45px rgba(7,55,99,.075);
  }
  .hope-story {
    box-shadow: 0 16px 38px rgba(7,55,99,.07);
  }
  .hope-location-item {
    transition: padding-left .22s ease,background-color .22s ease;
  }
  .hope-location-item:hover {
    padding-left: 14px;
    background: rgba(240,248,255,.55);
  }
  .hope-partner-logo {
    transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  .hope-partner-logo:hover {
    transform: translateY(-3px);
    border-color: rgba(25,118,243,.16);
    box-shadow: 0 14px 30px rgba(7,55,99,.07);
  }
  .hope-cta-box {
    position: relative;
    overflow: hidden;
  }
  .hope-cta-box:after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    right: -130px;
    top: -180px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);
    pointer-events: none;
  }
  .hope-cta-box>div {
    position: relative;
    z-index: 1;
  }
  .hope-hero-slide {
    will-change: transform,opacity;
  }
  .hope-hero-copy {
    animation: hopeHeroIn .75s ease both;
  }
  @keyframes hopeHeroIn {
    from {
      opacity: 0;
      transform: translateY(14px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  .hope-cta {
    padding: 35px 0 105px;
    background: #fff;
  }
  .hope-cta-box {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 50px;
    align-items: center;
    padding: 58px 64px;
    border-radius: 34px;
    background: linear-gradient(120deg,#073763,#0b5394);
    box-shadow: 0 28px 70px rgba(7,55,99,.18);
  }
  .hope-cta .hope-kicker {
    color: #7dd4ff;
  }
  .hope-cta h2 {
    color: #fff;
    margin: 10px 0 16px;
    font-size: clamp(38px,4.2vw,58px);
    line-height: 1.03;
    letter-spacing: -.045em;
  }
  .hope-cta h2 em {
    font-style: normal;
    color: #7dd4ff;
  }
  .hope-cta-box p:not(.hope-kicker) {
    max-width: 650px;
    color: rgba(255,255,255,.75);
    line-height: 1.75;
  }
  .hope-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .hope-btn-light {
    background: #fff;
    color: var(--color-primary-700);
  }
  .hope-cta-link {
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,.35);
    padding-bottom: 3px;
  }
  @media (max-width:980px) {
    .hope-menu {
      display: none;
    }
    .hope-login {
      display: none;
    }
    .hope-menu-toggle {
      display: block;
    }
    .hope-mobile-menu {
      display: block;
    }
    .hope-nav {
      min-height: 74px;
    }
    .hope-nav-actions {
      margin-left: auto;
    }
    .hope-hero-grid {
      grid-template-columns: 1fr;
      gap: 50px;
      padding-block: 70px 100px;
    }
    .hope-hero-art {
      min-height: 400px;
    }
    .hope-water-card {
      width: min(390px,82vw);
    }
    .hope-intro-grid,.hope-section-head,.hope-locations-grid,.hope-cta-box {
      grid-template-columns: 1fr;
      gap: 25px;
    }
    .hope-locations-grid {
      gap: 45px;
    }
    .hope-cta-box {
      padding: 45px;
    }
    .hope-footer-main {
      grid-template-columns: 1.2fr .8fr .8fr;
      gap: 35px;
    }
    .hope-path-grid {
      grid-template-columns: repeat(2,1fr);
    }
    .hope-story-grid {
      grid-template-columns: repeat(3,1fr);
      grid-template-rows: none;
    }
    .hope-story-large {
      grid-column: auto;
      grid-row: auto;
    }
    .hope-news-grid {
      grid-template-columns: 1fr 1fr;
    }
    .hope-news-card:last-child {
      grid-column: 1/3;
    }
  }
  @media (max-width:640px) {
    .hope-shell {
      width: min(100% - 30px,1180px);
    }
    .hope-wordmark {
      font-size: 22px;
    }
    .hope-mark {
      width: 37px;
      height: 37px;
    }
    .hope-donate {
      padding: 11px 15px;
    }
    .hope-hero {
      min-height: auto;
    }
    .hope-hero-grid {
      padding-top: 55px;
    }
    .hope-hero h1 {
      font-size: 48px;
    }
    .hope-lead {
      font-size: 16px;
    }
    .hope-proof {
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .hope-proof div {
      display: grid;
      grid-template-columns: 90px 1fr;
      align-items: start;
    }
    .hope-proof span {
      margin-top: 0;
    }
    .hope-hero-art {
      min-height: 360px;
    }
    .hope-symbol {
      width: 105px;
      height: 105px;
      border-width: 11px;
    }
    .hope-intro {
      padding: 75px 0;
    }
    .hope-intro h2 {
      font-size: 40px;
    }
    .hope-paths {
      padding: 75px 0 85px;
    }
    .hope-path-grid {
      grid-template-columns: 1fr;
    }
    .hope-path-card {
      min-height: 310px;
    }
    .hope-section-head h2 {
      font-size: 40px;
    }
    .hope-locations {
      padding: 80px 0;
    }
    .hope-cta {
      padding: 25px 0 75px;
    }
    .hope-cta-box {
      padding: 38px 26px;
      border-radius: 26px;
    }
    .hope-footer-main {
      grid-template-columns: 1fr;
      gap: 34px;
      padding-top: 55px;
      padding-bottom: 40px;
    }
    .hope-footer-bottom {
      flex-direction: column;
      gap: 7px;
    }
    .hope-brand-logo {
      height: 52px;
      max-width: 190px;
    }
    .hope-hero-watermark {
      width: 72vw;
      right: -18vw;
      opacity: .1;
    }
    .hope-hero-shade {
      background: linear-gradient(90deg,rgba(3,30,54,.9),rgba(4,45,78,.55));
    }
    .hope-hero-slide {
      background-position: center center;
    }
    .hope-story-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .hope-story {
      height: auto;
      margin-bottom: 0;
      aspect-ratio: 1/1;
    }
    .hope-story-large {
      height: auto;
    }
    .hope-news {
      padding: 75px 0;
    }
    .hope-news-grid {
      grid-template-columns: 1fr;
    }
    .hope-news-card:last-child {
      grid-column: auto;
    }
    .hope-news-card {
      min-height: 220px;
      padding: 25px;
    }
    .hope-stories {
      padding: 80px 0;
    }
    .hope-partners {
      padding: 70px 0 65px;
    }
    .hope-partners-head {
      margin-bottom: 35px;
    }
    .hope-partners-head h2 {
      font-size: 34px;
      padding: 0 20px;
    }
    .hope-partners-set {
      gap: 14px;
      padding-right: 14px;
    }
    .hope-partner-logo {
      width: 145px;
      height: 88px;
      padding: 14px 16px;
    }
    .hope-partner-logo img {
      max-height: 56px;
    }
    .hope-partners-track {
      animation-duration: 26s;
    }
    .hope-intro:before,.hope-stories:before,.hope-partners:before {
      display: none;
    }
    .hope-btn {
      min-height: 46px;
    }
    .hope-path-card:hover,.hope-news-card:hover,.hope-partner-logo:hover {
      transform: none;
    }
    .hope-location-item:hover {
      padding-left: 8px;
    }
    .hope-cta-box:after {
      width: 240px;
      height: 240px;
      right: -130px;
      top: -120px;
    }
  }
}
.hope-article-shell {
  max-width: 1180px;
}
.hope-single-hero {
  max-width: 1000px;
}
.hope-single-hero h1 {
  max-width: 900px;
}
.hope-single-meta {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #6b8293;
}
.hope-single-body {
  padding-top: 64px;
}
.hope-single-editorial {
  display: grid;
  grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr);
  gap: 58px;
  align-items: start;
}
.hope-single-image {
  position: sticky;
  top: 105px;
  margin: 0;
  border-radius: 26px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #eaf5fc;
  box-shadow: 0 20px 50px rgba(7,55,99,.09);
}
.hope-single-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hope-article-content {
  min-width: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #314b5d;
}
.hope-single-editorial .hope-article-content>.et_pb_section:first-child .et_pb_image {
  display: none !important;
}
.hope-single-editorial .hope-article-content>.et_pb_section:first-child:has(.et_pb_image) .et_pb_row {
  margin: 0 !important;
  padding: 0 !important;
}
.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) {
  display: none;
}
.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) {
  display: none;
}
.hope-article-content h1 {
  display: none;
}
.hope-article-content span[style*="font-size"] {
  font-size: inherit !important;
}
.hope-article-content h2,.hope-article-content h3 {
  color: #073763;
  margin-top: 1.8em;
}
.hope-article-content h1 {
  display: none;
}
.hope-article-content span[style*="font-size"] {
  font-size: inherit !important;
}
.hope-article-content a {
  color: #0b5394;
}
.hope-single-back {
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid #dce8ef;
}
@media (max-width:900px) {
  .hope-single-body {
    padding-top: 40px;
  }
  .hope-single-editorial {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .hope-single-image {
    position: relative;
    top: auto;
    width: 100%;
    max-height: 360px;
    aspect-ratio: 16/9;
    border-radius: 22px;
  }
  .hope-single-image img {
    height: 100%;
    object-fit: cover;
  }
}
@media (max-width:640px) {
  .hope-single-body {
    padding-top: 28px;
  }
  .hope-single-editorial {
    gap: 24px;
  }
  .hope-single-image {
    max-height: 270px;
    border-radius: 18px;
  }
  .hope-article-content {
    font-size: 16px;
    line-height: 1.75;
  }
  .hope-single-back {
    margin-top: 38px;
  }
}
.hope-single-body {
  padding-top: 52px;
}
.hope-single-body .hope-article-shell {
  max-width: 1180px;
}
.hope-single-editorial {
  display: grid;
  grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr);
  gap: 56px;
  align-items: start;
}
.hope-single-editorial>.hope-single-image {
  position: sticky;
  top: 110px;
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #eaf5fc;
  box-shadow: 0 18px 48px rgba(7,55,99,.09);
}
.hope-single-editorial>.hope-single-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hope-single-editorial>.hope-article-content {
  min-width: 0;
}
.hope-single-editorial-noimage {
  display: block;
}
.hope-single-editorial-noimage>.hope-article-content {
  display: grid;
  grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr);
  gap: 56px;
  align-items: start;
}
.hope-single-editorial-noimage>.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: 110px;
}
.hope-single-editorial-noimage>.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 18px 48px rgba(7,55,99,.09);
}
.hope-single-editorial-noimage>.hope-article-content>.et_pb_section:not(:first-child) {
  grid-column: 2;
}
@media (max-width:900px) {
  .hope-single-body {
    padding-top: 34px;
  }
  .hope-single-editorial {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .hope-single-editorial>.hope-single-image {
    position: relative;
    top: auto;
    aspect-ratio: 16/9;
    border-radius: 22px;
  }
  .hope-single-editorial>.hope-article-content {
    font-size: 17px;
    line-height: 1.75;
  }
  .hope-single-editorial-noimage>.hope-article-content {
    display: block;
  }
  .hope-single-editorial-noimage>.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) {
    position: relative;
    top: auto;
    margin-bottom: 28px;
  }
  .hope-single-editorial-noimage>.hope-article-content>.et_pb_section:first-child:has(.et_pb_image) img {
    aspect-ratio: 16/9;
    max-height: 360px;
    border-radius: 22px;
  }
}
@media (max-width:640px) {
  .hope-single-body {
    padding-top: 24px;
  }
  .hope-single-editorial {
    gap: 22px;
  }
  .hope-single-editorial>.hope-single-image {
    aspect-ratio: 16/10;
    max-height: 280px;
    border-radius: 18px;
  }
  .hope-single-editorial>.hope-article-content {
    font-size: 16px;
    line-height: 1.72;
  }
}
.hope-single .hope-article-content .et_pb_image_0 {
  display: none !important;
}
.hope-single .hope-article-content h1 {
  display: none !important;
}
.hope-single .hope-page-hero-light {
  background: linear-gradient(135deg,#f5faff 0%,#eaf5fc 100%);
}
.hope-single .hope-single-hero h1 {
  color: #073763;
}
.hope-single .hope-single-meta {
  color: #0b5394;
  font-weight: 600;
}
.hope-single .hope-single-image {
  border: 1px solid rgba(11,83,148,.1);
  box-shadow: 0 20px 55px rgba(7,55,99,.12);
  aspect-ratio: 1/1;
  border-radius: 28px;
  overflow: hidden;
  background: #eaf5fc;
}
.hope-single .hope-single-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hope-single .hope-article-content {
  color: #263746;
}
.hope-single .hope-article-content h2,.hope-single .hope-article-content h3,.hope-single .hope-article-content h4 {
  color: #073763 !important;
  font-family: Rubik,Arial,sans-serif;
  font-weight: 700;
  line-height: 1.22;
}
.hope-single .hope-article-content h2 {
  margin-top: 38px;
  margin-bottom: 15px;
  font-size: clamp(25px,2.2vw,34px);
}
.hope-single .hope-article-content h3 {
  margin-top: 30px;
  margin-bottom: 12px;
  font-size: clamp(21px,1.8vw,27px);
}
.hope-single .hope-article-content p,.hope-single .hope-article-content li {
  color: #34495a;
  font-size: 18px;
  line-height: 1.78;
}
.hope-single .hope-article-content strong {
  color: #073763;
}
.hope-single .hope-article-content a {
  color: #0b5394 !important;
  text-decoration-color: rgba(25,118,243,.4);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.hope-single .hope-article-content a:hover {
  color: #1976f3 !important;
}
.hope-single .hope-article-content ul,.hope-single .hope-article-content ol {
  padding-left: 1.35em;
  margin: 18px 0 26px;
}
.hope-single .hope-article-content li::marker {
  color: #1976f3;
}
.hope-single .hope-article-content span[style*="font-size"] {
  font-size: inherit !important;
}
.hope-single .hope-article-content span[style*="color"] {
  color: inherit !important;
}
.hope-single .hope-article-content p[style*="text-align: center"] {
  padding: 7px 12px;
  border-radius: 12px;
  background: #f5faff;
}
.hope-single .hope-single-back {
  margin-top: 48px;
  padding-top: 30px;
  border-top: 1px solid #dceaf4;
}
@media (max-width:900px) {
  .hope-single .hope-article-content p,.hope-single .hope-article-content li {
    font-size: 17px;
  }
  .hope-single .hope-article-content h2 {
    margin-top: 30px;
  }
  .hope-single .hope-single-back {
    margin-top: 36px;
  }
}
@media (max-width:640px) {
  .hope-single .hope-single-image {
    aspect-ratio: 1/1;
    max-height: none;
    border-radius: 20px;
  }
  .hope-single .hope-article-content p,.hope-single .hope-article-content li {
    font-size: 16px;
  }
  .hope-single .hope-article-content h2 {
    font-size: 25px;
  }
  .hope-single .hope-article-content h3 {
    font-size: 21px;
  }
}
.hope-error {
  padding-bottom: 90px;
}
.hope-error-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.hope-filmstrip-section {
  overflow: hidden;
}
.hope-filmstrip-wrap {
  position: relative;
  margin: 46px 0 20px;
}
.hope-filmstrip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
  align-items: center;
}
.hope-filmstrip-photo {
  margin: 0;
  aspect-ratio: 1/1;
  border-radius: 24px;
  overflow: hidden;
  background: #eaf5fc;
  box-shadow: 0 18px 38px rgba(7,55,99,.08);
  transition: transform .35s ease;
}
.hope-filmstrip-photo:nth-child(1),.hope-filmstrip-photo:nth-child(3) {
  transform: translateY(-18px);
}
.hope-filmstrip-photo:nth-child(2),.hope-filmstrip-photo:nth-child(4) {
  transform: translateY(18px);
}
.hope-filmstrip-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: hopeFilmFade 3s ease-in-out both;
}
.hope-filmstrip-mark {
  position: absolute;
  z-index: 1;
  width: 230px;
  height: 230px;
  object-fit: contain;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .035;
  pointer-events: none;
}
@keyframes hopeFilmFade {
  from {
    opacity: 0;
    transform: scale(1.025);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width:760px) {
  .hope-filmstrip-wrap {
    margin-top: 30px;
  }
  .hope-filmstrip {
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
  }
  .hope-filmstrip-photo:nth-child(1),.hope-filmstrip-photo:nth-child(3) {
    transform: translateY(-6px);
  }
  .hope-filmstrip-photo:nth-child(2),.hope-filmstrip-photo:nth-child(4) {
    transform: translateY(6px);
  }
  .hope-filmstrip-photo {
    border-radius: 18px;
  }
  .hope-filmstrip-mark {
    width: 160px;
    height: 160px;
    right: -55px;
  }
}
@media (max-width:640px) {
  .hope-nav {
    min-height: 68px;
    gap: 10px;
  }
  .hope-brand-logo {
    height: 42px;
    max-width: 155px;
  }
  .hope-nav-actions {
    gap: 8px;
  }
  .hope-donate {
    padding: 10px 13px;
    font-size: 10px;
  }
  .hope-menu-toggle {
    width: 40px;
    height: 40px;
  }
  .hope-mobile-menu a {
    padding: 14px 2px;
  }
  .hope-hero-slider {
    min-height: 610px;
  }
  .hope-hero-slider .hope-hero-grid {
    padding-top: 48px;
    padding-bottom: 62px;
  }
  .hope-hero h1 {
    font-size: 40px;
    line-height: 1.02;
    letter-spacing: -.045em;
  }
  .hope-eyebrow {
    margin-bottom: 16px;
    font-size: 10px;
  }
  .hope-lead {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.65;
  }
  .hope-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }
  .hope-hero-actions .hope-btn {
    width: 100%;
    justify-content: center;
  }
  .hope-hero-watermark {
    width: 68vw;
    right: -22vw;
    opacity: .075;
  }
  .hope-section-head {
    margin-bottom: 32px;
  }
  .hope-section-head h2,.hope-intro h2,.hope-locations-copy h2 {
    font-size: 36px;
    line-height: 1.06;
  }
  .hope-section-head>p {
    font-size: 15px;
    line-height: 1.65;
  }
  .hope-intro {
    padding: 66px 0;
  }
  .hope-paths {
    padding: 70px 0;
  }
  .hope-path-card {
    min-height: 285px;
    padding: 26px 24px;
  }
  .hope-path-card h3 {
    margin-top: 38px;
  }
  .hope-locations {
    padding: 70px 0;
  }
  .hope-location-item {
    padding: 20px 6px;
  }
  .hope-stories {
    padding: 70px 0;
  }
  .hope-filmstrip-wrap {
    margin: 24px 0 10px;
  }
  .hope-filmstrip {
    gap: 10px;
  }
  .hope-filmstrip-photo {
    border-radius: 16px;
    box-shadow: 0 12px 26px rgba(7,55,99,.07);
  }
  .hope-filmstrip-photo:nth-child(1),.hope-filmstrip-photo:nth-child(3) {
    transform: translateY(-4px);
  }
  .hope-filmstrip-photo:nth-child(2),.hope-filmstrip-photo:nth-child(4) {
    transform: translateY(4px);
  }
  .hope-filmstrip-mark {
    display: none;
  }
  .hope-section-action {
    margin-top: 24px;
  }
  .hope-news {
    padding: 70px 0;
  }
  .hope-news-card {
    min-height: auto;
    padding: 24px;
  }
  .hope-partners {
    padding: 66px 0 60px;
  }
  .hope-partners-head {
    margin-bottom: 30px;
  }
  .hope-partners-head h2 {
    font-size: 32px;
    padding: 0;
  }
  .hope-partner-logo {
    width: 190px;
    height: 112px;
    padding: 6px 10px;
  }
  .hope-partner-logo img {
    max-height: 82px;
  }
  .hope-cta {
    padding: 22px 0 68px;
  }
  .hope-cta-box {
    padding: 34px 22px;
    border-radius: 24px;
  }
  .hope-cta h2 {
    font-size: 36px;
  }
  .hope-cta-actions {
    width: 100%;
  }
  .hope-cta-actions .hope-btn {
    width: 100%;
    justify-content: center;
  }
  .hope-footer-main {
    padding-top: 48px;
    padding-bottom: 36px;
  }
  .hope-footer-logo img {
    height: 58px;
    max-width: 200px;
  }
}
.hope-contact-hero {
  padding: 112px 0 92px;
  background: linear-gradient(135deg,#f7fbff 0%,#fff 55%,#edf7ff 100%);
  overflow: hidden;
}
.hope-contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(360px,.75fr);
  gap: 80px;
  align-items: center;
}
.hope-contact-hero-copy h1 {
  max-width: 780px;
}
.hope-contact-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.hope-contact-cards {
  display: grid;
  gap: 12px;
}
.hope-contact-card {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 22px;
  gap: 16px;
  align-items: center;
  padding: 20px 22px;
  border: 1px solid rgba(7,55,99,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 44px rgba(7,55,99,.06);
  text-decoration: none;
  color: var(--hope-ink);
  transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.hope-contact-card:hover {
  transform: translateY(-3px);
  border-color: rgba(25,118,243,.22);
  box-shadow: 0 20px 52px rgba(7,55,99,.1);
}
.hope-contact-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(25,118,243,.08);
}
.hope-contact-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: var(--hope-blue);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hope-contact-card small {
  display: block;
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  color: var(--hope-blue);
}
.hope-contact-card strong {
  display: block;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.hope-contact-card p {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--hope-muted);
}
.hope-contact-arrow {
  font-size: 20px;
  color: var(--hope-blue);
}
.hope-contact-locations {
  padding-top: 92px;
}
.hope-location-cards-contact article {
  position: relative;
  overflow: hidden;
}
.hope-location-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 34px;
}
.hope-location-top>span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(25,118,243,.08);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--hope-blue);
}
.hope-location-top svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: rgba(7,55,99,.28);
  stroke-width: 1.5;
}
.hope-location-cards-contact article>small {
  display: block;
  margin-top: 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hope-blue);
}
.hope-location-new:after {
  content: 'NUOVA';
  position: absolute;
  top: 18px;
  right: -30px;
  width: 110px;
  padding: 5px 0;
  text-align: center;
  transform: rotate(42deg);
  background: var(--hope-blue);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}
.hope-contact-form-section {
  padding: 100px 0;
}
.hope-contact-form-grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(420px,1fr);
  gap: 90px;
  align-items: start;
}
.hope-contact-form-copy h2 {
  margin-top: 10px;
}
.hope-contact-form-copy>p {
  max-width: 520px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--hope-muted);
}
.hope-contact-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--hope-line);
}
.hope-contact-note span {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
}
.hope-contact-note svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: var(--hope-blue);
  stroke-width: 1.7;
  stroke-linecap: round;
}
.hope-contact-note p {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--hope-muted);
}
.hope-contact-panel {
  min-height: 330px;
  padding: 34px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 60px rgba(7,55,99,.08);
}
.hope-contact-placeholder {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px dashed rgba(7,55,99,.18);
  border-radius: 18px;
  padding: 28px;
  color: var(--hope-muted);
}
.hope-contact-placeholder strong {
  font-size: 18px;
  color: var(--hope-ink);
}
.hope-contact-placeholder p {
  max-width: 360px;
  line-height: 1.6;
}
.hope-contact-final {
  padding: 24px 0 88px;
  background: var(--hope-soft);
}
.hope-contact-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 48px 54px;
  border-radius: 28px;
  background: var(--hope-ink);
  color: #fff;
}
.hope-contact-final-box .hope-kicker {
  color: #7fb8ff;
}
.hope-contact-final-box h2 {
  margin: 8px 0 0;
  color: #fff;
}
.hope-contact-final-box h2 em {
  color: #78b7ff;
}
.hope-contact-final-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hope-contact-final-link {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}
.hope-contact-final-link:hover {
  text-decoration: underline;
}
@media (max-width:900px) {
  .hope-contact-hero-grid,.hope-contact-form-grid {
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .hope-contact-cards {
    grid-template-columns: 1fr 1fr;
  }
  .hope-contact-card:last-child {
    grid-column: 1/-1;
  }
  .hope-contact-final-box {
    align-items: flex-start;
    flex-direction: column;
  }
}
.hope-contact-form {
  display: grid;
  gap: 18px;
}
.hope-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.hope-contact-form label {
  display: grid;
  gap: 8px;
}
.hope-contact-form label>span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--hope-ink);
}
.hope-contact-form input,.hope-contact-form select,.hope-contact-form textarea {
  width: 100%;
  border: 1px solid rgba(7,55,99,.14);
  border-radius: 14px;
  background: #fff;
  padding: 14px 15px;
  font: inherit;
  color: var(--hope-ink);
  outline: none;
  transition: border-color .2s ease,box-shadow .2s ease;
}
.hope-contact-form textarea {
  resize: vertical;
  min-height: 145px;
}
.hope-contact-form input:focus,.hope-contact-form select:focus,.hope-contact-form textarea:focus {
  border-color: var(--hope-blue);
  box-shadow: 0 0 0 3px rgba(25,118,243,.09);
}
.hope-form-consent {
  grid-template-columns: 20px 1fr !important;
  align-items: start;
  gap: 10px !important;
}
.hope-form-consent input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
}
.hope-form-consent span {
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.5;
  color: var(--hope-muted) !important;
}
.hope-form-submit {
  border: 0;
  cursor: pointer;
  justify-self: start;
}
.hope-form-required {
  margin: 0;
  font-size: 11px;
  color: var(--hope-muted);
}
.hope-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.hope-form-status {
  margin-bottom: 22px;
  padding: 16px 18px;
  border-radius: 14px;
}
.hope-form-status strong {
  display: block;
  margin-bottom: 4px;
}
.hope-form-status p {
  margin: 0;
  font-size: 13px;
}
.hope-form-success {
  background: #eef9f2;
  color: #185c35;
}
.hope-form-error {
  background: #fff3f1;
  color: #8a2e25;
}
@media (max-width:640px) {
  .hope-form-row {
    grid-template-columns: 1fr;
  }
  .hope-form-submit {
    width: 100%;
    justify-content: center;
  }
  .hope-contact-hero {
    padding: 66px 0 62px;
  }
  .hope-contact-hero-grid {
    gap: 36px;
  }
  .hope-contact-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .hope-contact-hero-actions .hope-btn {
    width: 100%;
    justify-content: center;
  }
  .hope-contact-cards {
    grid-template-columns: 1fr;
  }
  .hope-contact-card:last-child {
    grid-column: auto;
  }
  .hope-contact-card {
    grid-template-columns: 44px minmax(0,1fr) 18px;
    padding: 17px 16px;
    gap: 12px;
    border-radius: 17px;
  }
  .hope-contact-icon {
    width: 44px;
    height: 44px;
  }
  .hope-contact-card strong {
    font-size: 13px;
  }
  .hope-contact-card p {
    font-size: 11px;
  }
  .hope-contact-locations {
    padding-top: 70px;
  }
  .hope-location-top {
    margin-bottom: 24px;
  }
  .hope-contact-form-section {
    padding: 72px 0;
  }
  .hope-contact-form-grid {
    gap: 36px;
  }
  .hope-contact-panel {
    min-height: 280px;
    padding: 18px;
    border-radius: 20px;
  }
  .hope-contact-placeholder {
    min-height: 240px;
    padding: 20px;
  }
  .hope-contact-final {
    padding: 0 0 68px;
  }
  .hope-contact-final-box {
    padding: 34px 22px;
    border-radius: 24px;
  }
  .hope-contact-final-actions {
    width: 100%;
    display: grid;
    gap: 16px;
  }
  .hope-contact-final-actions .hope-btn {
    width: 100%;
    justify-content: center;
  }
  .hope-contact-final-link {
    text-align: center;
  }
}
.hope-contact-map-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-top: 72px;
  padding-top: 58px;
  border-top: 1px solid var(--hope-line);
}
.hope-contact-map-intro h2 {
  margin: 8px 0 0;
  font-size: clamp(36px,4vw,58px);
  line-height: 1.03;
}
.hope-contact-map-intro>p {
  max-width: 560px;
  margin: 0;
  color: var(--hope-muted);
  line-height: 1.75;
}
.hope-contact-map-live {
  margin-top: 34px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(7,55,99,.09);
  background: #eaf5fc;
}
.hope-contact-map-live .wpgmza_map {
  margin: 0 !important;
  width: 100% !important;
  min-height: 450px;
}
.hope-contact-location-list {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-top: 18px;
}
.hope-contact-location-list>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(7,55,99,.09);
  border-radius: 16px;
  background: #fff;
  text-decoration: none;
  color: var(--hope-ink);
  transition: transform .2s ease,border-color .2s ease;
}
.hope-contact-location-list>a:hover {
  transform: translateY(-2px);
  border-color: rgba(25,118,243,.28);
}
.hope-contact-location-list span {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hope-contact-location-list small {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(25,118,243,.08);
  font-size: 9px;
  font-weight: 800;
  color: var(--hope-blue);
}
.hope-contact-location-list strong {
  font-size: 14px;
}
.hope-contact-location-list em {
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  color: var(--hope-blue);
  white-space: nowrap;
}
.hope-contact-routes {
  padding: 90px 0;
}
.hope-contact-route-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.hope-contact-route-grid>a {
  display: flex;
  flex-direction: column;
  min-height: 300px;
  padding: 30px;
  border: 1px solid var(--hope-line);
  border-radius: 24px;
  background: #fff;
  color: var(--hope-ink);
  text-decoration: none;
  transition: transform .25s ease,box-shadow .25s ease;
}
.hope-contact-route-grid>a:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 45px rgba(7,55,99,.08);
}
.hope-contact-route-grid small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  color: var(--hope-blue);
}
.hope-contact-route-grid h3 {
  font-size: 25px;
  line-height: 1.15;
  margin: 38px 0 12px;
}
.hope-contact-route-grid p {
  color: var(--hope-muted);
  line-height: 1.65;
  margin: 0 0 28px;
}
.hope-contact-route-grid strong {
  margin-top: auto;
  font-size: 13px;
  color: var(--hope-blue);
}
@media (max-width:760px) {
  .hope-contact-map-intro {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .hope-contact-map-live {
    border-radius: 22px;
  }
  .hope-contact-map-live .wpgmza_map {
    min-height: 360px;
  }
  .hope-contact-location-list {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
  }
  .hope-contact-location-list>a {
    padding: 15px 16px;
  }
  .hope-contact-routes {
    padding: 68px 0;
  }
  .hope-contact-route-grid {
    grid-template-columns: 1fr;
  }
  .hope-contact-route-grid>a {
    min-height: 235px;
    padding: 25px;
  }
  .hope-contact-route-grid h3 {
    margin-top: 28px;
  }
}
.hope-blog-hero {
  padding: 110px 0 82px;
  background: linear-gradient(145deg,#f7fbff 0%,#fff 64%);
  overflow: hidden;
}
.hope-blog-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
  align-items: end;
}
.hope-blog-hero h1 {
  margin: 12px 0 0;
  font-size: clamp(54px,6.2vw,88px);
  line-height: .96;
  letter-spacing: -.055em;
  color: #073763;
}
.hope-blog-hero h1 em {
  font-weight: 400;
  color: #1686d9;
}
.hope-blog-hero .hope-page-lead {
  margin: 0 0 22px;
  max-width: 560px;
}
.hope-blog-section {
  padding-top: 86px;
}
.hope-blog-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 34px;
}
.hope-blog-card {
  overflow: hidden;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(7,55,99,.08);
  transition: transform .3s ease,box-shadow .3s ease;
}
.hope-blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 46px rgba(7,55,99,.09);
}
.hope-blog-card-featured {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 440px;
}
.hope-blog-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: #eaf5fc;
}
.hope-blog-card-featured .hope-blog-image {
  aspect-ratio: auto;
  min-height: 440px;
}
.hope-blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.hope-blog-card:hover .hope-blog-image img {
  transform: scale(1.025);
}
.hope-blog-image-fallback {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 280px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg,#e8f5fc,#f8fcff);
  position: relative;
}
.hope-blog-image-fallback:before {
  content: "";
  width: 150px;
  height: 150px;
  border: 1px solid rgba(22,134,217,.16);
  border-radius: 50%;
  position: absolute;
}
.hope-blog-image-fallback span {
  font-size: 13px;
  letter-spacing: .28em;
  font-weight: 800;
  color: #1686d9;
}
.hope-blog-body {
  padding: 30px 30px 34px;
}
.hope-blog-card-featured .hope-blog-body {
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hope-blog-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 17px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #718394;
}
.hope-blog-meta span {
  color: #1686d9;
}
.hope-blog-meta span:after {
  content: "·";
  margin-left: 12px;
  color: #b3c0ca;
}
.hope-blog-body h2 {
  margin: 0 0 15px;
  font-size: 29px;
  line-height: 1.12;
  letter-spacing: -.03em;
}
.hope-blog-card-featured h2 {
  font-size: 40px;
}
.hope-blog-body h2 a {
  color: #073763;
  text-decoration: none;
}
.hope-blog-body>p {
  margin: 0 0 23px;
  color: #667785;
  line-height: 1.7;
}
.hope-blog-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 52px;
}
.hope-blog-pagination .page-numbers {
  padding: 11px 15px;
  border-radius: 999px;
  text-decoration: none;
  color: #073763;
  background: #f2f8fc;
  font-size: 13px;
  font-weight: 700;
}
.hope-blog-pagination .current {
  background: #073763;
  color: #fff;
}
.hope-blog-cta {
  padding: 22px 0 90px;
}
.hope-blog-cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 48px 54px;
  border-radius: 30px;
  background: #073763;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.hope-blog-cta-box:after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  right: 18%;
  top: -145px;
}
.hope-blog-cta h2 {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: -.04em;
  color: #fff;
}
.hope-blog-cta h2 em {
  font-weight: 400;
  color: #7fc9f3;
}
.hope-blog-cta .hope-kicker {
  color: #7fc9f3;
}
.hope-blog-cta .hope-btn {
  position: relative;
  z-index: 1;
  flex: none;
}
.hope-empty-state {
  text-align: center;
  padding: 90px 20px;
}
.hope-empty-state h2 {
  font-size: 42px;
  color: #073763;
}
.hope-empty-state h2 em {
  color: #1686d9;
  font-weight: 400;
}
@media (max-width:800px) {
  .hope-blog-hero {
    padding: 76px 0 58px;
  }
  .hope-blog-hero-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .hope-blog-hero h1 {
    font-size: 48px;
  }
  .hope-blog-section {
    padding-top: 60px;
  }
  .hope-blog-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .hope-blog-card-featured {
    grid-column: auto;
    display: block;
    min-height: 0;
  }
  .hope-blog-card-featured .hope-blog-image {
    aspect-ratio: 1/1;
    min-height: 0;
  }
  .hope-blog-image {
    aspect-ratio: 1/1;
  }
  .hope-blog-card-featured .hope-blog-body,.hope-blog-body {
    padding: 25px 23px 29px;
  }
  .hope-blog-card-featured h2,.hope-blog-body h2 {
    font-size: 27px;
  }
  .hope-blog-cta {
    padding: 10px 0 68px;
  }
  .hope-blog-cta-box {
    display: block;
    padding: 34px 24px;
    border-radius: 24px;
  }
  .hope-blog-cta h2 {
    font-size: 34px;
    margin-bottom: 28px;
  }
  .hope-blog-cta .hope-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (prefers-reduced-motion:reduce) {
  .hope-filmstrip-photo img {
    animation: none;
  }
  .hope-blog-card,.hope-blog-image img {
    transition: none;
  }
  .hope-hero-puzzle-piece {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
  .hope-hero-slide.is-active .hope-hero-puzzle-piece {
    opacity: 1;
  }
}
.hope-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}
.hope-gallery-card {
  display: block;
  background: #fff;
  border: 1px solid #e7eef4;
  border-radius: 24px;
  overflow: hidden;
  text-decoration: none;
  color: #073763;
  transition: transform .25s ease,box-shadow .25s ease;
}
.hope-gallery-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(7,55,99,.09);
}
.hope-gallery-cover {
  aspect-ratio: 1/1;
  background: #eaf5fc;
  overflow: hidden;
}
.hope-gallery-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.hope-gallery-card:hover .hope-gallery-cover img {
  transform: scale(1.035);
}
.hope-gallery-meta {
  padding: 24px;
}
.hope-gallery-meta span {
  font-size: .72rem;
  letter-spacing: .12em;
  font-weight: 800;
  color: #1976f3;
}
.hope-gallery-meta h2 {
  font-size: 1.3rem;
  margin: 7px 0 18px;
  line-height: 1.15;
}
.hope-gallery-meta strong {
  font-size: .86rem;
}
.hope-gallery-back {
  margin-bottom: 35px;
}
.hope-gallery-single-head {
  margin-bottom: 32px;
}
.hope-gallery-single-head h2 {
  font-size: clamp(2rem,4vw,3.5rem);
  margin: 5px 0;
}
.hope-gallery-embed {
  min-height: 200px;
}
.hope-gallery-embed .foogallery {
  margin: 0 auto !important;
}
@media (max-width:900px) {
  .hope-gallery-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:640px) {
  .hope-gallery-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .hope-gallery-meta {
    padding: 20px;
  }
}
@layer components {
  .hope-autismfriendly-page .hope-af-search {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(190px,260px) minmax(0,1fr) 160px !important;
    gap: 16px !important;
    align-items: end !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hope-autismfriendly-page .hope-af-search>* {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .hope-autismfriendly-page .hope-af-field select,.hope-autismfriendly-page .hope-af-field input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hope-autismfriendly-page .hope-af-reset {
    box-sizing: border-box !important;
    width: 160px !important;
    max-width: 100% !important;
    border-radius: 14px !important;
  }
  @media (max-width:760px) {
    .hope-autismfriendly-page .hope-af-search {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 14px !important;
      padding: 16px !important;
      overflow: hidden !important;
    }
    .hope-autismfriendly-page .hope-af-search>* {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
    }
    .hope-autismfriendly-page .hope-af-field select,.hope-autismfriendly-page .hope-af-field input {
      width: 100% !important;
      max-width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      font-size: 16px !important;
    }
    .hope-autismfriendly-page .hope-af-reset {
      width: 100% !important;
      max-width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
    }
    .hope-autismfriendly-page .hope-af-map .wpgmza_map {
      min-height: 380px !important;
    }
  }
  .hope-af-search {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(180px,260px) minmax(0,1fr) 150px;
    gap: 16px;
    align-items: end;
    width: 100%;
    margin: 34px 0 28px;
    padding: 22px;
    border: 1px solid rgba(7,55,99,.1);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(7,55,99,.06);
  }
  .hope-af-search>* {
    box-sizing: border-box;
    min-width: 0;
  }
  .hope-af-reset {
    width: 150px;
    justify-self: end;
  }
  .hope-af-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .hope-af-field label {
    color: #073763;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .hope-af-field select,.hope-af-field input {
    width: 100%;
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(7,55,99,.16);
    border-radius: 14px;
    background: #f8fcff;
    color: #0c343d;
    font: inherit;
    outline: none;
  }
  .hope-af-field select:focus,.hope-af-field input:focus {
    border-color: #1976f3;
    box-shadow: 0 0 0 3px rgba(25,118,243,.1);
  }
  .hope-af-reset {
    min-height: 50px;
    padding: 0 19px;
    border: 0;
    border-radius: 999px;
    background: #073763;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
  }
  .hope-af-list-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin: 58px 0 20px;
  }
  .hope-af-list-head h2 {
    margin: 8px 0 0;
    font-size: clamp(30px,3.4vw,46px);
    letter-spacing: -.04em;
  }
  .hope-af-list-head>p {
    margin: 0;
    color: #3d6678;
    line-height: 1.65;
  }
  @media (max-width:760px) {
    .hope-autismfriendly-page .hope-af-search {
      padding: 16px !important;
    }
    .hope-autismfriendly-page .hope-af-field select,.hope-autismfriendly-page .hope-af-field input {
      height: 44px !important;
      min-height: 44px !important;
      font-size: 14px !important;
      padding: 0 12px !important;
    }
    .hope-autismfriendly-page .hope-af-reset {
      height: 44px !important;
      min-height: 44px !important;
      font-size: 11px !important;
    }
    .hope-autismfriendly-page .hope-page-hero {
      padding: 64px 0 52px;
    }
    .hope-autismfriendly-page .hope-page-hero h1 {
      font-size: 42px;
      line-height: 1.02;
    }
    .hope-autismfriendly-page .hope-page-hero p {
      font-size: 15px;
      line-height: 1.65;
    }
    .hope-autismfriendly-page .hope-contact-locations {
      padding-top: 58px;
    }
    .hope-autismfriendly-page .hope-contact-map-intro {
      margin-bottom: 24px;
    }
    .hope-autismfriendly-page .hope-contact-map-intro h2 {
      font-size: 36px;
    }
    .hope-af-search {
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 100%;
      gap: 16px;
      margin: 26px 0 24px;
      padding: 18px;
      border-radius: 20px;
      box-shadow: 0 10px 28px rgba(7,55,99,.055);
      overflow: hidden;
    }
    .hope-af-search>* {
      box-sizing: border-box;
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }
    .hope-af-field {
      gap: 7px;
    }
    .hope-af-field select,.hope-af-field input {
      box-sizing: border-box;
      display: block;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      min-height: 52px;
      padding: 0 14px;
      border-radius: 13px;
      font-size: 16px;
    }
    .hope-af-field select {
      appearance: auto;
    }
    .hope-af-keyword {
      min-width: 0;
    }
    .hope-af-reset {
      width: 100%;
      min-height: 50px;
      border-radius: 14px;
    }
    .hope-autismfriendly-page .hope-contact-map-live {
      margin-top: 22px;
      border-radius: 20px;
    }
    .hope-autismfriendly-page .hope-contact-map-live .wpgmza_map {
      min-height: 330px;
    }
    .hope-af-list-head {
      grid-template-columns: 1fr;
      gap: 8px;
      margin: 40px 0 18px;
    }
    .hope-af-list-head h2 {
      font-size: 34px;
    }
    .hope-af-list-head>p {
      font-size: 14px;
    }
    .hope-af-list {
      grid-template-columns: 1fr !important;
      gap: 10px;
    }
    .hope-af-list>a.hope-af-card {
      box-sizing: border-box;
      display: flex !important;
      width: 100%;
      min-width: 0;
      padding: 18px 20px;
      border-radius: 16px;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .hope-af-list>a.hope-af-card span {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .hope-af-list>a.hope-af-card strong {
      font-size: 17px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .hope-af-list>a.hope-af-card small {
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #1976f3;
    }
    .hope-af-list>a.hope-af-card em {
      flex: 0 0 auto;
      font-size: 20px;
      line-height: 1;
      white-space: nowrap;
    }
    .hope-autismfriendly-page .hope-shell {
      width: calc(100% - 32px) !important;
      max-width: none !important;
      margin-left: 16px !important;
      margin-right: 16px !important;
    }
    .hope-autismfriendly-page .hope-af-search {
      box-sizing: border-box !important;
      display: grid !important;
      grid-template-columns: minmax(0,1fr) !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 22px 0 24px !important;
      padding: 16px !important;
      gap: 14px !important;
      border-radius: 18px !important;
      overflow: hidden !important;
    }
    .hope-autismfriendly-page .hope-af-field {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 0 14px !important;
    }
    .hope-autismfriendly-page .hope-af-field label {
      display: block !important;
      margin: 0 0 7px !important;
      font-size: 10px !important;
    }
    .hope-autismfriendly-page .hope-af-field select,.hope-autismfriendly-page .hope-af-field input {
      box-sizing: border-box !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      height: 48px !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 0 12px !important;
      font-size: 16px !important;
      border-radius: 12px !important;
    }
    .hope-autismfriendly-page .hope-af-reset {
      box-sizing: border-box !important;
      display: block !important;
      justify-self: stretch !important;
      width: 100% !important;
      max-width: 100% !important;
      height: 46px !important;
      min-height: 46px !important;
      margin: 0 !important;
      padding: 0 14px !important;
      border-radius: 12px !important;
      font-size: 12px !important;
    }
    .hope-autismfriendly-page .hope-af-list {
      display: block !important;
      width: 100% !important;
    }
    .hope-autismfriendly-page .hope-af-list>a.hope-af-card {
      display: flex !important;
      box-sizing: border-box !important;
      width: 100% !important;
      max-width: 100% !important;
      min-height: 70px !important;
      margin: 0 0 10px !important;
      padding: 13px 16px !important;
      border-radius: 16px !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 12px !important;
    }
    .hope-autismfriendly-page .hope-af-list>a.hope-af-card span {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 3px !important;
      width: auto !important;
      min-width: 0 !important;
      height: auto !important;
      padding: 0 !important;
      margin: 0 !important;
      background: none !important;
      border-radius: 0 !important;
    }
    .hope-autismfriendly-page .hope-af-list>a.hope-af-card strong {
      margin: 0 !important;
      padding: 0 !important;
      font-size: 16px !important;
      line-height: 1.2 !important;
    }
    .hope-autismfriendly-page .hope-af-list>a.hope-af-card small {
      width: auto !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      background: none !important;
      border-radius: 0 !important;
      color: #1976f3 !important;
      font-size: 10px !important;
      line-height: 1.2 !important;
    }
    .hope-autismfriendly-page .hope-af-list>a.hope-af-card em {
      flex: 0 0 auto !important;
      font-size: 18px !important;
    }
  }
}
html,body {
  max-width: 100%;
  overflow-x: hidden;
}
.hope-main,.hope-page,.hope-header,.hope-footer {
  max-width: 100%;
  overflow-x: clip;
}
.hope-main *,.hope-page * {
  box-sizing: border-box;
}
.hope-main img,.hope-page img {
  max-width: 100%;
}
.hope-page h1,.hope-page h2,.hope-page h3,.hope-main h1,.hope-main h2,.hope-main h3 {
  overflow-wrap: break-word;
}
.hope-plugin-slot iframe,.hope-plugin-slot embed,.hope-plugin-slot object,.hope-assofacile-slot iframe {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}
.hope-contact-map-live,.hope-contact-map-live>div,.hope-contact-map-live .wpgmza_map {
  max-width: 100% !important;
}
.hope-footer a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}
.hope-autismfriendly-page .hope-af-list>a.hope-af-card small {
  color: #0b5394 !important;
}
.hope-autismfriendly-page .hope-af-list-head span {
  color: #365e70 !important;
}
.hope-autismfriendly-page .hope-af-reset {
  color: #073763 !important;
}
.hope-page .hope-kicker,.hope-main .hope-kicker {
  color: #0b5394;
}
.hope-page-hero-blue .hope-kicker,.hope-about-final-box .hope-kicker,.hope-about-manifesto-box .hope-kicker,.hope-contact-final .hope-kicker,.hope-blog-cta .hope-kicker {
  color: #9de2ff;
}
.hope-page-section-soft p,.hope-page-section-soft li {
  color: #315b6d;
}
.hope-text-link {
  font-weight: 700;
}
.hope-page a:focus-visible,.hope-main a:focus-visible,.hope-page button:focus-visible,.hope-main button:focus-visible,.hope-page input:focus-visible,.hope-page select:focus-visible,.hope-page textarea:focus-visible {
  outline: 3px solid #1976f3;
  outline-offset: 3px;
}
.hope-project-card a,.hope-contact-route-grid a,.hope-gallery-card,.hope-blog-card a {
  touch-action: manipulation;
}
.hope-about-hero {
  background: linear-gradient(135deg,#f7fbff 0%,#fff 58%,#edf7ff 100%);
}
.hope-about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.65fr);
  gap: 72px;
  align-items: center;
}
.hope-about-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.hope-about-symbol {
  justify-self: end;
  position: relative;
  width: min(330px,100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.hope-about-symbol img {
  width: 72%;
  height: auto;
  object-fit: contain;
  opacity: .1;
}
.hope-about-symbol span {
  position: absolute;
  text-align: center;
  color: #0b5394;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .13em;
}
.hope-about-story-grid,.hope-about-work-grid,.hope-about-team-grid,.hope-about-network-grid {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: 80px;
  align-items: start;
}
.hope-about-story-copy,.hope-about-team-grid>div:last-child,.hope-about-network-grid>div:last-child {
  color: #3d6678;
  font-size: 16px;
  line-height: 1.8;
}
.hope-about-big-copy {
  margin-top: 0;
  color: #0c343d;
  font-size: 21px;
  line-height: 1.65;
  font-weight: 500;
}
.hope-about-manifesto {
  padding: 24px 0 105px;
}
.hope-about-manifesto-box {
  padding: 58px 64px;
  border-radius: 32px;
  background: linear-gradient(120deg,#073763,#0b5394);
  color: #fff;
}
.hope-about-manifesto-box .hope-kicker {
  color: #7dd4ff;
}
.hope-about-manifesto blockquote {
  max-width: 940px;
  margin: 16px 0 20px;
  font-size: clamp(32px,4vw,52px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 600;
}
.hope-about-manifesto blockquote em {
  font-style: normal;
  color: #7dd4ff;
}
.hope-about-manifesto-box>p:last-child {
  max-width: 720px;
  margin-bottom: 0;
  color: rgba(255,255,255,.76);
  line-height: 1.75;
}
.hope-about-work-lead {
  max-width: 520px;
  color: #3d6678;
  line-height: 1.75;
}
.hope-about-steps {
  border-top: 1px solid rgba(7,55,99,.12);
}
.hope-about-steps article {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(7,55,99,.12);
}
.hope-about-steps article>span {
  color: #1976f3;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}
.hope-about-steps h3 {
  margin: 0 0 6px;
  font-size: 19px;
}
.hope-about-steps p {
  margin: 0;
  color: #3d6678;
  line-height: 1.65;
  font-size: 13px;
}
.hope-about-team-strip {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 10px;
  margin-top: 42px;
}
.hope-about-team-strip span {
  min-height: 70px;
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px solid rgba(7,55,99,.1);
  border-radius: 16px;
  color: #0b5394;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}
.hope-about-network {
  padding: 95px 0;
  background: #f7fbff;
}
.hope-about-network-grid {
  align-items: center;
}
.hope-about-final {
  padding: 30px 0 95px;
}
.hope-about-final-box {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 42px;
  align-items: center;
  padding: 52px 56px;
  border-radius: 30px;
  background: #073763;
  color: #fff;
}
.hope-about-final-box .hope-kicker {
  color: #7dd4ff;
}
.hope-about-final-box h2 {
  margin: 8px 0 0;
  color: #fff;
}
.hope-about-final-box h2 em {
  font-style: normal;
  color: #7dd4ff;
}
.hope-about-final-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.hope-about-final-link {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  border-bottom: 1px solid rgba(255,255,255,.35);
  padding-bottom: 3px;
}
@media (max-width:1180px) {
  .hope-menu,.hope-login {
    display: none !important;
  }
  .hope-menu-toggle {
    display: block !important;
  }
  .hope-mobile-menu {
    display: block;
  }
  .hope-nav {
    min-height: 74px;
  }
  .hope-nav-actions {
    margin-left: auto;
  }
  .hope-about-hero-grid,.hope-about-story-grid,.hope-about-work-grid,.hope-about-team-grid,.hope-about-network-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .hope-about-symbol {
    display: none;
  }
  .hope-about-final-box {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .hope-contact-hero-grid,.hope-contact-form-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .hope-contact-cards {
    grid-template-columns: repeat(3,minmax(0,1fr));
    display: grid;
  }
  .hope-contact-card {
    grid-template-columns: 44px minmax(0,1fr) 18px;
    padding: 17px 16px;
    gap: 11px;
  }
  .hope-contact-icon {
    width: 44px;
    height: 44px;
  }
  .hope-contact-card strong {
    font-size: 12px;
  }
  .hope-contact-card p {
    font-size: 11px;
  }
  .hope-contact-route-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .hope-contact-route-grid>a:last-child {
    grid-column: 1/-1;
  }
  .hope-contact-location-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .hope-value-grid,.hope-project-grid,.hope-location-cards {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .hope-process {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .hope-embed-shell {
    grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
    gap: 45px;
  }
  .hope-blog-card-featured {
    grid-template-columns: 1fr 1fr;
  }
  .hope-gallery-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (min-width:761px) and (max-width:1180px) {
  .hope-shell {
    width: min(100% - 56px,1060px);
  }
  .hope-page-hero {
    padding: 84px 0 70px;
  }
  .hope-page-hero h1 {
    font-size: clamp(50px,6vw,66px);
  }
  .hope-page-section {
    padding: 82px 0;
  }
  .hope-hero-slider .hope-hero-grid {
    padding-top: 70px;
    padding-bottom: 76px;
  }
  .hope-hero h1 {
    font-size: clamp(52px,6.5vw,68px);
  }
  .hope-filmstrip {
    gap: 14px;
  }
  .hope-partner-logo {
    width: 220px;
    height: 126px;
  }
  .hope-partner-logo img {
    max-height: 96px;
  }
  .hope-about-team-strip {
    grid-template-columns: repeat(3,1fr);
  }
  .hope-about-team-strip span:nth-child(4),.hope-about-team-strip span:nth-child(5) {
    grid-column: auto;
  }
  .hope-af-search {
    grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr) 140px !important;
    gap: 12px !important;
  }
  .hope-af-reset {
    width: 140px !important;
  }
}
@media (max-width:760px) {
  .hope-tma {
    padding: 72px 0;
  }
  .hope-tma .hope-section-head {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .hope-tma .hope-section-head>div:first-child {
    max-width: none;
  }
  .hope-tma .hope-section-head h2 {
    font-size: 34px !important;
    line-height: 1.06;
  }
  .hope-tma .hope-section-head>div:last-child {
    box-sizing: border-box;
    max-width: none;
    width: 100%;
    padding: 26px 22px;
    border-radius: 22px;
  }
  .hope-tma .hope-section-head>div:last-child p {
    font-size: 15px;
    line-height: 1.68;
  }
  .hope-tma .hope-btn {
    width: 100%;
    justify-content: center;
    margin-top: 20px;
  }
  .hope-shell {
    width: calc(100% - 30px) !important;
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .hope-nav {
    min-height: 66px;
  }
  .hope-brand-logo {
    height: 40px;
    max-width: 148px;
  }
  .hope-donate {
    padding: 10px 12px;
    font-size: 9px;
  }
  .hope-menu-toggle {
    width: 40px;
    height: 40px;
  }
  .hope-mobile-menu-inner {
    padding-bottom: 18px;
  }
  .hope-mobile-menu a {
    min-height: 46px;
    display: flex;
    align-items: center;
    padding: 12px 2px;
  }
  .hope-page-hero,.hope-contact-hero,.hope-blog-hero {
    padding: 58px 0 52px;
  }
  .hope-page-hero h1,.hope-contact-hero h1,.hope-blog-hero h1 {
    font-size: clamp(38px,11vw,46px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }
  .hope-page-lead {
    font-size: 15px !important;
    line-height: 1.65;
  }
  .hope-page-section {
    padding: 62px 0;
  }
  .hope-section-head {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 30px;
  }
  .hope-section-head h2,.hope-page-section h2,.hope-contact-map-intro h2,.hope-contact-form-copy h2,.hope-blog-cta h2 {
    font-size: 34px !important;
    line-height: 1.06 !important;
  }
  .hope-section-head>p {
    font-size: 14px;
    line-height: 1.65;
  }
  .hope-btn {
    min-height: 46px;
    justify-content: center;
  }
  .hope-hero-actions,.hope-contact-hero-actions,.hope-about-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .hope-hero-actions .hope-btn,.hope-contact-hero-actions .hope-btn,.hope-about-hero-actions .hope-btn {
    width: 100%;
  }
  .hope-value-grid,.hope-project-grid,.hope-location-cards,.hope-gallery-grid,.hope-blog-grid,.hope-contact-route-grid,.hope-contact-location-list {
    grid-template-columns: 1fr !important;
  }
  .hope-project-card {
    min-height: 250px;
  }
  .hope-process li {
    grid-template-columns: 42px minmax(0,1fr);
    gap: 12px;
  }
  .hope-embed-shell {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
  .hope-plugin-slot,.hope-contact-panel {
    min-width: 0;
    width: 100%;
    padding: 16px !important;
    border-radius: 18px !important;
    overflow: hidden;
  }
  .hope-assofacile-slot>* {
    max-width: 100% !important;
  }
  .hope-contact-cards {
    grid-template-columns: 1fr !important;
  }
  .hope-contact-card:last-child {
    grid-column: auto !important;
  }
  .hope-contact-card {
    min-width: 0;
  }
  .hope-contact-card strong {
    overflow-wrap: anywhere;
  }
  .hope-contact-map-live {
    margin-top: 22px !important;
    border-radius: 18px !important;
  }
  .hope-contact-map-live .wpgmza_map {
    height: 330px !important;
    min-height: 330px !important;
  }
  .hope-contact-location-list>a {
    min-height: 58px;
    padding: 13px 14px;
  }
  .hope-contact-location-list>a span {
    min-width: 0;
  }
  .hope-contact-location-list>a strong {
    overflow-wrap: anywhere;
  }
  .hope-contact-route-grid>a {
    min-height: 220px;
    padding: 22px;
  }
  .hope-contact-form-grid {
    grid-template-columns: 1fr !important;
    gap: 30px;
  }
  .hope-form-row {
    grid-template-columns: 1fr !important;
  }
  .hope-contact-form input,.hope-contact-form select,.hope-contact-form textarea {
    font-size: 16px;
  }
  .hope-contact-final-box,.hope-blog-cta-box,.hope-about-final-box {
    display: block !important;
    padding: 30px 20px !important;
    border-radius: 22px !important;
  }
  .hope-contact-final-actions,.hope-about-final-actions {
    width: 100%;
    display: grid;
    gap: 12px;
    margin-top: 24px;
  }
  .hope-contact-final-actions .hope-btn,.hope-about-final-actions .hope-btn {
    width: 100%;
  }
  .hope-contact-final-link,.hope-about-final-link {
    text-align: center;
    justify-content: center;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .hope-blog-card-featured {
    display: block !important;
  }
  .hope-blog-card-featured .hope-blog-image,.hope-blog-image {
    aspect-ratio: 1/1 !important;
    min-height: 0 !important;
  }
  .hope-blog-card-featured .hope-blog-body,.hope-blog-body {
    padding: 22px 20px 25px !important;
  }
  .hope-blog-card-featured h2,.hope-blog-body h2 {
    font-size: 25px !important;
  }
  .hope-blog-pagination {
    flex-wrap: wrap;
  }
  .hope-blog-pagination .page-numbers {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .hope-gallery-grid {
    gap: 16px;
  }
  .hope-gallery-card {
    border-radius: 18px;
  }
  .hope-gallery-meta {
    padding: 18px;
  }
  .hope-gallery-meta h2 {
    font-size: 1.2rem;
  }
  .hope-about-story-grid,.hope-about-work-grid,.hope-about-team-grid,.hope-about-network-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .hope-about-big-copy {
    font-size: 18px;
  }
  .hope-about-manifesto {
    padding: 10px 0 64px;
  }
  .hope-about-manifesto-box {
    padding: 32px 20px;
    border-radius: 22px;
  }
  .hope-about-manifesto blockquote {
    font-size: 30px;
  }
  .hope-about-team-strip {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 28px;
  }
  .hope-about-team-strip span {
    min-height: 58px;
  }
  .hope-about-network {
    padding: 64px 0;
  }
  .hope-about-final {
    padding: 12px 0 65px;
  }
  .hope-autismfriendly-page .hope-af-search {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
    padding: 15px !important;
    gap: 12px !important;
    overflow: hidden !important;
  }
  .hope-autismfriendly-page .hope-af-field {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .hope-autismfriendly-page .hope-af-field label {
    margin-bottom: 6px !important;
  }
  .hope-autismfriendly-page .hope-af-field select,.hope-autismfriendly-page .hope-af-field input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    font-size: 16px !important;
  }
  .hope-autismfriendly-page .hope-af-reset {
    box-sizing: border-box !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
  }
  .hope-af-list-head {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .hope-af-list>a.hope-af-card {
    min-height: 68px !important;
  }
  .hope-partners-window {
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
  }
  .hope-donate-visual {
    margin: 28px 0 0;
    aspect-ratio: 3/2;
    border-radius: 28px;
    overflow: hidden;
    background: #eaf5fc;
    box-shadow: 0 20px 55px rgba(7,55,99,.12);
  }
  .hope-donate-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .hope-embed-section .hope-embed-shell {
    align-items: start;
  }
  .hope-embed-section .hope-plugin-slot {
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 20px 55px rgba(7,55,99,.08);
  }
  @media (max-width:760px) {
    .hope-donate-visual {
      margin-top: 22px;
      border-radius: 22px;
    }
    .hope-embed-section .hope-plugin-slot {
      border-radius: 22px;
    }
  }
  .hope-slide-1,.hope-slide-1 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-4-1-480x480.jpg');
  }
  .hope-slide-2,.hope-slide-2 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-04-8-1-480x480.jpg');
  }
  .hope-slide-3,.hope-slide-3 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-03-7-1-480x480.jpg');
  }
  .hope-slide-4,.hope-slide-4 .hope-hero-puzzle-piece {
    background-image: url('https://www.associazionehope.it/wp-content/uploads/2026/08/Gruppo-02-8-1-480x480.jpg');
  }
  .hope-footer-main {
    grid-template-columns: 1fr !important;
    gap: 26px;
  }
  .hope-footer-bottom {
    flex-direction: column;
    gap: 5px;
  }
  .hope-footer a {
    min-height: 40px;
  }
}
@media (max-width:390px) {
  .hope-shell {
    width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .hope-brand-logo {
    height: 37px;
    max-width: 132px;
  }
  .hope-donate {
    padding: 9px 10px;
  }
  .hope-page-hero h1,.hope-contact-hero h1,.hope-blog-hero h1,.hope-hero h1 {
    font-size: 36px !important;
  }
  .hope-page-section h2,.hope-section-head h2,.hope-contact-map-intro h2,.hope-contact-form-copy h2 {
    font-size: 31px !important;
  }
  .hope-contact-card {
    padding: 14px 12px;
  }
  .hope-contact-icon {
    width: 40px;
    height: 40px;
  }
  .hope-about-team-strip {
    grid-template-columns: 1fr;
  }
  .hope-af-search {
    padding: 12px !important;
  }
}
@layer base {
  input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select {
    appearance: none;
    background-color: #fff;
    border-color: oklch(55.1% 0.027 264.364);
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
    &:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
      --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: oklch(54.6% 0.245 262.881);
      --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
      box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      border-color: oklch(54.6% 0.245 262.881);
    }
  }
  input::placeholder,textarea::placeholder {
    color: oklch(55.1% 0.027 264.364);
    opacity: 1;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-date-and-time-value {
    min-height: 1.5em;
  }
  ::-webkit-date-and-time-value {
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-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-top: 0;
    padding-bottom: 0;
  }
  select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    print-color-adjust: exact;
  }
  select:where([multiple]),select:where([size]:not([size="1"])) {
    background-image: initial;
    background-position: initial;
    background-repeat: unset;
    background-size: initial;
    padding-right: 0.75rem;
    print-color-adjust: unset;
  }
  input:where([type='checkbox']),input:where([type='radio']) {
    appearance: none;
    padding: 0;
    print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: oklch(54.6% 0.245 262.881);
    background-color: #fff;
    border-color: oklch(55.1% 0.027 264.364);
    border-width: 1px;
    --tw-shadow: 0 0 #0000;
  }
  input:where([type='checkbox']) {
    border-radius: 0px;
  }
  input:where([type='radio']) {
    border-radius: 100%;
  }
  input:where([type='checkbox']):focus,input:where([type='radio']):focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: oklch(54.6% 0.245 262.881);
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  input:where([type='checkbox']):checked,input:where([type='radio']):checked {
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }
  input:where([type='checkbox']):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='radio']):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus {
    border-color: transparent;
    background-color: currentColor;
  }
  input:where([type='checkbox']):indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    @media (forced-colors: active) {
      appearance: auto;
    }
  }
  input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus {
    border-color: transparent;
    background-color: currentColor;
  }
  input:where([type='file']) {
    background: unset;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: unset;
    line-height: inherit;
  }
  input:where([type='file']):focus {
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color;
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@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-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
    }
  }
}
