/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --radius-sm: 4px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --blur-md: 12px;
    --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);
    --radius: 8px;
    --color-bg: #F5F3EF;
    --color-bg-1: #EDE9E2;
    --color-teal: #4A7C7A;
    --color-teal-dark: #36605E;
    --color-butter: #EFE2B3;
    --color-text-main: #2E2E2E;
    --color-text-muted: #5A5A5A;
    --color-text-faint: #9A9A9A;
    --font-family-sans: 'Figtree', system-ui, -apple-system, sans-serif;
  }
}
@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 {
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: 0;
  }
  .top-0 {
    top: 0;
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .z-\[1\] {
    z-index: 1;
  }
  .z-\[2\] {
    z-index: 2;
  }
  .z-\[100\] {
    z-index: 100;
  }
  .m-auto {
    margin: auto;
  }
  .mx-6 {
    margin-inline: calc(var(--spacing) * 6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mb-1 {
    margin-bottom: var(--spacing);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-\[250px\] {
    height: 250px;
  }
  .h-full {
    height: 100%;
  }
  .h-screen {
    height: 100vh;
  }
  .min-h-\[420px\] {
    min-height: 420px;
  }
  .min-h-\[calc\(100vh-264px\)\] {
    min-height: calc(100vh - 264px);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-\[250px\] {
    width: 250px;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\[56ch\] {
    max-width: 56ch;
  }
  .max-w-\[62ch\] {
    max-width: 62ch;
  }
  .max-w-\[780px\] {
    max-width: 780px;
  }
  .max-w-\[860px\] {
    max-width: 860px;
  }
  .max-w-\[1200px\] {
    max-width: 1200px;
  }
  .max-w-\[1400px\] {
    max-width: 1400px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,);
  }
  .resize {
    resize: both;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-\[4px\] {
    gap: 4px;
  }
  .gap-\[30px\] {
    gap: 30px;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .rounded-\[24px\] {
    border-radius: 24px;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-teal\/10 {
    border-color: color-mix(in srgb, #4A7C7A 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-teal) 10%, transparent);
    }
  }
  .border-teal\/15 {
    border-color: color-mix(in srgb, #4A7C7A 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-teal) 15%, transparent);
    }
  }
  .border-teal\/40 {
    border-color: color-mix(in srgb, #4A7C7A 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-teal) 40%, transparent);
    }
  }
  .border-white\/25 {
    border-color: color-mix(in srgb, #fff 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }
  .bg-bg-1 {
    background-color: var(--color-bg-1);
  }
  .bg-bg\/90 {
    background-color: color-mix(in srgb, #F5F3EF 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-bg) 90%, transparent);
    }
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white\/12 {
    background-color: color-mix(in srgb, #fff 12%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 12%, transparent);
    }
  }
  .bg-\[linear-gradient\(180deg\,\#1E3736\,\#2A4644_55\%\,\#182B2A\)\] {
    background-image: linear-gradient(180deg,#1E3736,#2A4644 55%,#182B2A);
  }
  .bg-\[linear-gradient\(to_bottom\,rgba\(18\,30\,30\,0\.35\)\,rgba\(18\,30\,30\,0\.08\)_40\%\,rgba\(18\,30\,30\,0\.08\)_65\%\,rgba\(18\,30\,30\,0\.42\)\)\] {
    background-image: linear-gradient(to bottom,rgba(18,30,30,0.35),rgba(18,30,30,0.08) 40%,rgba(18,30,30,0.08) 65%,rgba(18,30,30,0.42));
  }
  .bg-\[linear-gradient\(to_bottom\,rgba\(18\,30\,30\,0\.42\)\,rgba\(18\,30\,30\,0\.10\)_38\%\,rgba\(18\,30\,30\,0\.10\)_65\%\,rgba\(18\,30\,30\,0\.48\)\)\] {
    background-image: linear-gradient(to bottom,rgba(18,30,30,0.42),rgba(18,30,30,0.10) 38%,rgba(18,30,30,0.10) 65%,rgba(18,30,30,0.48));
  }
  .fill-current {
    fill: currentcolor;
  }
  .p-1 {
    padding: var(--spacing);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.98rem\] {
    font-size: 0.98rem;
  }
  .text-\[2\.5rem\] {
    font-size: 2.5rem;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[clamp\(1rem\,2vw\,1\.125rem\)\] {
    font-size: clamp(1rem, 2vw, 1.125rem);
  }
  .text-\[clamp\(2rem\,4\.5vw\,3\.25rem\)\] {
    font-size: clamp(2rem, 4.5vw, 3.25rem);
  }
  .text-\[clamp\(2rem\,5vw\,3\.75rem\)\] {
    font-size: clamp(2rem, 5vw, 3.75rem);
  }
  .leading-\[1\.5\] {
    --tw-leading: 1.5;
    line-height: 1.5;
  }
  .leading-\[1\.7\] {
    --tw-leading: 1.7;
    line-height: 1.7;
  }
  .leading-\[1\.8\] {
    --tw-leading: 1.8;
    line-height: 1.8;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .tracking-\[0\.04em\] {
    --tw-tracking: 0.04em;
    letter-spacing: 0.04em;
  }
  .tracking-\[0\.06em\] {
    --tw-tracking: 0.06em;
    letter-spacing: 0.06em;
  }
  .tracking-\[0\.08em\] {
    --tw-tracking: 0.08em;
    letter-spacing: 0.08em;
  }
  .tracking-\[0\.15em\] {
    --tw-tracking: 0.15em;
    letter-spacing: 0.15em;
  }
  .text-butter {
    color: var(--color-butter);
  }
  .text-teal {
    color: var(--color-teal);
  }
  .text-text-faint {
    color: var(--color-text-faint);
  }
  .text-text-muted {
    color: var(--color-text-muted);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .text-white\/85 {
    color: color-mix(in srgb, #fff 85%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .not-italic {
    font-style: normal;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-\[10px\] {
    --tw-backdrop-blur: blur(10px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .\[text-shadow\:0_2px_16px_rgba\(0\,0\,0\,0\.3\)\] {
    text-shadow: 0 2px 16px rgba(0,0,0,0.3);
  }
  .hover\:border-teal {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-teal);
      }
    }
  }
  .hover\:bg-teal {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-teal);
      }
    }
  }
  .hover\:bg-teal\/6 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #4A7C7A 6%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-teal) 6%, transparent);
        }
      }
    }
  }
  .hover\:text-teal {
    &:hover {
      @media (hover: hover) {
        color: var(--color-teal);
      }
    }
  }
  .hover\:text-teal-dark {
    &:hover {
      @media (hover: hover) {
        color: var(--color-teal-dark);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .focus-visible\:bg-teal {
    &:focus-visible {
      background-color: var(--color-teal);
    }
  }
  .focus-visible\:text-white {
    &:focus-visible {
      color: var(--color-white);
    }
  }
  .focus-visible\:outline-none {
    &:focus-visible {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}
@font-face {
  font-family: 'Google Sans Flex';
  src: url('/static/fonts/GoogleSansFlex-Latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/static/fonts/PlayfairDisplay-Latin.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/static/fonts/PlayfairDisplay-Italic-Latin.woff2') format('woff2');
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('/static/fonts/Figtree-Latin.woff2') format('woff2');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('/static/fonts/Figtree-Italic-Latin.woff2') format('woff2');
  font-weight: 300 900;
  font-style: italic;
  font-display: swap;
}
@layer base {
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--color-bg);
    color: var(--color-text-main);
    font-family: var(--font-family-sans);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, h4 {
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  a {
    color: inherit;
    text-decoration: none;
  }
  img {
    display: block;
    max-width: 100%;
  }
  ul {
    list-style: none;
  }
}
:root {
  --bg: #F5F3EF;
  --bg-1: #EDE9E2;
  --bg-2: #E5E0D7;
  --bg-card: #FFFFFF;
  --teal: #4A7C7A;
  --teal-dark: #36605E;
  --teal-light: #6A9C9A;
  --sage: #C2CFBC;
  --butter: #EFE2B3;
  --text: #2E2E2E;
  --text-muted: #5A5A5A;
  --text-faint: #9A9A9A;
  --grad-teal: linear-gradient(135deg, #4A7C7A, #6A9C9A);
  --grad-accent: linear-gradient(135deg, #4A7C7A, #C2CFBC);
  --border: rgba(74, 124, 122, 0.15);
  --border-accent: rgba(74, 124, 122, 0.4);
  --font: 'Figtree', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.75rem;
  --text-5xl: 3.75rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --radius-full: 9999px;
  --header-h: 80px;
  --nav-side-width: 300px;
  --transition: 0.25s ease;
  --transition-slow: 0.4s ease;
  --gutter: max(var(--space-6), 5vw);
}
@keyframes vt-slide-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
}
@keyframes vt-slide-out {
  to {
    opacity: 0;
    transform: translateY(-12px);
  }
}
::view-transition-old(root) {
  animation: 180ms ease-in vt-slide-out;
}
::view-transition-new(root) {
  animation: 220ms ease-out vt-slide-in;
}
.burger span {
  display: block;
  width: 38px;
  height: 3px;
  background: var(--teal);
  transform-origin: center;
  transition: transform var(--transition), opacity var(--transition);
}
[aria-expanded="true"] .burger span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
[aria-expanded="true"] .burger span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
[aria-expanded="true"] .burger span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
.nav-side {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  padding-bottom: 100px;
  background: var(--bg);
  border-right: 1px solid var(--border);
  transform: translateX(-100%);
  transition: transform var(--transition-slow);
  z-index: 200;
  padding-top: calc(var(--header-h) + var(--space-6));
  box-shadow: 8px 0 40px rgba(74,124,122,0.08);
  overflow-y: auto;
}
.nav-side.is-open {
  transform: translateX(0);
}
.nav-side a.is-active {
  background: var(--teal);
  color: #fff;
}
.nav-side a.is-active:hover {
  background: var(--teal-dark);
  color: #fff;
}
@media (min-width: 1400px) {
  .nav-side {
    width: 20vw;
  }
}
.nav-overlay {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(46,46,46,0.3);
  backdrop-filter: blur(2px);
  z-index: 199;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-slow);
}
.nav-overlay.is-visible {
  opacity: 1;
  pointer-events: all;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.7rem 1.6rem;
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: opacity var(--transition), transform var(--transition), box-shadow var(--transition);
}
.btn:hover {
  opacity: 0.88;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(74,124,122,0.25);
}
.btn--primary {
  background: var(--teal);
  color: #fff;
}
.btn--outline {
  background: transparent;
  border: 1.5px solid rgba(255,255,255,0.7);
  color: #fff;
}
.btn--outline:hover {
  background: rgba(255,255,255,0.12);
}
.btn--outline-teal {
  background: transparent;
  border: 1.5px solid var(--teal);
  color: var(--teal);
}
.btn--outline-teal:hover {
  background: rgba(74,124,122,0.08);
}
.service-card__icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  color: var(--teal);
  margin-bottom: var(--space-4);
}
.service-card__icon svg {
  width: 100%;
  height: 100%;
}
.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--teal);
  opacity: 0;
  transition: opacity var(--transition);
}
.service-card:nth-child(even)::before {
  background: var(--sage);
}
.service-card:hover::before {
  opacity: 1;
}
.service-card:hover .service-card__cta {
  letter-spacing: 0.02em;
}
.acc-band {
  background: var(--teal-dark);
  padding: var(--space-16) 0;
}
.acc-band__head {
  text-align: center;
  margin-bottom: 36px;
  padding: 0 var(--gutter);
}
.acc-band__kicker {
  font-style: italic;
  font-size: 18px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d4a24e;
}
.acc-band__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: 34px;
  color: #f5f4f2;
  margin-top: 8px;
  letter-spacing: 0;
}
.accordion {
  width: 90vw;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 50px 90px -20px rgba(0,0,0,0.45);
}
.acc-card {
  display: flex;
  flex-direction: column;
  background: var(--teal);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  overflow: hidden;
}
.acc-card:last-child {
  border-bottom: 0;
}
.acc-card__media {
  position: relative;
  height: 64px;
  overflow: hidden;
  background-image: repeating-linear-gradient(135deg, #44706E 0px, #44706E 12px, #4E807D 12px, #4E807D 24px);
}
.acc-card__icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.35);
  pointer-events: none;
}
.acc-card__icon svg {
  width: 40px;
  height: 40px;
}
.acc-card__img {
  display: none;
}
.acc-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0) 55%);
}
.acc-card__label {
  position: absolute;
  left: 18px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.acc-card__num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  color: #d4a24e;
}
.acc-card__name {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
}
.acc-card__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.22,1,0.36,1);
}
.acc-card.is-open .acc-card__panel {
  max-height: 340px;
}
.acc-card__panel-inner {
  padding: 24px 20px 28px;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.acc-card.is-open .acc-card__panel-inner {
  opacity: 1;
  transition-delay: 0.1s;
}
.acc-card__kicker {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d4a24e;
  margin-bottom: 10px;
}
.acc-card__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: 26px;
  color: #f5f4f2;
  margin: 0 0 14px;
  letter-spacing: 0;
  line-height: 1.15;
}
.acc-card__desc {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255,255,255,0.72);
  margin: 0;
}
.acc-card__cta {
  display: inline-block;
  margin-top: 18px;
  font-size: 14px;
  font-weight: 600;
  color: #d4a24e;
}
@media (min-width: 1024px) and (hover: hover) {
  .accordion {
    flex-direction: row;
    height: 400px;
  }
  .acc-card {
    flex: 1 1 0%;
    min-width: 40px;
    height: 400px;
    flex-direction: row;
    position: relative;
    border-bottom: 0;
    border-right: 1px solid rgba(255,255,255,0.07);
    transition: flex 0.6s cubic-bezier(0.22,1,0.36,1);
  }
  .acc-card:last-child {
    border-right: 0;
  }
  .acc-card:hover, .acc-card:focus-within, .acc-card.is-open {
    flex: 0 0 min(800px, calc(100% - var(--acc-rest, 240px)));
    min-width: 0;
  }
  .acc-card__media {
    flex: 1 1 0%;
    min-width: 0;
    height: 100%;
    transition: flex 0.6s cubic-bezier(0.22,1,0.36,1);
  }
  .acc-card__icon svg {
    width: clamp(48px, 8vw, 110px);
    height: clamp(48px, 8vw, 110px);
  }
  .acc-card--img .acc-card__img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.45s ease;
  }
  .acc-card--img:hover .acc-card__img, .acc-card--img:focus-within .acc-card__img, .acc-card--img.is-open .acc-card__img {
    opacity: 1;
    transition-delay: 0.1s;
  }
  .acc-card--img .acc-card__icon {
    transition: opacity 0.3s ease;
  }
  .acc-card--img:hover .acc-card__icon, .acc-card--img:focus-within .acc-card__icon, .acc-card--img.is-open .acc-card__icon {
    opacity: 0;
  }
  .acc-card--img:hover .acc-card__shade, .acc-card--img:focus-within .acc-card__shade, .acc-card--img.is-open .acc-card__shade {
    background: linear-gradient(to right, rgba(0,0,0,0.55), rgba(0,0,0,0) 45%);
  }
  .acc-card__shade {
    transition: background 0.45s ease;
  }
  .acc-card__label {
    top: 20px;
    bottom: 20px;
    align-items: flex-end;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }
  .acc-card__num {
    font-size: 26px;
  }
  .acc-card__panel {
    flex: 0 0 0px;
    min-width: 0;
    max-height: none;
    height: 100%;
    display: flex;
    align-items: center;
    transition: flex 0.6s cubic-bezier(0.22,1,0.36,1);
  }
  .acc-card:hover .acc-card__panel, .acc-card:focus-within .acc-card__panel, .acc-card.is-open .acc-card__panel {
    flex: 1 1 0%;
  }
  .acc-card__panel-inner {
    padding: 48px 44px;
    width: 312px;
  }
  .acc-card:hover .acc-card__panel-inner, .acc-card:focus-within .acc-card__panel-inner, .acc-card.is-open .acc-card__panel-inner {
    opacity: 1;
    transition: opacity 0.4s ease 0.15s;
  }
  .acc-card__title {
    font-size: 30px;
  }
}
.page-header {
  padding: var(--space-16) var(--space-6) var(--space-12);
  max-width: 80vw;
  margin: 0 auto;
}
.page-header h1 {
  font-size: clamp(var(--text-2xl), 5vw, var(--text-5xl));
  margin-bottom: var(--space-4);
  color: var(--text);
}
.page-header__desc {
  font-size: var(--text-lg);
  color: var(--text-muted);
}
.page-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-6) var(--space-16);
  color: var(--text-muted);
  line-height: 1.8;
}
.contact-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  max-width: 1400px;
  margin: 0 auto var(--space-16);
  padding: 0 var(--gutter);
}
@media (min-width: 860px) {
  .contact-layout {
    grid-template-columns: 320px 1fr;
    align-items: start;
  }
}
.contact-info {
  padding: var(--space-8) var(--space-6);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  position: sticky;
  top: calc(var(--header-h) + var(--space-6));
}
.contact-info address {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.contact-info__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--text-muted);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.contact-info__item svg {
  flex-shrink: 0;
  color: var(--teal);
  margin-top: 2px;
}
.contact-info a {
  color: var(--teal);
  transition: opacity var(--transition);
}
.contact-info a:hover {
  opacity: 0.75;
}
.contact-info__promise {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.contact-info__promise-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.contact-info__promise-icon {
  color: var(--teal);
  font-weight: 700;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-8) var(--space-6);
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}
@media (min-width: 520px) {
  .contact-form__row {
    grid-template-columns: 1fr 1fr;
  }
}
.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.contact-form__label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--text);
}
.contact-form__label span[aria-hidden] {
  color: var(--teal);
  margin-left: 2px;
}
.contact-form__optional {
  font-weight: 400;
  color: var(--text-faint);
}
.contact-form__hint {
  font-size: var(--text-xs);
  color: var(--text-faint);
  line-height: 1.5;
}
.contact-form__input {
  width: 100%;
  padding: 0.65rem var(--space-4);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-size: var(--text-base);
  font-family: var(--font);
  transition: border-color var(--transition), box-shadow var(--transition);
  outline: none;
  appearance: none;
}
.contact-form__input::placeholder {
  color: var(--text-faint);
}
.contact-form__input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(74,124,122,0.12);
}
.contact-form__input:invalid:not(:placeholder-shown):not(select) {
  border-color: #c0392b;
}
.contact-form__select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235A5A5A' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-4) center;
  padding-right: var(--space-10);
}
.contact-form__textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.7;
}
.contact-form__counter {
  font-size: var(--text-xs);
  color: var(--text-faint);
  text-align: right;
  margin-top: calc(-1 * var(--space-2));
}
.contact-form__feedback {
  display: none;
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.contact-form__feedback--success {
  display: block;
  background: rgba(74,124,122,0.1);
  border: 1px solid rgba(74,124,122,0.3);
  color: var(--teal-dark);
}
.contact-form__feedback--error {
  display: block;
  background: rgba(192,57,43,0.08);
  border: 1px solid rgba(192,57,43,0.25);
  color: #922b21;
}
.contact-form__submit {
  align-self: flex-start;
  position: relative;
  min-width: 200px;
  justify-content: center;
  margin-top: var(--space-4);
}
.contact-form__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.cf-submit-loader {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  position: absolute;
  right: var(--space-5);
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.contact-form__legal {
  font-size: var(--text-xs);
  color: var(--text-faint);
  line-height: 1.6;
}
.contact-origine {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-4) auto 0;
  padding: var(--space-2) var(--space-4);
  border: 1px solid rgba(239,226,179,0.35);
  border-radius: var(--radius-full);
  background: rgba(239,226,179,0.12);
  color: rgba(255,255,255,0.9);
  font-size: var(--text-sm);
  line-height: 1.5;
}
.contact-origine[hidden] {
  display: none;
}
.contact-origine strong {
  color: var(--butter);
  font-weight: 600;
}
.contact-hero .contact-info, .contact-hero .contact-form {
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--radius-xl);
}
.contact-hero .contact-info__item, .contact-hero .contact-info__promise-item {
  color: rgba(255,255,255,0.82);
}
.contact-hero .contact-info__item svg, .contact-hero .contact-info__promise-icon {
  color: var(--butter);
}
.contact-hero .contact-info a {
  color: var(--butter);
}
.contact-hero .contact-info__promise {
  border-top-color: rgba(255,255,255,0.2);
}
.contact-hero .contact-form__label {
  color: #fff;
}
.contact-hero .contact-form__label span[aria-hidden] {
  color: var(--butter);
}
.contact-hero .contact-form__optional, .contact-hero .contact-form__counter, .contact-hero .contact-form__legal {
  color: rgba(255,255,255,0.55);
}
.contact-hero .contact-form__hint {
  color: rgba(255,255,255,0.72);
}
.contact-hero .contact-form__input {
  border-color: rgba(255,255,255,0.25);
}
.contact-hero .contact-form__input:focus {
  border-color: var(--butter);
  box-shadow: 0 0 0 3px rgba(239,226,179,0.18);
}
.contact-hero .contact-form__feedback--success {
  background: rgba(239,226,179,0.15);
  border-color: rgba(239,226,179,0.4);
  color: var(--butter);
  padding: 20px;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--text-faint);
  margin-bottom: var(--space-4);
}
.breadcrumb a {
  color: var(--teal);
  transition: opacity var(--transition);
}
.breadcrumb a:hover {
  opacity: 0.75;
}
.breadcrumb span {
  color: var(--text-faint);
}
.breadcrumb--cat {
  max-width: 1200px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
}
.header-crumb {
  display: none;
}
@media (min-width: 1024px) {
  .header-crumb {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    max-width: min(40vw, 520px);
    font-size: var(--text-sm);
    color: var(--text-faint);
    white-space: nowrap;
    overflow: hidden;
    transform: translate(-50%, calc(-50% - 4px));
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition), transform var(--transition);
  }
  .header-crumb.is-visible {
    opacity: 1;
    transform: translate(-50%, -50%);
    pointer-events: auto;
  }
  .header-crumb:empty {
    display: none;
  }
}
.header-crumb a {
  color: var(--teal);
  transition: opacity var(--transition);
}
.header-crumb a:hover {
  opacity: 0.75;
}
.section-cta {
  background: var(--sage);
  padding: var(--space-16) var(--space-6);
  margin-top: var(--space-16);
}
.section-cta__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}
.section-cta__inner h2 {
  font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
  color: var(--text);
}
.section-cta__inner p {
  color: var(--text-muted);
  font-size: var(--text-lg);
}
.related-pages {
  background: var(--bg-1);
  padding: var(--space-12) var(--space-6);
}
.related-pages__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.related-pages__inner h2 {
  font-size: var(--text-xl);
  margin-bottom: var(--space-6);
  color: var(--text);
}
.related-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.related-card {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--text-muted);
  transition: color var(--transition), border-color var(--transition), transform var(--transition);
}
.related-card:hover {
  color: var(--teal);
  border-color: var(--teal);
  transform: translateY(-2px);
}
.related-card__arrow {
  color: var(--teal);
  font-size: var(--text-base);
}
.related-card--parent {
  border-color: var(--teal);
  color: var(--teal);
  font-weight: 600;
}
.page-maj {
  max-width: 800px;
  margin: var(--space-12) auto 0;
  padding: 0 var(--space-6);
  font-size: var(--text-sm);
  color: var(--text-muted);
  opacity: 0.75;
  text-align: center;
}
.sp-zones {
  max-width: 800px;
  margin: var(--space-12) auto 0;
  padding: 0 var(--space-6);
}
.sp-zones ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: var(--space-4) 0 0;
}
.sp-zones li {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  color: var(--text-muted);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 999px;
}
.h1-accent {
  font-style: italic;
  background: var(--grad-teal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  padding-right: 0.12em;
  margin-right: -0.12em;
}
.h1-accent--light, .hero-dark .h1-accent {
  background: linear-gradient(135deg, var(--butter), var(--sage));
  -webkit-background-clip: text;
  background-clip: text;
}
.sp-lead {
  font-size: var(--text-lg);
  color: var(--text);
  line-height: 1.85;
  max-width: 1250px;
  margin: 0 auto;
  padding: var(--space-12) var(--space-6) 0;
}
.sp-heading {
  max-width: 1250px;
  margin: var(--space-24) auto 0;
  padding: 0 var(--space-6);
}
.sp-heading h2 {
  font-size: var(--text-4xl);
  color: var(--text);
}
.sp-heading p {
  color: var(--text-muted);
  font-size: var(--text-lg);
  margin-top: var(--space-3);
}
.sp-feature-band {
  background: var(--teal-dark);
  padding: var(--space-8) 0 var(--space-16);
  margin-top: var(--space-16);
}
.sp-feature-band .sp-feature-grid {
  margin-top: var(--space-8);
}
.sp-feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  max-width: 90vw;
  margin: var(--space-16) auto 0;
  padding: 0 var(--space-6);
}
@media (min-width: 600px) {
  .sp-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .sp-feature-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (min-width: 1200px) {
  .sp-feature-grid--5col {
    grid-template-columns: repeat(5, 1fr);
  }
}
@property --sp-border-angle {
  syntax: '<angle>';
  initial-value: 297deg;
  inherits: false;
}
@property --sp-arc-color {
  syntax: '<color>';
  initial-value: rgba(255,255,255,0);
  inherits: false;
}
@keyframes sp-border-pass {
  0% {
    --sp-border-angle: 297deg;
    --sp-arc-color: rgba(255,255,255,0);
  }
  0.5% {
    --sp-arc-color: rgba(255,255,255,0.6);
  }
  19.5% {
    --sp-arc-color: rgba(255,255,255,0.6);
  }
  20% {
    --sp-border-angle: -243deg;
    --sp-arc-color: rgba(255,255,255,0);
  }
  100% {
    --sp-border-angle: -243deg;
    --sp-arc-color: rgba(255,255,255,0);
  }
}
.sp-feature {
  --sp-outer-color: var(--bg-2);
  --sp-inner-color: var(--bg-card);
  border: 10px solid #ffffff1c;
  padding: var(--space-8) var(--space-6);
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--sp-outer-color), var(--sp-inner-color)) padding-box, conic-gradient(from var(--sp-border-angle), transparent 0%, transparent 88%, var(--sp-arc-color) 91%, var(--sp-arc-color) 97%, transparent 100%) border-box;
  animation: sp-border-pass 15s linear infinite;
}
.sp-feature h3 {
  font-size: var(--text-xl);
  color: var(--text);
  margin-bottom: var(--space-3);
}
.sp-feature p {
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: 1.75;
}
.sp-feature--butter {
  --sp-outer-color: var(--bg);
  --sp-inner-color: var(--butter);
}
.sp-feature--grey {
  --sp-outer-color: var(--bg-1);
  --sp-inner-color: #D6D0C8;
}
.sp-feature--teal-light {
  --sp-outer-color: var(--teal-light);
  --sp-inner-color: var(--teal);
}
.sp-feature--teal {
  --sp-outer-color: var(--teal);
  --sp-inner-color: var(--teal-dark);
}
.sp-feature--teal-dark {
  --sp-outer-color: var(--teal-dark);
  --sp-inner-color: #2B4F4D;
}
.sp-feature--butter h3 {
  color: var(--text);
}
.sp-feature--butter p {
  color: #6b5a2a;
}
.sp-feature--grey h3 {
  color: var(--text);
}
.sp-feature--grey p {
  color: #5a5450;
}
.sp-feature--teal-light h3, .sp-feature--teal h3, .sp-feature--teal-dark h3 {
  color: #fff;
}
.sp-feature--teal-light p, .sp-feature--teal p, .sp-feature--teal-dark p {
  color: rgba(255,255,255,0.88);
}
.sp-feature:nth-child(1) {
  animation-delay: 0s;
}
.sp-feature:nth-child(2) {
  animation-delay: -12s;
}
.sp-feature:nth-child(3) {
  animation-delay: -9s;
}
.sp-feature:nth-child(4) {
  animation-delay: -6s;
}
.sp-feature:nth-child(5) {
  animation-delay: -3s;
}
.sp-process {
  max-width: 1200px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
.sp-process__step {
  position: relative;
  display: flex;
  gap: var(--space-6);
  align-items: flex-start;
}
.sp-process__num {
  flex-shrink: 0;
  width: 44px;
  text-align: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: var(--text-3xl);
  line-height: 1;
  color: var(--teal);
}
.sp-process__step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 22px;
  margin-left: -0.75px;
  width: 1.5px;
  top: 44px;
  bottom: calc(-1 * var(--space-8) + 14px);
  background: linear-gradient(to bottom, rgba(74,124,122,0.45), rgba(74,124,122,0.2));
}
.sp-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 22px;
  margin-left: -5px;
  width: 9px;
  height: 9px;
  bottom: calc(-1 * var(--space-8) + 8px);
  border-right: 1.5px solid rgba(74,124,122,0.5);
  border-bottom: 1.5px solid rgba(74,124,122,0.5);
  transform: rotate(45deg);
}
.sp-process__content h3 {
  font-size: var(--text-lg);
  color: var(--text);
  margin-bottom: var(--space-2);
}
.sp-process__content p {
  font-size: var(--text-base);
  color: var(--text-muted);
  line-height: 1.75;
}
.sp-image-block {
  width: 100%;
  margin: var(--space-12) auto 0;
  padding: 0 var(--space-6);
}
.sp-image-block img {
  width: 100%;
  display: block;
}
.sp-image-block figcaption {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--text-faint);
  text-align: center;
}
.sp-image-duo {
  max-width: 1650px;
  margin: var(--space-12) auto 0;
  padding: 0 var(--space-6);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}
.sp-image-duo figure {
  margin: 0;
}
.sp-image-duo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-lg);
}
.sp-image-duo figcaption {
  margin-top: var(--space-3);
  font-size: var(--text-sm);
  color: var(--text-faint);
  text-align: center;
}
@media (max-width: 780px) {
  .sp-image-duo {
    grid-template-columns: 1fr;
  }
}
.sp-tags {
  max-width: 800px;
  margin: var(--space-6) auto 0;
  padding: 0 var(--space-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.sp-tag {
  display: inline-block;
  padding: var(--space-2) var(--space-4);
  background: var(--bg-1);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--text-muted);
  font-family: var(--font-mono);
}
.sp-marquee {
  max-width: 1200px;
  height: 100px;
  margin: var(--space-8) auto 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.sp-marquee__group {
  list-style: none;
  flex-shrink: 0;
  min-width: max-content;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding-right: var(--space-4);
  animation: sp-marquee-scroll var(--sp-marquee-duration, 32s) linear infinite;
}
.sp-marquee:hover .sp-marquee__group {
  animation-play-state: paused;
}
@keyframes sp-marquee-scroll {
  to {
    transform: translateX(-100%);
  }
}
.sp-marquee__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  white-space: nowrap;
  padding: 15px;
  background: #c2cfbc;
  border: 1px solid var(--border);
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--text-muted);
  font-family: var(--font-mono);
}
.sp-marquee__item img {
  width: 48px;
  height: 48px;
  display: block;
  flex-shrink: 0;
}
.sp-marquee__item--generic img {
  opacity: 0.55;
}
@media (prefers-reduced-motion: reduce) {
  .sp-marquee {
    height: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .sp-marquee__group {
    animation: none;
    flex-wrap: wrap;
  }
  .sp-marquee__group[aria-hidden="true"] {
    display: none;
  }
}
.sp-faq {
  max-width: 1200px;
  margin: var(--space-16) auto 0;
  padding: 0 var(--space-6);
}
.sp-faq > h2 {
  font-size: var(--text-2xl);
  color: var(--text);
  margin-bottom: var(--space-8);
}
.sp-faq__item {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  background: var(--bg-card);
  margin-bottom: var(--space-4);
}
.sp-faq__q {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--text);
  margin-bottom: var(--space-3);
}
.sp-faq__a {
  font-size: var(--text-base);
  color: var(--text-muted);
  line-height: 1.8;
}
.sp-faq__a a {
  color: var(--teal);
}
.sp-lead a[href^="/"], .sp-feature a[href^="/"], .sp-process a[href^="/"], .sp-faq__a a[href^="/"] {
  color: var(--teal);
  font-weight: 600;
  text-decoration-color: transparent;
  transition: color .18s ease;
}
.sp-lead a[href^="/"]:hover, .sp-feature a[href^="/"]:hover, .sp-process a[href^="/"]:hover, .sp-faq__a a[href^="/"]:hover {
  color: var(--teal-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sp-feature--teal a[href^="/"], .sp-feature--teal-light a[href^="/"], .sp-feature--teal-dark a[href^="/"] {
  color: var(--butter);
}
.sp-feature--teal a[href^="/"]:hover, .sp-feature--teal-light a[href^="/"]:hover, .sp-feature--teal-dark a[href^="/"]:hover {
  color: #fff;
}
.sp-lead a[href^="http"], .sp-feature a[href^="http"], .sp-process a[href^="http"], .sp-faq__a a[href^="http"] {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.sp-compare {
  max-width: 1200px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
  overflow-x: auto;
}
.sp-compare table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.sp-compare th {
  background: var(--teal);
  color: #fff;
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: 700;
}
.sp-compare th:first-child {
  border-radius: var(--radius) 0 0 0;
}
.sp-compare th:last-child {
  border-radius: 0 var(--radius) 0 0;
}
.sp-compare td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border);
  color: var(--text-muted);
}
.sp-compare tr:hover td {
  background: var(--bg-1);
}
@media (max-width: 640px) {
  .sp-compare--vlabels {
    overflow-x: visible;
  }
  .sp-compare--vlabels table {
    width: 100%;
    table-layout: fixed;
  }
  .sp-compare--vlabels th, .sp-compare--vlabels td {
    padding: var(--space-3) var(--space-2);
    font-size: var(--text-xs);
  }
  .sp-compare--vlabels th:first-child, .sp-compare--vlabels td:first-child {
    width: 2.5rem;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    vertical-align: middle;
  }
  .sp-compare--vlabels th:first-child > span, .sp-compare--vlabels td:first-child > strong {
    display: inline-block;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }
}
.sp-callout {
  max-width: 760px;
  margin: 100px auto 0;
  padding: 50px 30px;
  font-size: 1.25rem;
  line-height: 1.75;
  color: #fff;
  background: radial-gradient(ellipse 115% 75% at 50% 50%, var(--teal) 0%, #5a9c9a 45%, var(--teal-dark) 100%);
}
.sp-feature-band + .sp-callout {
  margin-top: 0;
}
.sp-callout p {
  margin: 0;
}
.sp-callout strong {
  color: var(--butter);
}
.sp-callout a {
  color: var(--butter);
  text-decoration: underline;
}
.sp-callout .sp-callout__cta {
  display: inline-block;
  margin-top: var(--space-3);
  padding: .6rem 1.4rem;
  border-radius: 4px;
  background: var(--butter);
  color: var(--teal-dark);
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background var(--transition), transform var(--transition);
}
.sp-callout .sp-callout__cta:hover {
  background: #fff;
  transform: translateY(-1px);
}
.sp-checklist {
  max-width: 800px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.sp-checklist li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--text-muted);
  font-size: var(--text-base);
  padding: var(--space-4) var(--space-5);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 15px;
}
.sp-checklist li::before {
  content: '✓';
  color: var(--teal);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.sp-deliverables {
  max-width: 800px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
  list-style: none;
}
.sp-deliverables li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-card);
  padding: 15px;
}
.sp-deliverables li::before {
  content: '→';
  color: var(--teal);
  font-weight: 700;
  flex-shrink: 0;
}
.sp-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-6);
  max-width: 1000px;
  margin: var(--space-8) auto 0;
  padding: 0 var(--space-6);
}
.sp-stat {
  text-align: center;
  padding: var(--space-6);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.sp-stat__num {
  font-size: var(--text-4xl);
  font-weight: 800;
  background: var(--grad-teal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  display: block;
}
.sp-stat__label {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: var(--space-3);
  display: block;
  line-height: 1.5;
}
.stat-src {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: var(--space-3);
  font-size: 0.72rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: var(--teal);
  opacity: 0.72;
  border-bottom: 1px dotted currentColor;
  padding-bottom: 1px;
  transition: opacity var(--transition);
}
.stat-src:hover, .stat-src:focus-visible {
  opacity: 1;
}
.stat-src svg {
  flex-shrink: 0;
}
.stat-src--light {
  color: #fff;
  opacity: 0.6;
}
.stat-src--light:hover, .stat-src--light:focus-visible {
  opacity: 0.95;
}
.sp-bottom-pad {
  padding-bottom: var(--space-16);
}
.blog-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  max-width: 90vw;
  margin: var(--space-12) auto 0;
  padding: 0 var(--gutter);
}
@media (min-width: 600px) {
  .blog-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .blog-card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.blog-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
  text-decoration: none;
  color: inherit;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(74,124,122,0.12);
}
.blog-card__header {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--bg-2);
}
.blog-card__header img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}
.blog-card:hover .blog-card__header img {
  transform: scale(1.04);
}
.blog-card__cat {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-1) var(--space-3);
  background: var(--teal);
  color: #fff;
  font-size: var(--text-xs);
  font-weight: 600;
  border-radius: var(--radius-full);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.blog-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: var(--space-6);
  gap: var(--space-3);
}
.blog-card__title {
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.blog-card__excerpt {
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: 1.7;
  flex: 1;
}
.blog-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-xs);
  color: var(--text-faint);
  margin-top: auto;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border);
}
.blog-card__meta time {
  font-variant-numeric: tabular-nums;
}
.blog-card__read {
  color: var(--teal);
  font-weight: 600;
  margin-left: auto;
}
.blog-filter {
  max-width: 1490px;
  margin: var(--space-8) auto;
  padding: 0 var(--gutter);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}
.blog-filter__btn {
  padding: var(--space-2) var(--space-5);
  border: 1.5px solid var(--border);
  padding: 15px;
  background: transparent;
  color: var(--text-muted);
  font-size: var(--text-sm);
  font-weight: 500;
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition);
}
.blog-filter__btn:hover, .blog-filter__btn[aria-current="true"] {
  color: var(--teal);
  border-color: var(--teal);
  background: rgba(74,124,122,0.06);
}
.article-header {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-16) var(--gutter) var(--space-8);
}
.article-header h1 {
  font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
  color: var(--text);
  line-height: 1.2;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-6);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.article-cat {
  padding: var(--space-1) var(--space-3);
  background: var(--teal);
  color: #fff;
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.article-tag {
  padding: var(--space-1) var(--space-3);
  background: var(--bg-1);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  color: var(--text-muted);
  font-family: var(--font-mono);
}
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.article-hero {
  margin: 0 0 var(--space-8);
  padding: 0;
}
.article-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}
.article-hero img[src$=".webp"], .article-hero img[src$=".png"], .article-hero img[src$=".jpg"], .article-hero img[src$=".jpeg"] {
  max-width: 750px;
}
.article-body {
  max-width: 1200px;
  margin: 0 auto var(--space-16);
  padding: 0 var(--gutter);
  color: var(--text-muted);
  line-height: 1.85;
}
.article-body p, .article-body li {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
}
.article-body h2 {
  font-size: var(--text-2xl);
  color: var(--text);
  margin-top: var(--space-12);
  margin-bottom: var(--space-4);
}
.article-body h3 {
  font-size: var(--text-xl);
  color: var(--text);
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
}
.article-body p {
  margin-bottom: var(--space-4);
}
.article-body ul, .article-body ol {
  padding-left: var(--space-6);
  margin-bottom: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.article-body li {
  list-style: disc;
}
.article-body ol li {
  list-style: decimal;
}
.article-body strong {
  color: var(--text);
  font-weight: 700;
}
.article-body em {
  font-style: italic;
}
.article-body a {
  color: var(--teal);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-body blockquote {
  border-left: 4px solid var(--teal);
  padding: var(--space-4) var(--space-6);
  background: rgba(194,207,188,0.2);
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: var(--space-6) 0;
  font-style: italic;
  color: var(--text);
}
.article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
  margin: var(--space-6) 0;
}
.article-body th {
  background: var(--teal);
  color: #fff;
  padding: var(--space-3) var(--space-4);
  text-align: left;
}
.article-body td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border);
}
.article-body tr:hover td {
  background: var(--bg-1);
}
.article-body code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--bg-2);
  padding: 0.1em 0.4em;
  border-radius: var(--radius-sm);
}
.article-body pre {
  background: var(--text);
  color: #f8f8f2;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  overflow-x: auto;
  margin: var(--space-6) 0;
}
.article-body pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.article-service-link {
  max-width: 800px;
  margin: 0 auto var(--space-12);
  padding: var(--space-8) var(--gutter);
  background: var(--bg-1);
  border-radius: var(--radius-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media (min-width: 640px) {
  .article-service-link {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.article-service-link__text h3 {
  font-size: var(--text-lg);
  color: var(--text);
}
.article-service-link__text p {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: var(--space-1);
}
.blog-related {
  background: var(--bg-1);
  padding: var(--space-12) 0;
  margin-top: var(--space-16);
}
.blog-related__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.blog-related__inner > h2 {
  font-size: var(--text-xl);
  color: var(--text);
  margin-bottom: var(--space-8);
  text-align: center;
}
.blog-related__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-6);
}
.article-cta-top {
  max-width: 800px;
  margin: 0 auto var(--space-8);
  padding: var(--space-4) var(--space-6);
  border-left: 3px solid var(--teal);
  background: var(--bg-1);
  border-radius: var(--radius-lg);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
}
.article-cta-top p {
  color: var(--text-muted);
  margin: 0;
}
.article-cta-top__link {
  color: var(--teal);
  font-weight: 600;
  white-space: nowrap;
}
.article-cta-top__link:hover {
  opacity: 0.75;
}
.blog-related__card {
  display: flex;
  flex-direction: column;
  flex: 1 1 260px;
  max-width: 380px;
  background: var(--bg-card);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: inherit;
}
.blog-related__card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--bg-2);
}
.blog-related__card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}
.blog-related__card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(74,124,122,0.4), transparent 55%);
  opacity: 0;
  transition: opacity var(--transition);
}
.blog-related__card:hover .blog-related__card-media img {
  transform: scale(1.06);
}
.blog-related__card:hover .blog-related__card-media::after {
  opacity: 1;
}
.blog-related__card-title {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
  padding: var(--space-6);
  transition: color var(--transition);
}
.blog-related__card-title::after {
  content: "→";
  margin-left: 0.4em;
  color: var(--teal);
  display: inline-block;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity var(--transition), transform var(--transition);
}
.blog-related__card:hover .blog-related__card-title {
  color: var(--teal);
}
.blog-related__card:hover .blog-related__card-title::after {
  opacity: 1;
  transform: translateX(0);
}
.blog-related__all {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-8);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--teal);
}
.blog-related__all:hover {
  opacity: 0.75;
}
.blog-list-header {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-16) var(--gutter) var(--space-4);
}
.blog-list-header h1 {
  font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
  color: var(--text);
}
.blog-list-header p {
  font-size: var(--text-lg);
  color: var(--text-muted);
  margin-top: var(--space-3);
}
.tip {
  position: relative;
  text-decoration: underline dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: currentColor;
  @supports (color: color-mix(in lab, red, red)) {
    text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  }
}
.tip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  margin-left: 0.15em;
  padding: 0;
  font-family: var(--font);
  font-size: 0.62em;
  font-weight: 700;
  line-height: 1;
  vertical-align: super;
  color: inherit;
  opacity: 0.55;
  background: transparent;
  border: 1.5px solid currentColor;
  border-radius: var(--radius-full);
  cursor: help;
  transition: opacity var(--transition);
}
.tip:hover .tip__icon, .tip.is-open .tip__icon, .tip__icon:focus-visible {
  opacity: 1;
}
.tip__icon, .tip__bubble {
  -webkit-text-fill-color: currentColor;
}
.tip__bubble {
  position: fixed;
  left: 0;
  top: 0;
  transform: translateY(4px);
  width: max-content;
  max-width: min(280px, 82vw);
  padding: 10px 14px;
  background: var(--text);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius);
  box-shadow: 0 12px 32px rgba(0,0,0,0.25);
  font-family: var(--font);
  font-size: var(--text-sm);
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  text-decoration: none;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  z-index: 150;
}
.tip__bubble::after {
  content: '';
  position: absolute;
  top: 100%;
  left: var(--tip-arrow-x, 50%);
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--text);
}
.tip__bubble.is-below::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: var(--text);
}
.tip:hover .tip__bubble, .tip__icon:focus-visible ~ .tip__bubble, .tip.is-open .tip__bubble {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.page-header, .page-body, .related-pages, .section-cta, .sp-lead, .sp-heading, .sp-feature-grid, .sp-process, .sp-image-block, .sp-tags, .sp-faq, .sp-compare, .sp-checklist, .sp-deliverables, .sp-stats {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-x {
  syntax: "*";
  inherits: false;
}
@property --tw-pan-y {
  syntax: "*";
  inherits: false;
}
@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --sp-border-angle: 297deg;
      --sp-arc-color: rgba(255,255,255,0);
    }
  }
}
