/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
/** CREDIT
 * XG GROUP BY PREGOVI MB
 */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600&display=swap');
@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;
    --spacing: 0.25rem;
    --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: #c7a863;
    --color-secondary: #0B1F3A;
    --color-tertiary: #4E5D6E;

    --color-dark: #0B1F3A;
    --color-light: #F7F5F0;

    --font-serif: "Instrument Serif", serif;
    --font-sans: 'Inter', sans-serif;

    --font-size-section-heading: clamp(2.5rem, 5.5vw, 4.75rem);
    --font-size-section-label: clamp(0.62rem, 1vw, 1.3rem);
    --font-size-section-desc: 1rem;



  }
}

@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%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    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;
  }

  .fixed {
    position: fixed;
  }

  .sticky {
    position: sticky;
  }

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

  .mx-auto {
    margin-inline: auto;
  }

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

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .h-full {
    height: 100%;
  }

  .w-full {
    width: 100%;
  }

  .flex-1 {
    flex: 1;
  }

  .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;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

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

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

  .justify-center {
    justify-content: center;
  }

  .gap-1 {
    gap: var(--spacing);
  }

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

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

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

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

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

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

  .gap-\[5px\] {
    gap: 5px;
  }

  .scroll-smooth {
    scroll-behavior: smooth;
  }

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

  .bg-\[\#0B1F3A\] {
    background-color: #0B1F3A;
  }

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

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

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

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

  .text-\[\#F7F5F0\] {
    color: #F7F5F0;
  }

  .no-underline {
    text-decoration-line: none;
  }

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

  .blur {
    --tw-blur: blur(8px);
    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, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, 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));
  }

  @media (width >=48rem) {
    .md\:mb-20 {
      margin-bottom: calc(var(--spacing) * 20);
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .md\:grid-cols-\[200px_1fr_180px\] {
      grid-template-columns: 200px 1fr 180px;
    }

    .md\:grid-cols-\[220px_1fr\] {
      grid-template-columns: 220px 1fr;
    }

    .md\:grid-cols-\[260px_1fr\] {
      grid-template-columns: 260px 1fr;
    }

    .md\:grid-cols-\[auto_1fr\] {
      grid-template-columns: auto 1fr;
    }

    .md\:gap-10 {
      gap: calc(var(--spacing) * 10);
    }

    .md\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }

    .md\:gap-20 {
      gap: calc(var(--spacing) * 20);
    }

    .md\:gap-24 {
      gap: calc(var(--spacing) * 24);
    }

    .md\:px-14 {
      padding-inline: calc(var(--spacing) * 14);
    }

    .md\:px-20 {
      padding-inline: calc(var(--spacing) * 20);
    }

    .md\:pt-24 {
      padding-top: calc(var(--spacing) * 24);
    }

    .md\:pb-16 {
      padding-bottom: calc(var(--spacing) * 16);
    }

    .md\:pb-24 {
      padding-bottom: calc(var(--spacing) * 24);
    }
  }

  @media (width >=64rem) {
    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }

    .lg\:grid-cols-\[1fr_420px\] {
      grid-template-columns: 1fr 420px;
    }
  }
}

:root {
  --ease-premium: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-snap: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-expo-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: #F7F5F0;
  color: #0B1F3A;
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  scrollbar-width: none;
}

*::-webkit-scrollbar {
  display: none;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes drawLine {
  from {
    stroke-dashoffset: 1400;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes fadeInPulse {
  0% {
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  80% {
    opacity: 0.55;
  }

  100% {
    opacity: 1;
  }
}

@keyframes glowBreathe {
  0% {
    opacity: 0;
  }

  15% {
    opacity: 0.35;
  }

  60% {
    opacity: 0.5;
  }

  80% {
    opacity: 0.2;
  }

  100% {
    opacity: 0.35;
  }
}

@keyframes luzStepIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes luzWordReveal {
  from {
    opacity: 0;
    letter-spacing: 0.52em;
    transform: translateX(-6px);
  }

  to {
    opacity: 1;
    letter-spacing: 0.28em;
    transform: translateX(0);
  }
}

@keyframes luzItemReveal {
  from {
    opacity: 0;
    transform: translateY(28px) skewY(1.5deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) skewY(0deg);
  }
}

@keyframes sda-fade-up {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sda-fade-left {
  from {
    opacity: 0;
    transform: translateX(-32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes sda-fade-right {
  from {
    opacity: 0;
    transform: translateX(32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes sda-scale-up {
  from {
    opacity: 0;
    transform: scale(0.94);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.sda-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s var(--ease-premium), transform 1.2s var(--ease-premium);
  will-change: opacity, transform;
}

.sda-fade-left {
  opacity: 0;
  transform: translateX(-32px);
  transition: opacity 1.1s var(--ease-premium), transform 1.1s var(--ease-premium);
  will-change: opacity, transform;
}

.sda-fade-right {
  opacity: 0;
  transform: translateX(32px);
  transition: opacity 1.1s var(--ease-premium), transform 1.1s var(--ease-premium);
  will-change: opacity, transform;
}

.sda-scale-up {
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 1s var(--ease-premium), transform 1s var(--ease-premium);
  will-change: opacity, transform;
}

.sda-fade-up.in-view,
.sda-fade-left.in-view,
.sda-fade-right.in-view,
.sda-scale-up.in-view {
  opacity: 1;
  transform: none;
}

.sda-d1 {
  transition-delay: 0.1s;
}

.sda-d2 {
  transition-delay: 0.2s;
}

.sda-d3 {
  transition-delay: 0.3s;
}

.sda-d4 {
  transition-delay: 0.4s;
}

.sda-d5 {
  transition-delay: 0.5s;
}

@supports (animation-timeline: view()) {
  .sda-fade-up {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-fade-up linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }

  .sda-fade-left {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-fade-left linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }

  .sda-fade-right {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-fade-right linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }

  .sda-scale-up {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-scale-up linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }

  .sda-d1 {
    transition-delay: unset;
    animation-delay: calc(var(--sda-delay, 0.08s));
  }

  .sda-d2 {
    transition-delay: unset;
    animation-delay: calc(var(--sda-delay, 0.16s));
  }

  .sda-d3 {
    transition-delay: unset;
    animation-delay: calc(var(--sda-delay, 0.24s));
  }

  .sda-d4 {
    transition-delay: unset;
    animation-delay: calc(var(--sda-delay, 0.32s));
  }

  .sda-d5 {
    transition-delay: unset;
    animation-delay: calc(var(--sda-delay, 0.40s));
  }
}

@keyframes hero-label-in {
  from {
    opacity: 0;
    transform: translateY(24px);
    letter-spacing: 0.48em;
  }

  to {
    opacity: 1;
    transform: translateY(0);
    letter-spacing: 0.28em;
  }
}

@keyframes hero-line-in {
  from {
    opacity: 0;
    transform: translateY(80px) skewY(2deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) skewY(0deg);
  }
}

@keyframes hero-fade-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-label {
  animation: hero-label-in 1.1s var(--ease-snap) 0.2s both;
}

.hero-line-1 {
  animation: hero-line-in 1.35s var(--ease-snap) 0.55s both;
}

.hero-line-2 {
  animation: hero-line-in 1.35s var(--ease-snap) 0.74s both;
}

.hero-subtitle {
  animation: hero-fade-up 1.1s var(--ease-premium) 1.1s both;
}

.hero-cta {
  animation: hero-fade-up 0.9s var(--ease-premium) 1.38s both;
}

.hero-scroll-hint {
  animation: hero-fade-up 1.2s var(--ease-premium) 1.8s both;
}

@keyframes sda-heading-in {
  from {
    opacity: 0;
    transform: translateY(62px) skewY(1.6deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) skewY(0deg);
  }
}

.section-dark .sda-heading {
  color: #F7F5F0;
}

.section-text {
  font-family: Inter, sans-serif;
  font-weight: 300;
  line-height: 1.85;
  margin-block: 30px;
}

.impact-point-step {
  display: flex;
  align-items: center;
  gap: var(--font-size-section-desc)
}

.impact-point-step>span {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 400;
  color: #0b1f3a;
}

.impact-carousel {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.impact-carousel-track {
  display: flex;
  gap: 2rem;
  width: max-content;
  animation: marquee 30s linear infinite;
  align-items: center;
}

.impact-carousel-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 0 10px;
}

.impact-logo {
  max-height: 100%;
  max-width: 95%;
  object-fit: contain;
  /* opacity: .6; */
  /* filter: grayscale(100%); */
  transition: opacity .3s, filter .3s;
}

#trustUs a:hover .impact-logo {
  filter: grayscale(0%);
}

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

@keyframes marquee {
  0% {
    transform: translate(0);
  }

  100% {
    transform: translate(calc(-50% - 2rem));
  }
}

.color-dark {
  color: #0b1f3a;
}

.color-light {
  color: #F7F5F0;
}

.sda-heading {
  opacity: 0;
  font-family: "Instrument Serif", serif;
  font-size: var(--font-size-section-heading);
  font-weight: 400;
  line-height: 1.15;
  will-change: opacity, transform;
  transition: opacity 1.3s var(--ease-snap), transform 1.3s var(--ease-snap);
  -webkit-transition: opacity 1.3s var(--ease-snap), transform 1.3s var(--ease-snap);
  -moz-transition: opacity 1.3s var(--ease-snap), transform 1.3s var(--ease-snap);
  -ms-transition: opacity 1.3s var(--ease-snap), transform 1.3s var(--ease-snap);
  -o-transition: opacity 1.3s var(--ease-snap), transform 1.3s var(--ease-snap);
}

.sda-heading span {
  display: block;
  color: #0b1f3a;
  margin-bottom: 0.2rem;
}

.sda-heading.in-view {
  opacity: 1;
  transform: none;
}

@supports (animation-timeline: view()) {
  .sda-heading {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-heading-in linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 30%;
  }
}

@keyframes sda-label-in {
  from {
    opacity: 0;
    letter-spacing: 0.52em;
    transform: translateX(-25px);
    -webkit-transform: translateX(-25px);
    -moz-transform: translateX(-25px);
    -ms-transform: translateX(-25px);
    -o-transform: translateX(-25px);
  }

  to {
    opacity: 1;
    letter-spacing: 0.28em;
    transform: translateX(0);
  }
}

.sda-label {
  opacity: 0;
  will-change: opacity, letter-spacing;
  transition: opacity 1.2s var(--ease-premium), letter-spacing 1.2s var(--ease-premium);
}

.sda-label.in-view {
  opacity: 1;
  letter-spacing: 0.28em;
}

@supports (animation-timeline: view()) {
  .sda-label {
    opacity: auto;
    transition: none;
    animation: sda-label-in linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }
}

.sda-stagger>* {
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 0.88s var(--ease-snap), transform 0.88s var(--ease-snap);
  will-change: opacity, transform;
}

.sda-stagger>*.in-view {
  opacity: 1;
  transform: none;
}

.sda-stagger>*:nth-child(1) {
  transition-delay: 0s;
}

.sda-stagger>*:nth-child(2) {
  transition-delay: 0.11s;
}

.sda-stagger>*:nth-child(3) {
  transition-delay: 0.22s;
}

.sda-stagger>*:nth-child(4) {
  transition-delay: 0.33s;
}

.sda-stagger>*:nth-child(5) {
  transition-delay: 0.44s;
}

.sda-stagger>*:nth-child(6) {
  transition-delay: 0.55s;
}

.sda-stagger>*:nth-child(7) {
  transition-delay: 0.66s;
}

.sda-stagger>*:nth-child(8) {
  transition-delay: 0.77s;
}

.sda-stagger>*:nth-child(9) {
  transition-delay: 0.88s;
}

.sda-stagger>*:nth-child(10) {
  transition-delay: 0.99s;
}

@supports (animation-timeline: view()) {
  .sda-stagger>* {
    opacity: auto;
    transform: auto;
    transition: none;
    animation: sda-fade-up linear both;
    animation-timeline: view();
  }

  .sda-stagger>*:nth-child(1) {
    animation-range: entry 6% cover 26%;
  }

  .sda-stagger>*:nth-child(2) {
    animation-range: entry 9% cover 29%;
  }

  .sda-stagger>*:nth-child(3) {
    animation-range: entry 12% cover 32%;
  }

  .sda-stagger>*:nth-child(4) {
    animation-range: entry 15% cover 35%;
  }

  .sda-stagger>*:nth-child(5) {
    animation-range: entry 18% cover 38%;
  }

  .sda-stagger>*:nth-child(6) {
    animation-range: entry 21% cover 41%;
  }

  .sda-stagger>*:nth-child(7) {
    animation-range: entry 24% cover 44%;
  }

  .sda-stagger>*:nth-child(8) {
    animation-range: entry 27% cover 47%;
  }

  .sda-stagger>*:nth-child(9) {
    animation-range: entry 30% cover 50%;
  }

  .sda-stagger>*:nth-child(10) {
    animation-range: entry 33% cover 53%;
  }
}

.nav-link {
  color: rgba(247, 245, 240, 0.70);
  transition: color 0.25s var(--ease-premium);
  text-decoration: none;
}

.nav-link:hover {
  color: #F7F5F0;
}

.nav-link.is-active {
  color: #F7F5F0;
}

.btn-gold {

  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0b1f3a;
  padding: var(--font-size-section-desc) 40px;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  background: #C7A863;
  transition: background 0.35s var(--ease-premium), transform 0.25s var(--ease-snap), box-shadow 0.3s var(--ease-premium);
}

.btn-gold:hover {
  background: #d4b870;
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(199, 168, 99, 0.28);
}

.btn-gold:active {
  transform: translateY(0) scale(0.98);
  transition-duration: 0.1s;
}

.hero-ghost {
  color: rgba(247, 245, 240, 0.65);
  border-bottom: 1px solid rgba(247, 245, 240, 0.28);
  transition: color 0.3s var(--ease-premium), border-color 0.3s var(--ease-premium);
  text-decoration: none;
}

.hero-ghost:hover {
  color: #F7F5F0;
  border-color: rgba(247, 245, 240, 0.70);
}

.footer-social {
  border: 1px solid rgba(247, 245, 240, 0.18);
  color: rgba(247, 245, 240, 0.45);
  transition: border-color 0.3s var(--ease-premium), color 0.3s var(--ease-premium), background 0.3s var(--ease-premium);
  text-decoration: none;
}

.footer-social:hover {
  border-color: #C7A863;
  color: #C7A863;
  background: rgba(199, 168, 99, 0.08);
}

.footer-col-title {
  color: #C7A863;
  text-decoration: none;
  transition: opacity 0.25s var(--ease-premium);
  font-size: var(--font-size-section-label);
  margin-bottom: 12px;
  display: block;
}

.footer-col-title:hover {
  opacity: 0.65;
}

.footer-link {
  color: rgba(247, 245, 240, 0.45);
  text-decoration: none;
  transition: color 0.22s var(--ease-premium), transform 0.3s var(--ease-snap);
  display: block;
}

.footer-link:hover {
  color: #F7F5F0;
  transform: translateX(4px);
}

.footer-legal {
  color: rgba(247, 245, 240, 0.55);
  text-decoration: none;
  transition: color 0.22s var(--ease-premium);
}

.footer-legal:hover {
  color: #F7F5F0;
}

.social-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid rgba(247, 245, 240, 0.30);
  color: rgba(247, 245, 240, 0.75);
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.3s var(--ease-premium), color 0.3s var(--ease-premium), background 0.3s var(--ease-premium), transform 0.25s var(--ease-snap);
}

.social-btn:hover {
  border-color: #C7A863;
  color: #C7A863;
  background: rgba(199, 168, 99, 0.08);
  transform: translateY(-2px);
}

.social-btn:active {
  transform: scale(0.97);
  transition-duration: 0.08s;
}

.pub-row {
  transition: background 0.35s var(--ease-premium);
  cursor: pointer;
  position: relative;
}

.pub-row:hover {
  background: rgba(11, 31, 58, 0.04);
}

.btn-lift {
  transition: transform 0.25s var(--ease-snap), box-shadow 0.3s var(--ease-premium);
}

.btn-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(199, 168, 99, 0.22);
}

.btn-lift:active {
  transform: translateY(0px) scale(0.98);
  transition-duration: 0.1s;
}

.link-underline {
  position: relative;
  transition: color 0.3s var(--ease-premium);
}

.link-underline::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease-snap);
}

.link-underline:hover::after {
  transform: scaleX(1);
}

.row-hover {
  transition: background 0.3s var(--ease-premium), padding-left 0.35s var(--ease-snap);
}

.row-hover:hover {
  background: rgba(199, 168, 99, 0.04);
  padding-left: 6px;
}

.card-hover {
  transition: transform 0.4s var(--ease-snap), box-shadow 0.4s var(--ease-premium);
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 var(--font-size-section-desc) 48px rgba(11, 31, 58, 0.12);
}

.arrow-nudge {
  display: inline-block;
  transition: transform 0.35s var(--ease-snap);
}

.arrow-nudge:hover {
  transform: translateX(5px);
}

.icon-btn {
  transition: transform 0.2s var(--ease-snap), border-color 0.25s, color 0.25s, background 0.25s;
}

.icon-btn:hover {
  transform: translateY(-2px) scale(1.06);
}

.icon-btn:active {
  transform: scale(0.94);
  transition-duration: 0.08s;
}

.accordion-row {
  transition: background 0.25s var(--ease-premium);
}

.accordion-row:hover {
  background: rgba(199, 168, 99, 0.03);
}

@keyframes goldLine {
  from {
    stroke-dashoffset: 1400;
  }

  to {
    stroke-dashoffset: 0;
  }
}

/* ── CURSEUR PERSONNALISÉ ─────────────────────────────────────────────────── */
#custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  will-change: transform;
  transition: opacity 0.2s;
}

#custom-cursor.visible {
  opacity: 1;
}

#custom-cursor-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #C7A863;
  margin-left: -4px;
  margin-top: -4px;
  transition: width 0.28s var(--ease-snap),
    height 0.28s var(--ease-snap),
    margin 0.28s var(--ease-snap),
    background 0.28s var(--ease-premium),
    border 0.28s var(--ease-premium);
}

#custom-cursor.is-hovering #custom-cursor-dot {
  width: 28px;
  height: 28px;
  margin-left: -14px;
  margin-top: -14px;
  background: transparent;
  border: 1px solid #C7A863;
}

/* ── NAV SCROLLED ─────────────────────────────────────────────────────────── */
nav.nav--scrolled {
  background: rgba(11, 31, 58, 0.95) !important;
  backdrop-filter: blur(var(--font-size-section-desc)) !important;
  -webkit-backdrop-filter: blur(var(--font-size-section-desc)) !important;
  border-bottom: 1px solid rgba(199, 168, 99, 0.1) !important;
}

/* ── MENU MOBILE ──────────────────────────────────────────────────────────── */
#mobile-menu {
  position: fixed;
  overflow-y: auto;
  inset: 0;
  z-index: 200;
  background: #0B1F3A;
  display: flex;
  flex-direction: column;
  padding: 90px 40px 40px;
  animation: fadeIn 0.25s var(--ease-snap) both;
}

.mobile-menu__close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  color: #9C9891;
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.mobile-menu__link {
  color: #F7F5F0;
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-title);
  text-decoration: none;
  padding: 14px 0;
  border-bottom: 1px solid rgba(247, 245, 240, 0.08);
  opacity: 0;
  transform: translateY(var(--font-size-section-desc));
  animation: fadeInUp 0.42s var(--ease-snap) both;
}

.mobile-menu__lang {
  margin-top: auto;
  color: #9C9891;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.22em;
  font-family: Inter, sans-serif;
}

/* ── ÉTAT IS-REVEALED (remplacement des inline styles opacity:0 → 1) ──────── */
.js-approche-label,
.js-approche-intro h2,
.js-approche-intro p {
  transition: opacity 0.9s var(--ease-snap), transform 0.9s var(--ease-snap);
}

.js-approche-label.is-revealed,
.js-approche-intro h2.is-revealed,
.js-approche-intro p.is-revealed {
  opacity: 1 !important;
  transform: none !important;
}

.js-contact-inner {
  transition: opacity 0.9s var(--ease-snap) 0.1s, transform 0.9s var(--ease-snap) 0.1s;
}

.js-contact-inner>* {
  transition: opacity 0.9s var(--ease-snap), transform 0.9s var(--ease-snap);
}

.js-contact-inner.is-revealed>* {
  opacity: 1 !important;
  transform: none !important;
}

/* ── MÉTHODE LUZ — STEP CONTENT ───────────────────────────────────────────── */
.luz-step-content {
  animation: luzStepIn 0.72s var(--ease-snap) both;
}

.luz-step-word {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #C7A863;
  margin-bottom: 28px;
  animation: luzWordReveal 0.55s var(--ease-snap) 0.05s both;
}

.luz-step-item {
  font-family: "Instrument Serif", serif;
  font-size: clamp(22px, 3vw, 42px);
  line-height: 1.45;
  color: #F7F5F0;
  font-style: italic;
  animation: luzItemReveal 0.7s var(--ease-snap) both;
}

.luz-step-items {
  margin-bottom: 28px;
}

.luz-step-desc {
  font-family: Inter, sans-serif;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.8;
  color: rgba(247, 245, 240, 0.8);
  max-width: 400px;
  margin: 0;
  animation: luzItemReveal 0.7s var(--ease-snap) both;
}

/* ── PUBLICATIONS — IS-HOVERED ────────────────────────────────────────────── */
article.is-hovered h3 {
  color: #0B1F3A !important;
  transform: translateX(4px);
}

article.is-hovered img {
  opacity: 0.9 !important;
  transform: scale(1.08) !important;
}

/* ── COMPTEUR ─────────────────────────────────────────────────────────────── */
.counter-suffix {
  color: #C7A863;
  font-size: 0.72em;
}

/* ── EXPERTISE IS-ACTIVE ROW ──────────────────────────────────────────────── */
.row-hover.is-active {
  background: rgba(199, 168, 99, 0.04);
  padding-left: 6px;
}

/* ── SECTION METHODE ──────────────────────────────────────────────────────── */
#methode {
  position: sticky;
  top: 0;
  min-height: 100vh;
  overflow: hidden;
  background: #0B1F3A;
  display: flex;
  flex-direction: column;
}

.methode__wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 100px clamp(24px, 8vw, 120px) 48px;
  max-width: 1440px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.methode__label {
  font-size: var(--font-size-section-label);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #C7A863;
  font-family: Inter, sans-serif;
  margin-bottom: 40px;
}

.methode__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 8vw, 80px);
  flex: 1;
  min-height: 0;
}

@media (max-width: 1023px) {
  .methode__container {
    /* grid-template-columns: 1fr; */
    gap: 32px;
  }

  .js-steps-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .methode__step-description {
    font-size: clamp(12px, var(--font-size-section-label), var(--font-size-section-desc)) !important;
  }
}

/* ── LETTERS COLUMN ───────────────────────────────────────────────────────── */
.methode__letters-side {
  display: flex;
  align-items: center;
}

.methode__letters-group {
  display: flex;
  gap: clamp(12px, 2vw, 28px);
  align-items: flex-start;
  width: 100%;
}

.methode__letter-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.methode__letter {
  font-family: "Instrument Serif", serif;
  font-size: clamp(50px, 10vw, 140px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: rgba(247, 245, 240, 0.45);
  transition: color 0.65s var(--ease-premium),
    font-size 0.65s var(--ease-snap),
    transform 0.65s var(--ease-snap),
    text-shadow 0.65s var(--ease-premium);
  text-shadow: none;
  transform: translateY(8px);
  will-change: transform, color, font-size;
  display: block;
}

/* .methode__letter-block:first-child .methode__letter {
  font-size: clamp(80px, 13vw, 172px);
  color: #C7A863;
  text-shadow: 0 0 60px rgba(199, 168, 99, 0.25), 0 0 120px rgba(199, 168, 99, 0.11);
  transform: translateY(-4px);
  -webkit-transform: translateY(-4px);
  -moz-transform: translateY(-4px);
  -ms-transform: translateY(-4px);
  -o-transform: translateY(-4px);
} */

.methode__letter.active {
  color: #C7A863;
  font-size: clamp(60px, 13vw, 172px);
  text-shadow: 0 0 60px rgba(199, 168, 99, 0.25), 0 0 120px rgba(199, 168, 99, 0.11);
  transform: translateY(-4px);
}

.methode__letter {
  color: rgba(247, 245, 240, 0.8);
  transform: translateY(0);
}

.methode__dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(247, 245, 240, 0.15);
  transition: all 0.5s var(--ease-snap);
  box-shadow: none;
}

/* .methode__letter-block:first-child .methode__dot {
  width: 6px;
  height: 6px;
  background: #C7A863;
  box-shadow: 0 0 8px rgba(199, 168, 99, 0.6);
} */

.methode__dot.active {
  width: 6px;
  height: 6px;
  background: #C7A863;
  box-shadow: 0 0 8px rgba(199, 168, 99, 0.6);
}

.methode__dot.past {
  background: rgba(199, 168, 99, 0.4);
  box-shadow: none;
}

.methode__line {
  width: 1px;
  height: 24px;
  background: linear-gradient(to bottom, rgba(247, 245, 240, 0.12), transparent);
  transition: all 0.6s;
}

.methode__line.past {
  background: linear-gradient(to bottom, rgba(199, 168, 99, 0.5), rgba(247, 245, 240, 0.1));
}

.js-gold-line {
  position: absolute;
  top: 0px;
  left: 0;
  height: 1px;
  background: #c7a863;
  width: 0%;
  transition: width 0.05s linear;
  box-shadow: 0 0 8px #c7a86350;
}

.js-approche-step-dot {
  width: clamp(12px, 1vw, var(--font-size-section-desc));
  height: clamp(12px, 1vw, var(--font-size-section-desc));
  border-radius: 50%;
  background: rgba(11, 31, 58, 0.5);
  border: 1px solid rgba(11, 31, 58, 0.5);
  margin-bottom: 14px;
  box-shadow: 0 0 0 #F7C548, 0 0 0 #EEEBD3;
  transition: background 0.55s var(--ease-snap), border-color 0.55s, width 0.4s var(--ease-snap), height 0.4s var(--ease-snap);
  box-shadow: 0 0 14px #c7a86370, 0 0 28px #c7a86330;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;

}

.js-approche-step.is-current .js-approche-step-dot {
  width: clamp(var(--font-size-section-desc), 1.2vw, 20px);
  height: clamp(var(--font-size-section-desc), 1.2vw, 20px);
  background: #c7a863;
  border-color: #c7a863;
  box-shadow: 0 0 var(--font-size-section-desc) #F7C548, 0 0 10px #EEEBD3;
}

.js-approche-step.pt-4.is-active .js-approche-step-dot {
  background: #C7A863;
  border-color: #C7A863;
}

.js-approche-step-heading {
  font-family: Inter, sans-serif;
  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);
  letter-spacing: 0.1em;
  font-weight: 400;
  color: rgba(11, 31, 58, 0.44);
  transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap);
  transform: translateY(10px);
  margin-bottom: 8px;
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  -ms-transform: translateY(10px);
  -o-transform: translateY(10px);
}

.js-approche-step.is-active .js-approche-step-heading {
  font-weight: 800;
}

.js-approche-step.is-active .js-approche-step-heading,
.js-approche-step.is-active .js-approche-step-desc {
  transform: translateY(0);
  color: rgba(11, 31, 58, 0.80);
}

.js-approche-step.is-current .js-approche-step-heading {
  color: #C7A863;
}



.js-approche-step-desc {
  font-family: "Instrument Serif", serif;
  font-size: clamp(15px, 1vw, 17px);
  font-style: italic;
  opacity: 0.2;
  color: rgba(11, 31, 58, 0.8);
  transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap), opacity 0.5s var(--ease-premium);
  transform: translateY(var(--font-size-section-desc));
  opacity: 1;
  line-height: 1.5;
  -webkit-transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap), opacity 0.5s var(--ease-premium);
  -moz-transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap), opacity 0.5s var(--ease-premium);
  -ms-transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap), opacity 0.5s var(--ease-premium);
  -o-transition: color 0.5s var(--ease-premium), transform 0.5s var(--ease-snap), opacity 0.5s var(--ease-premium);
  -webkit-transform: translateY(var(--font-size-section-desc));
  -moz-transform: translateY(var(--font-size-section-desc));
  -ms-transform: translateY(var(--font-size-section-desc));
  -o-transform: translateY(var(--font-size-section-desc));
}

.js-approche-step.is-active .js-approche-step-desc {
  opacity: .8;
}

/* ── CONTENT COLUMN ───────────────────────────────────────────────────────── */
.methode__content-side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(0px, 4vw, 48px);
  position: relative;
}

@media (max-width: 1023px) {
  .methode__content-side {
    padding-left: 0;
  }
}

.methode__step {
  display: none;
}

.methode__step.active {
  display: block;
}

.methode__step-content {
  animation: luzStepIn 0.72s var(--ease-snap) both;
}

.methode__step-label {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #C7A863;
  margin-bottom: 28px;
  overflow: hidden;
  animation: luzWordReveal 0.55s var(--ease-snap) 0.05s both;
}

.methode__step-items {
  margin-bottom: 28px;
}

.methode__step-item {
  font-family: "Instrument Serif", serif;
  font-size: clamp(22px, 2.3vw, 42px);
  line-height: 1.45;
  color: #F7F5F0;
  font-style: italic;
  overflow: hidden;
  animation: luzItemReveal 0.7s var(--ease-snap) both;
}

.methode__step-item:nth-child(1) {
  animation-delay: 0.1s;
}

.methode__step-item:nth-child(2) {
  animation-delay: 0.22s;
}

.methode__step-item:nth-child(3) {
  animation-delay: 0.34s;
}

.methode__step-description {
  font-family: Inter, sans-serif;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.8;
  color: rgba(247, 245, 240, 0.8);
  max-width: 400px;
  margin: 0;
  animation: luzItemReveal 0.7s var(--ease-snap) both;
  animation-delay: 0.46s;
}

/* ── PROGRESS INDICATORS ──────────────────────────────────────────────────── */
.methode__progress {
  display: flex;
  gap: var(--font-size-section-desc);
  align-items: center;
  padding-bottom: 8px;
  margin-top: 32px;
}

.methode__progress-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.methode__progress-bar {
  width: 14px;
  height: 1px;
  background: rgba(247, 245, 240, 0.18);
  transition: width 0.55s var(--ease-snap), background 0.5s;
  box-shadow: none;
}

.methode__progress-item:first-child .methode__progress-bar {
  width: 36px;
  background: #C7A863;
  box-shadow: 0 0 6px rgba(199, 168, 99, 0.5);
}

.methode__progress-bar.active {
  width: 36px;
  background: #C7A863;
  box-shadow: 0 0 6px rgba(199, 168, 99, 0.5);
}

.methode__progress-bar.past {
  width: 20px;
  background: #C7A863;
  box-shadow: none;
}

.methode__progress-label {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.18em;
  color: rgba(247, 245, 240, 0.7);
  transition: color 0.45s var(--ease-premium);
  font-weight: 300;
}

.methode__progress-item:first-child .methode__progress-label {
  color: #C7A863;
  font-weight: 500;
}

.methode__progress-label.active {
  color: #C7A863;
  font-weight: 500;
}

.methode__progress-label.past {
  color: rgba(199, 168, 99, 0.66);
  font-weight: 300;
}

.methode__progress-percent {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.12em;
  color: rgba(247, 245, 240, 0.15);
  margin-left: 8px;
}

/* ══════════════════════════════════════════════════════════════════════════════
   CUSTOM TYPOGRAPHY & LAYOUT CLASSES
   ══════════════════════════════════════════════════════════════════════════════ */

/* Navigation */
.nav-brand {
  font-family: "Instrument Serif", serif;
  font-size: 22px;
  color: #F7F5F0;
  letter-spacing: 0.1em;
  width: 130px;
}

.nav-subtitle {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  color: rgba(247, 245, 240, 0.31);
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 300;
  margin-left: 5px;
}

.nav-link-wrapper {
  position: relative;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: Inter, sans-serif;
  font-weight: 400;
  padding-bottom: 3px;
  display: inline-block;
}

/* Hero Section */
.hero-heading {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-size: clamp(48px, 6.5vw, 100px);
  line-height: 1.08;
  letter-spacing: -0.01em;
}

.hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,
      #0b1f3aee 0%,
      #0b1f3ac0 42%,
      #0b1f3a60 70%,
      #0b1f3a18 100%);
  opacity: 0.72;
  will-change: opacity;
  pointer-events: none;
}

.hero-subtitle-text {
  font-weight: 300;
  font-size: 20px;
  line-height: 1.72;
  color: rgba(247, 245, 240, 0.51);
}

/* Section Padding (Fluid) */
.section-light-pad {
  background: #F7F5F0;
  padding: clamp(80px, 14vh, 180px) clamp(24px, 8vw, 120px);
}

.section-dark-pad {
  background: #0B1F3A;
  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);
}

.section-dark-pad-full {
  background: #0B1F3A;
  padding: clamp(80px, 12vh, 140px) 0;
}

.section-contact-pad {
  background: #0B1F3A;
  padding: clamp(100px, 18vh, 200px) clamp(24px, 8vw, 120px);
}

.section-footer-pad {
  background: #0B1F3A;
  border-top: 1px solid rgba(247, 245, 240, 0.03);
  padding: clamp(56px, 8vh, 100px) clamp(24px, 8vw, 120px) 36px;
}

.section-sticky {
  position: sticky !important;
  top: 0;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Section Headings */
.section-heading {
  font-family: "Instrument Serif", serif;
  font-size: clamp(36px, 5.5vw, 76px);
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.section-label {
  font-size: var(--font-size-section-label);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #C7A863;
  font-family: Inter, sans-serif;
  margin-bottom: 40px;
}

/* Grid Max Width Container */
.max-w-container {
  max-width: 1440px;
  margin: 0 auto;
}

/* Text Styling */
.text-gradient-gold {
  color: #C7A863;
  font-style: italic;
}

.text-semitransparent {
  color: rgba(247, 245, 240, 0.8);
}

.text-faint {
  color: rgba(247, 245, 240, 0.7);
}

/* Expertise Number Styling */
.expertise-number {
  font-size: var(--font-size-section-label);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #C7A863;
  font-weight: 500;
}

/* Sticky Positioned Elements */
.sticky-image {
  position: sticky;
  top: 20vh;
  width: 360px;
  height: 60vh;
  overflow: hidden;
}

/* Filter & Transform Utilities */
.filter-dim {
  filter: brightness(0.78) blur(0px);
}

.filter-dim-blur {
  filter: brightness(0.78) blur(6px);
}

.scale-up {
  transform: scale(1.07);
}

.scale-normal {
  transform: scale(1);
}

/* Accordion Animation */
.accordion-item {
  overflow: hidden;
  transition: background 0.25s var(--ease-premium);
}

/* Stagger Animations for Accordion & Lists */
.stagger-child-1 {
  animation-delay: 0s;
}

.stagger-child-2 {
  animation-delay: 0.11s;
}

.stagger-child-3 {
  animation-delay: 0.22s;
}

.stagger-child-4 {
  animation-delay: 0.33s;
}

.stagger-child-5 {
  animation-delay: 0.44s;
}

.stagger-child-6 {
  animation-delay: 0.55s;
}

.stagger-child-7 {
  animation-delay: 0.66s;
}

.stagger-child-8 {
  animation-delay: 0.77s;
}

/* Publication Article */

#publications article {
  border-bottom: 1px solid #0b1f3a10;
  cursor: pointer;
  position: relative;
  animation-delay: 0s;
  transition: background 0.35s var(--ease-premium);
  background: transparent;
  -webkit-transition: background 0.35s var(--ease-premium);
  -moz-transition: background 0.35s var(--ease-premium);
  -ms-transition: background 0.35s var(--ease-premium);
  -o-transition: background 0.35s var(--ease-premium);
}

#publications article>div {
  padding: clamp(24px, 4vh, 36px) 0
}

#publications article .publication-filters span {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #c7a863;
  font-weight: 500;
}

#publications article .publication-filters div {
  font-family: Inter, sans-serif;
  font-size: 15px;
  color: #9c9891;
  margin-top: 6px;
}


#publications article .publication_title {
  font-family: 'Instrument Serif&quot', serif;
  font-weight: 400;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.32;
  color: #0b1f3a85;
  margin: 0 0 10px;
  transition:
    color 0.3s var(--ease-premium),
    transform 0.4s var(--ease-snap);
  transform: none;
}

#publications article .publication_desc {
  font-family: Inter, sans-serif;
  font-weight: 300;
  font-size: var(--font-size-section-label);
  line-height: 1.75;
  color: #5a6880;
  margin: 0;
}

#publications article .publication_cover {
  width: 120px;
  height: 80px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

#publications article .publication_arrow {
  font-family: Inter, sans-serif;
  font-size: 18px;
  color: #9c9891;
  transition:
    color 0.3s,
    transform 0.4s var(--ease-snap);
  transform: none;
  display: block;
}


.publication-article {
  transition: background 0.35s var(--ease-premium);
}

.publication-article:hover {
  background: rgba(11, 31, 58, 0.04);
}

.article-content {
  color: #374151;
  font-size: 1.125rem;
  line-height: 1.85;
  letter-spacing: -0.01em;
}

.article-content h2 {
  font-family: 'Instrument Serif', Georgia, serif;
  font-size: 2rem;
  font-weight: 400;
  color: #0B1F3A;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.25;
}

.article-content h3 {
  font-family: 'Inter', sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: #0B1F3A;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

.article-content p {
  margin-bottom: 1.5rem;
}

.article-content ul,
.article-content ol {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.article-content ul {
  list-style-type: disc;
}

.article-content ol {
  list-style-type: decimal;
}

.article-content li {
  margin-bottom: 0.5rem;
}

.article-content blockquote {
  border-left: 3px solid #c7a863;
  padding-left: 1.25rem;
  font-style: italic;
  color: #4b5563;
  margin: 2rem 0;
  background: #fdfbf7;
  padding: 1.25rem 1.5rem;
  border-radius: 0 0.5rem 0.5rem 0;
}

.article-content a {
  color: #0B1F3A;
  text-decoration: underline;
  text-decoration-color: #c7a863;
  text-underline-offset: 3px;
  transition: color 0.2s;
}

.article-content a:hover {
  color: #c7a863;
}

.article-content strong {
  color: #0B1F3A;
  font-weight: 600;
}

/* Impact Statistics */
div:has(>.impact-stat):not(:last-child) {
  padding: clamp(8px, 2.5vw, 32px);
  border-right: 1px solid #0b1f3a08;
}

.impact-stat {
  font-family: Inter, sans-serif;
  font-size: clamp(38px, 7.5vw, 104px);
  line-height: 1;
  color: #0b1f3a;
  margin-bottom: var(--font-size-section-desc);
  font-weight: 600;
}

.impact-label {
  font-family: Inter, sans-serif;
  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9c9891;
  font-weight: 400;
  white-space: pre-line;
  line-height: 1.75;
}

/* Contact Section */
.contact-heading {
  font-family: "Instrument Serif", serif;
  font-size: clamp(4rem, 6vw, 6rem);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #F7F5F0;
}

.contact-subtitle {
  font-family: Inter, sans-serif;
  font-size: var(--font-size-section-label);
  line-height: 1.72;
  color: #f7f5f058;
  font-weight: 300;
  margin: 0 0 36px;
  transition: opacity 1.1s var(--ease-snap) 0.35s, transform 1.1s var(--ease-snap) 0.35s;
  -webkit-transform: translateY(20px);
  -moz-transform: translateY(20px);
  -ms-transform: translateY(20px);
  -o-transform: translateY(20px);
  transform: translateY(20px);
}

/* Footer */
.footer-link-text {
  font-family: Inter, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(247, 245, 240, 0.7);
  text-decoration: none;
  transition: color 0.22s var(--ease-premium), transform 0.3s var(--ease-snap);
  display: block;
}

.footer-link-text:hover {
  color: #F7F5F0;
  transform: translateX(4px);
}

.footer-title {
  color: #C7A863;
  text-decoration: none;
  transition: opacity 0.25s var(--ease-premium);
  font-weight: 500;
}

.footer-title:hover {
  opacity: 0.65;
}

.footer-legal-text {
  color: rgba(247, 245, 240, 0.55);
  text-decoration: none;
  font-size: var(--font-size-section-label);
  transition: color 0.22s var(--ease-premium);
}

.footer-legal-text:hover {
  color: #F7F5F0;
}

/* @media (prefers-reduced-motion: reduce) {

  .sda-fade-up,
  .sda-fade-left,
  .sda-fade-right,
  .sda-scale-up,
  .sda-heading,
  .sda-label {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
} */

@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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;
}

@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-border-style: solid;
      --tw-outline-style: solid;
      --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;
    }
  }
}

/* ========================================
   CUSTOM REUSABLE CLASSES
   ======================================== */

/* Cursor Tracker */
.cursor-tracker {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
}

.cursor-tracker__dot {
  position: fixed;
  width: 8px;
  height: 8px;
  background: #C7A863;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Navigation */
.nav-main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: auto;
  background: transparent;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid transparent;
  padding: 1.5rem 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  -webkit-transition: all .3s var(--ease-snap);
  -moz-transition: all .3s var(--ease-snap);
  -ms-transition: all .3s var(--ease-snap);
  -o-transition: all .3s var(--ease-snap);
  transition: all .3s var(--ease-snap);
}

.nav-brand {
  font-family: 'Instrument Serif', serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #F7F5F0;
}

.nav-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C7A863;
  font-weight: 500;
}

.nav-link {
  position: relative;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F7F5F0;
  text-decoration: none;
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: #C7A863;
}

.nav-link__underline {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: #C7A863;
  transition: width 0.3s ease;
}

.nav-link:hover .nav-link__underline {
  width: 100%;
}

.nav-divider {
  width: 1px;
  height: 20px;
  background: rgba(247, 245, 240, 0.1);
}

.nav-lang {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: #9C9891;
}

.nav-lang .active {
  color: #C7A863;
}

.nav-mobile-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.nav-mobile-toggle__bar {
  width: 20px;
  height: 1px;
  background: #F7F5F0;
  display: block;
  transition: all 0.3s ease;
}

/* Hero Section */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  object-position: center right;
  transform-origin: center center;
  will-change: transform;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(105deg,
      #0b1f3aee 0%,
      #0b1f3ac0 42%,
      #0b1f3a60 70%,
      #0b1f3a18 100%);
  ;
  z-index: 2;
  opacity: 0.72;
  will-change: opacity;
}

.hero__content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: left;
  padding: 4rem 2rem;
}

.hero__heading {
  font-family: 'Instrument Serif', serif;
  font-size: clamp(36px, 7vw, 72px);
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 1.5rem;
  color: #F7F5F0;
}

.hero-line-1 {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.hero-line-2 {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

.hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-desc);
  line-height: 1.6;
  color: #E8E6E1;
  margin-bottom: 2rem;
  max-width: 600px;
  animation: fadeInUp 0.8s ease-out 0.6s both;
  font-weight: lighter;
}

.hero-cta {
  animation: fadeInUp 0.8s ease-out 0.8s both;
  -webkit-animation: fadeInUp 0.8s ease-out 0.8s both;
}

.hero__scroll-hint {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  text-align: center;
  opacity: 0.6;
  animation: fadeInUp 1s ease-out 1s both;
}

.hero__scroll-text {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C7A863;
  display: block;
  margin-bottom: 0.5rem;
}

.hero__scroll-line {
  width: 1px;
  height: 20px;
  background: #C7A863;
  margin: 0 auto;
  animation: grow 1.5s ease-in-out infinite;
}

/* Buttons */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 24px;
  background: #C7A863;
  color: #0B1F3A;
  border: 1px solid #C7A863;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.btn-gold:hover {
  background: transparent;
  color: #C7A863;
  transform: translateX(4px);
}

.arrow-nudge {
  display: inline-block;
  transition: transform 0.3s ease;
}

.btn-gold:hover .arrow-nudge {
  transform: translateX(2px);
}

.hero-ghost {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #F7F5F0;
  border-bottom: 1px solid #F7F5F0;
  text-decoration: none;
  padding: 4px 0;
  transition: all 0.3s ease;
}

.hero-ghost:hover {
  color: #C7A863;
  border-bottom-color: #C7A863;
}

/* Sections */
section,
.section {
  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);
  min-height: 600px;
}

.section-light {
  background: #F7F5F0;
  color: #0B1F3A;

}

.section-dark {
  background: #0B1F3A;
  color: #F7F5F0;
}

.section-label {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-label);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #C7A863;
  font-weight: 500;
  display: block;
  margin-bottom: 2rem;
}

.section-heading-light {
  font-family: 'Instrument Serif', serif;
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 400;
  line-height: 1.2;
  color: #0B1F3A;
  margin-bottom: 1.5rem;
}

.section-heading-light em {
  font-style: italic;
  color: #C7A863;
}

.section-heading-dark {
  font-family: 'Instrument Serif', serif;
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 400;
  line-height: 1.2;
  color: #F7F5F0;
  margin-bottom: 1.5rem;
}

.section-heading-dark em {
  font-style: italic;
  color: #C7A863;
}

.section-subtitle-light,
.section-light .sda-heading+p {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-desc);
  line-height: 1.6;
  color: #4E5D6E;
  max-width: 340px;
  font-weight: 300;
}

.section-subtitle-dark,
.section-dark .sda-heading+p {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-desc);
  line-height: 1.6;
  color: #C9CACE;
  max-width: 340px;
  font-weight: 300;
}

/* Flow Indicators */
.flow-indicators {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.flow-indicators__item {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #4E5D6E;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.flow-indicators__item.active {
  color: #C7A863;
  font-weight: 600;
}

.flow-indicators__arrow {
  color: inherit;
}

/* Expertise Row */
.expertise-row {
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(199, 168, 99, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
}

.expertise-row:hover {
  padding-left: 1rem;
}

.expertise-row__content {
  display: grid;
  grid-template-columns: 40px 1fr 24px;
  gap: 1.5rem;
  align-items: flex-start;
}

.expertise-row__number {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-label);
  font-weight: 600;
  letterspacing: 0.2em;
  text-transform: uppercase;
  color: #C7A863;
  transition: color 0.4s var(--ease-premium);
}

.text-serif {
  font-family: 'Instrument Serif', serif !important;
}

.expertise-row__title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #F7F5F0;
  margin-bottom: 0.25rem;
  transition: color 0.4s var(--ease-premium), transform 0.4s var(--ease-snap);
  transform: translateX(6px);
  -webkit-transform: translateX(6px);
  -moz-transform: translateX(6px);
  -ms-transform: translateX(6px);
  -o-transform: translateX(6px);
}

#secteurs .expertise-row__title {
  font-weight: 200;
  font-size: clamp(18px, 2vw, 35px);
  text-transform: none;
  color: #f7f5f0cc;
  transform: none;

}

#secteurs .expertise-row__content {
  grid-template-columns: 52px 1fr auto;
  gap: 0 28px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #f7f5f008;
  cursor: pointer;
  transition:
    background 0.3s var(--ease-premium),
    padding-left 0.35s var(--ease-snap);
  background: transparent;
  padding-left: 0;

}

.expertise-row__subtitle {
  font-family: 'instrument serif', serif;
  font-size: var(--font-size-section-desc);
  color: #C7A863;
  margin-bottom: 0.5rem;
  white-space: pre-line;
  transition: all 0.4s var(--ease-premium);
  -webkit-transition: all 0.4s var(--ease-premium);
  -moz-transition: all 0.4s var(--ease-premium);
  -ms-transition: all 0.4s var(--ease-premium);
  -o-transition: all 0.4s var(--ease-premium);
}

#secteurs .expertise-row__subtitle {
  font-family: Inter, sans-serif;
  transform: none;
  font-weight: 300;
  color: #f7f5f0cc;
  font-size: clamp(12px, 1vw, 18px);
  margin-top: -20px;
}

#secteurs .is-active .expertise-row__subtitle {
  color: #C7A863;
}

.expertise-row__desc {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #9C9891;
  animation: fadeInUp 0.6s var(--ease-snap) 0.2s both;
}

.expertise-row__arrow {
  color: #C7A863;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.3s ease;
  transition: color .3s, transform 10s var(--ease-snap);
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  -webkit-transform: translateX(-10px);
  -moz-transform: translateX(-10px);
  -ms-transform: translateX(-10px);
  -o-transform: translateX(-10px);
}

.expertise-row:hover .expertise-row__arrow {
  opacity: 1;
  transform: translateX(0);
}

.expertise-row.active .expertise-row__arrow {
  opacity: 1;
}

.expertise-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.expertise-image.active {
  opacity: 1;
}

.expertise-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11, 31, 58, 0.3) 0%, rgba(11, 31, 58, 0.6) 100%);
}

#secteurs .expertise-image-overlay {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: brightness(0.82) blur(8px);
  transform: translate(0px, 0px) scale(1.12);
  transition:
    opacity 0.6s var(--ease-premium),
    filter 0.55s var(--ease-premium),
    transform 0.7s var(--ease-snap);
}

#secteurs .expertise-image-overlay.is-active {
  opacity: 1;
  filter: brightness(0.82) blur(0px);
  transform: translate(0px, 0px) scale(1);
}

.imgs-container>div {
  position: sticky;
  top: 0;
  width: 360px;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.expertise-image-caption {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  z-index: 10;
  max-width: 280px;
}

.expertise-image-caption__tag {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C7A863;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.expertise-image-caption__text {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #F7F5F0;
}

/* Accordion */
.accordion-item {
  border-bottom: 1px solid rgba(11, 31, 58, 0.1);
}

.accordion-button {
  width: 100%;
  padding: 2rem 0;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  text-align: left;
  transition: all 0.3s ease;
}

.accordion-button>div {
  display: grid;
  grid-template-columns: 52px 1fr 28px;
  gap: 0 24px;
  align-items: start;
}

.accordion-button:hover {
  padding-left: 1rem;
}

.accordion-number {
  font-family: 'Instrument Serif', serif;
  font-size: 24px;
  font-weight: 600;
  color: #C7A863;
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.accordion-header {
  flex: 1;
}

.accordion-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0B1F3A;
  margin-bottom: 0.75rem;
}

.accordion-contents {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s var(--ease-snap);
}

.accordion-contents>div {
  opacity: 0;
  max-height: 0;
  transition: opacity 0.6s, max-height 0.45s var(--ease-snap);
  -webkit-transition: opacity 0.6s, max-height 0.45s var(--ease-snap);
  -moz-transition: opacity 0.6s, max-height 0.45s var(--ease-snap);
  -ms-transition: opacity 0.6s, max-height 0.45s var(--ease-snap);
  -o-transition: opacity 0.6s, max-height 0.45s var(--ease-snap);
}

.accordion-contents>div>div {
  padding-top: 18px;
  transform: translateY(10px);
  transition: opacity 0.4s var(--ease-premium) 0s, transform 0.4s var(--ease-snap) 0s;
  -webkit-transition: ;
  -moz-transition: ;
  -ms-transition: ;
  -o-transition: ;
}

.accordion-row.accordion-item.in-view.is-open .accordion-contents {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.45s var(--ease-snap);
}

.accordion-row.accordion-item.in-view.is-open .accordion-contents>div {
  opacity: 1;
  max-height: 1000px;
}

.accordion-button .accordion-header .accordion-content {
  display: none;
}

.accordion-button.active .accordion-header .accordion-content {
  display: block;
}

.accordion-quote {
  font-family: 'Instrument Serif', serif;
  font-size: 14px;
  font-style: italic;
  color: #C7A863;
  margin-bottom: 1rem;
}

.accordion-description {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #4E5D6E;
}

.accordion-toggle {
  font-family: 'Inter', sans-serif;
  font-size: 24px;
  color: #C7A863;
  flex-shrink: 0;
  transition: transform 0.6s ease;
  margin-top: 0.25rem;
  -webkit-transition: transform 0.6s ease;
  -moz-transition: transform 0.6s ease;
  -ms-transition: transform 0.6s ease;
  -o-transition: transform 0.6s ease;
}

.accordion-button.active .accordion-toggle {
  transform: rotate(45deg);
}

/* Sector Item */
.sector-item {
  display: grid;
  grid-template-columns: 40px 1fr 24px;
  gap: 1.5rem;
  align-items: flex-start;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(247, 245, 240, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
}

.sector-item:hover {
  padding-left: 1rem;
}

.sector-item__number {
  font-family: 'Instrument Serif', serif;
  font-size: 24px;
  font-weight: 600;
  color: #C7A863;
}

.sector-item__title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #F7F5F0;
  margin-bottom: 0.25rem;
}

.sector-item__subtitle {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-label);
  color: #C9CACE;
}

.sector-item__arrow {
  color: #C7A863;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.sector-item:hover .sector-item__arrow {
  opacity: 1;
}

.sector-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.sector-image.active {
  opacity: 1;
}

.sector-image-border {
  position: absolute;
  inset: 0;
  border: 1px solid #C7A863;
  opacity: 0.3;
}

/* CTA Section */
.cta-section {
  position: relative;
  background: #0B1F3A;
  padding: clamp(80px, 12vh, 140px) 2rem;
  overflow: hidden;
}

.cta-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  z-index: 0;
}

.cta-content {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  max-width: 600px;
}

.cta-heading {
  font-family: 'Instrument Serif', serif;
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 400;
  line-height: 1.2;
  color: #F7F5F0;
  margin-bottom: 1.5rem;
}

.cta-heading em {
  font-style: italic;
  color: #C7A863;
}

.cta-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-desc);
  line-height: 1.6;
  color: #C9CACE;
  margin-bottom: 2rem;
}

.cta-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.social-links {
  display: flex;
  gap: 1rem;
}

.social-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #C7A863;
  border-radius: 50%;
  color: #C7A863;
  text-decoration: none;
  transition: all 0.3s ease;
}

.social-btn:hover {
  background: #C7A863;
  color: #0B1F3A;
}

/* Footer */

footer.section {
  min-height: unset;
}

.footer-main {
  background: #0B1F3A;
  border-top: 1px solid rgba(247, 245, 240, 0.1);
  padding: 4rem 2rem 2rem;
}

.footer-logo {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.footer-logo__main {
  font-family: 'Instrument Serif', serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: #F7F5F0;
}

.footer-logo__sub {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.72;
  color: #f7f5f075;
  max-width: 220px;
}

.footer-tagline {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-label);
  line-height: 1.6;
  color: #C9CACE;
  margin-bottom: 1.5rem;
}

.footer-socials {
  display: flex;
  gap: 1rem;
}

.footer-social {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(247, 245, 240, 0.2);
  border-radius: 2px;
  color: #C7A863;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer-social:hover {
  background: rgba(199, 168, 99, 0.1);
}

.footer-column {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.footer-column-title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C7A863;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 0.5rem;
}

.footer-link {
  font-family: 'Inter', sans-serif;
  font-size: var(--font-size-section-label);
  line-height: 1.6;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: #C7A863;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(247, 245, 240, 0.05);
  flex-wrap: wrap;
  gap: 1rem;
}

.footer-copyright,
.footer-credit {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #9C9891;
}

.footer-credit__brand {
  color: #C7A863;
  font-weight: 600;
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes grow {

  0%,
  100% {
    transform: scaleY(0);
    opacity: 0.5;
  }

  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}

@media (max-width: 960px) {
  .js-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .nav-main {
    padding: 1rem 0;
    background: rgba(11, 31, 58, 0.95) !important;
    backdrop-filter: blur(var(--font-size-section-desc)) !important;
    -webkit-backdrop-filter: blur(var(--font-size-section-desc)) !important;
    border-bottom: 1px solid rgba(199, 168, 99, 0.1) !important;
  }

  .js-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .methode__progress-item:first-child .methode__progress-bar {
    width: 10px;
  }

  .methode__progress {
    gap: 10px;
  }

  .methode__progress-bar.active {
    width: 15px;
  }

  .methode__progress-item {
    gap: 5px;
  }

  .hero {
    margin-top: 60px;
  }

  .section-light,
  .section-dark {
    padding: 60px 2rem;
  }

  .accordion-button {
    gap: 1rem;
    padding: 1.5rem 0;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Auto-generated inline styles classes */


.style-82285cd7 {
  font-family: Inter, sans-serif;

  font-size: 18px;

  line-height: 1.78;

  color: #4e5d6e;

  font-weight: 300;

  max-width: 580px;

  margin: 0;
}

.style-90fcf3d9 {
  padding-top: 18px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.4s var(--ease-premium) 0s,
    transform 0.4s var(--ease-snap) 0s;
}


.style-8f66f744 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-desc);

  color: #f7f5f080;

  transition:
    color 0.35s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;

  margin-top: 4px;
}

.style-b41539ae {
  color: transparent;

  font-size: 18px;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: none;
}


.style-e5ecb38f {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.12em;

  color: #f7f5f080;

  margin-top: 10px;

  animation: fadeIn 0.35s ease;
}

.style-feb02626 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #f7f5f080;

  transition: color 0.35s var(--ease-premium);

  font-weight: 400;
}

.style-dcdb95a4 {
  font-family: Inter, sans-serif;

  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);

  letter-spacing: 0.1em;

  font-weight: 400;

  color: #0b1f3a80;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap);

  transform: translateY(6px);

  margin-bottom: 8px;
}

.style-7e500f00 {
  font-family: Inter, sans-serif;

  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);

  letter-spacing: 0.1em;

  font-weight: 500;

  color: #0b1f3a;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap);

  transform: translateY(0);

  margin-bottom: 8px;
}

.style-340086f2 {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.5vw, 22px);

  letter-spacing: 0.04em;

  color: #0b1f3acc;

  font-weight: 400;

  margin-bottom: 0;

  transition: color 0.3s;

  padding-top: 2px;
}

.style-2c823836 {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.6vw, 22px);

  letter-spacing: 0.06em;

  color: #f7f5f090;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;

  margin-bottom: 8px;

  font-weight: 400;
}

.style-1a158ec2 {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.6vw, 22px);

  letter-spacing: 0.06em;

  color: #f7f5f0;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: translateX(6px);

  margin-bottom: 8px;

  font-weight: 400;
}

.style-5b54ce65 {
  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0.35;

  transform: scale(1);

  transition:
    opacity 0.55s var(--ease-premium),
    transform 0.55s var(--ease-snap);

  filter: grayscale(20%);
}

.style-5bc3fcd3 {
  width: 12px;

  height: 12px;

  border-radius: 50%;

  background: #0b1f3a15;

  border: 1px solid #0b1f3a20;

  margin-bottom: 14px;

  transition:
    background 0.55s var(--ease-snap),
    border-color 0.55s,
    width 0.4s var(--ease-snap),
    height 0.4s var(--ease-snap);

  box-shadow: none;
}

.style-e74a6be1 {
  width: var(--font-size-section-desc);

  height: var(--font-size-section-desc);

  border-radius: 50%;

  background: #c7a863;

  border: 1px solid #c7a863;

  margin-bottom: 14px;

  transition:
    background 0.55s var(--ease-snap),
    border-color 0.55s,
    width 0.4s var(--ease-snap),
    height 0.4s var(--ease-snap);

  box-shadow:
    0 0 14px #c7a86370,
    0 0 28px #c7a86330;
}

.style-248e2f64 {
  width: 1px;

  height: 24px;

  background: linear-gradient(to bottom,
      #f7f5f012,
      transparent);

  transition: all 0.6s;
}

.style-24372fd6 {
  width: 4px;

  height: 4px;

  border-radius: 50%;

  background: #f7f5f015;

  transition: all 0.5s var(--ease-snap);

  box-shadow: none;
}

.style-5d9bfeef {
  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: #c7a863;

  transition: all 0.5s var(--ease-snap);

  box-shadow: 0 0 8px #c7a86360;
}

.style-3abce0b4 {
  color: #9c9891;

  font-size: 20px;

  display: flex;

  align-items: center;

  justify-content: flex-end;

  transition:
    color 0.3s var(--ease-premium),
    transform 0.45s var(--ease-snap);

  transform: none;

  padding-top: 2px;
}

.style-aaab583c {
  color: #c7a863;

  font-size: 18px;

  text-align: right;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: translateX(5px);

  display: block;
}

.style-07913360 {
  color: transparent;

  font-size: 18px;

  text-align: right;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: none;

  display: block;
}

.style-7d200ec1 {
  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 12px;
}

.style-85208e29 {
  display: grid;

  grid-template-columns: 52px 1fr auto;

  gap: 0 28px;

  align-items: center;

  padding: 22px 0;

  border-bottom: 1px solid #f7f5f008;

  cursor: pointer;

  transition:
    background 0.3s var(--ease-premium),
    padding-left 0.35s var(--ease-snap);

  background: transparent;

  padding-left: 0;
}

.style-54be5b43 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  color: #c7a863;

  font-weight: 500;
}

.style-987d362d {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  color: #c7a863;

  margin-bottom: 8px;

  animation: fadeIn 0.4s ease;
}

.style-a5b6cced {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  font-weight: 400;

  color: #0b1f3a;
}

.style-1cbbce7d {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  font-weight: 500;

  color: #c7a863;
}

.style-27e5baa6 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  margin-bottom: 28px;

  overflow: hidden;

  animation: luzWordReveal 0.55s var(--ease-snap) 0.05s both;
}

.style-50e1a7bc {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #9c9891;

  transition: color 0.35s var(--ease-premium);

  padding-top: 3px;
}

.style-d3e8858f {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #c7a863;

  transition: color 0.4s var(--ease-premium);

  font-weight: 400;
}

.style-1cf32b08 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #f7f5f080;

  transition: color 0.4s var(--ease-premium);

  font-weight: 400;
}

.style-e19bd939 {
  font-family: Inter, sans-serif;

  font-size: 15px;

  color: #9c9891;

  margin-top: 6px;
}

.style-f7eacac6 {
  font-family: Inter, sans-serif;

  font-size: 18px;

  color: #9c9891;

  transition:
    color 0.3s,
    transform 0.4s var(--ease-snap);

  transform: none;

  display: block;
}

.style-01dd5956 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 17px;

  line-height: 1.75;

  color: #5a6880;

  margin: 0;
}

.style-c95c3b2e {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #f7f5f070;

  max-width: 340px;

  margin: 0;
}

.style-2d57ec34 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.8;

  color: #f7f5f0cc;

  max-width: 400px;

  margin: 0;

  animation: luzItemReveal 0.7s var(--ease-snap) 0.45999999999999996s both;
}

.style-6ab3e6ab {
  transition:
    opacity 0.4s 0.9s,
    r 0.3s;
}

.style-45e6c278 {
  transition:
    opacity 0.4s 1.02s,
    r 0.3s;
}

.style-2c502ff0 {
  transition:
    opacity 0.4s 1.1400000000000001s,
    r 0.3s;
}

.style-fbae711c {
  transition:
    opacity 0.4s 1.26s,
    r 0.3s;
}

.style-d5a4df14 {
  transition:
    opacity 0.4s 1.38s,
    r 0.3s;
}

.style-162a57c6 {
  transition:
    opacity 0.4s 1.5s,
    r 0.3s;
}

.style-14ab5ddc {
  width: 120px;

  height: 80px;

  overflow: hidden;

  flex-shrink: 0;
}

.style-32bdbf61 {
  display: flex;

  align-items: center;

  gap: var(--font-size-section-desc);

  justify-content: flex-end;
}

.style-563b3a50 {
  display: flex;

  gap: clamp(12px, 2vw, 28px);

  align-items: flex-start;
}

.style-78bd8c79 {
  display: grid;

  grid-template-columns: 52px 1fr 28px;

  gap: 0 24px;

  align-items: start;
}

.style-78711afb {
  display: grid;

  grid-template-columns: 60px 1fr 28px;

  gap: 0 24px;

  align-items: center;

  padding: 36px 0;
}


.style-628e3ffc {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #c7a863;

  transition: color 0.45s var(--ease-premium);

  font-weight: 500;
}

.style-0be3f565 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #f7f5f070;

  transition: color 0.45s var(--ease-premium);

  font-weight: 300;
}

.style-323fad42 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 21px;

  line-height: 1.8;

  color: #3a4a5c;

  max-width: 320px;

  margin: 0;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 1.1s var(--ease-snap) 0.32s,
    transform 1.1s var(--ease-snap) 0.32s;
}

.style-eb92b36f {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.style-dbc1abf5 {
  position: absolute;

  bottom: 40px;

  left: 44px;

  right: 44px;
}

.style-4a1cc8f4 {
  position: absolute;

  inset: 0;

  background: linear-gradient(to top,
      #0b1f3a55 0%,
      transparent 60%);
}

.style-8aff17db {
  position: absolute;

  inset: 0;

  border: 1px solid #c7a86320;

  opacity: 0;

  transition: opacity 0.4s;
}

.style-44a816f3 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0;

  filter: brightness(0.78) blur(6px);

  transform: scale(1.07);

  transition:
    opacity 0.75s var(--ease-premium),
    transform 0.85s var(--ease-snap),
    filter 0.65s var(--ease-premium);
}

.style-cc50653a {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0;

  filter: brightness(0.82) blur(8px);

  transform: translate(0px, 0px) scale(1.12);

  transition:
    opacity 0.6s var(--ease-premium),
    filter 0.55s var(--ease-premium),
    transform 0.7s var(--ease-snap);
}

.style-234487b6 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 1;

  filter: brightness(0.78) blur(0px);

  transform: scale(1);

  transition:
    opacity 0.75s var(--ease-premium),
    transform 0.85s var(--ease-snap),
    filter 0.65s var(--ease-premium);
}

.style-ae1b8230 {
  position: absolute;

  top: 8px;

  left: 0;

  height: 1px;

  background: #c7a863;

  width: 0%;

  transition: width 0.05s linear;

  box-shadow: 0 0 8px #c7a86350;
}

.style-e897377b {
  position: absolute;

  top: 8px;

  left: 0;

  right: 0;

  height: 1px;

  background: #0b1f3a10;
}

.style-56d45db7 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.25s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-aaaea58d {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.39s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-6b877a0f {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.53s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-a4ff80ed {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.67s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-204d0a64 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.81s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-39f9d2b1 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.9500000000000001s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.style-d90d5283 {
  width: 14px;

  height: 1px;

  background: #f7f5f018;

  transition:
    width 0.55s var(--ease-snap),
    background 0.5s;

  box-shadow: none;
}

.style-bb20946e {
  width: 36px;

  height: 1px;

  background: #c7a863;

  transition:
    width 0.55s var(--ease-snap),
    background 0.5s;

  box-shadow: 0 0 6px #c7a86350;
}

.style-47bfa362 {
  display: block;

  font-family: Inter, sans-serif;

  font-size: 12px;

  letter-spacing: 0.26em;

  text-transform: uppercase;

  margin-bottom: 18px;

  font-weight: 500;
}

.style-0594c2dd {
  display: flex;

  flex-direction: column;

  justify-content: center;

  padding-left: clamp(0px, 4vw, 48px);

  position: relative;
}

.style-079ee90c {
  display: flex;

  gap: 20px;

  align-items: center;

  flex-wrap: wrap;
}

.style-e945ef7e {
  display: inline-block;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  font-weight: 500;
}

.style-6e2cc8b6 {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: #0b1f3a;

  padding: var(--font-size-section-desc) 40px;

  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 500;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  text-decoration: none;
}


.style-8c7ec8b1 {
  font-family: Inter, sans-serif;

  font-size: 11px;

  color: #f7f5f035;

  letter-spacing: 0.3em;

  text-transform: uppercase;

  margin-top: 2px;
}

.style-d247feba {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.12em;

  color: #f7f5f028;

  margin-left: 8px;
}

.style-83aed58c {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #9c9891;

  font-weight: 400;

  white-space: pre-line;

  line-height: 1.75;
}

.style-4cefe179 {
  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 400;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  padding-bottom: 2px;
}

.style-b3af7d46 {
  font-family: Inter, sans-serif;

  font-size: 15px;

  margin-bottom: 10px;

  line-height: 1.5;

  font-weight: 300;
}

.style-29d25353 {
  font-family: Inter, sans-serif;

  font-size: clamp(52px, 7.5vw, 104px);

  line-height: 1;

  color: #0b1f3a;

  margin-bottom: var(--font-size-section-desc);

  font-weight: 600;
}

.style-675a23f0 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #3a4a5c;

  max-width: 380px;

  margin: 0;
}

.style-ac44fcd2 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #5a6a7a;

  max-width: 340px;

  margin: 0;
}

.style-e00ed8ae {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #f7f5f070;

  max-width: 340px;

  margin: 0;
}

.style-c88ab8f2 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 21px;

  line-height: 1.82;

  color: #3a4a5c;

  max-width: 380px;

  margin: 0;
}

.style-a734f987 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 23px;

  line-height: 1.85;

  color: #4e5d6e;

  max-width: 490px;

  margin: 0 0 60px;
}

.style-46dff877 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.9s var(--ease-snap),
    transform 0.9s var(--ease-snap);
}

.style-20d3e30e {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 28px;
}

.style-7baeb329 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;
}

.style-720800e8 {
  position: sticky;

  top: 20vh;

  width: 360px;

  height: 60vh;

  overflow: hidden;

  pointer-events: none;
}

.style-5eefe716 {
  width: 100%;

  background: none;

  border: none;

  cursor: pointer;

  padding: 22px 0;

  text-align: left;
}

.style-4f481933 {
  width: 100%;

  height: auto;

  max-height: 440px;

  cursor: default;

  border-radius: 4px;
}

.style-f719e3fe {
  width: 32px;

  height: 32px;

  display: flex;

  align-items: center;

  justify-content: center;
}

.style-e66ce9a0 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0.1s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.style-ee9a67f4 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0.2s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.style-8c74c3f4 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.style-cc49477f {
  display: flex;

  gap: var(--font-size-section-desc);

  align-items: center;

  padding-bottom: 8px;
}

.style-e724c834 {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: #0b1f3a;

  padding: 18px 52px;

  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 500;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  text-decoration: none;
}

.style-028189f7 {
  

  font-style: italic;

  font-size: 18px;

  line-height: 1.72;

  color: #f7f5f075;

  max-width: 220px;
}

.style-746474d2 {
  

  font-weight: 400;

  font-size: clamp(48px, 6.5vw, 100px);

  line-height: 1.08;

  color: #f7f5f0;

  margin: 0 0 44px;
}

.style-310e1f1c {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 20px;

  line-height: 1.72;

  color: #f7f5f082;

  max-width: 560px;

  margin: 0 0 44px;
}

.style-595949bb {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.style-fb2f0df0 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.style-1cc9951b {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 40px;
}

.style-34e6d875 {
  padding: clamp(8px, 2.5vw, 32px);

  border-right: 1px solid #0b1f3a08;
}

.style-e10e62f8 {
  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  height: 1px;

  background: #c7a863;

  transform: scaleX(0);

  transform-origin: left;

  transition: transform 0.3s ease;
}

.style-d5589a9c {
  color: #f7f5f035;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.16em;

  font-family: Inter, sans-serif;

  cursor: pointer;
}

.style-3280dcf4 {
  display: block;

  width: 14px;

  height: 1px;

  background: #f7f5f0;
}

.style-629a0c9b {
  display: block;

  width: 22px;

  height: 1px;

  background: #f7f5f0;
}

.style-113d1de1 {
  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 32px;

  opacity: 0;

  transform: translateY(var(--font-size-section-desc));

  transition:
    opacity 1s var(--ease-snap) 0.55s,
    transform 1s var(--ease-snap) 0.55s;
}

.style-d75612d8 {
  

  font-weight: 400;

  font-size: clamp(40px, 8vw, 100px);

  line-height: 1.06;

  color: #f7f5f0;

  margin: 0 0 32px;

  opacity: 0;

  transform: translateY(36px) skewY(-2deg);

  transition:
    opacity 1.4s var(--ease-snap) 0.12s,
    transform 1.4s var(--ease-snap) 0.12s;
}

.style-1782957e {
  font-family: Inter, sans-serif;

  font-size: 11px;

  letter-spacing: 0.28em;

  color: #f7f5f035;

  text-transform: uppercase;
}

.style-f65e7fff {
  font-family: Inter, sans-serif;

  font-size: 12px;

  color: #f7f5f035;

  letter-spacing: 0.08em;
}

.style-d3f0e34e {
  font-family: Inter, sans-serif;

  font-size: 14px;

  color: #f7f5f070;
}

.style-91f1a5e7 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 18px;

  line-height: 1.85;

  color: #f7f5f058;

  margin: 0 0 56px;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 1.1s var(--ease-snap) 0.35s,
    transform 1.1s var(--ease-snap) 0.35s;
}

.style-30bb5843 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 72px;
}

.style-672cbc17 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 48px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.9s var(--ease-snap),
    transform 0.9s var(--ease-snap);
}

.style-85eda4f2 {
  max-width: 1440px;

  padding-top: 100px;

  padding-bottom: 48px;
}

.style-afa01738 {
  position: relative;

  font-size: 14px;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  font-family: Inter, sans-serif;

  font-weight: 400;

  padding-bottom: 3px;
}

.style-0da5c8ba {
  stroke-dasharray: 1200;

  stroke-dashoffset: 1200;

  transition: stroke-dashoffset 3.2s 0.4s ease;
}

.style-662e8f4c {
  stroke-dasharray: 1200;

  stroke-dashoffset: 1200;

  transition: stroke-dashoffset 3.2s ease;
}

.style-9242b135 {
  width: 1px;

  height: 48px;

  background: linear-gradient(transparent, #c7a86355);
}

.style-af3d3aab {
  border-top: 1px solid #f7f5f007;

  padding-top: 26px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 14px;
}

.style-f2c8266b {
  max-width: 1440px;

  flex: 1;

  padding-top: 72px;

  padding-bottom: 48px;

  position: relative;

  z-index: 1;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.style-ffcd1c42 {
  max-width: 860px;

  margin: 0 auto;

  position: relative;

  z-index: 1;
}

.style-ce00c230 {
  position: absolute;

  bottom: 36px;

  left: 50%;

  transform: translateX(-50%);

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 10px;
}

.style-062d0d4f {
  position: absolute;

  inset: 0;

  background: linear-gradient(105deg,
      #0b1f3aee 0%,
      #0b1f3ac0 42%,
      #0b1f3a60 70%,
      #0b1f3a18 100%);

  opacity: 0.72;

  will-change: opacity;
}

.style-b1f26689 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center right;

  transform-origin: center center;

  will-change: transform;
}

.style-79373c06 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  pointer-events: none;
}

.style-64815914 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;

  background: #0b1f3a;

  display: flex;

  flex-direction: column;
}

.style-d24593a8 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;

  background: #f7f5f0;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.style-1ecba0f7 {
  background: #0b1f3a;

  padding: clamp(100px, 18vh, 200px) clamp(24px, 8vw, 120px);

  position: relative;

  overflow: hidden;

  text-align: center;
}

.style-7baa7a83 {
  background: #f7f5f0;

  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);
}

.style-f9952411 {
  background: #f7f5f0;

  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);

  border-top: 1px solid #0b1f3a07;
}

.style-8b05c084 {
  background: #f7f5f0;

  padding: clamp(80px, 14vh, 180px) clamp(24px, 8vw, 120px);
}

.style-aca31130 {
  min-height: 100vh;

  position: relative;

  overflow: hidden;

  display: flex;

  flex-direction: column;
}

.style-96a200d6 {
  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: #c7a863;

  border: none;

  margin-left: -4px;

  margin-top: -4px;

  transition:
    width 0.3s ease,
    height 0.3s ease,
    margin 0.3s ease,
    background 0.3s ease,
    border 0.3s ease;
}

.style-0ebc8ad7 {
  background: #0b1f3a;

  border-top: 1px solid #f7f5f007;

  padding: clamp(56px, 8vh, 100px) clamp(24px, 8vw, 120px) 36px;
}

.style-d3c5f2e4 {
  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 50;

  height: 72px;

  display: flex;

  align-items: center;

  transition:
    background 0.55s,
    border-color 0.55s;

  background: transparent;

  backdrop-filter: none;

  -webkit-backdrop-filter: none;

  border-bottom: 1px solid transparent;
}

.style-8da452d4 {
  position: fixed;

  top: 0;

  left: 0;

  z-index: 9999;

  pointer-events: none;

  opacity: 0;

  will-change: transform;

  transition: opacity 0.2s;
}

.style-9e98f2ad {
  animation: luzStepIn 0.72s var(--ease-snap) both
}

.style-83d6b2d9 {
  background: #0b1f3a
}

.style-96a17578 {
  background: #0b1f3a;
  padding: clamp(80px, 12vh, 140px) 0
}

.style-5c2b35ea {
  background: none;
  border: none;
  padding: 8px
}

.style-d3376307 {
  border-bottom: 1px solid #0b1f3a12
}

.style-b8519e19 {
  border-bottom: 1px solid #f7f5f010;
  cursor: pointer
}

.style-31558255 {
  border-top: 1px solid #0b1f3a10
}

.style-6e592718 {
  border-top: 1px solid #0b1f3a12
}

.style-a75bf06e {
  border-top: 1px solid #f7f5f010
}

.style-bffc2cd9 {
  color: #9c9891;
  font-size: var(--font-size-section-desc)
}

.style-b8ad3bd0 {
  color: #c7a863
}

.style-6a1d686e {
  color: #c7a863;
  font-size: 0.72em
}

.style-bd28d0f7 {
  color: #c7a863;
  font-style: italic
}

.style-5b551007 {
  color: #c7a863;
  letter-spacing: 0.12em
}

.style-26590802 {
  cursor: pointer
}

.style-96ce7ef3 {
  display: block
}

.style-f9625e44 {
  display: block;
  color: #0b1f3a;
  font-style: normal
}

.style-a1796091 {
  display: block;
  color: #c7a863;
  font-style: italic
}

.style-9f45f8dd {
  display: flex;
  align-items: center
}

.style-133d27bd {
  display: flex;
  align-items: center;
  gap: 10px
}

.style-1aee3452 {
  display: flex;
  align-items: center;
  gap: 20px
}

.style-ff195aec {
  display: flex;
  gap: 10px;
  margin-top: 24px
}

.style-93d2f571 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0
}

.style-69c4367e {
  height: 280vh
}

.style-1e5cb2cf {
  height: 380vh
}

.style-57e800c6 {
  margin-bottom: 20px
}

.style-30142218 {
  margin-bottom: 28px
}

.style-c53fc513 {
  margin-bottom: 56px
}

.style-e1837b14 {
  margin-bottom: 64px
}

.style-bccd11ea {
  margin-top: 8px
}

.style-f1135926 {
  max-width: 1440px
}

.style-39ca8471 {
  max-width: 1440px;
  margin: 0 auto
}

.style-85e5854c {
  max-width: 980px
}

.style-d85a6f9e {
  min-height: 0
}

.style-2959c3d0 {
  overflow: hidden
}

.style-e41dc1c8 {
  padding-top: 28px
}

.style-fecb67aa {
  padding-top: 6px
}

.style-f490932b {
  padding: clamp(24px, 4vh, 36px) 0
}

.style-ef2e18b2 {
  padding: clamp(8px, 2.5vw, 32px);
  border-right: none
}

.style-019b3272 {
  position: relative
}

.style-c017adb4 {
  position: relative;
  padding-right: 56px
}

.style-5bf028eb {
  transition: opacity 0.4s 1.1s
}

.style-26349966 {
  transition: opacity 0.4s 1.2200000000000002s
}

.style-8a3a64ab {
  transition: opacity 0.4s 1.34s
}

.style-023edf7f {
  transition: opacity 0.4s 1.46s
}

.style-a484aa45 {
  transition: opacity 0.4s 1.58s
}

.style-6715a5be {
  transition: opacity 0.4s 1.7000000000000002s
}

.style-6c375915 {
  transition: opacity 0.5s 0.25s
}

.style-b41fa0ed {
  transition: opacity 0.5s 0.2s
}

.style-74230d30 {
  transition: opacity 0.5s 0.35s
}

.style-f2a641d6 {
  transition: opacity 0.5s 0.48s
}

.style-553e7e6e {
  width: 1px;
  height: 14px;
  background: #f7f5f018
}

/* Auto-generated inline styles */

/* Auto-generated inline styles */
.s019b32 {
  position: relative
}

.s01dd59 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 17px;

  line-height: 1.75;

  color: #5a6880;

  margin: 0;
}

.s023edf {
  transition: opacity 0.4s 1.46s
}

.s028189 {
  

  font-style: italic;

  font-size: 18px;

  line-height: 1.72;

  color: #f7f5f075;

  max-width: 220px;
}

.s0594c2 {
  display: flex;

  flex-direction: column;

  justify-content: center;

  padding-left: clamp(0px, 4vw, 48px);

  position: relative;
}

.s062d0d {
  position: absolute;

  inset: 0;

  background: linear-gradient(105deg,
      #0b1f3aee 0%,
      #0b1f3ac0 42%,
      #0b1f3a60 70%,
      #0b1f3a18 100%);

  opacity: 0.72;

  will-change: opacity;
}

.s079133 {
  color: transparent;

  font-size: 18px;

  text-align: right;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: none;

  display: block;
}

.s079ee9 {
  display: flex;

  gap: 20px;

  align-items: center;

  flex-wrap: wrap;
}

.s0be3f5 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #f7f5f070;

  transition: color 0.45s var(--ease-premium);

  font-weight: 300;
}

.s0da5c8 {
  stroke-dasharray: 1200;

  stroke-dashoffset: 1200;

  transition: stroke-dashoffset 3.2s 0.4s ease;
}

.s0ebc8a {
  background: #0b1f3a;

  border-top: 1px solid #f7f5f007;

  padding: clamp(56px, 8vh, 100px) clamp(24px, 8vw, 120px) 36px;
}

.s113d1d {
  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 32px;

  opacity: 0;

  transform: translateY(var(--font-size-section-desc));

  transition:
    opacity 1s var(--ease-snap) 0.55s,
    transform 1s var(--ease-snap) 0.55s;
}

.s131a5b {
  

  font-size: clamp(22px, 3vw, 42px);

  line-height: 1.45;

  color: #f7f5f0;

  font-style: italic;

  overflow: hidden;

  animation: luzItemReveal 0.7s var(--ease-snap) 0.33999999999999997s both;
}

.s133d27 {
  display: flex;
  align-items: center;
  gap: 10px
}

.s139d2d {
  

  font-size: 26px;

  color: #f7f5f0;

  letter-spacing: 0.1em;
}

.s14ab5d {
  width: 120px;

  height: 80px;

  overflow: hidden;

  flex-shrink: 0;
}

.s162a57 {
  transition:
    opacity 0.4s 1.5s,
    r 0.3s;
}

.s178295 {
  font-family: Inter, sans-serif;

  font-size: 11px;

  letter-spacing: 0.28em;

  color: #f7f5f035;

  text-transform: uppercase;
}

.s1a158e {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.6vw, 22px);

  letter-spacing: 0.06em;

  color: #f7f5f0;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: translateX(6px);

  margin-bottom: 8px;

  font-weight: 400;
}

.s1a5844 {
  

  font-size: clamp(24px, 3vw, 42px);

  color: #f7f5f0cc;

  transition:
    color 0.35s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;
}

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

.s1c4498 {
  

  font-weight: 400;

  font-size: clamp(36px, 5vw, 72px);

  line-height: 1.12;

  color: #0b1f3a;

  margin: 0;

  opacity: 0;

  transform: translateY(32px) skewY(-2deg);

  transition:
    opacity 1.3s var(--ease-snap) 0.1s,
    transform 1.3s var(--ease-snap) 0.1s;
}

.s1cbbce {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  font-weight: 500;

  color: #c7a863;
}

.s1cc995 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 40px;
}

.s1cf32b {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #f7f5f080;

  transition: color 0.4s var(--ease-premium);

  font-weight: 400;
}

.s1e5cb2 {
  height: 380vh
}

.s1ecba0 {
  background: #0b1f3a;

  padding: clamp(100px, 18vh, 200px) clamp(24px, 8vw, 120px);

  position: relative;

  overflow: hidden;

  text-align: center;
}

.s204d0a {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.81s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.s20d3e3 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 28px;
}

.s234487 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 1;

  filter: brightness(0.78) blur(0px);

  transform: scale(1);

  transition:
    opacity 0.75s var(--ease-premium),
    transform 0.85s var(--ease-snap),
    filter 0.65s var(--ease-premium);
}

.s24372f {
  width: 4px;

  height: 4px;

  border-radius: 50%;

  background: #f7f5f015;

  transition: all 0.5s var(--ease-snap);

  box-shadow: none;
}

.s248e2f {
  width: 1px;

  height: 24px;

  background: linear-gradient(to bottom,
      #f7f5f012,
      transparent);

  transition: all 0.6s;
}

.s263499 {
  transition: opacity 0.4s 1.2200000000000002s
}

.s265908 {
  cursor: pointer
}

.s27e5ba {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  margin-bottom: 28px;

  overflow: hidden;

  animation: luzWordReveal 0.55s var(--ease-snap) 0.05s both;
}

.s2959c3 {
  overflow: hidden
}

.s29d253 {
  font-family: Inter, sans-serif;

  font-size: clamp(52px, 7.5vw, 104px);

  line-height: 1;

  color: #0b1f3a;

  margin-bottom: var(--font-size-section-desc);

  font-weight: 600;
}

.s2a9979 {
  

  font-size: 22px;

  color: #f7f5f0;

  letter-spacing: 0.1em;
}

.s2c502f {
  transition:
    opacity 0.4s 1.1400000000000001s,
    r 0.3s;
}

.s2c8238 {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.6vw, 22px);

  letter-spacing: 0.06em;

  color: #f7f5f090;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;

  margin-bottom: 8px;

  font-weight: 400;
}

.s2d57ec {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.8;

  color: #f7f5f0cc;

  max-width: 400px;

  margin: 0;

  animation: luzItemReveal 0.7s var(--ease-snap) 0.45999999999999996s both;
}

.s2e88fc {
  

  font-size: clamp(64px, 10vw, 140px);

  line-height: 1;

  font-weight: 400;

  letter-spacing: -0.02em;

  color: #f7f5f045;

  transition:
    color 0.65s var(--ease-premium),
    font-size 0.65s var(--ease-snap),
    transform 0.65s var(--ease-snap),
    text-shadow 0.65s var(--ease-premium);

  text-shadow: none;

  transform: translateY(8px);

  will-change: transform, color, font-size;

  display: block;
}

.s301422 {
  margin-bottom: 28px
}

.s30bb58 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 72px;
}

.s310e1f {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 20px;

  line-height: 1.72;

  color: #f7f5f082;

  max-width: 560px;

  margin: 0 0 44px;
}

.s315582 {
  border-top: 1px solid #0b1f3a10
}

.s323fad {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 21px;

  line-height: 1.8;

  color: #3a4a5c;

  max-width: 320px;

  margin: 0;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 1.1s var(--ease-snap) 0.32s,
    transform 1.1s var(--ease-snap) 0.32s;
}

.s3280dc {
  display: block;

  width: 14px;

  height: 1px;

  background: #f7f5f0;
}

.s32bdbf {
  display: flex;

  align-items: center;

  gap: var(--font-size-section-desc);

  justify-content: flex-end;
}

.s340086 {
  font-family: Inter, sans-serif;

  font-size: clamp(18px, 1.5vw, 22px);

  letter-spacing: 0.04em;

  color: #0b1f3acc;

  font-weight: 400;

  margin-bottom: 0;

  transition: color 0.3s;

  padding-top: 2px;
}

.s34e6d8 {
  padding: clamp(8px, 2.5vw, 32px);

  border-right: 1px solid #0b1f3a08;
}

.s39ca84 {
  max-width: 1440px;
  margin: 0 auto
}

.s39f9d2 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.9500000000000001s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.s3abce0 {
  color: #9c9891;

  font-size: 20px;

  display: flex;

  align-items: center;

  justify-content: flex-end;

  transition:
    color 0.3s var(--ease-premium),
    transform 0.45s var(--ease-snap);

  transform: none;

  padding-top: 2px;
}

.s44a816 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0;

  filter: brightness(0.78) blur(6px);

  transform: scale(1.07);

  transition:
    opacity 0.75s var(--ease-premium),
    transform 0.85s var(--ease-snap),
    filter 0.65s var(--ease-premium);
}

.s45e6c2 {
  transition:
    opacity 0.4s 1.02s,
    r 0.3s;
}

.s46dff8 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.9s var(--ease-snap),
    transform 0.9s var(--ease-snap);
}

.s47bfa3 {
  display: block;

  font-family: Inter, sans-serif;

  font-size: 12px;

  letter-spacing: 0.26em;

  text-transform: uppercase;

  margin-bottom: 18px;

  font-weight: 500;
}

.s4a1cc8 {
  position: absolute;

  inset: 0;

  background: linear-gradient(to top,
      #0b1f3a55 0%,
      transparent 60%);
}

.s4cefe1 {
  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 400;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  padding-bottom: 2px;
}

.s4f4819 {
  width: 100%;

  height: auto;

  max-height: 440px;

  cursor: default;

  border-radius: 4px;
}

.s501642 {
  

  font-size: clamp(22px, 3vw, 42px);

  line-height: 1.45;

  color: #f7f5f0;

  font-style: italic;

  overflow: hidden;

  animation: luzItemReveal 0.7s var(--ease-snap) 0.1s both;
}

.s50e1a7 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #9c9891;

  transition: color 0.35s var(--ease-premium);

  padding-top: 3px;
}

.s517371 {
  

  font-size: clamp(15px, 1.1vw, 18px);

  color: #c7a863;

  font-style: italic;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: translateX(6px);

  white-space: pre-line;

  line-height: 1.6;
}

.s54be5b {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  color: #c7a863;

  font-weight: 500;
}

.s553e7e {
  width: 1px;
  height: 14px;
  background: #f7f5f018
}

.s563b3a {
  display: flex;

  gap: clamp(12px, 2vw, 28px);

  align-items: flex-start;
}

.s56d45d {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.25s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.s57e800 {
  margin-bottom: 20px
}

.s595949 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.s5b54ce {
  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0.35;

  transform: scale(1);

  transition:
    opacity 0.55s var(--ease-premium),
    transform 0.55s var(--ease-snap);

  filter: grayscale(20%);
}

.s5b5510 {
  color: #c7a863;
  letter-spacing: 0.12em
}

.s5bc3fc {
  width: 12px;

  height: 12px;

  border-radius: 50%;

  background: #0b1f3a15;

  border: 1px solid #0b1f3a20;

  margin-bottom: 14px;

  transition:
    background 0.55s var(--ease-snap),
    border-color 0.55s,
    width 0.4s var(--ease-snap),
    height 0.4s var(--ease-snap);

  box-shadow: none;
}

.s5bf028 {
  transition: opacity 0.4s 1.1s
}

.s5c2b35 {
  background: none;
  border: none;
  padding: 8px
}

.s5d9bfe {
  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: #c7a863;

  transition: all 0.5s var(--ease-snap);

  box-shadow: 0 0 8px #c7a86360;
}


.s5eefe7 {
  width: 100%;

  background: none;

  border: none;

  cursor: pointer;

  padding: 22px 0;

  text-align: left;
}

.s628e3f {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #c7a863;

  transition: color 0.45s var(--ease-premium);

  font-weight: 500;
}

.s629a0c {
  display: block;

  width: 22px;

  height: 1px;

  background: #f7f5f0;
}

.s63204f {
  

  font-size: clamp(15px, 1vw, 17px);

  font-style: italic;

  color: #0b1f3a70;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap),
    opacity 0.5s var(--ease-premium);

  transform: translateY(10px);

  opacity: 0.4;

  line-height: 1.5;
}

.s648159 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;

  background: #0b1f3a;

  display: flex;

  flex-direction: column;
}

.s65d73e {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  color: #f7f5f050;

  letter-spacing: 0.32em;

  text-transform: uppercase;

  font-weight: 300;

  margin-left: 5px;
}

.s662e8f {
  stroke-dasharray: 1200;

  stroke-dashoffset: 1200;

  transition: stroke-dashoffset 3.2s ease;
}

.s6715a5 {
  transition: opacity 0.4s 1.7000000000000002s
}

.s672cbc {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 48px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.9s var(--ease-snap),
    transform 0.9s var(--ease-snap);
}

.s675a23 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #3a4a5c;

  max-width: 380px;

  margin: 0;
}

.s69c436 {
  height: 280vh
}

.s6a1d68 {
  color: #c7a863;
  font-size: 0.72em
}

.s6ab3e6 {
  transition:
    opacity 0.4s 0.9s,
    r 0.3s;
}

.s6b877a {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.53s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.s6c3759 {
  transition: opacity 0.5s 0.25s
}

.s6e2cc8 {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: #0b1f3a;

  padding: var(--font-size-section-desc) 40px;

  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 500;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  text-decoration: none;
}

.s6e5927 {
  border-top: 1px solid #0b1f3a12
}

.s7185c2 {
  

  font-size: clamp(15px, 1vw, 17px);

  font-style: italic;

  color: #0b1f3acc;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap),
    opacity 0.5s var(--ease-premium);

  transform: translateY(0);

  opacity: 1;

  line-height: 1.5;
}

.s720800 {
  position: sticky;

  top: 20vh;

  width: 360px;

  height: 60vh;

  overflow: hidden;

  pointer-events: none;
}

.s74230d {
  transition: opacity 0.5s 0.35s
}

.s746474 {
  

  font-weight: 400;

  font-size: clamp(48px, 6.5vw, 100px);

  line-height: 1.08;

  color: #f7f5f0;

  margin: 0 0 44px;
}

.s78711a {
  display: grid;

  grid-template-columns: 60px 1fr 28px;

  gap: 0 24px;

  align-items: center;

  padding: 36px 0;
}

.s78bd8c {
  display: grid;

  grid-template-columns: 52px 1fr 28px;

  gap: 0 24px;

  align-items: start;
}

.s79373c {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  pointer-events: none;
}

.s7baa7a {
  background: #f7f5f0;

  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);
}

.s7baeb3 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;
}

.s7d200e {
  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 12px;
}

.s7e500f {
  font-family: Inter, sans-serif;

  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);

  letter-spacing: 0.1em;

  font-weight: 500;

  color: #0b1f3a;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap);

  transform: translateY(0);

  margin-bottom: 8px;
}

.s82285c {
  font-family: Inter, sans-serif;

  font-size: 18px;

  line-height: 1.78;

  color: #4e5d6e;

  font-weight: 300;

  max-width: 580px;

  margin: 0;
}

.s83aed5 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #9c9891;

  font-weight: 400;

  white-space: pre-line;

  line-height: 1.75;
}

.s83d6b2 {
  background: #0b1f3a
}

.s85208e {
  display: grid;

  grid-template-columns: 52px 1fr auto;

  gap: 0 28px;

  align-items: center;

  padding: 22px 0;

  border-bottom: 1px solid #f7f5f008;

  cursor: pointer;

  transition:
    background 0.3s var(--ease-premium),
    padding-left 0.35s var(--ease-snap);

  background: transparent;

  padding-left: 0;
}

.s85e585 {
  max-width: 980px
}

.s85eda4 {
  max-width: 1440px;

  padding-top: 100px;

  padding-bottom: 48px;
}

.s8a3a64 {
  transition: opacity 0.4s 1.34s
}

.s8aff17 {
  position: absolute;

  inset: 0;

  border: 1px solid #c7a86320;

  opacity: 0;

  transition: opacity 0.4s;
}

.s8b05c0 {
  background: #f7f5f0;

  padding: clamp(80px, 14vh, 180px) clamp(24px, 8vw, 120px);
}

.s8c268a {
  

  font-weight: 400;

  font-size: clamp(32px, 4.5vw, 64px);

  line-height: 1.18;

  color: #0b1f3a;

  margin: 0 0 28px;
}

.s8c74c3 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.s8c7ec8 {
  font-family: Inter, sans-serif;

  font-size: 11px;

  color: #f7f5f035;

  letter-spacing: 0.3em;

  text-transform: uppercase;

  margin-top: 2px;
}

.s8da452 {
  position: fixed;

  top: 0;

  left: 0;

  z-index: 9999;

  pointer-events: none;

  opacity: 0;

  will-change: transform;

  transition: opacity 0.2s;
}

.s8f66f7 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-desc);

  color: #f7f5f080;

  transition:
    color 0.35s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;

  margin-top: 4px;
}

.s90fcf3 {
  padding-top: 18px;

  opacity: 0;

  transform: translateY(10px);

  transition:
    opacity 0.4s var(--ease-premium) 0s,
    transform 0.4s var(--ease-snap) 0s;
}

.s91f1a5 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 18px;

  line-height: 1.85;

  color: #f7f5f058;

  margin: 0 0 56px;

  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 1.1s var(--ease-snap) 0.35s,
    transform 1.1s var(--ease-snap) 0.35s;
}

.s922fa1 {
  display: grid;

  grid-template-rows: 0fr;

  transition: grid-template-rows 0.45s var(--ease-snap);
}

.s9242b1 {
  width: 1px;

  height: 48px;

  background: linear-gradient(transparent, #c7a86355);
}

.s93d2f5 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0
}

.s960007 {
  

  font-size: clamp(80px, 13vw, 172px);

  line-height: 1;

  font-weight: 400;

  letter-spacing: -0.02em;

  color: #c7a863;

  transition:
    color 0.65s var(--ease-premium),
    font-size 0.65s var(--ease-snap),
    transform 0.65s var(--ease-snap),
    text-shadow 0.65s var(--ease-premium);

  text-shadow:
    0 0 60px #c7a86340,
    0 0 120px #c7a86318;

  transform: translateY(-4px);

  will-change: transform, color, font-size;

  display: block;
}

.s96a175 {
  background: #0b1f3a;
  padding: clamp(80px, 12vh, 140px) 0
}

.s96a200 {
  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: #c7a863;

  border: none;

  margin-left: -4px;

  margin-top: -4px;

  transition:
    width 0.3s ease,
    height 0.3s ease,
    margin 0.3s ease,
    background 0.3s ease,
    border 0.3s ease;
}

.s96ce7e {
  display: block
}

.s971790 {
  

  font-size: 24px;

  color: #f7f5f0;

  font-style: italic;

  line-height: 1.4;
}

.s987d36 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  color: #c7a863;

  margin-bottom: 8px;

  animation: fadeIn 0.4s ease;
}

.s9a2d0f {
  

  font-weight: 400;

  font-size: clamp(36px, 5.5vw, 76px);

  line-height: 1.15;

  color: #0b1f3a;

  margin: 0 0 48px;
}

.s9a9bff {
  

  font-weight: 400;

  font-size: clamp(32px, 4.5vw, 64px);

  line-height: 1.18;

  color: #f7f5f0;

  margin: 0;
}

.s9e98f2 {
  animation: luzStepIn 0.72s var(--ease-snap) both
}

.s9f45f8 {
  display: flex;
  align-items: center
}

.sa17960 {
  display: block;
  color: #c7a863;
  font-style: italic
}

.sa484aa {
  transition: opacity 0.4s 1.58s
}

.sa4ff80 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.67s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.sa5b6cc {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.24em;

  text-transform: uppercase;

  font-weight: 400;

  color: #0b1f3a;
}

.sa734f9 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 23px;

  line-height: 1.85;

  color: #4e5d6e;

  max-width: 490px;

  margin: 0 0 60px;
}

.sa75bf0 {
  border-top: 1px solid #f7f5f010
}

.saaab58 {
  color: #c7a863;

  font-size: 18px;

  text-align: right;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: translateX(5px);

  display: block;
}

.saaaea5 {
  stroke-dasharray: 900;

  stroke-dashoffset: 900;

  transition:
    stroke-dashoffset 1.4s 0.39s ease,
    stroke-opacity 0.35s,
    stroke-width 0.35s;
}

.saba221 {
  

  font-weight: 400;

  font-size: clamp(17px, 2vw, 22px);

  line-height: 1.32;

  color: #0b1f3a85;

  margin: 0 0 10px;

  transition:
    color 0.3s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;
}

.sac44fc {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #5a6a7a;

  max-width: 340px;

  margin: 0;
}

.saca311 {
  min-height: 100vh;

  position: relative;

  overflow: hidden;

  display: flex;

  flex-direction: column;
}

.sae1b82 {
  position: absolute;

  top: 8px;

  left: 0;

  height: 1px;

  background: #c7a863;

  width: 0%;

  transition: width 0.05s linear;

  box-shadow: 0 0 8px #c7a86350;
}

.saf3d3a {
  border-top: 1px solid #f7f5f007;

  padding-top: 26px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 14px;
}

.safa017 {
  position: relative;

  font-size: 14px;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  font-family: Inter, sans-serif;

  font-weight: 400;

  padding-bottom: 3px;
}

.sb1f266 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center right;

  transform-origin: center center;

  will-change: transform;
}

.sb3af7d {
  font-family: Inter, sans-serif;

  font-size: 15px;

  margin-bottom: 10px;

  line-height: 1.5;

  font-weight: 300;
}

.sb41539 {
  color: transparent;

  font-size: 18px;

  transition:
    color 0.35s,
    transform 0.4s var(--ease-snap);

  transform: none;
}

.sb41fa0 {
  transition: opacity 0.5s 0.2s
}

.sb8519e {
  border-bottom: 1px solid #f7f5f010;
  cursor: pointer
}

.sb8ad3b {
  color: #c7a863
}

.sb9901b {
  

  font-weight: 400;

  font-size: clamp(32px, 4.5vw, 64px);

  line-height: 1.18;

  color: #0b1f3a;

  margin: 0;
}

.sbb2094 {
  width: 36px;

  height: 1px;

  background: #c7a863;

  transition:
    width 0.55s var(--ease-snap),
    background 0.5s;

  box-shadow: 0 0 6px #c7a86350;
}

.sbccd11 {
  margin-top: 8px
}

.sbd28d0 {
  color: #c7a863;
  font-style: italic
}

.sbffc2c {
  color: #9c9891;
  font-size: var(--font-size-section-desc)
}

.sc017ad {
  position: relative;
  padding-right: 56px
}

.sc53fc5 {
  margin-bottom: 56px
}

.sc88ab8 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 21px;

  line-height: 1.82;

  color: #3a4a5c;

  max-width: 380px;

  margin: 0;
}

.sc95c3b {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #f7f5f070;

  max-width: 340px;

  margin: 0;
}

.scc4947 {
  display: flex;

  gap: var(--font-size-section-desc);

  align-items: center;

  padding-bottom: 8px;
}

.scc5065 {
  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 0;

  filter: brightness(0.82) blur(8px);

  transform: translate(0px, 0px) scale(1.12);

  transition:
    opacity 0.6s var(--ease-premium),
    filter 0.55s var(--ease-premium),
    transform 0.7s var(--ease-snap);
}

.sce00c2 {
  position: absolute;

  bottom: 36px;

  left: 50%;

  transform: translateX(-50%);

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 10px;
}

.sd24593 {
  position: sticky;

  top: 0;

  height: 100vh;

  overflow: hidden;

  background: #f7f5f0;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.sd247fe {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.12em;

  color: #f7f5f028;

  margin-left: 8px;
}

.sd33763 {
  border-bottom: 1px solid #0b1f3a12
}

.sd3c5f2 {
  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 50;

  height: 72px;

  display: flex;

  align-items: center;

  transition:
    background 0.55s,
    border-color 0.55s;

  background: transparent;

  backdrop-filter: none;

  -webkit-backdrop-filter: none;

  border-bottom: 1px solid transparent;
}

.sd3e885 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.2em;

  color: #c7a863;

  transition: color 0.4s var(--ease-premium);

  font-weight: 400;
}

.sd3f0e3 {
  font-family: Inter, sans-serif;

  font-size: 14px;

  color: #f7f5f070;
}

.sd5589a {
  color: #f7f5f035;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.16em;

  font-family: Inter, sans-serif;

  cursor: pointer;
}

.sd5a4df {
  transition:
    opacity 0.4s 1.38s,
    r 0.3s;
}

.sd75612 {
  

  font-weight: 400;

  font-size: clamp(40px, 8vw, 100px);

  line-height: 1.06;

  color: #f7f5f0;

  margin: 0 0 32px;

  opacity: 0;

  transform: translateY(36px) skewY(-2deg);

  transition:
    opacity 1.4s var(--ease-snap) 0.12s,
    transform 1.4s var(--ease-snap) 0.12s;
}

.sd85a6f {
  min-height: 0
}

.sd867a1 {
  

  font-size: clamp(15px, 1.1vw, 18px);

  color: #f7f5f075;

  font-style: italic;

  transition:
    color 0.4s var(--ease-premium),
    transform 0.4s var(--ease-snap);

  transform: none;

  white-space: pre-line;

  line-height: 1.6;
}

.sd90d52 {
  width: 14px;

  height: 1px;

  background: #f7f5f018;

  transition:
    width 0.55s var(--ease-snap),
    background 0.5s;

  box-shadow: none;
}

.sdbc1ab {
  position: absolute;

  bottom: 40px;

  left: 44px;

  right: 44px;
}

.sdcdb95 {
  font-family: Inter, sans-serif;

  font-size: clamp(var(--font-size-section-label), 1.1vw, 15px);

  letter-spacing: 0.1em;

  font-weight: 400;

  color: #0b1f3a80;

  transition:
    color 0.5s var(--ease-premium),
    transform 0.5s var(--ease-snap);

  transform: translateY(6px);

  margin-bottom: 8px;
}

.se00ed8 {
  font-family: Inter, sans-serif;

  font-weight: 300;

  font-size: 19px;

  line-height: 1.75;

  color: #f7f5f070;

  max-width: 340px;

  margin: 0;
}

.se10e62 {
  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  height: 1px;

  background: #c7a863;

  transform: scaleX(0);

  transform-origin: left;

  transition: transform 0.3s ease;
}

.se1837b {
  margin-bottom: 64px
}

.se19bd9 {
  font-family: Inter, sans-serif;

  font-size: 15px;

  color: #9c9891;

  margin-top: 6px;
}

.se3c155 {
  

  font-size: clamp(22px, 3vw, 42px);

  line-height: 1.45;

  color: #f7f5f0;

  font-style: italic;

  overflow: hidden;

  animation: luzItemReveal 0.7s var(--ease-snap) 0.22s both;
}

.se41dc1 {
  padding-top: 28px
}

.se5ecb3 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.12em;

  color: #f7f5f080;

  margin-top: 10px;

  animation: fadeIn 0.35s ease;
}

.se66ce9 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0.1s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.se724c8 {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: #0b1f3a;

  padding: 18px 52px;

  font-family: Inter, sans-serif;

  font-size: 14px;

  font-weight: 500;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  text-decoration: none;
}

.se74a6b {
  width: var(--font-size-section-desc);

  height: var(--font-size-section-desc);

  border-radius: 50%;

  background: #c7a863;

  border: 1px solid #c7a863;

  margin-bottom: 14px;

  transition:
    background 0.55s var(--ease-snap),
    border-color 0.55s,
    width 0.4s var(--ease-snap),
    height 0.4s var(--ease-snap);

  box-shadow:
    0 0 14px #c7a86370,
    0 0 28px #c7a86330;
}

.se89737 {
  position: absolute;

  top: 8px;

  left: 0;

  right: 0;

  height: 1px;

  background: #0b1f3a10;
}

.se945ef {
  display: inline-block;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #9c9891;

  font-family: Inter, sans-serif;

  font-weight: 500;
}

.seb92b3 {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.see9a67 {
  border-bottom: 1px solid #0b1f3a10;

  cursor: pointer;

  position: relative;

  animation-delay: 0.2s;

  transition: background 0.35s var(--ease-premium);

  background: transparent;
}

.sef2e18 {
  padding: clamp(8px, 2.5vw, 32px);
  border-right: none
}

.sf11359 {
  max-width: 1440px
}

.sf2a641 {
  transition: opacity 0.5s 0.48s
}

.sf2c826 {
  max-width: 1440px;

  flex: 1;

  padding-top: 72px;

  padding-bottom: 48px;

  position: relative;

  z-index: 1;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.sf40424 {
  

  font-weight: 400;

  font-size: clamp(32px, 4.5vw, 64px);

  line-height: 1.18;

  color: #f7f5f0;

  margin: 0;
}

.sf49093 {
  padding: clamp(24px, 4vh, 36px) 0
}

.sf65e7f {
  font-family: Inter, sans-serif;

  font-size: 12px;

  color: #f7f5f035;

  letter-spacing: 0.08em;
}

.sf719e3 {
  width: 32px;

  height: 32px;

  display: flex;

  align-items: center;

  justify-content: center;
}

.sf7eaca {
  font-family: Inter, sans-serif;

  font-size: 18px;

  color: #9c9891;

  transition:
    color 0.3s,
    transform 0.4s var(--ease-snap);

  transform: none;

  display: block;
}

.sf9625e {
  display: block;
  color: #0b1f3a;
  font-style: normal
}

.sf99524 {
  background: #f7f5f0;

  padding: clamp(80px, 12vh, 140px) clamp(24px, 8vw, 120px);

  border-top: 1px solid #0b1f3a07;
}

.sfb2f0d {
  font-size: var(--font-size-section-label);

  letter-spacing: 0.28em;

  text-transform: uppercase;

  color: #c7a863;

  font-family: Inter, sans-serif;

  margin-bottom: 20px;
}

.sfbae71 {
  transition:
    opacity 0.4s 1.26s,
    r 0.3s;
}

.sfeb026 {
  font-family: Inter, sans-serif;

  font-size: var(--font-size-section-label);

  letter-spacing: 0.18em;

  color: #f7f5f080;

  transition: color 0.35s var(--ease-premium);

  font-weight: 400;
}

.sfecb67 {
  padding-top: 6px
}

.sff195a {
  display: flex;
  gap: 10px;
  margin-top: 24px
}

.sffcd1c {
  max-width: 860px;

  margin: 0 auto;

  position: relative;

  z-index: 1;
}



@media screen and (max-width: 298px) {

  section, .section{
    padding: 50px 15px;
  }
  .methode__wrapper {
    padding: 50px 15px;
    min-width: 60vh;
  }

  .methode__container{
    grid-template-columns: 1fr;
  }

  .methode__step-description{
    max-width: 60%
  }

  .impact-stat{

  }
}