/* =========================================================
   NorthU — Site shell
   File: /css/style.css
   ========================================================= */

:root {
  --background: #020408;
  --surface: rgba(5, 10, 16, 0.76);
  --foreground: rgba(246, 248, 248, 0.95);
  --muted: rgba(246, 248, 248, 0.58);
  --line: rgba(255, 255, 255, 0.09);
  --gold: #d7a244;
  --teal: #30dad6;
  --header-height: 76px;
  --content-width: 1380px;
}

/* Reset */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
  background: var(--background);
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100%;
  overflow-x: hidden;
  background: var(--background);
  color: var(--foreground);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

a {
  color: inherit;
}

button,
input,
textarea,
select {
  font: inherit;
}

img,
iframe {
  display: block;
  max-width: 100%;
}

[hidden] {
  display: none !important;
}

::selection {
  color: #fff;
  background: rgba(215, 162, 68, 0.36);
}

/* Accessibility */

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 9999;
  padding: 12px 16px;
  color: #07111e;
  background: #f3f0e8;
  border-radius: 4px;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

/* Fixed navigation */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-inline: clamp(20px, 4vw, 72px);
  opacity: 0;
  transform: translateY(-12px);
  border-bottom: 1px solid transparent;
  transition:
    opacity 700ms ease,
    transform 700ms ease,
    background-color 450ms ease,
    border-color 450ms ease,
    backdrop-filter 450ms ease;
}

.site-header.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.site-header.is-scrolled {
  background: rgba(2, 4, 8, 0.74);
  border-color: var(--line);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

/* Brand */

.brand {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  text-decoration: none;
}

.brand__plate {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  transition:
    transform 260ms ease,
    filter 260ms ease;
}

.brand:hover .brand__plate {
  transform: translateY(-1px) scale(1.035);
  filter: brightness(1.08);
}

.brand__logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter:
    drop-shadow(0 0 10px rgba(215, 162, 68, 0.20))
    drop-shadow(0 7px 16px rgba(0, 0, 0, 0.22));
}

/* Desktop navigation */

.primary-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(22px, 2.7vw, 44px);
}

.nav-link {
  position: relative;
  padding: 10px 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 260ms ease;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), var(--teal));
  transition: right 330ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.nav-link:hover,
.nav-link:focus-visible,
.nav-link.is-active {
  color: var(--foreground);
}

.nav-link:hover::after,
.nav-link:focus-visible::after,
.nav-link.is-active::after {
  right: 0;
}

/* Mobile menu button */

.menu-toggle {
  position: relative;
  z-index: 1002;
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  position: absolute;
  left: 11px;
  width: 22px;
  height: 1px;
  background: currentColor;
  transition:
    top 280ms ease,
    transform 280ms ease;
}

.menu-toggle span:first-child {
  top: 17px;
}

.menu-toggle span:last-child {
  top: 26px;
}

body.menu-open .menu-toggle span:first-child {
  top: 21px;
  transform: rotate(45deg);
}

body.menu-open .menu-toggle span:last-child {
  top: 21px;
  transform: rotate(-45deg);
}

/* Page progress */

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  height: 1px;
  pointer-events: none;
  background: transparent;
}

.scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--gold), var(--teal));
  will-change: transform;
}

/* Main layout */

.site {
  min-height: 100%;
  background: var(--background);
}

.page-content {
  position: relative;
  z-index: 10;
  min-height: 0;
  background: var(--background);
}

/*
  Utility già pronte per le sezioni che costruiremo.
  Non producono contenuto finché non vengono usate nell'index.
*/

.page-section {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--background);
}

.section-inner {
  width: min(
    var(--content-width),
    calc(100% - clamp(40px, 9vw, 150px))
  );
  margin-inline: auto;
}

/* Hero */

.hero {
  position: relative;
  width: 100%;
  height: clamp(640px, 76svh, 820px);
  overflow: hidden;
  background: var(--background);
  isolation: isolate;
}

.hero__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--background);
  pointer-events: none;
}

.hero__bottom-fade {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: clamp(70px, 10vh, 120px);
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(2, 4, 8, 0),
    rgba(2, 4, 8, 0.76) 68%,
    var(--background)
  );
}


/* =========================================================
   PRIMA SEZIONE SOTTO LA HERO
   ========================================================= */

.statement {
  position: relative;
  min-height: 0;
  height: clamp(280px, 34svh, 340px);
  margin-top: -1px;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(
      circle at 20% 52%,
      rgba(215, 162, 68, 0.026),
      transparent 24%
    ),
    radial-gradient(
      circle at 80% 52%,
      rgba(48, 218, 214, 0.018),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #020408 0%,
      #03070d 56%,
      #020408 100%
    );
}

.statement::before {
  content: "";
  position: absolute;
  inset: -1px 0 auto;
  z-index: -2;
  height: 92px;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(2, 4, 8, 0.96),
      rgba(2, 4, 8, 0.62) 38%,
      rgba(3, 7, 13, 0)
    ),
    radial-gradient(
      ellipse at 50% 0%,
      rgba(255, 238, 184, 0.075),
      transparent 58%
    );
}

.statement::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  z-index: -2;
  height: 118px;
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      rgba(2, 4, 8, 0),
      rgba(10, 9, 8, 0.54) 56%,
      #171512
    ),
    radial-gradient(
      ellipse at 50% 100%,
      rgba(210, 170, 87, 0.10),
      transparent 64%
    );
}

.statement__ambient {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.statement__ambient::before {
  content: "";
  position: absolute;
  top: 46%;
  left: 50%;
  width: min(980px, 78vw);
  height: 170px;
  opacity: 0.42;
  transform: translate(-50%, -50%);
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(183, 142, 64, 0.14) 22%,
      rgba(255, 238, 184, 0.16) 48%,
      rgba(48, 218, 214, 0.08) 72%,
      transparent 100%
    );
  filter: blur(42px);
}

.statement__ambient::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.34;
  background:
    linear-gradient(
      116deg,
      transparent 13%,
      rgba(255, 240, 190, 0.045) 34%,
      transparent 47%
    ),
    linear-gradient(
      244deg,
      transparent 17%,
      rgba(48, 218, 214, 0.030) 38%,
      transparent 54%
    ),
    radial-gradient(
      ellipse at 50% 52%,
      rgba(255, 255, 255, 0.045),
      transparent 42%
    );
  filter: blur(0.2px);
  mix-blend-mode: screen;
}

.statement__glow {
  position: absolute;
  top: 50%;
  width: min(34vw, 420px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0.08;
  filter: blur(70px);
  transform: translateY(-50%);
}

.statement__glow--gold {
  left: -13%;
  background: rgba(215, 162, 68, 0.26);
}

.statement__glow--teal {
  right: -13%;
  background: rgba(48, 218, 214, 0.18);
}

.statement__direction {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(38vw, 540px);
  height: 1px;
  opacity: 0.16;
  transform: translate(-50%, -50%) scaleX(0.18);
  transform-origin: center;
  background: linear-gradient(
    90deg,
    rgba(215, 162, 68, 0),
    rgba(224, 190, 113, 0.46),
    rgba(255, 244, 203, 0.30),
    rgba(48, 218, 214, 0.24),
    rgba(48, 218, 214, 0)
  );
  box-shadow:
    0 0 8px rgba(215, 162, 68, 0.04),
    0 0 10px rgba(48, 218, 214, 0.03);
  transition:
    transform 1.8s 500ms cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 1.2s ease;
}

.statement__inner {
  display: grid;
  place-items: center;
  padding-top: clamp(20px, 2.1vw, 28px);
  padding-bottom: clamp(40px, 4vw, 55px);
}

.statement__copy {
  position: relative;
  margin: 0;
  text-align: center;
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(58px, 5.4vw, 78px);
  font-style: italic;
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.statement__line {
  display: block;
  color: transparent;
  background: linear-gradient(
    105deg,
    #b89145 0%,
    #e0c077 28%,
    #fff1bd 49%,
    #d6b267 72%,
    #a77f34 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  filter:
    drop-shadow(0 1px 0 rgba(255, 246, 214, 0.18))
    drop-shadow(0 0 12px rgba(224, 190, 113, 0.08))
    drop-shadow(0 16px 30px rgba(0, 0, 0, 0.30));
}

.statement__line:first-child {
  position: relative;
  top: -0.16em;
  line-height: 1.08;
  padding-bottom: 0.08em;
}

.statement__line + .statement__line {
  margin-top: -0.02em;
}


/* Animazione applicata soltanto quando JavaScript è disponibile */

.statement.is-animated .statement__line {
  opacity: 0;
  transform: translateY(20px);
  filter:
    blur(7px)
    drop-shadow(0 0 12px rgba(224, 190, 113, 0.08));
  transition:
    opacity 820ms ease,
    transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 820ms ease;
}

.statement.is-animated .statement__line:nth-child(2) {
  transition-delay: 240ms;
}

.statement.is-visible .statement__line {
  opacity: 1;
  transform: translateY(0);
  filter:
    blur(0)
    drop-shadow(0 1px 0 rgba(255, 246, 214, 0.18))
    drop-shadow(0 0 12px rgba(224, 190, 113, 0.08))
    drop-shadow(0 16px 30px rgba(0, 0, 0, 0.30));
}

.statement.is-visible .statement__direction {
  opacity: 0.18;
  transform: translate(-50%, -50%) scaleX(1);
}


@media (max-width: 820px) {
  .hero {
    height: clamp(600px, 74svh, 700px);
  }

  .statement {
    height: clamp(260px, 36svh, 320px);
  }

  .statement__inner {
    padding-top: 22px;
    padding-bottom: 46px;
  }

  .statement__copy {
    font-size: clamp(44px, 12.2vw, 58px);
    line-height: 0.9;
  }

  .statement__direction {
    width: min(76vw, 480px);
  }

  .statement__glow {
    width: 58vw;
    filter: blur(56px);
  }
}


@media (max-width: 480px) {
  .hero {
    height: 640px;
    min-height: 640px;
  }

  .statement {
    height: 292px;
  }

  .statement__copy {
    font-size: clamp(44px, 13.6vw, 54px);
  }
}


@media (prefers-reduced-motion: reduce) {
  .statement__line {
    opacity: 1 !important;
    transform: none !important;
    filter:
      drop-shadow(0 0 10px rgba(224, 190, 113, 0.06))
      drop-shadow(0 14px 26px rgba(0, 0, 0, 0.22)) !important;
  }

  .statement__direction {
    transform: translate(-50%, -50%) scaleX(1);
  }
}

/* Responsive navigation */

@media (max-width: 820px) {
  :root {
    --header-height: 68px;
  }

  .site-header {
    padding-inline: 18px;
  }

  .brand__plate {
    width: 44px;
    height: 44px;
  }

  .brand__logo {
    width: 40px;
    height: 40px;
  }

  .menu-toggle {
    display: block;
  }

  .primary-navigation {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    padding:
      calc(var(--header-height) + 42px)
      clamp(30px, 10vw, 72px)
      50px;
    visibility: hidden;
    opacity: 0;
    background:
      radial-gradient(
        circle at 78% 30%,
        rgba(48, 218, 214, 0.08),
        transparent 28%
      ),
      radial-gradient(
        circle at 18% 72%,
        rgba(215, 162, 68, 0.09),
        transparent 30%
      ),
      rgba(2, 4, 8, 0.97);
    transition:
      visibility 420ms ease,
      opacity 420ms ease;
  }

  body.menu-open .primary-navigation {
    visibility: visible;
    opacity: 1;
  }

  .nav-link {
    padding: 12px 0;
    font-family:
      "Iowan Old Style",
      "Palatino Linotype",
      Baskerville,
      Georgia,
      serif;
    font-size: clamp(34px, 9vw, 58px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.025em;
    text-transform: none;
    opacity: 0;
    transform: translateY(18px);
    transition:
      color 260ms ease,
      opacity 400ms ease,
      transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  body.menu-open .nav-link {
    opacity: 1;
    transform: translateY(0);
  }

  body.menu-open .nav-link:nth-child(2) {
    transition-delay: 40ms;
  }

  body.menu-open .nav-link:nth-child(3) {
    transition-delay: 80ms;
  }

  body.menu-open .nav-link:nth-child(4) {
    transition-delay: 120ms;
  }

  body.menu-open .nav-link:nth-child(5) {
    transition-delay: 160ms;
  }

  body.menu-open .nav-link:nth-child(6) {
    transition-delay: 200ms;
  }

  .nav-link::after {
    display: none;
  }

  .hero {
    min-height: 600px;
  }
}

@media (max-width: 420px) {
  .brand__plate {
    width: 42px;
    height: 42px;
  }

  .brand__logo {
    width: 38px;
    height: 38px;
  }
}

/* Motion accessibility */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-delay: 0ms !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}


/* =========================================================
   SEZIONE 02 — THE IDEA
   ========================================================= */

.concept {
  --concept-progress: 0;
  --concept-lift: 0vh;
  --left-needle-angle: -90deg;
  --right-needle-angle: -90deg;
  --connection-scale: 0;

  min-height: 230svh;
  color: #f2ead8;
  background: #171512;
}

.concept__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 640px;
  overflow: hidden;
  background: #171512;
}

.concept__paper {
  position: absolute;
  inset: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: 0;
  background:
    radial-gradient(
      circle at 50% 58%,
      rgba(242, 218, 157, 0.16),
      transparent 34%
    ),
    radial-gradient(
      circle at 18% 20%,
      rgba(215, 162, 68, 0.12),
      transparent 30%
    ),
    radial-gradient(
      circle at 84% 70%,
      rgba(48, 218, 214, 0.065),
      transparent 31%
    ),
    linear-gradient(
      145deg,
      #332c22 0%,
      #211e19 46%,
      #141310 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
  transform: translate3d(0, var(--concept-lift), 0);
  will-change: transform;
}

.concept__paper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.18;
  background-image:
    radial-gradient(
      circle at 20% 30%,
      rgba(255, 246, 218, 0.20) 0 0.45px,
      transparent 0.9px
    ),
    radial-gradient(
      circle at 70% 60%,
      rgba(215, 162, 68, 0.13) 0 0.4px,
      transparent 0.85px
    );
  background-size:
    5px 5px,
    8px 8px;
  mix-blend-mode: screen;
}

.concept__paper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 4;
  height: clamp(120px, 18vh, 190px);
  pointer-events: none;
  background:
    linear-gradient(
      to bottom,
      #020408 0%,
      rgba(23, 21, 18, 0.88) 18%,
      rgba(23, 21, 18, 0.36) 58%,
      rgba(23, 21, 18, 0) 100%
    ),
    radial-gradient(
      ellipse at 50% 0%,
      rgba(242, 218, 157, 0.16),
      transparent 64%
    );
}

.concept__texture {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(
      105deg,
      rgba(255, 255, 255, 0.050),
      transparent 28%,
      transparent 72%,
      rgba(0, 0, 0, 0.18)
    );
}

.concept__texture::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6%;
  right: 6%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 241, 183, 0.36),
    transparent
  );
}

.concept__chapter {
  position: absolute;
  top: clamp(36px, 5vh, 48px);
  left: clamp(24px, 5vw, 84px);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(242, 234, 216, 0.48);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.27em;
  text-transform: uppercase;
}

.concept__chapter-number {
  color: #d2aa57;
}

.concept__chapter-line {
  width: 38px;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(210, 170, 87, 0.76),
    rgba(242, 234, 216, 0.14)
  );
}

.concept__copy {
  position: absolute;
  top: 13%;
  left: 50%;
  z-index: 3;
  width: min(1100px, 84vw);
  min-height: clamp(88px, 16vh, 150px);
  text-align: center;
  transform: translateX(-50%);
}

.concept__sentence {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  color: #f2ead8;
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(72px, 7.1vw, 108px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.04em;
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: translateY(22px);
  transition:
    opacity 780ms ease,
    visibility 780ms ease,
    filter 780ms ease,
    transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.concept__sentence--one {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-size: clamp(12px, 0.95vw, 14px);
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(242, 234, 216, 0.62);
}

.concept__sentence--two {
  font-style: italic;
  color: #f0e5cc;
}

.concept__sentence--three {
  max-width: 780px;
  margin-inline: auto;
  color: rgba(242, 234, 216, 0.78);
  font-size: clamp(34px, 3.6vw, 50px);
  font-style: normal;
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.concept[data-concept-step="0"] .concept__sentence--one,
.concept[data-concept-step="1"] .concept__sentence--two,
.concept[data-concept-step="2"] .concept__sentence--three {
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: translateY(0);
}

.concept__pair {
  position: absolute;
  top: 60%;
  left: 50%;
  z-index: 2;
  width: min(1040px, 84vw);
  height: clamp(230px, 32vw, 390px);
  opacity: 0;
  perspective: 1300px;
  transform: translate(-50%, -47%);
  transition:
    top 900ms cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 850ms ease,
    transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 850ms ease;
}

.concept[data-concept-step="1"] .concept__pair,
.concept[data-concept-step="2"] .concept__pair {
  opacity: 1;
  transform: translate(-50%, -50%);
}

.concept[data-concept-step="3"] .concept__pair {
  top: 62%;
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: translate(-50%, -50%);
}

.concept__connection {
  position: absolute;
  top: 50%;
  left: 18%;
  right: 18%;
  z-index: 0;
  height: 1px;
  opacity: 0.52;
  transform: translateY(-50%) scaleX(var(--connection-scale));
  transform-origin: center;
  background: linear-gradient(
    90deg,
    rgba(215, 162, 68, 0),
    rgba(215, 162, 68, 0.58),
    rgba(36, 56, 65, 0.28),
    rgba(48, 218, 214, 0.55),
    rgba(48, 218, 214, 0)
  );
  box-shadow:
    0 0 10px rgba(215, 162, 68, 0.09),
    0 0 15px rgba(48, 218, 214, 0.07);
}

.concept-object {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: clamp(158px, 19vw, 278px);
  aspect-ratio: 1;
  opacity: 0;
  transform-style: preserve-3d;
  transition:
    opacity 850ms ease,
    transform 1100ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.concept-object--gold {
  left: 2%;
  transform:
    translate3d(-42px, -50%, 0)
    rotateY(14deg)
    scale(0.82);
}

.concept-object--teal {
  right: 2%;
  transform:
    translate3d(42px, -50%, 0)
    rotateY(-14deg)
    scale(0.82);
}

.concept[data-concept-step="1"] .concept-object,
.concept[data-concept-step="2"] .concept-object,
.concept[data-concept-step="3"] .concept-object {
  opacity: 1;
}

.concept[data-concept-step="1"] .concept-object--gold,
.concept[data-concept-step="2"] .concept-object--gold,
.concept[data-concept-step="3"] .concept-object--gold {
  transform:
    translate3d(0, -50%, 0)
    rotateY(10deg)
    scale(1);
}

.concept[data-concept-step="1"] .concept-object--teal,
.concept[data-concept-step="2"] .concept-object--teal,
.concept[data-concept-step="3"] .concept-object--teal {
  transform:
    translate3d(0, -50%, 0)
    rotateY(-10deg)
    scale(1);
}

.concept-object__case {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 31% 23%,
      rgba(255, 255, 255, 0.58),
      transparent 8%
    ),
    conic-gradient(
      from 212deg,
      #05070a,
      #a8adb0 8%,
      #1a1f23 17%,
      #4e5458 25%,
      #05070a 42%,
      #83898d 59%,
      #101519 72%,
      #d0d4d5 84%,
      #06090c
    );
  box-shadow:
    0 28px 55px rgba(7, 17, 30, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.30),
    inset 0 0 22px rgba(255, 255, 255, 0.13);
}

.concept-object--gold .concept-object__case {
  filter:
    drop-shadow(0 0 24px rgba(215, 162, 68, 0.26))
    drop-shadow(0 26px 34px rgba(0, 0, 0, 0.30));
}

.concept-object--teal .concept-object__case {
  filter:
    drop-shadow(0 0 24px rgba(48, 218, 214, 0.22))
    drop-shadow(0 26px 34px rgba(0, 0, 0, 0.30));
}

.concept-object__case::before {
  content: "";
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.23);
  box-shadow:
    inset 0 0 0 7px rgba(4, 8, 12, 0.88),
    inset 0 0 24px rgba(0, 0, 0, 0.72);
}

.concept-object__case::after {
  content: "";
  position: absolute;
  top: -16%;
  left: 12%;
  width: 48%;
  height: 128%;
  border-radius: 50%;
  opacity: 0.24;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.72),
    transparent
  );
  filter: blur(8px);
  transform: rotate(-27deg);
  mix-blend-mode: screen;
}

.concept-object__dial {
  position: absolute;
  inset: 16%;
  overflow: hidden;
  border-radius: 50%;
  background:
    repeating-radial-gradient(
      circle at center,
      rgba(255, 255, 255, 0.025) 0 1px,
      transparent 1px 10px
    ),
    radial-gradient(
      circle at 34% 24%,
      #1e2d3a 0,
      #0a141e 27%,
      #020508 68%,
      #000 100%
    );
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.12),
    inset 0 0 34px rgba(0, 0, 0, 0.84);
}

.concept-object__dial::before {
  content: "";
  position: absolute;
  inset: 6%;
  border-radius: 50%;
  opacity: 0.48;
  background: repeating-conic-gradient(
    from -90deg,
    rgba(255, 255, 255, 0.38) 0 0.45deg,
    transparent 0.45deg 11.25deg
  );
  -webkit-mask: radial-gradient(
    circle,
    transparent 0 78%,
    #000 79% 84%,
    transparent 85%
  );
  mask: radial-gradient(
    circle,
    transparent 0 78%,
    #000 79% 84%,
    transparent 85%
  );
}

.concept-object__dial::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.055);
}

.concept-object__north {
  position: absolute;
  top: 13%;
  left: 50%;
  color: rgba(241, 244, 241, 0.42);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif;
  font-size: clamp(8px, 0.8vw, 11px);
  font-weight: 700;
  letter-spacing: 0.17em;
  transform: translateX(-50%);
}

.concept-object__needle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 2px;
  border-radius: 999px;
  transform-origin: 0 50%;
  will-change: transform;
}

.concept-object--gold .concept-object__needle {
  background: linear-gradient(
    90deg,
    rgba(215, 162, 68, 0.34),
    #e4b256 62%,
    #fff1c2
  );
  box-shadow: 0 0 12px rgba(215, 162, 68, 0.55);
  transform: rotate(var(--left-needle-angle));
}

.concept-object--teal .concept-object__needle {
  background: linear-gradient(
    90deg,
    rgba(48, 218, 214, 0.30),
    #50dad6 62%,
    #d8fffc
  );
  box-shadow: 0 0 12px rgba(48, 218, 214, 0.50);
  transform: rotate(var(--right-needle-angle));
}

.concept-object__needle::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -4px;
  width: 8px;
  height: 8px;
  background: inherit;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  transform: translateY(-50%);
}

.concept-object__hub {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  margin: -5px;
  border-radius: 50%;
  background: #f3f4ef;
}

.concept-object--gold .concept-object__hub {
  box-shadow:
    0 0 0 3px rgba(215, 162, 68, 0.18),
    0 0 14px rgba(215, 162, 68, 0.62);
}

.concept-object--teal .concept-object__hub {
  box-shadow:
    0 0 0 3px rgba(48, 218, 214, 0.16),
    0 0 14px rgba(48, 218, 214, 0.56);
}

.concept__answer {
  position: absolute;
  top: 11%;
  left: 0;
  right: 0;
  z-index: 4;
  width: min(780px, calc(100vw - 72px));
  margin: 0 auto;
  color: transparent;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 22px, 0);
  filter:
    blur(8px)
    drop-shadow(0 1px 0 rgba(255, 251, 232, 0.30))
    drop-shadow(0 24px 46px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 12px rgba(255, 238, 184, 0.085));
  transition:
    opacity 820ms ease,
    visibility 820ms ease,
    filter 820ms ease,
    transform 920ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.concept__answer-prefix,
.concept__answer-word {
  display: block;
  color: transparent;
  background: linear-gradient(
    96deg,
    #e9dcc2 0%,
    #fff7df 18%,
    #b8954d 38%,
    #fbefc7 50%,
    #d6bd7b 64%,
    #f4e6c6 80%,
    #8f6b2b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
}

.concept__answer-prefix {
  position: relative;
  width: fit-content;
  margin: 0 auto -0.16em;
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    serif;
  font-size: clamp(13px, 1.15vw, 18px);
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  opacity: 0.76;
  text-align: center;
}

.concept__answer-prefix::before,
.concept__answer-prefix::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(26px, 4vw, 58px);
  height: 1px;
  opacity: 0.55;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 246, 218, 0.72)
  );
}

.concept__answer-prefix::before {
  right: calc(100% + 14px);
}

.concept__answer-prefix::after {
  left: calc(100% + 14px);
  transform: scaleX(-1);
}

.concept__answer-word {
  width: 100%;
  font-family:
    "Baskerville Old Face",
    "Goudy Old Style",
    Garamond,
    "Book Antiqua",
    "Palatino Linotype",
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(112px, 10.8vw, 164px);
  font-style: italic;
  font-weight: 400;
  line-height: 0.8;
  letter-spacing: -0.074em;
  text-align: center;
  white-space: nowrap;
  -webkit-text-stroke: 0.22px rgba(255, 238, 184, 0.22);
}

.concept[data-concept-step="3"] .concept__answer {
  opacity: 1;
  visibility: visible;
  filter:
    blur(0)
    drop-shadow(0 1px 0 rgba(255, 251, 232, 0.30))
    drop-shadow(0 24px 46px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 12px rgba(255, 238, 184, 0.085));
  transform: translate3d(0, 0, 0);
}

.concept__answer::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: min(660px, 58vw);
  height: 1.18em;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -48%) scaleX(0.78);
  border-top: 1px solid rgba(255, 238, 184, 0.14);
  border-bottom: 1px solid rgba(255, 238, 184, 0.09);
  background:
    radial-gradient(
      ellipse at center,
      rgba(255, 238, 184, 0.095),
      rgba(205, 169, 91, 0.026) 44%,
      transparent 72%
    );
  filter: blur(0.2px);
  transition:
    opacity 900ms ease,
    transform 950ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.concept[data-concept-step="3"] .concept__answer::before {
  opacity: 1;
  transform: translate(-50%, -48%) scaleX(1);
}

.concept__answer::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.36em;
  width: min(360px, 34vw);
  height: 1px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) scaleX(0.46);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(242, 230, 202, 0.10),
    rgba(255, 249, 223, 0.92),
    rgba(242, 230, 202, 0.10),
    transparent
  );
  box-shadow: 0 0 18px rgba(255, 238, 184, 0.10);
  transition:
    opacity 820ms ease,
    transform 920ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.concept[data-concept-step="3"] .concept__answer::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.concept__rail {
  position: absolute;
  top: 50%;
  right: clamp(18px, 3vw, 50px);
  z-index: 5;
  display: grid;
  justify-items: center;
  gap: 13px;
  color: rgba(242, 234, 216, 0.40);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.16em;
  transform: translateY(-50%);
}

.concept__rail i {
  position: relative;
  display: block;
  width: 1px;
  height: 118px;
  overflow: hidden;
  background: rgba(242, 234, 216, 0.14);
}

.concept__rail b {
  position: absolute;
  inset: 0;
  display: block;
  transform: scaleY(var(--concept-progress));
  transform-origin: top;
  background: linear-gradient(
    to bottom,
    #d2aa57,
    #238f91
  );
}

@media (max-width: 820px) {
  .concept {
    min-height: 200svh;
  }

  .concept__sticky {
    min-height: 600px;
  }

  .concept__paper {
    border-radius: 0;
  }

  .concept__chapter {
    top: 42px;
    left: 22px;
  }

  .concept__copy {
    top: 14%;
    width: calc(100vw - 48px);
    min-height: 150px;
  }

  .concept__sentence {
    font-size: clamp(52px, 14vw, 70px);
    line-height: 0.92;
  }

  .concept__sentence--one {
    font-size: 12px;
    letter-spacing: 0.22em;
  }

  .concept__sentence--three {
    font-size: clamp(28px, 8.4vw, 38px);
    line-height: 1.07;
  }

  .concept__pair {
    top: 60%;
    width: 94vw;
    height: 270px;
  }

  .concept-object {
    width: clamp(130px, 35vw, 184px);
  }

  .concept-object--gold {
    left: 0;
  }

  .concept-object--teal {
    right: 0;
  }

  .concept__connection {
    left: 22%;
    right: 22%;
  }

  .concept__answer {
    top: 14%;
  }

  .concept__answer-prefix {
    font-size: clamp(15px, 4.4vw, 20px);
  }

  .concept__answer-word {
    font-size: clamp(82px, 21vw, 112px);
    letter-spacing: -0.058em;
  }

  .concept__answer-prefix::before,
  .concept__answer-prefix::after {
    width: 22px;
  }

  .concept__rail {
    display: none;
  }
}

@media (max-width: 480px) {
  .concept__chapter-line,
  .concept__chapter-name {
    display: none;
  }

  .concept__copy {
    top: 15%;
  }

  .concept__pair {
    top: 61%;
  }

  .concept[data-concept-step="3"] .concept__pair {
    top: 64%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .concept {
    min-height: auto;
    background: #171512;
  }

  .concept__sticky {
    position: relative;
    height: auto;
    min-height: auto;
    background: #171512;
  }

  .concept__paper {
    position: relative;
    min-height: auto;
    padding:
      44px
      24px
      70px;
    border-radius: 0;
    transform: none;
  }

  .concept__chapter {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 0 46px;
  }

  .concept__copy {
    position: relative;
    top: auto;
    left: auto;
    width: min(920px, 100%);
    min-height: auto;
    display: grid;
    gap: 18px;
    margin: 0 auto;
    transform: none;
  }

  .concept__sentence {
    position: relative;
    inset: auto;
    opacity: 1;
    visibility: visible;
    filter: none;
    transform: none;
  }

  .concept__sentence--one {
    justify-self: center;
    font-size: 13px;
  }

  .concept__sentence--two {
    font-size: clamp(60px, 7.2vw, 96px);
  }

  .concept__sentence--three {
    font-size: clamp(32px, 3.4vw, 46px);
  }

  .concept__pair {
    display: none;
  }

  .concept-object {
    opacity: 1;
  }

  .concept-object--gold {
    transform:
      translate3d(0, -50%, 0)
      rotateY(10deg)
      scale(1);
  }

  .concept-object--teal {
    transform:
      translate3d(0, -50%, 0)
      rotateY(-10deg)
      scale(1);
  }

  .concept-object--gold .concept-object__needle {
    transform: rotate(0deg);
  }

  .concept-object--teal .concept-object__needle {
    transform: rotate(-180deg);
  }

  .concept__connection {
    transform: translateY(-50%) scaleX(1);
  }

  .concept__answer {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: 100%;
    opacity: 1;
    visibility: visible;
    filter: none;
    transform: none;
  }

  .concept__answer {
    margin-top: 18px;
  }

  .concept__answer-prefix {
    font-size: clamp(16px, 1.8vw, 26px);
  }

  .concept__answer-word {
    font-size: clamp(94px, 11vw, 156px);
    letter-spacing: -0.064em;
  }

  .concept__rail {
    display: none;
  }
}

/* =========================================================
   SEZIONE 03 - LUXURY APPLICATIONS
   ========================================================= */

.applications {
  --applications-progress: 0;
  --applications-angle: -9deg;
  min-height: 340svh;
  margin-top: -1px;
  color: rgba(246, 242, 232, 0.96);
  background: #020408;
}

.applications__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: min(640px, 100svh);
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(390px, 38%) minmax(640px, 62%);
  align-items: center;
  gap: clamp(18px, 3vw, 54px);
  padding: clamp(58px, 7vh, 96px) clamp(28px, 5vw, 84px) clamp(30px, 5vh, 58px);
  border-top: 1px solid rgba(255, 240, 188, 0.16);
  background:
    radial-gradient(ellipse at 68% 52%, rgba(213, 177, 104, 0.17), transparent 34%),
    radial-gradient(ellipse at 88% 58%, rgba(80, 104, 85, 0.12), transparent 35%),
    linear-gradient(124deg, #020202 0%, #080705 42%, #010101 100%);
}

.applications__sticky::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.12;
  background-image:
    linear-gradient(115deg, transparent 0 47%, rgba(255, 246, 218, 0.16) 48%, transparent 49% 100%),
    radial-gradient(circle at 76% 60%, rgba(213, 177, 104, 0.12) 0 0.35px, transparent 0.82px);
  background-size: 42px 42px, 9px 9px;
}

.applications__sticky::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(255, 240, 188, 0.050), transparent 28%, transparent 72%, rgba(80, 104, 85, 0.040)),
    radial-gradient(ellipse at 75% 50%, rgba(255, 240, 188, 0.060), transparent 54%);
}

.applications__chapter {
  position: absolute;
  top: clamp(36px, 5vh, 52px);
  left: clamp(24px, 5vw, 84px);
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(246, 242, 232, 0.46);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.27em;
  text-transform: uppercase;
}

.applications__chapter-number { color: #d7b45e; }

.applications__chapter-line {
  width: 38px;
  height: 1px;
  background: linear-gradient(90deg, rgba(215, 180, 94, 0.78), rgba(246, 242, 232, 0.14));
}

.applications__copy {
  position: relative;
  z-index: 5;
  min-height: clamp(300px, 52vh, 420px);
  display: grid;
  align-content: center;
}

.applications__opening {
  max-width: 600px;
  margin: 0;
  color: rgba(246, 242, 232, 0.96);
  font-family: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, "Times New Roman", serif;
  font-size: clamp(62px, 7.4vw, 116px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.046em;
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: translateY(18px);
  transition: opacity 900ms ease, visibility 900ms ease, filter 900ms ease, transform 950ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications__opening span,
.applications__opening em,
.applications__opening b {
  display: block;
}

.applications__opening em {
  margin-top: 0.06em;
  color: transparent;
  font-size: clamp(54px, 6.4vw, 96px);
  font-style: italic;
  line-height: 0.92;
  background: linear-gradient(104deg, #a7782d 0%, #e1c27c 38%, #fff4cf 51%, #b98a39 78%, #765018 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.32));
}

.applications__opening b {
  max-width: 520px;
  margin-top: 24px;
  color: rgba(246, 242, 232, 0.56);
  font-family: inherit;
  font-size: clamp(14px, 1.15vw, 17px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.applications__ending {
  position: absolute;
  inset: 50% auto auto 0;
  width: min(660px, 100%);
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: translateY(calc(-50% + 20px));
  transition: opacity 900ms ease, visibility 900ms ease, filter 900ms ease, transform 1000ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications__ending-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: rgba(227, 186, 98, 0.72);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.30em;
  text-transform: uppercase;
}

.applications__ending-kicker::after {
  content: "";
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, rgba(227, 186, 98, 0.56), transparent);
}

.applications__ending-title {
  margin: 0;
  font-family: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.046em;
}

.applications__ending-title span {
  display: block;
  color: rgba(246, 242, 232, 0.95);
  font-size: clamp(54px, 5vw, 78px);
}

.applications__ending-title em {
  position: relative;
  display: inline-block;
  margin-top: 0.03em;
  color: transparent;
  font-size: clamp(82px, 8.6vw, 126px);
  font-style: italic;
  line-height: 0.86;
  background: linear-gradient(100deg, #765018 0%, #b9822b 24%, #e3ba62 42%, #fff0bc 54%, #c99135 72%, #835919 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 0.35px rgba(255, 240, 188, 0.22);
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.30)) drop-shadow(0 0 7px rgba(185, 130, 43, 0.10));
  overflow: hidden;
}

.applications__ending-title em::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(-135%) skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255, 247, 211, 0.40), transparent);
  mix-blend-mode: screen;
}

.applications[data-applications-step="5"] .applications__ending-title em::after {
  animation: applications-gold-pass 1900ms 420ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes applications-gold-pass {
  0% { opacity: 0; transform: translateX(-135%) skewX(-18deg); }
  22% { opacity: 1; }
  100% { opacity: 0; transform: translateX(135%) skewX(-18deg); }
}

.applications__ending-description {
  max-width: 620px;
  margin: 26px 0 0;
  color: rgba(246, 242, 232, 0.54);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.65;
}

.applications[data-applications-step="0"] .applications__opening,
.applications[data-applications-step="5"] .applications__ending {
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: translateY(0);
}

.applications[data-applications-step="5"] .applications__ending { transform: translateY(-50%); }

.applications__stage {
  position: relative;
  z-index: 3;
  min-height: clamp(430px, 64vh, 700px);
  display: grid;
  place-items: center;
  overflow: visible;
}

.applications__stage::after {
  content: "";
  position: absolute;
  top: 14%;
  right: -5%;
  z-index: 0;
  width: min(760px, 66vw);
  height: min(520px, 58vh);
  pointer-events: none;
  opacity: 0.50;
  transform: rotate(-10deg);
  background:
    linear-gradient(105deg, transparent 18%, rgba(255, 240, 188, 0.12) 48%, transparent 72%),
    radial-gradient(ellipse at 64% 52%, rgba(111, 131, 91, 0.12), transparent 58%);
  filter: blur(22px);
  animation: applications-fashion-light 8.8s ease-in-out infinite;
}

.applications__stage::before {
  content: "";
  position: absolute;
  inset: 0 -8% 0 -5%;
  z-index: -1;
  pointer-events: none;
  opacity: 0.86;
  background:
    radial-gradient(ellipse at 48% 50%, rgba(227, 186, 98, 0.18), rgba(227, 186, 98, 0.048) 34%, transparent 64%),
    radial-gradient(ellipse at 70% 54%, rgba(111, 131, 91, 0.085), transparent 48%),
    linear-gradient(90deg, transparent 0%, rgba(255, 240, 188, 0.040) 46%, transparent 82%);
  filter: blur(16px);
}

.applications__visual {
  width: clamp(540px, 51vw, 740px);
  height: auto;
  margin-right: clamp(-54px, -2vw, -18px);
  overflow: visible;
  filter: drop-shadow(0 42px 62px rgba(0, 0, 0, 0.42)) drop-shadow(0 0 24px rgba(227, 186, 98, 0.055));
  transform-origin: 54% 50%;
  animation: applications-visual-drift 6.8s ease-in-out infinite;
  will-change: transform, filter;
}

.applications__silk-line {
  stroke: rgba(255, 240, 188, 0.16);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 2 16;
  filter: drop-shadow(0 0 10px rgba(227, 186, 98, 0.12));
}

.applications__silk-line--lower {
  opacity: 0.46;
  stroke: rgba(136, 150, 113, 0.18);
  stroke-dasharray: 1 20;
}

.applications__plinth {
  fill: rgba(255, 240, 188, 0.035);
  stroke: rgba(255, 240, 188, 0.13);
  stroke-width: 1;
}

.applications__shell {
  opacity: 0;
  visibility: hidden;
  filter: blur(6px);
  transform-box: fill-box;
  transform-origin: center;
  transform: translateY(18px) scale(0.985);
  transition: opacity 880ms ease, visibility 880ms ease, filter 880ms ease, transform 1020ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications[data-applications-step="0"] .applications__shell {
  visibility: visible;
  filter: blur(0.8px) saturate(0.90) contrast(1.02);
  transform: translateY(0) scale(0.992);
  animation: applications-intro-shell 14s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}

.applications[data-applications-step="0"] .applications__shell--watch {
  animation-delay: 0s;
}

.applications[data-applications-step="0"] .applications__shell--bracelet {
  animation-delay: -10.5s;
}

.applications[data-applications-step="0"] .applications__shell--jewelry {
  animation-delay: -7s;
}

.applications[data-applications-step="0"] .applications__shell--object {
  animation-delay: -3.5s;
}

.applications__surface-sheen {
  stroke-dasharray: 320;
  stroke-dashoffset: 320;
  transition: stroke-dashoffset 1050ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications[data-applications-step="1"] .applications__shell--watch,
.applications[data-applications-step="2"] .applications__shell--bracelet,
.applications[data-applications-step="3"] .applications__shell--jewelry,
.applications[data-applications-step="4"] .applications__shell--object {
  opacity: 1;
  visibility: visible;
  filter: blur(0) saturate(1.02) contrast(1.10);
  transform: translateY(0) scale(1);
  animation: applications-shell-breath 5.8s ease-in-out infinite;
}

.applications[data-applications-step="1"] .applications__shell--watch .applications__surface-sheen,
.applications[data-applications-step="2"] .applications__shell--bracelet .applications__surface-sheen,
.applications[data-applications-step="3"] .applications__shell--jewelry .applications__surface-sheen,
.applications[data-applications-step="4"] .applications__shell--object .applications__surface-sheen {
  stroke-dashoffset: 0;
  animation: applications-surface-pass 5.8s 850ms cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}

.applications__core {
  opacity: 0.62;
  transform-box: view-box;
  transform-origin: 600px 500px;
  transition: opacity 900ms ease, filter 900ms ease;
}

.applications[data-applications-step="0"] .applications__core {
  opacity: 0.74;
  filter:
    drop-shadow(0 0 16px rgba(227, 186, 98, 0.08))
    drop-shadow(0 0 9px rgba(111, 131, 91, 0.06));
}

.applications[data-applications-step="1"] .applications__core,
.applications[data-applications-step="2"] .applications__core,
.applications[data-applications-step="3"] .applications__core,
.applications[data-applications-step="4"] .applications__core {
  opacity: 1;
  animation: applications-core-breath 5.4s ease-in-out infinite;
}

.applications[data-applications-step="5"] .applications__core {
  opacity: 0.26;
  filter: drop-shadow(0 0 14px rgba(227, 186, 98, 0.10)) drop-shadow(0 0 8px rgba(111, 131, 91, 0.06));
}

.applications__ticks path {
  fill: none;
  stroke: rgba(246, 242, 232, 0.34);
  stroke-width: 1.2;
  stroke-linecap: round;
}

.applications__needle {
  transform-box: view-box;
  transform-origin: 600px 500px;
  transform: rotate(var(--applications-angle));
  transition: transform 950ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications[data-applications-step="1"] .applications__needle,
.applications[data-applications-step="2"] .applications__needle,
.applications[data-applications-step="3"] .applications__needle,
.applications[data-applications-step="4"] .applications__needle {
  animation: applications-needle-idle 4.8s ease-in-out infinite;
}

@keyframes applications-visual-drift {
  0%,
  100% {
    transform: translate3d(0, 10px, 0) rotate(-0.25deg);
    filter:
      drop-shadow(0 42px 62px rgba(0, 0, 0, 0.42))
      drop-shadow(0 0 24px rgba(227, 186, 98, 0.055));
  }

  50% {
    transform: translate3d(-8px, -7px, 0) rotate(0.38deg);
    filter:
      drop-shadow(0 52px 72px rgba(0, 0, 0, 0.48))
      drop-shadow(0 0 32px rgba(227, 186, 98, 0.075));
  }
}

@keyframes applications-intro-shell {
  0%,
  18% {
    opacity: 0;
    filter: blur(5px) saturate(0.86) contrast(0.92);
    transform: translate3d(0, 14px, 0) scale(0.985);
  }

  24%,
  43% {
    opacity: 0.56;
    filter: blur(0.8px) saturate(0.98) contrast(1);
    transform: translate3d(0, 0, 0) scale(0.994);
  }

  49%,
  100% {
    opacity: 0;
    filter: blur(5px) saturate(0.86) contrast(0.92);
    transform: translate3d(0, -12px, 0) scale(0.985);
  }
}

@keyframes applications-shell-breath {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(0, -10px, 0) scale(1.016);
  }
}

@keyframes applications-core-breath {
  0%,
  100% {
    filter:
      drop-shadow(0 0 0 rgba(227, 186, 98, 0))
      drop-shadow(0 0 0 rgba(111, 131, 91, 0));
  }

  50% {
    filter:
      drop-shadow(0 0 18px rgba(227, 186, 98, 0.12))
      drop-shadow(0 0 10px rgba(111, 131, 91, 0.07));
  }
}

@keyframes applications-needle-idle {
  0%,
  100% {
    transform: rotate(calc(var(--applications-angle) - 2deg));
  }

  50% {
    transform: rotate(calc(var(--applications-angle) + 2deg));
  }
}

@keyframes applications-surface-pass {
  0%,
  38% {
    stroke-dashoffset: 320;
    opacity: 0.10;
  }

  58% {
    stroke-dashoffset: 0;
    opacity: 0.28;
  }

  100% {
    stroke-dashoffset: -320;
    opacity: 0.08;
  }
}

@keyframes applications-fashion-light {
  0%,
  100% {
    opacity: 0.28;
    transform: translate3d(-2%, 2%, 0) rotate(-10deg);
  }

  50% {
    opacity: 0.52;
    transform: translate3d(4%, -3%, 0) rotate(-6deg);
  }
}

.applications__labels {
  position: absolute;
  right: clamp(54px, 8vw, 132px);
  bottom: clamp(84px, 13vh, 132px);
  z-index: 5;
  width: min(360px, 38vw);
  min-height: 18px;
}

.applications__labels span {
  position: absolute;
  inset: 0 0 auto auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: rgba(246, 242, 232, 0.68);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  filter: blur(4px);
  transform: translateY(10px);
  transition: opacity 680ms ease, visibility 680ms ease, filter 680ms ease, transform 740ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications__labels b {
  color: #d7b45e;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.applications[data-applications-step="1"] [data-application-label="1"],
.applications[data-applications-step="2"] [data-application-label="2"],
.applications[data-applications-step="3"] [data-application-label="3"],
.applications[data-applications-step="4"] [data-application-label="4"] {
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: translateY(0);
}

.applications[data-applications-step="0"] .applications__labels span {
  visibility: visible;
  animation: applications-intro-label 14s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}

.applications[data-applications-step="0"] [data-application-label="1"] {
  animation-delay: 0s;
}

.applications[data-applications-step="0"] [data-application-label="2"] {
  animation-delay: -10.5s;
}

.applications[data-applications-step="0"] [data-application-label="3"] {
  animation-delay: -7s;
}

.applications[data-applications-step="0"] [data-application-label="4"] {
  animation-delay: -3.5s;
}

@keyframes applications-intro-label {
  0%,
  18% {
    opacity: 0;
    filter: blur(4px);
    transform: translateY(8px);
  }

  24%,
  43% {
    opacity: 0.64;
    filter: blur(0);
    transform: translateY(0);
  }

  49%,
  100% {
    opacity: 0;
    filter: blur(4px);
    transform: translateY(-7px);
  }
}

.applications__progress {
  position: absolute;
  top: 50%;
  right: clamp(18px, 3vw, 50px);
  z-index: 6;
  display: grid;
  justify-items: center;
  gap: 13px;
  color: rgba(246, 242, 232, 0.36);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.16em;
  transform: translateY(-50%);
}

.applications__progress i {
  position: relative;
  display: block;
  width: 1px;
  height: 128px;
  overflow: hidden;
  background: rgba(246, 242, 232, 0.13);
}

.applications__progress b {
  position: absolute;
  inset: 0;
  display: block;
  transform: scaleY(var(--applications-progress));
  transform-origin: top;
  background: linear-gradient(to bottom, #d7b45e, rgba(111, 131, 91, 0.72));
}

@media (max-width: 820px) {
  .applications { min-height: 300svh; }
  .applications__sticky { min-height: 100svh; height: 100svh; grid-template-columns: 1fr; align-content: start; gap: 16px; padding: 86px 22px 44px; }
  .applications__chapter { top: 42px; left: 22px; }
  .applications__copy { width: min(88vw, 620px); min-height: 190px; margin-inline: auto; text-align: center; }
  .applications__opening { max-width: 88vw; margin-inline: auto; font-size: clamp(48px, 13vw, 76px); text-align: center; }
  .applications__opening em { font-size: clamp(42px, 11vw, 66px); }
  .applications__opening b { max-width: 90vw; margin: 16px auto 0; font-size: 13px; line-height: 1.55; }
  .applications__ending { inset: 0 auto auto 50%; width: min(88vw, 620px); text-align: center; transform: translate(-50%, 20px); }
  .applications[data-applications-step="5"] .applications__ending { transform: translate(-50%, 0); }
  .applications__ending-kicker { justify-content: center; font-size: 9px; }
  .applications__ending-kicker::after { display: none; }
  .applications__ending-title span { font-size: clamp(38px, 9vw, 54px); }
  .applications__ending-title em { font-size: clamp(58px, 16vw, 86px); }
  .applications__ending-description { margin-top: 18px; font-size: 15px; line-height: 1.58; }
  .applications__stage { min-height: 390px; width: 100%; }
  .applications__visual { width: min(580px, 122vw); margin-right: 0; }
  .applications__labels { right: 50%; bottom: 12px; width: min(420px, 88vw); transform: translateX(50%); }
  .applications__labels span { justify-content: center; font-size: 10px; letter-spacing: 0.24em; }
  .applications__progress { display: none; }
}

@media (max-height: 760px) and (min-width: 821px) {
  .applications__sticky {
    min-height: 100svh;
    padding-top: 58px;
    padding-bottom: 28px;
  }

  .applications__chapter {
    top: 30px;
  }

  .applications__copy {
    min-height: 300px;
  }

  .applications__opening {
    font-size: clamp(62px, 7.1vw, 104px);
  }

  .applications__stage {
    min-height: min(520px, calc(100svh - 86px));
  }

  .applications__visual {
    width: clamp(500px, 47vw, 660px);
    margin-right: 0;
  }

  .applications__labels {
    bottom: 44px;
  }
}

@media (max-width: 480px) {
  .applications__chapter-line,
  .applications__chapter-name { display: none; }
  .applications__sticky { padding-inline: 20px; }
  .applications__visual { width: min(530px, 132vw); }
  .applications__stage { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .applications__opening,
  .applications__ending,
  .applications__shell,
  .applications__core,
  .applications__labels span { transition-duration: 0.001ms !important; }
}

/* =========================================================
   SEZIONE 03 - ATELIER SHOWCASE OVERRIDE
   Makes the applications read as objects first, compass second.
   ========================================================= */

.applications__sticky {
  background:
    radial-gradient(ellipse at 74% 24%, rgba(255, 240, 188, 0.16), transparent 30%),
    radial-gradient(ellipse at 50% 74%, rgba(96, 140, 124, 0.12), transparent 34%),
    linear-gradient(112deg, #090907 0%, #17140f 42%, #050708 100%);
}

.applications__sticky::before {
  opacity: 0.20;
  background-image:
    linear-gradient(rgba(255, 240, 188, 0.070) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 240, 188, 0.055) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(ellipse at 70% 50%, #000 0 54%, transparent 78%);
}

.applications__sticky::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.22), transparent 36%),
    radial-gradient(ellipse at 70% 52%, rgba(255, 236, 178, 0.10), transparent 58%);
}

.applications__stage {
  min-height: clamp(520px, 70vh, 760px);
  isolation: isolate;
}

.applications__stage::before {
  inset: 8% 0 4%;
  opacity: 0.78;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(227, 186, 98, 0.16), transparent 43%),
    linear-gradient(90deg, transparent, rgba(255, 240, 188, 0.07), transparent);
  filter: blur(12px);
}

.applications__stage::after {
  top: 12%;
  right: 2%;
  width: min(780px, 58vw);
  height: min(620px, 66vh);
  opacity: 0.42;
  transform: rotate(-4deg);
  background:
    linear-gradient(106deg, transparent 18%, rgba(255, 248, 220, 0.20) 48%, transparent 70%),
    radial-gradient(ellipse at 50% 56%, rgba(227, 186, 98, 0.12), transparent 58%);
  filter: blur(16px);
}

.applications__visual {
  width: clamp(660px, 58vw, 920px);
  margin-right: 0;
  overflow: visible;
  filter:
    drop-shadow(0 48px 72px rgba(0, 0, 0, 0.54))
    drop-shadow(0 0 30px rgba(227, 186, 98, 0.08));
}

.applications__shell {
  opacity: 0.72;
  visibility: visible;
  filter: blur(0) saturate(1.07) contrast(1.16);
  transform-box: view-box;
  transition:
    opacity 760ms ease,
    filter 760ms ease,
    transform 960ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.applications__shell--watch {
  transform-origin: 600px 500px;
  transform: translate(-285px, -185px) scale(0.54);
}

.applications__shell--bracelet {
  transform-origin: 600px 500px;
  transform: translate(280px, -170px) scale(0.50);
}

.applications__shell--jewelry {
  transform-origin: 600px 500px;
  transform: translate(-280px, 182px) scale(0.50);
}

.applications__shell--object {
  transform-origin: 600px 500px;
  transform: translate(270px, 184px) scale(0.52);
}

.applications[data-applications-step="0"] .applications__shell,
.applications[data-applications-step="1"] .applications__shell,
.applications[data-applications-step="2"] .applications__shell,
.applications[data-applications-step="3"] .applications__shell,
.applications[data-applications-step="4"] .applications__shell {
  opacity: 0.74;
  visibility: visible;
  filter: blur(0) saturate(1.08) contrast(1.16);
  animation: none;
}

.applications[data-applications-step="1"] .applications__shell--watch,
.applications[data-applications-step="2"] .applications__shell--bracelet,
.applications[data-applications-step="3"] .applications__shell--jewelry,
.applications[data-applications-step="4"] .applications__shell--object {
  opacity: 1;
  filter:
    blur(0)
    saturate(1.14)
    contrast(1.22)
    drop-shadow(0 0 22px rgba(255, 240, 188, 0.15));
}

.applications__core {
  opacity: 0.72;
  transform-box: view-box;
  transform-origin: 600px 500px;
  transform: scale(0.72);
  filter:
    drop-shadow(0 0 18px rgba(227, 186, 98, 0.12))
    drop-shadow(0 22px 38px rgba(0, 0, 0, 0.42));
}

.applications[data-applications-step="0"] .applications__core,
.applications[data-applications-step="1"] .applications__core,
.applications[data-applications-step="2"] .applications__core,
.applications[data-applications-step="3"] .applications__core,
.applications[data-applications-step="4"] .applications__core {
  opacity: 0.76;
  animation: applications-core-pulse 7s ease-in-out infinite;
}

.applications[data-applications-step="5"] .applications__shell {
  opacity: 0.34;
  filter: blur(1px) saturate(0.86);
}

.applications[data-applications-step="5"] .applications__core {
  opacity: 0.20;
  transform: scale(0.66);
}

.applications__plinth {
  fill: rgba(255, 240, 188, 0.055);
  stroke: rgba(255, 240, 188, 0.18);
}

.applications__silk-line {
  opacity: 0.78;
  stroke: rgba(255, 240, 188, 0.22);
}

.applications__silk-line--lower {
  opacity: 0.62;
}

.applications__labels {
  right: clamp(34px, 5vw, 82px);
  bottom: clamp(34px, 5vh, 70px);
  width: min(460px, 45vw);
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.applications__labels span {
  position: static;
  inset: auto;
  min-height: 44px;
  justify-content: flex-start;
  padding: 12px 14px;
  border: 1px solid rgba(255, 240, 188, 0.13);
  background:
    linear-gradient(135deg, rgba(255, 240, 188, 0.085), rgba(255, 255, 255, 0.018));
  color: rgba(246, 242, 232, 0.76);
  font-size: 9px;
  letter-spacing: 0.18em;
  opacity: 1;
  visibility: visible;
  filter: none;
  transform: none;
  backdrop-filter: blur(10px);
}

.applications[data-applications-step="0"] .applications__labels span {
  animation: none;
}

.applications[data-applications-step="1"] [data-application-label="1"],
.applications[data-applications-step="2"] [data-application-label="2"],
.applications[data-applications-step="3"] [data-application-label="3"],
.applications[data-applications-step="4"] [data-application-label="4"] {
  border-color: rgba(255, 240, 188, 0.38);
  color: rgba(255, 248, 225, 0.96);
  background:
    linear-gradient(135deg, rgba(227, 186, 98, 0.22), rgba(255, 255, 255, 0.030));
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}

@keyframes applications-core-pulse {
  0%,
  100% {
    filter:
      drop-shadow(0 0 12px rgba(227, 186, 98, 0.08))
      drop-shadow(0 22px 38px rgba(0, 0, 0, 0.42));
  }

  50% {
    filter:
      drop-shadow(0 0 28px rgba(227, 186, 98, 0.18))
      drop-shadow(0 28px 48px rgba(0, 0, 0, 0.50));
  }
}

@media (max-width: 820px) {
  .applications__stage {
    min-height: 450px;
  }

  .applications__visual {
    width: min(760px, 142vw);
  }

  .applications__shell--watch {
    transform: translate(-245px, -168px) scale(0.52);
  }

  .applications__shell--bracelet {
    transform: translate(246px, -154px) scale(0.48);
  }

  .applications__shell--jewelry {
    transform: translate(-238px, 164px) scale(0.48);
  }

  .applications__shell--object {
    transform: translate(236px, 166px) scale(0.50);
  }

  .applications__core {
    transform: scale(0.66);
  }

  .applications__labels {
    right: 50%;
    bottom: 0;
    width: min(520px, 92vw);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateX(50%);
  }
}

@media (max-width: 480px) {
  .applications__stage {
    min-height: 390px;
  }

  .applications__visual {
    width: min(660px, 158vw);
  }

  .applications__labels {
    gap: 8px;
  }

  .applications__labels span {
    min-height: 40px;
    padding: 10px;
    font-size: 8px;
    letter-spacing: 0.12em;
  }
}

/* =========================================================
   SEZIONE 03 - CLEAN PRODUCT BOARD
   ========================================================= */

.applications {
  min-height: 220svh;
}

.applications__sticky {
  grid-template-columns: minmax(390px, 38%) minmax(620px, 62%);
  background:
    radial-gradient(ellipse at 78% 22%, rgba(227, 186, 98, 0.13), transparent 30%),
    radial-gradient(ellipse at 76% 78%, rgba(48, 126, 120, 0.10), transparent 32%),
    linear-gradient(115deg, #030405 0%, #11100d 46%, #050606 100%);
}

.applications__visual,
.applications__labels {
  display: none;
}

.applications__stage {
  min-height: clamp(500px, 68vh, 700px);
  align-self: center;
}

.applications__stage::before {
  inset: 2% 0;
  opacity: 0.55;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(227, 186, 98, 0.13), transparent 48%),
    linear-gradient(90deg, transparent 0%, rgba(255, 240, 188, 0.055) 50%, transparent 100%);
  filter: blur(18px);
}

.applications__stage::after {
  display: none;
}

.applications__product-board {
  position: relative;
  z-index: 2;
  width: min(820px, 58vw);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.application-tile {
  position: relative;
  min-height: clamp(220px, 27vh, 310px);
  margin: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(255, 240, 188, 0.13);
  border-radius: 6px;
  background:
    linear-gradient(145deg, rgba(255, 240, 188, 0.070), rgba(255, 255, 255, 0.018) 44%, rgba(0, 0, 0, 0.20)),
    rgba(9, 10, 10, 0.78);
  box-shadow:
    0 26px 60px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.application-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255, 240, 188, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 240, 188, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.application-tile__visual {
  position: relative;
  min-height: 0;
  display: grid;
  place-items: center;
  padding: clamp(22px, 3vh, 34px);
}

.application-tile__visual::after {
  content: "";
  position: absolute;
  left: 14%;
  right: 14%;
  bottom: 18%;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 240, 188, 0.08);
  filter: blur(9px);
}

.application-tile__body {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: min(46%, 138px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.28), transparent 12%),
    radial-gradient(circle at 52% 54%, #020405 0 44%, #11161a 45% 58%, #030405 59% 100%);
  border: 8px solid rgba(177, 133, 56, 0.78);
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.48),
    inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.application-tile__module {
  position: relative;
  display: block;
  width: 42%;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 44% 44%, rgba(255, 245, 206, 0.92) 0 6%, transparent 7%),
    radial-gradient(circle, #101922 0 46%, #020406 48% 100%);
  border: 1px solid rgba(255, 240, 188, 0.22);
  box-shadow:
    0 0 0 8px rgba(255, 240, 188, 0.035),
    0 0 22px rgba(227, 186, 98, 0.16);
}

.application-tile__module::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42%;
  height: 2px;
  border-radius: 999px;
  background: #e6bd69;
  transform: translateY(-50%) rotate(-8deg);
  transform-origin: left center;
}

.application-tile__strap {
  position: absolute;
  left: 50%;
  z-index: 1;
  width: 24%;
  height: 38%;
  border-radius: 999px;
  background:
    linear-gradient(90deg, #060707, #3b3528 48%, #080909);
  transform: translateX(-50%);
}

.application-tile__strap--top {
  top: 9%;
}

.application-tile__strap--bottom {
  bottom: 14%;
}

.application-tile__arc {
  position: absolute;
  z-index: 1;
  width: 76%;
  aspect-ratio: 1.25;
  border: clamp(22px, 3vw, 42px) solid rgba(65, 62, 54, 0.94);
  border-bottom-color: transparent;
  border-radius: 999px 999px 0 0;
  transform: translateY(14%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 240, 188, 0.10),
    0 22px 40px rgba(0, 0, 0, 0.28);
}

.application-tile__loop {
  position: absolute;
  top: 13%;
  z-index: 1;
  width: 18%;
  aspect-ratio: 1;
  border: 10px solid rgba(213, 159, 58, 0.92);
  border-radius: 50%;
}

.application-tile--pendant .application-tile__body {
  width: min(50%, 150px);
  border-color: rgba(213, 159, 58, 0.90);
  transform: translateY(12%);
}

.application-tile--object .application-tile__body {
  width: min(62%, 190px);
  aspect-ratio: 1.45;
  border-radius: 999px;
  border-color: rgba(142, 151, 143, 0.52);
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.22), transparent 14%),
    linear-gradient(135deg, #171c1d, #040606 58%, #202319);
}

.application-tile figcaption {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 14px 16px;
  border-top: 1px solid rgba(255, 240, 188, 0.11);
  color: rgba(246, 242, 232, 0.76);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  background: rgba(0, 0, 0, 0.18);
}

.application-tile figcaption b {
  color: #d7b45e;
  font-size: 9px;
}

.applications[data-applications-step="1"] .application-tile--watch,
.applications[data-applications-step="2"] .application-tile--bracelet,
.applications[data-applications-step="3"] .application-tile--pendant,
.applications[data-applications-step="4"] .application-tile--object {
  border-color: rgba(255, 240, 188, 0.36);
  box-shadow:
    0 34px 72px rgba(0, 0, 0, 0.44),
    0 0 34px rgba(227, 186, 98, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

@media (max-width: 820px) {
  .applications {
    min-height: 260svh;
  }

  .applications__sticky {
    grid-template-columns: 1fr;
  }

  .applications__stage {
    min-height: 500px;
  }

  .applications__product-board {
    width: min(650px, 92vw);
    gap: 12px;
  }

  .application-tile {
    min-height: 190px;
  }

  .application-tile figcaption {
    min-height: 42px;
    padding: 12px;
    font-size: 9px;
    letter-spacing: 0.16em;
  }
}

@media (max-width: 480px) {
  .applications__product-board {
    width: min(380px, 94vw);
  }

  .application-tile {
    min-height: 164px;
  }

  .application-tile__body {
    border-width: 6px;
  }

  .application-tile figcaption {
    gap: 8px;
    font-size: 8px;
    letter-spacing: 0.10em;
  }
}

/* =========================================================
   SEZIONE 03 - MAISON EDITORIAL FINAL
   ========================================================= */

.applications {
  --maison-ivory: rgba(246, 242, 232, 0.96);
  --maison-muted: rgba(246, 242, 232, 0.58);
  --maison-soft: rgba(246, 242, 232, 0.34);
  --maison-gold: #d7b45e;
  --maison-line: rgba(255, 240, 188, 0.14);

  min-height: 185svh;
  color: var(--maison-ivory);
  background: #020304;
}

.applications__sticky {
  height: 100svh;
  min-height: 720px;
  grid-template-columns: minmax(360px, 0.88fr) minmax(560px, 1.12fr);
  gap: clamp(54px, 7vw, 124px);
  align-items: center;
  padding:
    clamp(92px, 12vh, 132px)
    clamp(36px, 6vw, 104px)
    clamp(54px, 8vh, 92px);
  border-top: 1px solid rgba(255, 240, 188, 0.10);
  background:
    radial-gradient(ellipse at 74% 46%, rgba(215, 180, 94, 0.115), transparent 34%),
    radial-gradient(ellipse at 88% 86%, rgba(74, 91, 86, 0.12), transparent 32%),
    linear-gradient(115deg, #020304 0%, #090907 48%, #030404 100%);
}

.applications__sticky::before {
  opacity: 0.16;
  background-image:
    linear-gradient(90deg, transparent 0 49%, rgba(255, 240, 188, 0.16) 50%, transparent 51% 100%),
    radial-gradient(circle at 74% 50%, rgba(255, 240, 188, 0.18) 0 0.36px, transparent 0.85px);
  background-size: 86px 86px, 10px 10px;
  mask-image: radial-gradient(ellipse at 72% 48%, #000 0 48%, transparent 78%);
}

.applications__sticky::after {
  background:
    linear-gradient(90deg, rgba(2, 3, 4, 0.42), transparent 42%),
    radial-gradient(ellipse at 72% 50%, rgba(255, 240, 188, 0.065), transparent 58%);
}

.applications__chapter {
  color: rgba(246, 242, 232, 0.40);
}

.applications__chapter-number {
  color: var(--maison-gold);
}

.applications__copy {
  min-height: 0;
  align-content: center;
}

.applications__editorial {
  max-width: 670px;
}

.applications__headline {
  margin: 0;
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.04em;
}

.applications__headline span,
.applications__headline em {
  display: block;
}

.applications__headline span {
  color: var(--maison-ivory);
  font-size: clamp(64px, 6.7vw, 112px);
}

.applications__headline em {
  max-width: 620px;
  margin-top: 0.06em;
  color: transparent;
  font-size: clamp(58px, 6vw, 96px);
  font-style: italic;
  background: linear-gradient(103deg, #8f6827 0%, #d7b45e 36%, #fff0bc 52%, #b88936 82%, #765018 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.34));
}

.applications__subheadline {
  max-width: 560px;
  margin: clamp(30px, 4vh, 42px) 0 0;
  color: rgba(246, 242, 232, 0.72);
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 400;
  line-height: 1.55;
}

.applications__b2b-line {
  position: relative;
  max-width: 520px;
  margin: clamp(26px, 3.6vh, 38px) 0 0;
  padding-top: 22px;
  color: rgba(246, 242, 232, 0.52);
  font-size: clamp(12px, 0.92vw, 14px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.applications__b2b-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 84px;
  height: 1px;
  background: linear-gradient(90deg, var(--maison-gold), transparent);
}

.applications__stage {
  min-height: 0;
  align-self: center;
  display: grid;
  grid-template-rows: minmax(300px, 48vh) auto auto;
  gap: clamp(24px, 3.6vh, 42px);
  place-items: stretch;
  overflow: visible;
}

.applications__stage::before {
  inset: 4% -6% 38%;
  opacity: 0.68;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(215, 180, 94, 0.16), transparent 48%),
    radial-gradient(ellipse at 42% 44%, rgba(255, 255, 255, 0.045), transparent 36%);
  filter: blur(20px);
}

.applications__stage::after,
.applications__visual,
.applications__labels,
.applications__progress,
.applications__product-board,
.applications__opening,
.applications__ending {
  display: none !important;
}

.applications__maison-study {
  position: relative;
  width: min(700px, 48vw);
  min-height: 320px;
  justify-self: center;
  isolation: isolate;
}

.maison-study__shadow {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 4%;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 240, 188, 0.055);
  border: 1px solid rgba(255, 240, 188, 0.09);
  filter: blur(5px);
}

.maison-study__ring,
.maison-study__glass,
.maison-study__axis,
.maison-study__pivot {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  transform: translate(-50%, -50%);
}

.maison-study__ring {
  width: min(430px, 34vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    conic-gradient(
      from 228deg,
      #050505 0deg,
      #2a261d 34deg,
      #c9a45d 58deg,
      #fff0bc 76deg,
      #765018 104deg,
      #050505 148deg,
      #1b1d1c 218deg,
      #b88936 278deg,
      #050505 360deg
    );
  box-shadow:
    0 42px 82px rgba(0, 0, 0, 0.56),
    inset 0 0 0 1px rgba(255, 255, 255, 0.10);
}

.maison-study__ring::before {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: inherit;
  background:
    radial-gradient(circle at 37% 28%, rgba(255, 255, 255, 0.22), transparent 12%),
    radial-gradient(circle, #111719 0 45%, #020303 72%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.13),
    inset 0 0 44px rgba(0, 0, 0, 0.72);
}

.maison-study__ring::after {
  content: "";
  position: absolute;
  inset: 23%;
  border-radius: inherit;
  border: 1px solid rgba(255, 240, 188, 0.16);
  background:
    repeating-conic-gradient(from -12deg, rgba(255, 255, 255, 0.055) 0deg 1deg, transparent 1deg 9deg),
    radial-gradient(circle, rgba(14, 23, 26, 0.88), rgba(0, 0, 0, 0.98));
}

.maison-study__glass {
  width: min(355px, 28vw);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0.88;
  background:
    linear-gradient(128deg, transparent 0 34%, rgba(255, 255, 255, 0.18) 45%, transparent 56% 100%),
    radial-gradient(circle at 36% 24%, rgba(255, 255, 255, 0.16), transparent 16%),
    radial-gradient(circle, rgba(9, 18, 21, 0.36), rgba(0, 0, 0, 0.20));
  mix-blend-mode: screen;
  filter: blur(0.2px);
}

.maison-study__axis {
  width: min(285px, 22vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 240, 188, 0.36), #d7b45e 58%, transparent);
  transform: translate(-50%, -50%) rotate(-9deg);
  box-shadow: 0 0 18px rgba(215, 180, 94, 0.16);
}

.maison-study__axis::after {
  content: "";
  position: absolute;
  right: 9%;
  top: 50%;
  width: 18px;
  height: 18px;
  border-top: 1px solid rgba(255, 240, 188, 0.62);
  border-right: 1px solid rgba(255, 240, 188, 0.62);
  transform: translateY(-50%) rotate(45deg);
}

.maison-study__pivot {
  width: 18px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #fff8dc 0 16%, #d7b45e 30%, #080909 72%);
  box-shadow:
    0 0 0 7px rgba(215, 180, 94, 0.075),
    0 0 24px rgba(215, 180, 94, 0.22);
}

.applications__rows {
  width: min(720px, 100%);
  justify-self: center;
  border-top: 1px solid var(--maison-line);
}

.applications__row {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(140px, 0.42fr) minmax(220px, 1fr);
  gap: clamp(18px, 2vw, 30px);
  align-items: baseline;
  padding: clamp(16px, 2vh, 22px) 0;
  border-bottom: 1px solid rgba(255, 240, 188, 0.11);
  transition:
    border-color 360ms ease,
    opacity 360ms ease;
}

.applications__row::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 52px;
  height: 1px;
  background: var(--maison-gold);
  transform: scaleX(0.34);
  transform-origin: left center;
  opacity: 0.46;
  transition:
    transform 360ms ease,
    opacity 360ms ease;
}

.applications__row:hover {
  border-color: rgba(255, 240, 188, 0.25);
}

.applications__row:hover::before {
  opacity: 0.88;
  transform: scaleX(1);
}

.applications__row span {
  color: rgba(215, 180, 94, 0.76);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.applications__row h3 {
  margin: 0;
  color: rgba(246, 242, 232, 0.90);
  font-size: clamp(12px, 0.92vw, 14px);
  font-weight: 700;
  letter-spacing: 0.23em;
  line-height: 1.2;
  text-transform: uppercase;
}

.applications__row p {
  margin: 0;
  color: rgba(246, 242, 232, 0.55);
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.55;
}

.applications__closing {
  width: min(720px, 100%);
  justify-self: center;
  margin: 0;
  color: rgba(246, 242, 232, 0.72);
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(23px, 2vw, 34px);
  font-style: italic;
  line-height: 1.22;
}

@media (max-width: 980px) {
  .applications {
    min-height: auto;
  }

  .applications__sticky {
    position: relative;
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 46px;
    padding: 104px 24px 74px;
  }

  .applications__copy,
  .applications__editorial {
    width: min(720px, 100%);
    margin-inline: auto;
    text-align: left;
  }

  .applications__headline span {
    font-size: clamp(56px, 13vw, 90px);
  }

  .applications__headline em {
    font-size: clamp(48px, 11vw, 78px);
  }

  .applications__stage {
    width: min(760px, 100%);
    margin-inline: auto;
    grid-template-rows: auto auto auto;
  }

  .applications__maison-study {
    width: min(620px, 94vw);
    min-height: 330px;
  }

  .maison-study__ring {
    width: min(390px, 68vw);
  }

  .maison-study__glass {
    width: min(320px, 56vw);
  }

  .maison-study__axis {
    width: min(260px, 46vw);
  }
}

@media (max-width: 620px) {
  .applications__sticky {
    padding: 92px 20px 64px;
  }

  .applications__chapter-line,
  .applications__chapter-name {
    display: none;
  }

  .applications__subheadline {
    font-size: 17px;
  }

  .applications__b2b-line {
    font-size: 11px;
    letter-spacing: 0.14em;
  }

  .applications__maison-study {
    min-height: 270px;
  }

  .applications__rows {
    width: 100%;
  }

  .applications__row {
    grid-template-columns: 38px 1fr;
    gap: 8px 16px;
    padding: 17px 0;
  }

  .applications__row p {
    grid-column: 2;
  }
}

/* =========================================================
   SEZIONE 03 - EXCLUSIVE MAISON REFINEMENT
   ========================================================= */

.applications {
  --maison-ivory: rgba(248, 244, 232, 0.965);
  --maison-muted: rgba(248, 244, 232, 0.62);
  --maison-soft: rgba(248, 244, 232, 0.38);
  --maison-gold: #c8a45c;
  --maison-deep-gold: #7d602a;
  --maison-line: rgba(248, 222, 166, 0.13);
  --maison-charcoal: #070807;

  min-height: 190svh;
  background: #010202;
}

.applications__sticky {
  min-height: 780px;
  grid-template-columns: minmax(420px, 0.9fr) minmax(660px, 1.1fr);
  gap: clamp(76px, 8.8vw, 158px);
  padding:
    clamp(112px, 13vh, 158px)
    clamp(52px, 7vw, 126px)
    clamp(76px, 9vh, 112px);
  background:
    radial-gradient(ellipse at 73% 43%, rgba(200, 164, 92, 0.105), transparent 30%),
    radial-gradient(ellipse at 76% 66%, rgba(255, 245, 220, 0.040), transparent 38%),
    radial-gradient(ellipse at 18% 32%, rgba(255, 245, 220, 0.030), transparent 30%),
    linear-gradient(116deg, #010202 0%, #070807 43%, #020303 100%);
}

.applications__sticky::before {
  opacity: 0.115;
  background-image:
    radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.22) 0 0.26px, transparent 0.72px),
    radial-gradient(circle at 80% 64%, rgba(200, 164, 92, 0.18) 0 0.22px, transparent 0.78px),
    linear-gradient(118deg, transparent 0 46%, rgba(255, 238, 190, 0.13) 47%, transparent 48% 100%);
  background-size: 5px 5px, 9px 9px, 132px 132px;
  mask-image: linear-gradient(90deg, transparent, #000 24%, #000 88%, transparent);
}

.applications__sticky::after {
  background:
    radial-gradient(ellipse at 74% 48%, transparent 0 35%, rgba(1, 2, 2, 0.48) 78%),
    linear-gradient(90deg, rgba(1, 2, 2, 0.64), transparent 38%, rgba(1, 2, 2, 0.18));
}

.applications__chapter {
  top: clamp(42px, 5.8vh, 66px);
  color: rgba(248, 244, 232, 0.34);
  letter-spacing: 0.34em;
}

.applications__chapter-line {
  width: 54px;
  background: linear-gradient(90deg, rgba(200, 164, 92, 0.76), rgba(248, 244, 232, 0.08));
}

.applications__editorial {
  max-width: 760px;
}

.applications__headline {
  line-height: 0.88;
  letter-spacing: 0;
}

.applications__headline span {
  max-width: 760px;
  font-size: clamp(82px, 7.9vw, 148px);
  color: rgba(249, 246, 237, 0.97);
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08),
    0 30px 60px rgba(0, 0, 0, 0.44);
}

.applications__headline em {
  max-width: 720px;
  margin-top: 0.09em;
  font-size: clamp(66px, 6.25vw, 112px);
  line-height: 0.92;
  letter-spacing: 0;
  background:
    linear-gradient(96deg, #8a692d 0%, #c8a45c 32%, #f6e6b8 48%, #b98d3d 70%, #6f5425 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter:
    drop-shadow(0 18px 40px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 1px rgba(246, 230, 184, 0.10));
}

.applications__subheadline {
  max-width: 590px;
  margin-top: clamp(42px, 5.2vh, 60px);
  color: rgba(248, 244, 232, 0.70);
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(18px, 1.22vw, 22px);
  line-height: 1.72;
}

.applications__b2b-line {
  max-width: 610px;
  margin-top: clamp(34px, 4.4vh, 54px);
  padding-top: 26px;
  color: rgba(248, 244, 232, 0.48);
  font-size: clamp(10px, 0.7vw, 12px);
  line-height: 1.9;
  letter-spacing: 0.26em;
}

.applications__b2b-line::before {
  width: 118px;
  background: linear-gradient(90deg, rgba(200, 164, 92, 0), rgba(200, 164, 92, 0.86), rgba(200, 164, 92, 0));
}

.applications__stage {
  grid-template-rows: minmax(390px, 52vh) auto auto;
  gap: clamp(34px, 4.4vh, 58px);
}

.applications__stage::before {
  inset: 0 -10% 42%;
  opacity: 0.44;
  background:
    radial-gradient(ellipse at 50% 54%, rgba(200, 164, 92, 0.14), transparent 42%),
    radial-gradient(ellipse at 52% 48%, rgba(248, 244, 232, 0.040), transparent 26%);
  filter: blur(28px);
}

.applications__maison-study {
  width: min(820px, 50vw);
  min-height: 430px;
  transform: translate3d(0, calc(var(--applications-progress, 0) * -12px), 0);
}

.maison-study__plate {
  position: absolute;
  left: 50%;
  top: 53%;
  z-index: -1;
  display: block;
  width: min(620px, 42vw);
  aspect-ratio: 1.86;
  border-radius: 999px;
  border: 1px solid rgba(248, 222, 166, 0.085);
  background:
    linear-gradient(105deg, rgba(255, 255, 255, 0.025), transparent 26%, rgba(200, 164, 92, 0.070) 48%, transparent 70%),
    radial-gradient(ellipse at 48% 52%, rgba(22, 24, 23, 0.84), rgba(1, 2, 2, 0.22) 70%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    inset 0 -30px 80px rgba(0, 0, 0, 0.42);
  transform: translate(-50%, -50%) rotate(-5deg);
}

.maison-study__plate::before,
.maison-study__plate::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(248, 222, 166, 0.20), transparent);
}

.maison-study__plate::before {
  left: 5%;
  transform: rotate(7deg);
}

.maison-study__plate::after {
  right: 5%;
  transform: rotate(-7deg);
}

.maison-study__shadow {
  left: 16%;
  right: 16%;
  bottom: 3%;
  height: 34px;
  opacity: 0.72;
  background: rgba(200, 164, 92, 0.045);
  border-color: rgba(248, 222, 166, 0.060);
  filter: blur(11px);
}

.maison-study__ring {
  width: min(438px, 28.5vw);
  transform: translate(-50%, -50%) rotate(calc(-7deg + var(--applications-progress, 0) * 2deg));
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 14deg, rgba(255, 255, 255, 0.045) 0deg 0.7deg, transparent 0.7deg 4deg),
    conic-gradient(
      from 236deg,
      #020303 0deg,
      #151512 38deg,
      #80632d 52deg,
      #d0ae68 66deg,
      #f1e0b0 78deg,
      #6d5224 104deg,
      #030404 148deg,
      #111313 224deg,
      #a37d36 286deg,
      #020303 360deg
    );
  box-shadow:
    0 54px 94px rgba(0, 0, 0, 0.62),
    0 0 0 1px rgba(248, 222, 166, 0.050),
    inset 0 0 0 1px rgba(255, 255, 255, 0.075);
}

.maison-study__ring::before {
  inset: 8.5%;
  background:
    linear-gradient(126deg, rgba(255, 255, 255, 0.09), transparent 22% 68%, rgba(200, 164, 92, 0.05)),
    radial-gradient(circle at 35% 27%, rgba(255, 255, 255, 0.18), transparent 11%),
    radial-gradient(circle at 52% 55%, #151b1b 0 38%, #050707 64%, #010202 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.10),
    inset 0 0 72px rgba(0, 0, 0, 0.82);
}

.maison-study__ring::after {
  inset: 25%;
  border-color: rgba(248, 222, 166, 0.13);
  background:
    repeating-conic-gradient(from -18deg, rgba(248, 244, 232, 0.052) 0deg 0.55deg, transparent 0.55deg 7.5deg),
    radial-gradient(circle at 42% 34%, rgba(255, 255, 255, 0.05), transparent 24%),
    radial-gradient(circle, rgba(8, 14, 15, 0.95), #010202 72%);
}

.maison-study__glass {
  width: min(360px, 23.5vw);
  opacity: 0.62;
  background:
    linear-gradient(122deg, transparent 0 36%, rgba(255, 255, 255, 0.12) 45%, transparent 55% 100%),
    radial-gradient(circle at 37% 24%, rgba(255, 255, 255, 0.12), transparent 14%);
}

.maison-study__engraving {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: min(510px, 34vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(248, 222, 166, 0.060);
  transform: translate(-50%, -50%);
}

.maison-study__engraving--one {
  clip-path: inset(0 0 48% 0);
}

.maison-study__engraving--two {
  width: min(306px, 20vw);
  opacity: 0.82;
  transform: translate(-50%, -50%) rotate(38deg);
}

.maison-study__axis {
  width: min(314px, 20vw);
  opacity: 0.88;
  background: linear-gradient(90deg, transparent 0%, rgba(248, 222, 166, 0.22) 28%, rgba(236, 204, 138, 0.86) 62%, transparent 100%);
  transform: translate(-50%, -50%) rotate(-11deg);
  box-shadow: none;
}

.maison-study__axis::after {
  width: 15px;
  height: 15px;
  border-color: rgba(248, 222, 166, 0.52);
}

.maison-study__pivot {
  width: 16px;
  background:
    radial-gradient(circle at 35% 28%, #fff4ce 0 14%, #c8a45c 32%, #11100c 72%);
  box-shadow:
    0 0 0 7px rgba(200, 164, 92, 0.052),
    0 0 18px rgba(200, 164, 92, 0.14);
}

.maison-study__signature {
  position: absolute;
  left: 50%;
  bottom: 8%;
  display: block;
  color: rgba(248, 244, 232, 0.25);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.34em;
  transform: translateX(-50%);
  white-space: nowrap;
}

.applications__rows {
  width: min(760px, 100%);
  border-top-color: rgba(248, 222, 166, 0.16);
}

.applications__row {
  grid-template-columns: 52px minmax(160px, 0.38fr) minmax(270px, 1fr);
  gap: clamp(24px, 2.4vw, 42px);
  padding: clamp(20px, 2.25vh, 26px) 0;
  border-bottom-color: rgba(248, 222, 166, 0.105);
}

.applications__row::before {
  width: 74px;
  opacity: 0.34;
  background: linear-gradient(90deg, rgba(200, 164, 92, 0), rgba(200, 164, 92, 0.76), rgba(200, 164, 92, 0));
  transform: scaleX(0.22);
}

.applications__row:hover {
  border-color: rgba(248, 222, 166, 0.22);
}

.applications__row:hover::before {
  opacity: 0.76;
  transform: scaleX(0.82);
}

.applications__row span {
  color: rgba(200, 164, 92, 0.72);
  font-size: 9px;
  letter-spacing: 0.22em;
}

.applications__row h3 {
  color: rgba(248, 244, 232, 0.84);
  font-size: clamp(11px, 0.78vw, 13px);
  letter-spacing: 0.31em;
}

.applications__row p {
  max-width: 390px;
  color: rgba(248, 244, 232, 0.50);
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.62;
}

.applications__closing {
  width: min(760px, 100%);
  color: rgba(248, 244, 232, 0.70);
  font-size: clamp(28px, 2.45vw, 44px);
  line-height: 1.14;
}

.applications__closing span {
  display: block;
}

.applications__closing span + span {
  color: rgba(200, 164, 92, 0.76);
}

@media (prefers-reduced-motion: no-preference) {
  .maison-study__glass {
    animation: maison-glass-breathe 13s ease-in-out infinite;
  }

  .maison-study__plate {
    animation: maison-plate-drift 18s ease-in-out infinite;
  }
}

@keyframes maison-glass-breathe {
  0%,
  100% {
    opacity: 0.54;
    transform: translate(-50%, -50%) rotate(-1deg);
  }

  50% {
    opacity: 0.68;
    transform: translate(-50%, -50%) rotate(1.4deg);
  }
}

@keyframes maison-plate-drift {
  0%,
  100% {
    transform: translate(-50%, -50%) rotate(-5deg);
  }

  50% {
    transform: translate(-50%, -51.5%) rotate(-4.2deg);
  }
}

@media (min-width: 1500px) {
  .applications__sticky {
    grid-template-columns: minmax(520px, 0.92fr) minmax(760px, 1.08fr);
    padding-inline: clamp(94px, 8vw, 154px);
  }
}

@media (max-width: 1120px) {
  .applications__sticky {
    grid-template-columns: 1fr;
    gap: 62px;
  }

  .applications__editorial,
  .applications__stage {
    width: min(820px, 100%);
    margin-inline: auto;
  }

  .applications__maison-study {
    width: min(760px, 92vw);
  }

  .maison-study__plate {
    width: min(600px, 80vw);
  }

  .maison-study__ring {
    width: min(420px, 58vw);
  }

  .maison-study__glass {
    width: min(350px, 48vw);
  }

  .maison-study__engraving {
    width: min(500px, 68vw);
  }

  .maison-study__axis {
    width: min(300px, 42vw);
  }
}

@media (max-width: 720px) {
  .applications__sticky {
    padding: 104px 22px 78px;
  }

  .applications__headline span {
    font-size: clamp(58px, 17vw, 88px);
    line-height: 0.90;
  }

  .applications__headline em {
    font-size: clamp(48px, 13.5vw, 72px);
    line-height: 0.94;
  }

  .applications__subheadline {
    margin-top: 36px;
    font-size: 17px;
    line-height: 1.68;
  }

  .applications__b2b-line {
    font-size: 10px;
    letter-spacing: 0.18em;
  }

  .applications__stage {
    gap: 36px;
  }

  .applications__maison-study {
    min-height: 330px;
  }

  .maison-study__ring {
    width: min(330px, 78vw);
  }

  .maison-study__glass {
    width: min(274px, 64vw);
  }

  .maison-study__axis {
    width: min(238px, 56vw);
  }

  .maison-study__signature {
    bottom: 4%;
    font-size: 8px;
    letter-spacing: 0.22em;
  }

  .applications__row {
    grid-template-columns: 38px 1fr;
    gap: 9px 18px;
    padding: 20px 0;
  }

  .applications__row p {
    grid-column: 2;
    max-width: 100%;
  }

  .applications__closing {
    font-size: clamp(25px, 7.4vw, 38px);
  }
}

/* Prevent the closing statement from being clipped in the sticky viewport. */
.applications__sticky {
  padding-bottom: clamp(98px, 11vh, 138px);
}

.applications__stage {
  grid-template-rows: minmax(300px, 39vh) auto auto;
  gap: clamp(22px, 2.6vh, 36px);
  align-content: center;
  padding-bottom: clamp(10px, 2vh, 24px);
}

.applications__maison-study {
  min-height: clamp(300px, 39vh, 380px);
}

.applications__row {
  padding: clamp(14px, 1.65vh, 20px) 0;
}

.applications__closing {
  padding-bottom: 0.18em;
  font-size: clamp(24px, 2.15vw, 38px);
}

@media (max-height: 820px) and (min-width: 1121px) {
  .applications__sticky {
    min-height: 720px;
    padding-top: 86px;
    padding-bottom: 86px;
  }

  .applications__stage {
    grid-template-rows: minmax(250px, 34vh) auto auto;
    gap: 20px;
  }

  .applications__maison-study {
    min-height: min(310px, 34vh);
  }

  .maison-study__ring {
    width: min(350px, 24vw);
  }

  .maison-study__glass {
    width: min(292px, 20vw);
  }

  .maison-study__plate {
    width: min(520px, 36vw);
  }

  .maison-study__signature {
    bottom: 3%;
  }

  .applications__row {
    padding: 13px 0;
  }

  .applications__closing {
    font-size: clamp(23px, 1.8vw, 32px);
  }
}

@media (max-width: 1120px) {
  .applications__sticky {
    padding-bottom: 82px;
  }

  .applications__stage {
    padding-bottom: 0;
  }
}

/* =========================================================
   SEZIONE 03 - TOP TIER LUXURY PASS
   ========================================================= */

.applications {
  --maison-ivory: rgba(250, 246, 235, 0.97);
  --maison-muted: rgba(250, 246, 235, 0.58);
  --maison-whisper: rgba(250, 246, 235, 0.25);
  --maison-gold: #bfa15c;
  --maison-gold-bright: #e5d09a;
  --maison-line: rgba(229, 208, 154, 0.115);
  min-height: 188svh;
}

.applications__sticky {
  grid-template-columns: minmax(430px, 0.94fr) minmax(680px, 1.06fr);
  gap: clamp(90px, 9.5vw, 172px);
  padding:
    clamp(118px, 13vh, 166px)
    clamp(60px, 7vw, 132px)
    clamp(96px, 10vh, 134px);
  background:
    radial-gradient(ellipse at 77% 42%, rgba(191, 161, 92, 0.082), transparent 30%),
    radial-gradient(ellipse at 60% 82%, rgba(250, 246, 235, 0.026), transparent 34%),
    linear-gradient(112deg, #010101 0%, #050606 38%, #090806 58%, #020202 100%);
}

.applications__sticky::before {
  opacity: 0.095;
  background-image:
    radial-gradient(circle at 22% 24%, rgba(255, 255, 255, 0.28) 0 0.22px, transparent 0.72px),
    radial-gradient(circle at 82% 66%, rgba(191, 161, 92, 0.24) 0 0.22px, transparent 0.8px),
    linear-gradient(112deg, transparent 0 47%, rgba(229, 208, 154, 0.15) 48%, transparent 49% 100%);
  background-size: 4px 4px, 11px 11px, 156px 156px;
}

.applications__sticky::after {
  background:
    radial-gradient(ellipse at 72% 46%, transparent 0 36%, rgba(1, 1, 1, 0.60) 82%),
    linear-gradient(90deg, rgba(1, 1, 1, 0.72), transparent 42%, rgba(1, 1, 1, 0.26));
}

.applications__chapter {
  gap: 16px;
  color: rgba(250, 246, 235, 0.34);
  font-size: 9px;
  letter-spacing: 0.38em;
}

.applications__chapter-number {
  color: rgba(191, 161, 92, 0.86);
}

.applications__chapter-line {
  width: 62px;
  background: linear-gradient(90deg, transparent, rgba(191, 161, 92, 0.78), transparent);
}

.applications__editorial {
  max-width: 800px;
  transform: translateY(-1.2vh);
}

.applications__headline {
  line-height: 0.86;
}

.applications__headline span {
  font-size: clamp(92px, 8.35vw, 158px);
  color: rgba(250, 246, 235, 0.98);
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07),
    0 38px 78px rgba(0, 0, 0, 0.50);
}

.applications__headline em {
  margin-top: 0.11em;
  font-size: clamp(70px, 6.55vw, 118px);
  line-height: 0.90;
  background:
    linear-gradient(98deg, #77612f 0%, #bfa15c 31%, #f1dfaa 50%, #a9863d 74%, #5f4b24 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.applications__subheadline {
  max-width: 610px;
  margin-top: clamp(48px, 5.8vh, 70px);
  color: rgba(250, 246, 235, 0.68);
  font-size: clamp(18px, 1.12vw, 21px);
  line-height: 1.78;
}

.applications__b2b-line {
  max-width: 650px;
  margin-top: clamp(38px, 4.8vh, 60px);
  padding-top: 30px;
  color: rgba(250, 246, 235, 0.43);
  font-size: 10px;
  letter-spacing: 0.31em;
}

.applications__stage {
  grid-template-rows: minmax(300px, 38vh) auto auto;
  gap: clamp(28px, 3.2vh, 42px);
}

.applications__maison-study {
  width: min(860px, 50vw);
  min-height: clamp(310px, 38vh, 405px);
  transform: translate3d(0, calc(var(--applications-progress, 0) * -8px), 0);
}

.maison-study__caliber,
.maison-study__orbit,
.maison-study__index {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  pointer-events: none;
}

.maison-study__caliber {
  width: min(540px, 35vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(229, 208, 154, 0.045);
  background:
    repeating-conic-gradient(from 6deg, rgba(255, 255, 255, 0.038) 0deg 0.42deg, transparent 0.42deg 5.5deg),
    radial-gradient(circle at 50% 50%, transparent 0 42%, rgba(250, 246, 235, 0.026) 43% 44%, transparent 45%),
    radial-gradient(circle, rgba(13, 15, 14, 0.28), transparent 66%);
  transform: translate(-50%, -50%) rotate(-10deg);
}

.maison-study__plate {
  width: min(660px, 42vw);
  opacity: 0.92;
  background:
    linear-gradient(105deg, rgba(255, 255, 255, 0.020), transparent 24%, rgba(191, 161, 92, 0.060) 48%, transparent 72%),
    radial-gradient(ellipse at 50% 50%, rgba(19, 20, 19, 0.88), rgba(1, 1, 1, 0.18) 72%);
}

.maison-study__ring {
  width: min(430px, 27vw);
  background:
    repeating-conic-gradient(from 14deg, rgba(255, 255, 255, 0.035) 0deg 0.5deg, transparent 0.5deg 3.8deg),
    conic-gradient(
      from 232deg,
      #010202 0deg,
      #161512 36deg,
      #735a2d 51deg,
      #bfa15c 65deg,
      #f0dfad 77deg,
      #695127 104deg,
      #020202 150deg,
      #111313 224deg,
      #8f7238 288deg,
      #010202 360deg
    );
  box-shadow:
    0 58px 104px rgba(0, 0, 0, 0.66),
    0 0 0 1px rgba(229, 208, 154, 0.045),
    inset 0 0 0 1px rgba(255, 255, 255, 0.07);
}

.maison-study__ring::before {
  background:
    linear-gradient(128deg, rgba(255, 255, 255, 0.08), transparent 22% 70%, rgba(191, 161, 92, 0.045)),
    radial-gradient(circle at 36% 26%, rgba(255, 255, 255, 0.16), transparent 10%),
    radial-gradient(circle at 50% 50%, #141918 0 34%, #050606 62%, #010101 100%);
}

.maison-study__ring::after {
  inset: 24%;
  border-color: rgba(229, 208, 154, 0.125);
  background:
    repeating-conic-gradient(from -18deg, rgba(250, 246, 235, 0.055) 0deg 0.45deg, transparent 0.45deg 6.5deg),
    radial-gradient(circle at 42% 34%, rgba(255, 255, 255, 0.045), transparent 22%),
    radial-gradient(circle, rgba(7, 12, 12, 0.98), #010101 72%);
}

.maison-study__orbit {
  border-radius: 50%;
  border: 1px solid rgba(229, 208, 154, 0.06);
  transform: translate(-50%, -50%);
}

.maison-study__orbit--outer {
  width: min(640px, 40vw);
  aspect-ratio: 1;
  clip-path: inset(0 0 43% 0);
}

.maison-study__orbit--inner {
  width: min(278px, 18vw);
  aspect-ratio: 1;
  border-color: rgba(250, 246, 235, 0.055);
  transform: translate(-50%, -50%) rotate(24deg);
}

.maison-study__engraving {
  border-color: rgba(229, 208, 154, 0.052);
}

.maison-study__index {
  width: min(92px, 6vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(229, 208, 154, 0.28), transparent);
}

.maison-study__index--one {
  transform: translate(-250%, -710%) rotate(-8deg);
}

.maison-study__index--two {
  transform: translate(150%, -120%) rotate(18deg);
}

.maison-study__index--three {
  transform: translate(-210%, 520%) rotate(11deg);
}

.maison-study__axis {
  width: min(300px, 19vw);
  opacity: 0.78;
  background: linear-gradient(90deg, transparent, rgba(229, 208, 154, 0.20) 28%, rgba(229, 208, 154, 0.74) 62%, transparent);
}

.maison-study__pivot {
  width: 14px;
  box-shadow:
    0 0 0 6px rgba(191, 161, 92, 0.045),
    0 0 16px rgba(191, 161, 92, 0.12);
}

.maison-study__signature {
  bottom: 5%;
  color: rgba(250, 246, 235, 0.20);
  font-size: 8px;
  letter-spacing: 0.42em;
}

.applications__rows {
  width: min(790px, 100%);
  border-top-color: rgba(229, 208, 154, 0.135);
}

.applications__row {
  grid-template-columns: 56px minmax(185px, 0.38fr) minmax(300px, 1fr);
  gap: clamp(30px, 2.8vw, 52px);
  padding: clamp(15px, 1.75vh, 21px) 0;
  border-bottom-color: rgba(229, 208, 154, 0.095);
  transition:
    border-color 420ms ease,
    opacity 420ms ease,
    transform 420ms ease;
}

.applications__row:hover {
  transform: translateX(5px);
  border-color: rgba(229, 208, 154, 0.20);
}

.applications__row span {
  color: rgba(191, 161, 92, 0.66);
  font-size: 8px;
  letter-spacing: 0.28em;
}

.applications__row h3 {
  color: rgba(250, 246, 235, 0.82);
  font-size: 11px;
  letter-spacing: 0.35em;
}

.applications__row p {
  max-width: 430px;
  color: rgba(250, 246, 235, 0.48);
  font-size: clamp(14px, 0.94vw, 16px);
}

.applications__closing {
  width: min(790px, 100%);
  padding-top: clamp(6px, 1vh, 12px);
  color: rgba(250, 246, 235, 0.72);
  font-size: clamp(27px, 2.1vw, 40px);
}

.applications__closing span + span {
  color: rgba(191, 161, 92, 0.78);
}

@media (max-height: 860px) and (min-width: 1121px) {
  .applications__headline span {
    font-size: clamp(74px, 7.1vw, 126px);
  }

  .applications__headline em {
    font-size: clamp(58px, 5.4vw, 92px);
  }

  .applications__subheadline {
    margin-top: 34px;
  }

  .applications__b2b-line {
    margin-top: 30px;
  }

  .applications__stage {
    grid-template-rows: minmax(240px, 31vh) auto auto;
    gap: 18px;
  }

  .applications__maison-study {
    min-height: min(290px, 31vh);
  }

  .maison-study__ring {
    width: min(318px, 23vw);
  }

  .maison-study__plate {
    width: min(500px, 34vw);
  }

  .maison-study__caliber,
  .maison-study__orbit--outer {
    width: min(500px, 35vw);
  }

  .applications__closing {
    font-size: clamp(22px, 1.7vw, 31px);
  }
}

@media (max-width: 1120px) {
  .applications__sticky {
    gap: 72px;
    padding-inline: clamp(24px, 6vw, 72px);
  }

  .applications__editorial {
    transform: none;
  }

  .applications__maison-study {
    width: min(780px, 92vw);
  }

  .maison-study__caliber,
  .maison-study__orbit--outer {
    width: min(620px, 82vw);
  }

  .maison-study__ring {
    width: min(400px, 58vw);
  }

  .maison-study__plate {
    width: min(620px, 84vw);
  }
}

@media (max-width: 720px) {
  .applications__sticky {
    padding: 104px 22px 82px;
  }

  .applications__chapter {
    letter-spacing: 0.24em;
  }

  .applications__headline span {
    font-size: clamp(60px, 17.5vw, 92px);
  }

  .applications__headline em {
    font-size: clamp(48px, 13.2vw, 74px);
  }

  .applications__maison-study {
    min-height: 315px;
  }

  .maison-study__caliber,
  .maison-study__orbit--outer {
    width: min(400px, 96vw);
  }

  .maison-study__ring {
    width: min(300px, 72vw);
  }

  .maison-study__plate {
    width: min(430px, 104vw);
  }

  .maison-study__index {
    display: none;
  }

  .applications__row {
    grid-template-columns: 42px 1fr;
    gap: 10px 18px;
    transform: none;
  }

  .applications__row:hover {
    transform: none;
  }

  .applications__row h3 {
    letter-spacing: 0.26em;
  }

  .applications__closing {
    font-size: clamp(27px, 7.1vw, 40px);
  }
}

/* =========================================================
   SEZIONE 03 - MAISON COMPOSITION RESET
   ========================================================= */

.applications {
  --maison-bg: #020202;
  --maison-panel: #080807;
  --maison-ivory: rgba(246, 240, 226, 0.95);
  --maison-muted: rgba(246, 240, 226, 0.62);
  --maison-faint: rgba(246, 240, 226, 0.30);
  --maison-line: rgba(224, 198, 139, 0.14);
  --maison-gold: #c1a05a;
  --maison-gold-soft: rgba(193, 160, 90, 0.70);

  min-height: 176svh;
  background: var(--maison-bg);
}

.applications__sticky {
  height: 100svh;
  min-height: 760px;
  grid-template-columns: minmax(360px, 46fr) minmax(520px, 54fr);
  gap: clamp(56px, 6.5vw, 118px);
  align-items: center;
  padding:
    clamp(92px, 11vh, 132px)
    clamp(46px, 6vw, 112px)
    clamp(72px, 9vh, 108px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 76% 28%, rgba(193, 160, 90, 0.11), transparent 31%),
    radial-gradient(ellipse at 68% 72%, rgba(246, 240, 226, 0.026), transparent 35%),
    radial-gradient(ellipse at 18% 52%, rgba(246, 240, 226, 0.020), transparent 36%),
    linear-gradient(112deg, #010101 0%, #060606 42%, #0a0907 58%, #020202 100%);
}

.applications__sticky::before {
  opacity: 0.11;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.30) 0 0.24px, transparent 0.76px),
    radial-gradient(circle at 75% 66%, rgba(193, 160, 90, 0.20) 0 0.22px, transparent 0.82px),
    linear-gradient(115deg, transparent 0 48%, rgba(224, 198, 139, 0.12) 49%, transparent 50% 100%);
  background-size: 5px 5px, 12px 12px, 160px 160px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 90%, transparent);
}

.applications__sticky::after {
  background:
    radial-gradient(ellipse at 80% 34%, transparent 0 32%, rgba(2, 2, 2, 0.56) 78%),
    linear-gradient(90deg, rgba(1, 1, 1, 0.66), transparent 44%, rgba(1, 1, 1, 0.22));
}

.applications__copy {
  position: relative;
  z-index: 5;
  min-height: auto;
  align-self: center;
  display: block;
}

.applications__chapter {
  position: static;
  margin: 0 0 clamp(36px, 4.6vh, 58px);
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(246, 240, 226, 0.42);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.30em;
  line-height: 1;
}

.applications__chapter-number {
  color: rgba(193, 160, 90, 0.82);
}

.applications__chapter-line {
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, rgba(193, 160, 90, 0.76), transparent);
}

.applications__editorial {
  max-width: 680px;
  transform: none;
}

.applications__headline {
  margin: 0;
  line-height: 0.94;
  letter-spacing: 0;
}

.applications__headline span {
  max-width: 640px;
  color: var(--maison-ivory);
  font-size: clamp(68px, 6.3vw, 118px);
  text-shadow: 0 28px 68px rgba(0, 0, 0, 0.42);
}

.applications__headline em {
  max-width: 590px;
  margin-top: 0.10em;
  color: transparent;
  font-size: clamp(48px, 4.7vw, 82px);
  line-height: 1.02;
  background:
    linear-gradient(98deg, #8a713d 0%, #c1a05a 38%, #ead7a2 52%, #967338 78%, #5f4a25 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.28));
}

.applications__subheadline {
  max-width: 520px;
  margin-top: clamp(34px, 4.3vh, 52px);
  color: rgba(246, 240, 226, 0.70);
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: clamp(17px, 1.15vw, 21px);
  line-height: 1.72;
}

.applications__b2b-line {
  max-width: 560px;
  margin-top: clamp(32px, 4vh, 50px);
  padding-top: 24px;
  color: rgba(246, 240, 226, 0.48);
  font-size: clamp(9px, 0.68vw, 11px);
  line-height: 1.85;
  letter-spacing: 0.26em;
}

.applications__b2b-line::before {
  width: 104px;
  background: linear-gradient(90deg, var(--maison-gold), transparent);
}

.applications__stage {
  position: relative;
  z-index: 4;
  align-self: center;
  display: grid;
  grid-template-rows: minmax(270px, 38vh) auto auto;
  gap: clamp(30px, 4vh, 52px);
  min-height: auto;
  width: 100%;
  padding: 0;
  overflow: visible;
}

.applications__stage::before {
  inset: -12% -28% 48% -8%;
  opacity: 0.58;
  background:
    radial-gradient(ellipse at 70% 40%, rgba(193, 160, 90, 0.13), transparent 44%),
    radial-gradient(ellipse at 58% 54%, rgba(246, 240, 226, 0.040), transparent 30%);
  filter: blur(30px);
}

.applications__visual,
.applications__labels,
.applications__progress,
.applications__product-board,
.applications__opening,
.applications__ending {
  display: none !important;
}

.applications__maison-study {
  position: relative;
  justify-self: end;
  width: min(760px, 54vw);
  min-height: clamp(285px, 38vh, 390px);
  transform: translateX(clamp(58px, 7vw, 128px)) translateY(clamp(-42px, -4vh, -20px));
  isolation: isolate;
}

.maison-study__shadow,
.maison-study__construction,
.maison-study__plate,
.maison-study__caliber,
.maison-study__ring,
.maison-study__enamel,
.maison-study__glass,
.maison-study__markers,
.maison-study__axis,
.maison-study__pivot,
.maison-study__orbit,
.maison-study__engraving,
.maison-study__index {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  transform: translate(-50%, -50%);
}

.maison-study__shadow {
  top: 82%;
  width: min(560px, 42vw);
  height: 48px;
  border: 0;
  border-radius: 50%;
  opacity: 0.58;
  background: rgba(0, 0, 0, 0.84);
  filter: blur(22px);
}

.maison-study__construction {
  width: min(720px, 52vw);
  height: 1px;
  opacity: 0.20;
  background: linear-gradient(90deg, transparent, rgba(224, 198, 139, 0.42), transparent);
}

.maison-study__construction--one {
  transform: translate(-48%, -50%) rotate(-9deg);
}

.maison-study__construction--two {
  width: min(520px, 38vw);
  opacity: 0.14;
  transform: translate(-45%, -50%) rotate(18deg);
}

.maison-study__plate {
  width: min(610px, 43vw);
  aspect-ratio: 1.72;
  border: 1px solid rgba(224, 198, 139, 0.08);
  border-radius: 999px;
  opacity: 0.88;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.020), transparent 28%, rgba(193, 160, 90, 0.052) 50%, transparent 74%),
    radial-gradient(ellipse at 52% 52%, rgba(18, 20, 19, 0.90), rgba(1, 1, 1, 0.18) 72%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    inset 0 -44px 92px rgba(0, 0, 0, 0.48);
  transform: translate(-48%, -50%) rotate(-8deg);
}

.maison-study__caliber {
  width: min(520px, 36vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(224, 198, 139, 0.055);
  opacity: 0.74;
  background:
    repeating-conic-gradient(from 12deg, rgba(246, 240, 226, 0.045) 0deg 0.42deg, transparent 0.42deg 5.8deg),
    radial-gradient(circle at 50% 50%, transparent 0 43%, rgba(224, 198, 139, 0.035) 44% 44.5%, transparent 45.2%),
    radial-gradient(circle, rgba(14, 17, 17, 0.36), transparent 68%);
  transform: translate(-48%, -50%) rotate(-13deg);
}

.maison-study__ring {
  width: min(390px, 28vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 18deg, rgba(255, 255, 255, 0.035) 0deg 0.5deg, transparent 0.5deg 4deg),
    conic-gradient(
      from 224deg,
      #010101 0deg,
      #151410 36deg,
      #72592d 52deg,
      #bfa05b 67deg,
      #ead7a2 78deg,
      #72572a 108deg,
      #010101 152deg,
      #101211 224deg,
      #8f7137 290deg,
      #010101 360deg
    );
  box-shadow:
    0 48px 96px rgba(0, 0, 0, 0.66),
    0 0 0 1px rgba(224, 198, 139, 0.055),
    inset 0 0 0 1px rgba(255, 255, 255, 0.065);
  transform: translate(-48%, -50%) rotate(-9deg);
}

.maison-study__ring::before,
.maison-study__ring::after {
  content: "";
  position: absolute;
  border-radius: inherit;
}

.maison-study__ring::before {
  inset: 8%;
  background:
    linear-gradient(128deg, rgba(255, 255, 255, 0.09), transparent 22% 70%, rgba(193, 160, 90, 0.050)),
    radial-gradient(circle at 35% 26%, rgba(255, 255, 255, 0.15), transparent 10%),
    radial-gradient(circle, #121918 0 36%, #050606 64%, #010101 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.09),
    inset 0 0 76px rgba(0, 0, 0, 0.82);
}

.maison-study__ring::after {
  inset: 24%;
  border: 1px solid rgba(224, 198, 139, 0.13);
  background:
    repeating-conic-gradient(from -18deg, rgba(246, 240, 226, 0.055) 0deg 0.45deg, transparent 0.45deg 6.4deg),
    radial-gradient(circle at 42% 34%, rgba(255, 255, 255, 0.045), transparent 22%),
    radial-gradient(circle, rgba(5, 10, 10, 0.98), #010101 72%);
}

.maison-study__enamel {
  width: min(250px, 17.8vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 26%, rgba(255, 255, 255, 0.10), transparent 14%),
    radial-gradient(circle, #091010 0 48%, #010101 76%);
  box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.84);
  transform: translate(-48%, -50%) rotate(-9deg);
}

.maison-study__glass {
  width: min(330px, 23vw);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0.42;
  background:
    linear-gradient(124deg, transparent 0 37%, rgba(255, 255, 255, 0.115) 46%, transparent 56% 100%),
    radial-gradient(circle at 36% 24%, rgba(255, 255, 255, 0.11), transparent 14%);
  mix-blend-mode: screen;
  transform: translate(-48%, -50%) rotate(-6deg);
}

.maison-study__markers {
  width: min(305px, 21vw);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0.42;
  background:
    repeating-conic-gradient(from -4deg, rgba(224, 198, 139, 0.28) 0deg 0.55deg, transparent 0.55deg 11.25deg);
  mask-image: radial-gradient(circle, transparent 0 61%, #000 62% 64%, transparent 65%);
  transform: translate(-48%, -50%) rotate(-9deg);
}

.maison-study__axis {
  width: min(285px, 19vw);
  height: 1px;
  opacity: 0.82;
  background: linear-gradient(90deg, transparent, rgba(224, 198, 139, 0.25) 30%, rgba(224, 198, 139, 0.76) 62%, transparent);
  box-shadow: none;
  transform: translate(-48%, -50%) rotate(-13deg);
}

.maison-study__axis::after {
  content: "";
  position: absolute;
  right: 8%;
  top: 50%;
  width: 13px;
  height: 13px;
  border-top: 1px solid rgba(224, 198, 139, 0.56);
  border-right: 1px solid rgba(224, 198, 139, 0.56);
  transform: translateY(-50%) rotate(45deg);
}

.maison-study__pivot {
  width: 14px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #f7e8ba 0 14%, #bfa05b 32%, #11100c 72%);
  box-shadow:
    0 0 0 6px rgba(193, 160, 90, 0.045),
    0 0 16px rgba(193, 160, 90, 0.12);
  transform: translate(-48%, -50%);
}

.applications__rows {
  width: min(820px, 100%);
  justify-self: end;
  border-top: 1px solid rgba(224, 198, 139, 0.14);
}

.applications__row {
  display: grid;
  grid-template-columns: 58px minmax(170px, 0.34fr) minmax(320px, 1fr);
  gap: clamp(26px, 2.6vw, 46px);
  align-items: baseline;
  padding: clamp(18px, 2.15vh, 26px) 0;
  border-bottom: 1px solid rgba(224, 198, 139, 0.10);
  transition:
    border-color 420ms ease,
    transform 420ms ease;
}

.applications__row::before {
  width: 82px;
  opacity: 0.28;
  background: linear-gradient(90deg, rgba(193, 160, 90, 0), rgba(193, 160, 90, 0.72), rgba(193, 160, 90, 0));
  transform: scaleX(0.24);
}

.applications__row:hover {
  transform: translateX(4px);
  border-color: rgba(224, 198, 139, 0.24);
}

.applications__row:hover::before {
  opacity: 0.70;
  transform: scaleX(0.86);
}

.applications__row span {
  color: rgba(193, 160, 90, 0.72);
  font-size: 10px;
  letter-spacing: 0.20em;
}

.applications__row h3 {
  color: rgba(246, 240, 226, 0.86);
  font-size: clamp(12px, 0.82vw, 14px);
  font-weight: 700;
  letter-spacing: 0.25em;
}

.applications__row p {
  max-width: 460px;
  color: rgba(246, 240, 226, 0.58);
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.64;
}

.applications__closing {
  width: min(820px, 100%);
  justify-self: end;
  margin: 0;
  padding: clamp(10px, 1.7vh, 20px) 0 0;
  color: rgba(246, 240, 226, 0.78);
  font-size: clamp(28px, 2.25vw, 42px);
  line-height: 1.18;
}

.applications__closing span {
  display: block;
}

.applications__closing span + span {
  margin-top: 0.08em;
  color: rgba(193, 160, 90, 0.82);
}

@media (prefers-reduced-motion: no-preference) {
  .maison-study__glass {
    animation: maison-glass-breathe 16s ease-in-out infinite;
  }

  .maison-study__caliber {
    animation: maison-caliber-drift 22s ease-in-out infinite;
  }
}

@keyframes maison-caliber-drift {
  0%,
  100% {
    transform: translate(-48%, -50%) rotate(-13deg);
  }

  50% {
    transform: translate(-49%, -51%) rotate(-11.5deg);
  }
}

@media (max-height: 840px) and (min-width: 1121px) {
  .applications__sticky {
    min-height: 700px;
    padding-top: 78px;
    padding-bottom: 74px;
  }

  .applications__chapter {
    margin-bottom: 30px;
  }

  .applications__headline span {
    font-size: clamp(58px, 5.4vw, 96px);
  }

  .applications__headline em {
    font-size: clamp(42px, 4.1vw, 68px);
  }

  .applications__subheadline {
    margin-top: 26px;
  }

  .applications__b2b-line {
    margin-top: 24px;
  }

  .applications__stage {
    grid-template-rows: minmax(220px, 30vh) auto auto;
    gap: 18px;
  }

  .applications__maison-study {
    min-height: min(280px, 30vh);
  }

  .applications__row {
    padding: 12px 0;
  }

  .applications__closing {
    font-size: clamp(23px, 1.8vw, 31px);
  }
}

@media (max-width: 1120px) {
  .applications {
    min-height: auto;
  }

  .applications__sticky {
    position: relative;
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 68px;
    padding: 104px clamp(24px, 6vw, 72px) 88px;
  }

  .applications__copy,
  .applications__stage {
    width: min(820px, 100%);
    margin-inline: auto;
  }

  .applications__maison-study {
    justify-self: center;
    width: min(760px, 94vw);
    transform: none;
  }

  .applications__rows,
  .applications__closing {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .applications__sticky {
    padding: 96px 22px 76px;
    gap: 54px;
  }

  .applications__chapter {
    margin-bottom: 30px;
    letter-spacing: 0.20em;
  }

  .applications__headline span {
    font-size: clamp(52px, 14.5vw, 76px);
  }

  .applications__headline em {
    font-size: clamp(40px, 10.8vw, 58px);
  }

  .applications__subheadline {
    margin-top: 30px;
    font-size: 17px;
  }

  .applications__stage {
    grid-template-rows: auto auto auto;
    gap: 38px;
  }

  .applications__maison-study {
    min-height: 300px;
  }

  .maison-study__ring {
    width: min(300px, 74vw);
  }

  .maison-study__plate {
    width: min(430px, 106vw);
  }

  .maison-study__caliber {
    width: min(390px, 96vw);
  }

  .maison-study__construction {
    width: min(420px, 104vw);
  }

  .applications__row {
    grid-template-columns: 42px 1fr;
    gap: 9px 18px;
    padding: 18px 0;
  }

  .applications__row:hover {
    transform: none;
  }

  .applications__row p {
    grid-column: 2;
    max-width: 100%;
  }

  .applications__closing {
    font-size: clamp(26px, 7vw, 38px);
  }
}

@keyframes maison-glass-breathe {
  0%,
  100% {
    opacity: 0.36;
    transform: translate(-48%, -50%) rotate(-7deg);
  }

  50% {
    opacity: 0.48;
    transform: translate(-48%, -50%) rotate(-5deg);
  }
}

@media (max-height: 760px) and (min-width: 1121px) {
  .applications {
    min-height: auto;
  }

  .applications__sticky {
    position: relative;
    height: auto;
    min-height: 0;
    padding-top: 82px;
    padding-bottom: 88px;
  }

  .applications__stage {
    grid-template-rows: minmax(230px, 300px) auto auto;
  }
}

/* =========================================================
   NORTHU APPLICATIONS - REFERENCE COMPOSITION MATCH
   ========================================================= */

.brand__plate {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  width: auto;
  gap: 22px;
}

.brand__word {
  display: inline-block;
  color: rgba(246, 220, 164, 0.78);
  font-family:
    "Iowan Old Style",
    "Palatino Linotype",
    Baskerville,
    Georgia,
    "Times New Roman",
    serif;
  font-size: 18px;
  letter-spacing: 0.56em;
  line-height: 1;
}

.applications {
  --ref-bg: #030302;
  --ref-ivory: rgba(239, 234, 221, 0.94);
  --ref-muted: rgba(239, 234, 221, 0.66);
  --ref-dim: rgba(239, 234, 221, 0.42);
  --ref-line: rgba(183, 139, 68, 0.20);
  --ref-gold: #b78b44;
  --ref-gold-soft: rgba(183, 139, 68, 0.70);

  min-height: 132svh;
  background: #030302;
}

.applications__sticky {
  min-height: 840px;
  grid-template-columns: minmax(440px, 46%) minmax(620px, 54%);
  gap: clamp(40px, 4.5vw, 84px);
  align-items: stretch;
  padding:
    clamp(104px, 12vh, 132px)
    clamp(70px, 6.8vw, 136px)
    clamp(68px, 7vh, 96px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 73% 25%, rgba(183, 139, 68, 0.14), transparent 28%),
    radial-gradient(ellipse at 60% 48%, rgba(239, 234, 221, 0.035), transparent 38%),
    radial-gradient(ellipse at 18% 18%, rgba(183, 139, 68, 0.035), transparent 24%),
    linear-gradient(112deg, #020202 0%, #060605 48%, #020202 100%);
}

.applications__sticky::before {
  opacity: 0.16;
  background-image:
    radial-gradient(circle at 12% 30%, rgba(255, 255, 255, 0.22) 0 0.24px, transparent 0.74px),
    radial-gradient(circle at 74% 42%, rgba(183, 139, 68, 0.26) 0 0.26px, transparent 0.86px),
    linear-gradient(112deg, transparent 0 48%, rgba(183, 139, 68, 0.14) 49%, transparent 50% 100%);
  background-size: 4px 4px, 9px 9px, 150px 150px;
  mask-image: linear-gradient(90deg, #000 0 88%, transparent);
}

.applications__sticky::after {
  background:
    radial-gradient(ellipse at 73% 36%, transparent 0 34%, rgba(0, 0, 0, 0.70) 82%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.12), transparent 42%, rgba(0, 0, 0, 0.42));
}

.applications__copy {
  align-self: center;
  padding-top: clamp(8px, 2vh, 28px);
}

.applications__chapter {
  margin-bottom: clamp(34px, 4vh, 52px);
  gap: 18px;
  color: rgba(183, 139, 68, 0.82);
  font-size: 10px;
  letter-spacing: 0.46em;
}

.applications__chapter-number {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(183, 139, 68, 0.42);
  border-radius: 50%;
  color: rgba(239, 203, 128, 0.88);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.applications__chapter-line {
  order: -1;
  width: 78px;
  background: linear-gradient(90deg, rgba(183, 139, 68, 0.72), transparent);
}

.applications__editorial {
  max-width: 690px;
}

.applications__headline {
  position: relative;
  line-height: 0.98;
}

.applications__headline::after {
  content: "";
  position: absolute;
  left: 98%;
  top: 47%;
  width: min(330px, 22vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(183, 139, 68, 0.45), transparent);
}

.applications__headline span {
  font-size: clamp(78px, 6.8vw, 128px);
  line-height: 0.98;
  color: var(--ref-ivory);
  text-shadow: 0 28px 66px rgba(0, 0, 0, 0.58);
}

.applications__headline em {
  margin-top: 0.12em;
  font-size: clamp(62px, 5.45vw, 104px);
  line-height: 0.92;
  background: linear-gradient(105deg, #8a642f 0%, #b78b44 42%, #e4c985 56%, #9f7433 88%);
  -webkit-background-clip: text;
  background-clip: text;
}

.applications__subheadline {
  max-width: 520px;
  margin-top: clamp(44px, 5.4vh, 64px);
  color: rgba(239, 234, 221, 0.76);
  font-size: clamp(18px, 1.22vw, 23px);
  line-height: 1.66;
}

.applications__subheadline::before,
.applications__b2b-line::before {
  content: "";
  display: block;
  width: 84px;
  height: 1px;
  margin-bottom: 24px;
  background: linear-gradient(90deg, rgba(183, 139, 68, 0.80), transparent);
}

.applications__b2b-line {
  max-width: 600px;
  margin-top: clamp(34px, 4.4vh, 54px);
  padding-top: 0;
  color: rgba(183, 139, 68, 0.78);
  font-size: clamp(10px, 0.76vw, 12px);
  line-height: 1.95;
  letter-spacing: 0.42em;
}

.applications__stage {
  align-self: stretch;
  grid-template-rows: minmax(340px, 46vh) auto auto;
  gap: clamp(28px, 3.2vh, 44px);
  padding-top: clamp(0px, 1vh, 14px);
}

.applications__stage::before {
  inset: -18% -26% 45% -8%;
  opacity: 0.72;
  background:
    radial-gradient(ellipse at 68% 38%, rgba(183, 139, 68, 0.20), transparent 44%),
    radial-gradient(ellipse at 46% 42%, rgba(239, 234, 221, 0.060), transparent 30%);
  filter: blur(28px);
}

.applications__maison-study {
  justify-self: end;
  width: min(900px, 61vw);
  min-height: clamp(340px, 46vh, 470px);
  transform: translateX(clamp(92px, 9vw, 170px)) translateY(clamp(-48px, -4.6vh, -20px));
}

.maison-study__shadow {
  top: 84%;
  width: min(680px, 48vw);
  height: 52px;
  opacity: 0.72;
}

.maison-study__construction {
  width: min(880px, 61vw);
  opacity: 0.24;
}

.maison-study__construction--one {
  transform: translate(-54%, -54%) rotate(-14deg);
}

.maison-study__construction--two {
  width: min(680px, 48vw);
  transform: translate(-54%, -47%) rotate(19deg);
}

.maison-study__plate {
  width: min(760px, 52vw);
  aspect-ratio: 1.72;
  opacity: 0.96;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, 0.030), transparent 22%, rgba(183, 139, 68, 0.080) 46%, transparent 72%),
    repeating-conic-gradient(from -12deg, rgba(183, 139, 68, 0.050) 0deg 0.8deg, transparent 0.8deg 7deg),
    radial-gradient(ellipse at 50% 48%, rgba(20, 19, 16, 0.96), rgba(1, 1, 1, 0.22) 72%);
  transform: translate(-54%, -50%) rotate(-10deg);
}

.maison-study__caliber {
  width: min(660px, 45vw);
  opacity: 0.88;
  transform: translate(-54%, -50%) rotate(-15deg);
}

.maison-study__ring {
  width: min(520px, 35vw);
  transform: translate(-54%, -50%) rotate(-11deg);
}

.maison-study__enamel {
  width: min(322px, 22vw);
  transform: translate(-54%, -50%) rotate(-11deg);
}

.maison-study__glass {
  width: min(440px, 30vw);
  opacity: 0.36;
  transform: translate(-54%, -50%) rotate(-7deg);
}

.maison-study__markers {
  width: min(390px, 26vw);
  transform: translate(-54%, -50%) rotate(-11deg);
}

.maison-study__axis {
  width: min(350px, 23vw);
  transform: translate(-54%, -50%) rotate(-14deg);
}

.maison-study__pivot {
  transform: translate(-54%, -50%);
}

.applications__rows {
  width: min(860px, 100%);
  justify-self: end;
  border-top-color: rgba(183, 139, 68, 0.24);
}

.applications__row {
  grid-template-columns: 64px minmax(200px, 0.34fr) minmax(340px, 1fr);
  gap: clamp(34px, 3vw, 58px);
  padding: clamp(19px, 2.25vh, 28px) 0;
  border-bottom-color: rgba(183, 139, 68, 0.18);
}

.applications__row::after {
  content: "";
  width: 1px;
  height: 34px;
  align-self: center;
  grid-column: 2;
  justify-self: end;
  margin-right: calc(clamp(34px, 3vw, 58px) * -0.5);
  background: rgba(183, 139, 68, 0.36);
}

.applications__row span {
  color: rgba(239, 203, 128, 0.88);
  font-size: 12px;
  letter-spacing: 0.22em;
}

.applications__row h3 {
  color: rgba(239, 234, 221, 0.88);
  font-size: clamp(14px, 1vw, 18px);
  letter-spacing: 0.34em;
}

.applications__row p {
  max-width: 510px;
  color: rgba(239, 234, 221, 0.72);
  font-size: clamp(17px, 1.24vw, 23px);
  line-height: 1.48;
}

.applications__closing {
  width: min(860px, 100%);
  justify-self: end;
  padding-top: clamp(18px, 2.6vh, 34px);
  color: rgba(239, 234, 221, 0.86);
  font-size: clamp(34px, 2.65vw, 52px);
  line-height: 1.08;
}

.applications__closing span + span {
  margin-top: 0.06em;
  color: rgba(183, 139, 68, 0.90);
}

@media (max-height: 860px) and (min-width: 1121px) {
  .applications__sticky {
    min-height: 760px;
    padding-top: 90px;
    padding-bottom: 74px;
  }

  .applications__headline span {
    font-size: clamp(66px, 5.7vw, 106px);
  }

  .applications__headline em {
    font-size: clamp(50px, 4.45vw, 82px);
  }

  .applications__stage {
    grid-template-rows: minmax(270px, 38vh) auto auto;
    gap: 22px;
  }

  .applications__maison-study {
    min-height: min(340px, 38vh);
  }

  .applications__row {
    padding: 14px 0;
  }

  .applications__row p {
    font-size: clamp(15px, 1.05vw, 19px);
  }

  .applications__closing {
    font-size: clamp(27px, 2.05vw, 38px);
  }
}

@media (max-width: 1120px) {
  .applications {
    min-height: auto;
  }

  .applications__sticky {
    position: relative;
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 70px;
    padding: 104px clamp(24px, 6vw, 76px) 88px;
  }

  .applications__headline::after {
    display: none;
  }

  .applications__stage {
    width: min(880px, 100%);
    margin-inline: auto;
  }

  .applications__maison-study {
    justify-self: center;
    width: min(820px, 96vw);
    transform: none;
  }

  .applications__rows,
  .applications__closing {
    width: 100%;
    justify-self: stretch;
  }
}

@media (max-width: 720px) {
  .brand__word {
    display: none;
  }

  .applications__sticky {
    padding: 92px 22px 76px;
    gap: 54px;
  }

  .applications__chapter {
    letter-spacing: 0.22em;
  }

  .applications__headline span {
    font-size: clamp(52px, 14vw, 74px);
  }

  .applications__headline em {
    font-size: clamp(40px, 10.8vw, 58px);
  }

  .applications__stage {
    grid-template-rows: auto auto auto;
    gap: 40px;
  }

  .applications__maison-study {
    min-height: 310px;
  }

  .maison-study__plate {
    width: min(500px, 122vw);
  }

  .maison-study__caliber {
    width: min(420px, 102vw);
  }

  .maison-study__ring {
    width: min(330px, 78vw);
  }

  .maison-study__enamel {
    width: min(208px, 50vw);
  }

  .maison-study__glass {
    width: min(280px, 68vw);
  }

  .applications__row {
    grid-template-columns: 42px 1fr;
    gap: 10px 18px;
    padding: 20px 0;
  }

  .applications__row::after {
    display: none;
  }

  .applications__row p {
    grid-column: 2;
    max-width: 100%;
    font-size: 16px;
  }

  .applications__closing {
    font-size: clamp(28px, 7.2vw, 40px);
  }
}

/* Use the cropped reference artwork as the actual maison mechanism. */
.applications__maison-study {
  width: min(920px, 62vw);
  min-height: clamp(330px, 43vh, 455px);
  transform: translateX(clamp(82px, 8vw, 150px)) translateY(clamp(-38px, -3.8vh, -16px));
}

.applications__mechanism-image {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.96;
  filter:
    contrast(1.04)
    saturate(0.96)
    brightness(0.92)
    drop-shadow(0 42px 76px rgba(0, 0, 0, 0.58));
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 10%, #000 92%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 10%, #000 92%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
  mask-composite: intersect;
}

.applications__maison-study::before,
.applications__maison-study::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.applications__maison-study::before {
  inset: 0;
  background:
    radial-gradient(ellipse at 64% 44%, transparent 0 42%, rgba(0, 0, 0, 0.42) 82%),
    linear-gradient(90deg, rgba(3, 3, 2, 0.68), transparent 22%, transparent 78%, rgba(3, 3, 2, 0.42));
}

.applications__maison-study::after {
  left: -12%;
  right: 8%;
  top: 52%;
  height: 1px;
  opacity: 0.45;
  background: linear-gradient(90deg, transparent, rgba(183, 139, 68, 0.62), transparent);
}

.applications__maison-study > span {
  display: none;
}

.maison-study__shadow {
  display: block !important;
  z-index: 1;
  top: 82%;
  width: 78%;
  height: 58px;
  background: rgba(0, 0, 0, 0.86);
  filter: blur(22px);
}

@media (max-width: 1120px) {
  .applications__maison-study {
    width: min(880px, 96vw);
    transform: none;
  }
}

@media (max-width: 720px) {
  .applications__maison-study {
    min-height: 290px;
  }

  .applications__mechanism-image {
    object-position: 56% center;
  }
}

/* Hard visual binding: make the cropped artwork visible even through older overrides. */
.applications__stage .applications__maison-study {
  position: relative !important;
  z-index: 20 !important;
  display: block !important;
  width: min(940px, 62vw) !important;
  min-height: clamp(360px, 46vh, 480px) !important;
  justify-self: end !important;
  overflow: visible !important;
  background-image:
    linear-gradient(90deg, rgba(3, 3, 2, 0.26), rgba(3, 3, 2, 0) 18%, rgba(3, 3, 2, 0) 82%, rgba(3, 3, 2, 0.34)),
    url("../assets/applications-maison-mechanism.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  filter:
    contrast(1.04)
    saturate(0.96)
    brightness(0.96)
    drop-shadow(0 42px 78px rgba(0, 0, 0, 0.62)) !important;
  transform: translateX(clamp(80px, 8vw, 150px)) translateY(clamp(-42px, -4vh, -18px)) !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, #000 8%, #000 94%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, #000 8%, #000 94%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 92%, transparent 100%);
  mask-composite: intersect;
}

.applications__stage .applications__mechanism-image {
  display: none !important;
}

.applications__stage .applications__maison-study > span {
  display: none !important;
}

.applications__stage .applications__maison-study::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 60% 42%, transparent 0 42%, rgba(0, 0, 0, 0.34) 82%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.10), transparent 30%, rgba(0, 0, 0, 0.28));
}

.applications__stage .applications__maison-study::after {
  content: "" !important;
  position: absolute !important;
  left: -16% !important;
  right: 18% !important;
  top: 56% !important;
  z-index: 3 !important;
  height: 1px !important;
  opacity: 0.45 !important;
  background: linear-gradient(90deg, transparent, rgba(183, 139, 68, 0.62), transparent) !important;
}

@media (max-width: 1120px) {
  .applications__stage .applications__maison-study {
    width: min(900px, 96vw) !important;
    transform: none !important;
  }
}

@media (max-width: 720px) {
  .applications__stage .applications__maison-study {
    min-height: 300px !important;
    background-position: 56% center !important;
  }
}

/* Final placement correction: copy left, artwork centered on the right. */
@media (min-width: 1121px) {
  .applications__sticky {
    display: grid !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%) !important;
    align-items: center !important;
    column-gap: clamp(42px, 5vw, 88px) !important;
    min-height: calc(100vh - 76px) !important;
    height: auto !important;
    padding-top: 58px !important;
    padding-bottom: 42px !important;
  }

  .applications__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    width: min(600px, 100%) !important;
    transform: none !important;
  }

  .applications__headline span {
    font-size: clamp(62px, 5.6vw, 102px) !important;
    line-height: 0.98 !important;
  }

  .applications__headline em {
    font-size: clamp(46px, 4.3vw, 76px) !important;
    line-height: 0.96 !important;
    margin-top: 0.08em !important;
  }

  .applications__subheadline {
    max-width: 500px !important;
    margin-top: clamp(30px, 3.6vh, 44px) !important;
    font-size: clamp(16px, 1vw, 19px) !important;
    line-height: 1.68 !important;
  }

  .applications__b2b-line {
    max-width: 540px !important;
    margin-top: clamp(26px, 3.2vh, 40px) !important;
    font-size: 9px !important;
    letter-spacing: 0.32em !important;
  }

  .applications__stage {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    align-self: center !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    gap: 14px !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
  }

  .applications__stage .applications__maison-study {
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    width: min(500px, 33vw) !important;
    aspect-ratio: 820 / 390 !important;
    min-height: 0 !important;
    height: auto !important;
    transform: translateX(0) translateY(-2vh) !important;
    background-position: center center !important;
  }

  .applications__rows,
  .applications__closing {
    justify-self: end !important;
    width: min(760px, 100%) !important;
  }

  .applications__row {
    grid-template-columns: 48px minmax(150px, 0.32fr) minmax(270px, 1fr) !important;
    gap: clamp(22px, 2.1vw, 38px) !important;
    padding: 10px 0 !important;
  }

  .applications__row span {
    font-size: 9px !important;
  }

  .applications__row h3 {
    font-size: clamp(11px, 0.78vw, 13px) !important;
    letter-spacing: 0.26em !important;
  }

  .applications__row p {
    font-size: clamp(14px, 0.92vw, 16px) !important;
    line-height: 1.52 !important;
  }

  .applications__closing {
    padding-top: 8px !important;
    font-size: clamp(22px, 1.6vw, 30px) !important;
    line-height: 1.14 !important;
  }
}

/* =========================================================
   APPLICATIONS - FINAL MAISON POLISH
   ========================================================= */

#applications {
  color: rgba(242, 236, 222, 0.94);
  background: #020202;
}

#applications .applications__sticky {
  background:
    radial-gradient(ellipse at 76% 19%, rgba(177, 132, 58, 0.135), transparent 26%),
    radial-gradient(ellipse at 42% 50%, rgba(255, 247, 226, 0.025), transparent 42%),
    linear-gradient(112deg, #010101 0%, #070706 48%, #020202 100%) !important;
}

#applications .applications__sticky::before {
  opacity: 0.13 !important;
  background-image:
    radial-gradient(circle at 18% 25%, rgba(255, 255, 255, 0.22) 0 0.22px, transparent 0.72px),
    radial-gradient(circle at 76% 42%, rgba(177, 132, 58, 0.28) 0 0.24px, transparent 0.82px),
    linear-gradient(116deg, transparent 0 49%, rgba(177, 132, 58, 0.115) 50%, transparent 51% 100%) !important;
  background-size: 4px 4px, 10px 10px, 152px 152px !important;
}

#applications .applications__chapter {
  margin-bottom: 28px !important;
  color: rgba(177, 132, 58, 0.82) !important;
}

#applications .applications__headline span {
  color: rgba(244, 238, 224, 0.96) !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08),
    0 24px 56px rgba(0, 0, 0, 0.58) !important;
}

#applications .applications__headline em {
  background:
    linear-gradient(102deg, #876532 0%, #b1843a 38%, #e4c786 54%, #9b7334 84%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

  #applications .applications__subheadline {
    max-width: 560px !important;
    color: rgba(242, 236, 222, 0.80) !important;
    font-size: clamp(18px, 1.16vw, 21px) !important;
    line-height: 1.74 !important;
  }

  #applications .applications__b2b-line {
    max-width: 590px !important;
    color: rgba(205, 166, 91, 0.86) !important;
    font-size: clamp(10px, 0.78vw, 12px) !important;
    line-height: 2.05 !important;
    letter-spacing: 0.25em !important;
  }

#applications .applications__stage {
  position: relative !important;
}

#applications .applications__stage::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(min(500px, 33vw) * 0.48) !important;
  height: 1px !important;
  opacity: 0.34 !important;
  background: linear-gradient(90deg, transparent, rgba(177, 132, 58, 0.52), transparent) !important;
  pointer-events: none !important;
}

#applications .applications__stage .applications__maison-study {
  box-shadow:
    0 34px 78px rgba(0, 0, 0, 0.48),
    inset 0 0 0 1px rgba(255, 231, 178, 0.035) !important;
}

#applications .applications__rows {
  border-top: 1px solid rgba(177, 132, 58, 0.24) !important;
}

#applications .applications__row {
  border-bottom: 1px solid rgba(177, 132, 58, 0.16) !important;
  min-height: 52px !important;
}

#applications .applications__row::after {
  background: rgba(177, 132, 58, 0.32) !important;
}

#applications .applications__row:hover {
  border-color: rgba(218, 180, 105, 0.32) !important;
}

#applications .applications__row span {
  color: rgba(218, 180, 105, 0.88) !important;
}

#applications .applications__row h3 {
  color: rgba(242, 236, 222, 0.88) !important;
}

#applications .applications__row p {
  color: rgba(242, 236, 222, 0.68) !important;
}

#applications .applications__closing {
  margin-top: 6px !important;
  color: rgba(242, 236, 222, 0.86) !important;
  text-shadow: 0 18px 36px rgba(0, 0, 0, 0.55) !important;
}

#applications .applications__closing span + span {
  color: rgba(190, 143, 65, 0.92) !important;
}

@media (min-width: 1121px) {
  #applications .applications__sticky {
    padding-top: 54px !important;
    padding-bottom: 48px !important;
  }

  #applications .applications__copy {
    margin-top: 2px !important;
  }

  #applications .applications__maison-study {
    width: min(520px, 34vw) !important;
  }

  #applications .applications__row {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
  }

  #applications .applications__closing {
    font-size: clamp(24px, 1.7vw, 32px) !important;
    line-height: 1.12 !important;
  }
}

/* Right column expansion: fill the lower space with editorial rhythm. */
@media (min-width: 1121px) {
  #applications .applications__stage {
    grid-template-rows: auto 1fr auto !important;
    min-height: calc(100vh - 176px) !important;
    gap: clamp(18px, 2.2vh, 30px) !important;
  }

  #applications .applications__maison-study {
    width: min(660px, 43vw) !important;
    aspect-ratio: 820 / 390 !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
    background-size: cover !important;
    background-position: center !important;
    filter:
      contrast(1.07)
      saturate(0.98)
      brightness(0.99)
      drop-shadow(0 44px 84px rgba(0, 0, 0, 0.66)) !important;
  }

  #applications .applications__rows {
    align-self: stretch !important;
    display: grid !important;
    grid-template-rows: repeat(4, 1fr) !important;
    width: min(820px, 100%) !important;
    min-height: clamp(250px, 31vh, 330px) !important;
    border-top-color: rgba(183, 139, 68, 0.26) !important;
  }

  #applications .applications__row {
    min-height: 0 !important;
    align-content: center !important;
    padding: 0 !important;
    grid-template-columns: 54px minmax(170px, 0.34fr) minmax(310px, 1fr) !important;
    border-bottom-color: rgba(183, 139, 68, 0.19) !important;
  }

  #applications .applications__row span {
    font-size: 10px !important;
  }

  #applications .applications__row h3 {
    font-size: clamp(12px, 0.86vw, 15px) !important;
    letter-spacing: 0.30em !important;
  }

  #applications .applications__row p {
    font-size: clamp(15px, 1vw, 18px) !important;
    color: rgba(242, 236, 222, 0.72) !important;
  }

  #applications .applications__closing {
    align-self: end !important;
    padding-top: clamp(14px, 1.8vh, 24px) !important;
    font-size: clamp(25px, 1.85vw, 34px) !important;
  }
}

/* Institutional close: B2B, IP, private integration and enquiries. */

[hidden] {
  display: none !important;
}

.nav-link--private {
  color: rgba(218, 180, 105, 0.84);
}

.institutional-transition {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(120px, 20vh, 220px);
  background:
    radial-gradient(circle at 72% 0%, rgba(177, 132, 58, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(4, 5, 5, 0), rgba(8, 8, 7, 0.94) 46%, rgba(4, 5, 5, 0));
}

.institutional-transition::before {
  content: "";
  position: absolute;
  inset-inline: clamp(24px, 8vw, 150px);
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(180, 139, 73, 0.42), transparent);
}

.institutional-transition span {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(181, 139, 72, 0.35);
  border-radius: 50%;
  background: rgba(6, 6, 5, 0.88);
  color: rgba(218, 180, 105, 0.82);
  font-size: 10px;
  letter-spacing: 0.16em;
}

.institutional-section {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 78% 22%, rgba(163, 125, 64, 0.095), transparent 34%),
    radial-gradient(circle at 12% 76%, rgba(255, 244, 211, 0.028), transparent 32%),
    linear-gradient(180deg, #070806 0%, #030403 100%);
  color: rgba(242, 236, 222, 0.88);
}

.institutional-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.014) 1px, transparent 1px);
  background-size: 28px 28px, 28px 28px;
  mask-image: radial-gradient(circle at 56% 40%, black, transparent 70%);
  opacity: 0.34;
}

.institutional-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 45%, rgba(0, 0, 0, 0.40) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.38), transparent 28%, transparent 72%, rgba(0, 0, 0, 0.42));
}

.institutional-section__inner {
  position: relative;
  z-index: 1;
  width: min(1540px, calc(100% - clamp(36px, 9vw, 180px)));
  margin-inline: auto;
  padding: clamp(96px, 12vh, 170px) 0;
}

.institutional-eyebrow,
.institutional-section__index p,
.integration-step span,
.site-footer__links,
.site-footer__legal,
.legal-kicker {
  font-size: 10px;
  line-height: 1.65;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: rgba(190, 143, 65, 0.86);
}

.institutional-eyebrow {
  margin: 0 0 clamp(28px, 4vh, 54px);
}

.institutional-section h2 {
  margin: 0;
  font-family: "Times New Roman", Times, serif;
  font-weight: 400;
  letter-spacing: 0;
  color: rgba(245, 241, 229, 0.94);
  text-wrap: balance;
}

.institutional-section p {
  color: rgba(235, 229, 213, 0.74);
}

.protected-section__inner {
  display: grid;
  grid-template-columns: minmax(92px, 0.14fr) minmax(280px, 0.46fr) minmax(320px, 0.40fr);
  gap: clamp(34px, 5vw, 96px);
  align-items: start;
  min-height: clamp(520px, 72vh, 780px);
}

.institutional-section__index {
  padding-top: 8px;
}

.institutional-section__index span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  border: 1px solid rgba(177, 132, 58, 0.34);
  border-radius: 50%;
  color: rgba(218, 180, 105, 0.88);
  font-size: 10px;
}

.institutional-section__index i {
  display: block;
  width: 1px;
  height: clamp(100px, 20vh, 210px);
  margin-left: 16px;
  background: linear-gradient(180deg, rgba(177, 132, 58, 0.40), transparent);
}

.institutional-section__index p {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  margin: 24px 0 0 7px;
}

.protected-section__heading h2 {
  max-width: 580px;
  font-size: clamp(58px, 7.4vw, 136px);
  line-height: 0.9;
}

.protected-section__quiet {
  margin: clamp(18px, 3vh, 38px) 0 0;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(30px, 3.2vw, 58px);
  font-style: italic;
  line-height: 1;
  color: rgba(190, 143, 65, 0.82) !important;
}

.protected-section__body {
  align-self: end;
  max-width: 550px;
  padding-bottom: clamp(20px, 5vh, 70px);
}

.protected-section__body p {
  margin: 0;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(19px, 1.45vw, 25px);
  line-height: 1.55;
}

.protected-section__body p + p {
  margin-top: 24px;
}

.textual-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 42px;
  color: rgba(218, 180, 105, 0.9);
  font-size: 11px;
  letter-spacing: 0.34em;
  text-decoration: none;
  text-transform: uppercase;
}

.textual-link::before {
  content: "";
  width: 62px;
  height: 1px;
  background: rgba(218, 180, 105, 0.46);
  transition: width 420ms ease, background-color 420ms ease;
}

.textual-link:hover::before,
.textual-link:focus-visible::before {
  width: 96px;
  background: rgba(231, 194, 118, 0.72);
}

.protected-section__engraving {
  position: absolute;
  right: clamp(30px, 9vw, 160px);
  top: 16%;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  border: 1px solid rgba(177, 132, 58, 0.08);
  border-radius: 50%;
  opacity: 0.58;
  pointer-events: none;
  background:
    repeating-conic-gradient(from -18deg, rgba(218, 180, 105, 0.14) 0deg 0.35deg, transparent 0.35deg 8deg),
    radial-gradient(circle, transparent 36%, rgba(218, 180, 105, 0.08) 36.2%, transparent 36.8%, transparent 58%, rgba(242, 236, 222, 0.055) 58.2%, transparent 58.8%);
  mask-image: linear-gradient(90deg, transparent 0%, black 42%, transparent 100%);
}

.protected-section__engraving span {
  position: absolute;
  inset: 18%;
  border: 1px solid rgba(218, 180, 105, 0.07);
  border-radius: 50%;
}

.protected-section__engraving span:nth-child(2) {
  inset: 34%;
}

.protected-section__engraving span:nth-child(3) {
  inset: 49% 10%;
  height: 1px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, transparent, rgba(218, 180, 105, 0.22), transparent);
}

.integration-section__intro {
  display: grid;
  grid-template-columns: minmax(320px, 0.46fr) minmax(340px, 0.54fr);
  gap: clamp(54px, 9vw, 150px);
  align-items: end;
}

.integration-section__intro h2 {
  font-size: clamp(54px, 6.4vw, 112px);
  line-height: 0.92;
}

.integration-section__intro > p:last-child {
  max-width: 620px;
  margin: 0 0 10px;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(21px, 1.7vw, 29px);
  line-height: 1.5;
}

.integration-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 72px);
  margin: clamp(82px, 11vh, 150px) 0 0;
  padding: 0;
  list-style: none;
}

.integration-steps::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(180, 139, 73, 0.52), rgba(180, 139, 73, 0.14), rgba(180, 139, 73, 0.42));
}

.integration-step {
  position: relative;
  padding-top: clamp(30px, 4vh, 56px);
  transition: transform 520ms ease, opacity 520ms ease;
}

.integration-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28%;
  height: 1px;
  background: rgba(232, 194, 118, 0.88);
  transition: width 560ms ease, background-color 560ms ease;
}

.integration-step:hover,
.integration-step:focus-within {
  transform: translateY(-3px);
}

.integration-step:hover::before,
.integration-step:focus-within::before {
  width: 72%;
  background: rgba(242, 209, 141, 0.92);
}

.integration-step h3 {
  margin: 22px 0 18px;
  color: rgba(245, 241, 229, 0.9);
  font-size: clamp(13px, 0.95vw, 16px);
  font-weight: 600;
  letter-spacing: 0.28em;
  line-height: 1.5;
  text-transform: uppercase;
}

.integration-step p {
  max-width: 285px;
  margin: 0;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(16px, 1.16vw, 21px);
  line-height: 1.5;
}

.enquiry-section__inner {
  display: grid;
  grid-template-columns: minmax(320px, 0.38fr) minmax(520px, 0.62fr);
  gap: clamp(58px, 9vw, 150px);
  align-items: start;
  padding-bottom: clamp(110px, 14vh, 190px);
}

.enquiry-section__copy h2 {
  font-size: clamp(54px, 6vw, 108px);
  line-height: 0.92;
}

.enquiry-section__copy > p:not(.institutional-eyebrow) {
  max-width: 520px;
  margin: 30px 0 0;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(18px, 1.35vw, 24px);
  line-height: 1.55;
}

.enquiry-section__notice {
  padding-top: 24px;
  color: rgba(218, 180, 105, 0.80) !important;
  font-size: clamp(15px, 1vw, 18px) !important;
}

.partnership-note {
  margin-top: clamp(60px, 9vh, 120px);
  padding-top: 28px;
  border-top: 1px solid rgba(177, 132, 58, 0.28);
}

.partnership-note h3 {
  margin: 0 0 18px;
  color: rgba(242, 236, 222, 0.88);
  font-size: 11px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
}

.partnership-note p {
  max-width: 330px;
  margin: 0 0 20px;
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  line-height: 1.5;
}

.partnership-note a,
.site-footer a {
  color: rgba(218, 180, 105, 0.88);
  text-decoration: none;
}

.private-enquiry-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(28px, 3.2vw, 56px);
  row-gap: 30px;
  padding-top: 10px;
}

.form-field {
  position: relative;
}

.form-field--full,
.form-actions,
.form-consent {
  grid-column: 1 / -1;
}

.form-field label,
.form-consent label {
  display: block;
  margin-bottom: 10px;
  color: rgba(218, 180, 105, 0.82);
  font-size: 10px;
  letter-spacing: 0.34em;
  line-height: 1.5;
  text-transform: uppercase;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(190, 143, 65, 0.32);
  border-radius: 0;
  background: transparent;
  color: rgba(245, 241, 229, 0.94);
  font: 400 18px/1.45 "Times New Roman", Times, serif;
  outline: none;
  padding: 8px 0 14px;
  transition: border-color 360ms ease, color 360ms ease;
}

.form-field select {
  appearance: none;
  color-scheme: dark;
  background-image: linear-gradient(45deg, transparent 50%, rgba(218, 180, 105, 0.86) 50%), linear-gradient(135deg, rgba(218, 180, 105, 0.86) 50%, transparent 50%);
  background-position: calc(100% - 13px) 50%, calc(100% - 8px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.form-field select option {
  background: #080806;
  color: #f2ecde;
}

.form-field select option:first-child {
  color: rgba(242, 236, 222, 0.52);
}

.form-field select option:checked,
.form-field select option:hover {
  background: #1b1710;
  color: #f4d28a;
}

.form-field textarea {
  min-height: 150px;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-bottom-color: rgba(242, 209, 141, 0.92);
}

.form-field input[aria-invalid="true"],
.form-field select[aria-invalid="true"],
.form-field textarea[aria-invalid="true"] {
  border-bottom-color: rgba(207, 104, 86, 0.86);
}

.form-error {
  min-height: 18px;
  margin: 8px 0 0;
  color: rgba(232, 143, 120, 0.92) !important;
  font-size: 12px;
  line-height: 1.4;
}

.form-field--honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.form-consent {
  display: grid;
  grid-template-columns: 18px 1fr;
  column-gap: 14px;
  align-items: start;
  margin-top: 4px;
}

.form-consent input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: #b78b44;
}

.form-consent label {
  margin: 0;
  color: rgba(235, 229, 213, 0.72);
}

.form-consent .form-error {
  grid-column: 2;
}

.form-actions {
  margin-top: 16px;
}

.private-enquiry-form__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1px solid rgba(190, 143, 65, 0.52);
  border-radius: 0;
  background: transparent;
  color: rgba(245, 241, 229, 0.92);
  cursor: pointer;
  letter-spacing: 0.28em;
  padding: 0 28px;
  text-transform: uppercase;
  transition: border-color 420ms ease, color 420ms ease, transform 420ms ease;
}

.private-enquiry-form__submit::before {
  content: "";
  width: 48px;
  height: 1px;
  margin-right: 18px;
  background: rgba(218, 180, 105, 0.58);
  transition: width 420ms ease;
}

.private-enquiry-form__submit:hover,
.private-enquiry-form__submit:focus-visible {
  border-color: rgba(232, 194, 118, 0.74);
  color: #fff7df;
  transform: translateY(-2px);
}

.private-enquiry-form__submit:hover::before,
.private-enquiry-form__submit:focus-visible::before {
  width: 72px;
}

.private-enquiry-form__submit:disabled {
  cursor: wait;
  opacity: 0.62;
}

.form-status,
.form-direct-contact {
  margin: 18px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

.form-status[data-status="success"] {
  color: rgba(207, 190, 142, 0.95) !important;
}

.form-status[data-status="error"] {
  color: rgba(232, 143, 120, 0.94) !important;
}

.form-status[data-status="loading"] {
  color: rgba(235, 229, 213, 0.68) !important;
}

.site-footer {
  position: relative;
  background:
    linear-gradient(180deg, #030403, #020202),
    #020202;
  border-top: 1px solid rgba(177, 132, 58, 0.20);
  color: rgba(235, 229, 213, 0.72);
}

.site-footer__inner {
  width: min(1540px, calc(100% - clamp(36px, 9vw, 180px)));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.45fr) minmax(240px, 0.22fr) minmax(260px, 0.33fr);
  gap: clamp(36px, 6vw, 110px);
  padding: clamp(58px, 8vh, 100px) 0;
}

.site-footer__brand h2 {
  margin: 0 0 18px;
  color: rgba(218, 180, 105, 0.9);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.56em;
}

.site-footer__brand p {
  max-width: 360px;
  margin: 0 0 20px;
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  line-height: 1.5;
}

.site-footer__links {
  display: grid;
  gap: 16px;
  align-content: start;
}

.site-footer__legal {
  display: grid;
  gap: 12px;
  margin: 0;
}

.site-footer__legal div {
  display: grid;
  grid-template-columns: 0.45fr 0.55fr;
  gap: 18px;
}

.site-footer__legal dt {
  color: rgba(218, 180, 105, 0.72);
}

.site-footer__legal dd {
  margin: 0;
  color: rgba(235, 229, 213, 0.72);
}

.site-footer__copyright {
  grid-column: 1 / -1;
  margin: clamp(40px, 6vh, 80px) 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(177, 132, 58, 0.16);
  color: rgba(235, 229, 213, 0.48);
  font-size: 12px;
  letter-spacing: 0.12em;
}

.legal-page-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% 10%, rgba(177, 132, 58, 0.08), transparent 34%),
    linear-gradient(180deg, #060706, #020202);
  color: rgba(242, 236, 222, 0.86);
}

.legal-header {
  border-bottom: 1px solid rgba(177, 132, 58, 0.18);
}

.legal-header__inner,
.legal-main,
.legal-footer {
  width: min(1320px, calc(100% - clamp(34px, 9vw, 160px)));
  margin-inline: auto;
}

.legal-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 78px;
}

.legal-brand {
  color: rgba(218, 180, 105, 0.9);
  font-size: 15px;
  letter-spacing: 0.52em;
  text-decoration: none;
}

.legal-header nav {
  display: flex;
  gap: 30px;
}

.legal-header nav a,
.legal-index a {
  color: rgba(235, 229, 213, 0.70);
  font-size: 10px;
  letter-spacing: 0.34em;
  text-decoration: none;
  text-transform: uppercase;
}

.legal-main {
  display: grid;
  grid-template-columns: 240px minmax(0, 760px);
  gap: clamp(50px, 9vw, 140px);
  padding: clamp(80px, 12vh, 150px) 0;
}

.legal-index {
  position: sticky;
  top: 110px;
  align-self: start;
  display: grid;
  gap: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(177, 132, 58, 0.30);
}

.legal-content h1 {
  margin: 20px 0 52px;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(54px, 7vw, 112px);
  font-weight: 400;
  line-height: 0.92;
  color: rgba(245, 241, 229, 0.94);
}

.legal-content section {
  padding: 34px 0;
  border-top: 1px solid rgba(177, 132, 58, 0.18);
}

.legal-content h2 {
  margin: 0 0 18px;
  color: rgba(218, 180, 105, 0.86);
  font-size: 12px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.legal-content p,
.legal-content li {
  color: rgba(235, 229, 213, 0.76);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(18px, 1.35vw, 23px);
  line-height: 1.55;
}

.legal-content ul {
  margin: 0;
  padding-left: 20px;
}

.legal-data {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.legal-data div {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 24px;
  padding-top: 12px;
  border-top: 1px solid rgba(177, 132, 58, 0.14);
}

.legal-data dt {
  color: rgba(218, 180, 105, 0.76);
  font-size: 10px;
  letter-spacing: 0.30em;
  text-transform: uppercase;
}

.legal-data dd {
  margin: 0;
  color: rgba(235, 229, 213, 0.78);
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
}

.legal-footer {
  padding: 34px 0 54px;
  border-top: 1px solid rgba(177, 132, 58, 0.16);
  color: rgba(235, 229, 213, 0.48);
  font-size: 12px;
  letter-spacing: 0.12em;
}

@media (max-width: 1120px) {
  .protected-section__inner,
  .integration-section__intro,
  .enquiry-section__inner,
  .site-footer__inner {
    grid-template-columns: 1fr;
  }

  .institutional-section__index {
    display: none;
  }

  .protected-section__body {
    align-self: start;
    padding-bottom: 0;
  }

  .protected-section__engraving {
    right: -18vw;
    top: 9%;
    width: 68vw;
  }

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

@media (max-width: 760px) {
  .institutional-section__inner,
  .site-footer__inner,
  .legal-header__inner,
  .legal-main,
  .legal-footer {
    width: calc(100% - 40px);
  }

  .institutional-section__inner {
    padding: 82px 0;
  }

  .protected-section__heading h2,
  .integration-section__intro h2,
  .enquiry-section__copy h2 {
    font-size: clamp(46px, 14vw, 72px);
  }

  .integration-steps {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .integration-steps::before {
    left: 12px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 1px;
    height: auto;
  }

  .integration-step {
    padding: 28px 0 34px 42px;
  }

  .integration-step::before {
    top: 35px;
    width: 26px;
  }

  .private-enquiry-form {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .private-enquiry-form__submit {
    width: 100%;
    padding-inline: 18px;
    letter-spacing: 0.20em;
  }

  .site-footer__legal div,
  .legal-data div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .legal-header__inner {
    min-height: 92px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
  }

  .legal-header nav {
    flex-wrap: wrap;
    gap: 14px 22px;
  }

  .legal-main {
    display: block;
  }

  .legal-index {
    position: static;
    margin-bottom: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .textual-link::before,
  .integration-step,
  .integration-step::before,
  .private-enquiry-form__submit,
  .private-enquiry-form__submit::before,
  .form-field input,
  .form-field select,
  .form-field textarea {
    transition-duration: 0.001ms !important;
  }
}

/* =========================================================
   Cross-device hardening
   Keeps the luxury composition intact while preventing
   overflow, clipped controls and sticky failures on small viewports.
   ========================================================= */

body,
.site,
.page-content {
  width: 100%;
}

.site,
.page-content,
.page-section,
.section-inner,
.concept__paper,
.concept__copy,
.applications__sticky,
.applications__copy,
.applications__stage,
.applications__rows,
.institutional-section__inner,
.protected-section__heading,
.protected-section__body,
.integration-section__intro,
.integration-step,
.enquiry-section__copy,
.private-enquiry-form,
.site-footer__inner,
.legal-main,
.legal-content {
  min-width: 0;
}

.applications__subheadline,
.applications__b2b-line,
.applications__row h3,
.applications__row p,
.applications__closing,
.institutional-section p,
.integration-step h3,
.integration-step p,
.enquiry-section__copy p,
.partnership-note,
.private-enquiry-form,
.site-footer,
.legal-content {
  overflow-wrap: anywhere;
}

.private-enquiry-form input,
.private-enquiry-form select,
.private-enquiry-form textarea {
  min-width: 0;
}

@media (max-width: 820px) {
  .primary-navigation {
    overflow-y: auto;
    overscroll-behavior: contain;
    justify-content: flex-start;
    padding-top: calc(var(--header-height) + env(safe-area-inset-top) + 36px);
    padding-bottom: calc(42px + env(safe-area-inset-bottom));
  }

  .primary-navigation .nav-link {
    max-width: 100%;
    line-height: 0.96;
  }
}

@media (max-width: 1120px) {
  #applications {
    min-height: auto !important;
    overflow: visible !important;
  }

  #applications .applications__sticky {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(42px, 7vw, 72px) !important;
    padding:
      calc(var(--header-height) + clamp(44px, 8vw, 78px))
      clamp(22px, 7vw, 74px)
      clamp(76px, 12vw, 120px) !important;
    overflow: visible !important;
  }

  #applications .applications__copy,
  #applications .applications__stage {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 860px !important;
    margin-inline: auto !important;
    transform: none !important;
  }

  #applications .applications__copy {
    text-align: left !important;
  }

  #applications .applications__chapter {
    position: relative !important;
    inset: auto !important;
    margin-bottom: clamp(26px, 5vw, 44px) !important;
  }

  #applications .applications__headline span {
    font-size: clamp(54px, 12vw, 96px) !important;
  }

  #applications .applications__headline em {
    font-size: clamp(42px, 9.5vw, 76px) !important;
  }

  #applications .applications__subheadline {
    max-width: 640px !important;
    font-size: clamp(17px, 2.2vw, 21px) !important;
  }

  #applications .applications__b2b-line {
    max-width: 660px !important;
  }

  #applications .applications__stage {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    gap: clamp(30px, 5vw, 52px) !important;
    min-height: auto !important;
    padding: 0 !important;
  }

  #applications .applications__stage::before,
  #applications .applications__stage::after {
    display: none !important;
  }

  #applications .applications__stage .applications__maison-study {
    width: min(100%, 760px) !important;
    aspect-ratio: 820 / 390 !important;
    min-height: 0 !important;
    height: auto !important;
    justify-self: center !important;
    transform: none !important;
    background-size: cover !important;
  }

  #applications .applications__rows,
  #applications .applications__closing {
    width: min(100%, 820px) !important;
    justify-self: center !important;
  }

  #applications .applications__row {
    grid-template-columns: 48px minmax(150px, 0.36fr) minmax(0, 1fr) !important;
    gap: clamp(18px, 4vw, 34px) !important;
    min-height: auto !important;
    padding: clamp(16px, 3vw, 24px) 0 !important;
  }
}

@media (max-width: 640px) {
  .section-inner,
  .institutional-section__inner,
  .site-footer__inner,
  .legal-header__inner,
  .legal-main,
  .legal-footer {
    width: calc(100% - 32px) !important;
  }

  .hero {
    height: min(640px, 86svh);
    min-height: 520px;
  }

  .statement {
    height: auto;
    min-height: 260px;
    padding-block: 56px;
  }

  #applications .applications__sticky {
    padding-inline: 18px !important;
  }

  #applications .applications__headline span {
    font-size: clamp(46px, 14.5vw, 68px) !important;
  }

  #applications .applications__headline em {
    font-size: clamp(38px, 11.5vw, 58px) !important;
  }

  #applications .applications__stage .applications__maison-study {
    width: 100% !important;
    min-height: 210px !important;
    aspect-ratio: 820 / 430 !important;
    background-position: 58% center !important;
  }

  #applications .applications__row {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  #applications .applications__row p {
    grid-column: 2 !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    font-size: 15px !important;
  }

  #applications .applications__closing {
    font-size: clamp(25px, 8vw, 36px) !important;
  }

  .protected-section__engraving {
    display: none;
  }

  .textual-link {
    letter-spacing: 0.22em;
  }

  .textual-link::before {
    width: 34px;
  }

  .legal-content h1 {
    font-size: clamp(44px, 13vw, 70px);
  }
}

@media (max-width: 420px) {
  .nav-link {
    font-size: clamp(30px, 11vw, 46px);
  }

  .brand__word {
    letter-spacing: 0.38em;
  }

  .private-enquiry-form__submit {
    min-height: 54px;
    font-size: 11px;
  }

  .private-enquiry-form__submit::before {
    width: 28px;
    margin-right: 12px;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .hero {
    height: 100svh;
    min-height: 460px;
  }

  .primary-navigation {
    justify-content: flex-start;
    gap: 6px;
  }

  .primary-navigation .nav-link {
    font-size: clamp(26px, 7vh, 40px);
    padding-block: 7px;
  }

  .concept__sticky {
    min-height: 520px;
  }
}

/* Failsafe visibility: if the enhancement script does not complete online,
   animated sections remain readable instead of collapsing into a black panel. */
html:not(.northu-enhanced) .site-header {
  opacity: 1;
  transform: none;
}

html:not(.northu-enhanced) .statement__line {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

html:not(.northu-enhanced) .concept {
  min-height: auto !important;
}

html:not(.northu-enhanced) .concept__sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: clamp(680px, 92svh, 900px) !important;
}

html:not(.northu-enhanced) .concept__sentence--one,
html:not(.northu-enhanced) .concept__sentence--two,
html:not(.northu-enhanced) .concept__sentence--three {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

html:not(.northu-enhanced) .concept__sentence--one {
  top: 0;
  transform: translateY(-0.9em) !important;
}

html:not(.northu-enhanced) .concept__sentence--two {
  transform: translateY(0.25em) !important;
}

html:not(.northu-enhanced) .concept__sentence--three {
  transform: translateY(2.9em) !important;
}

html:not(.northu-enhanced) .concept__pair,
html:not(.northu-enhanced) .concept-object {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

html:not(.northu-enhanced) .concept__answer {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

html:not(.northu-enhanced) .applications {
  min-height: auto !important;
  overflow: visible !important;
}

html:not(.northu-enhanced) .applications__sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
}

html:not(.northu-enhanced) .applications__editorial,
html:not(.northu-enhanced) .applications__headline,
html:not(.northu-enhanced) .applications__subheadline,
html:not(.northu-enhanced) .applications__b2b-line,
html:not(.northu-enhanced) .applications__stage,
html:not(.northu-enhanced) .applications__rows,
html:not(.northu-enhanced) .applications__closing {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

@media (max-width: 820px) {
  html:not(.northu-enhanced) .concept__sticky {
    min-height: auto !important;
    padding: calc(var(--header-height) + 46px) 20px 82px;
  }

  html:not(.northu-enhanced) .concept__copy,
  html:not(.northu-enhanced) .concept__answer {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 620px) !important;
    margin-inline: auto !important;
    transform: none !important;
  }

  html:not(.northu-enhanced) .concept__sentence {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    margin: 0 auto 18px !important;
    text-align: center !important;
    transform: none !important;
  }

  html:not(.northu-enhanced) .concept__pair {
    display: none !important;
  }
}

/* =========================================================
   Production visibility override
   The public site must never rely on scroll-driven sticky states
   for its core narrative. These two sections are now static,
   readable and fully visible on every device.
   ========================================================= */

#concept {
  min-height: auto !important;
  overflow: visible !important;
}

#concept .concept__sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: auto !important;
  overflow: hidden !important;
  padding:
    calc(var(--header-height) + clamp(76px, 10vh, 130px))
    clamp(24px, 7vw, 110px)
    clamp(96px, 12vh, 150px) !important;
}

#concept .concept__paper {
  position: relative !important;
  inset: auto !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.42fr) minmax(320px, 0.58fr) !important;
  align-items: center !important;
  gap: clamp(46px, 7vw, 128px) !important;
  overflow: visible !important;
  isolation: isolate !important;
  background:
    radial-gradient(ellipse at 72% 42%, rgba(48, 218, 214, 0.08), transparent 38%),
    radial-gradient(ellipse at 22% 46%, rgba(215, 162, 68, 0.10), transparent 40%),
    linear-gradient(112deg, #16130f 0%, #11130f 48%, #071310 100%) !important;
}

#concept .concept__chapter {
  position: absolute !important;
  top: clamp(28px, 4vh, 46px) !important;
  left: clamp(24px, 7vw, 110px) !important;
}

#concept .concept__copy {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  min-height: auto !important;
  display: grid !important;
  gap: clamp(18px, 3vh, 34px) !important;
  text-align: left !important;
  transform: none !important;
}

#concept .concept__sentence {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  place-items: unset !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

#concept .concept__sentence--one {
  color: rgba(215, 162, 68, 0.86) !important;
  font-size: 11px !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
}

#concept .concept__sentence--two {
  max-width: 620px !important;
  color: rgba(245, 239, 225, 0.94) !important;
  font-size: clamp(64px, 6.5vw, 122px) !important;
  line-height: 0.92 !important;
  letter-spacing: 0 !important;
}

#concept .concept__sentence--three {
  max-width: 520px !important;
  color: rgba(242, 234, 216, 0.76) !important;
  font-size: clamp(27px, 2.6vw, 46px) !important;
  line-height: 1.12 !important;
}

#concept .concept__pair {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: min(100%, 700px) !important;
  height: clamp(300px, 35vw, 470px) !important;
  justify-self: end !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

#concept .concept-object {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

#concept .concept-object--gold {
  left: 4% !important;
  transform: translate3d(0, -50%, 0) rotateY(10deg) scale(1) !important;
}

#concept .concept-object--teal {
  right: 4% !important;
  transform: translate3d(0, -50%, 0) rotateY(-10deg) scale(1) !important;
}

#concept .concept__connection {
  transform: translateY(-50%) scaleX(1) !important;
}

#concept .concept__answer {
  position: absolute !important;
  right: clamp(24px, 7vw, 110px) !important;
  bottom: clamp(42px, 7vh, 88px) !important;
  left: auto !important;
  top: auto !important;
  width: min(430px, 34vw) !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  text-align: right !important;
}

#concept .concept__answer-prefix,
#concept .concept__answer-word {
  text-align: right !important;
}

#concept .concept__answer-word {
  font-size: clamp(72px, 7.2vw, 138px) !important;
}

#concept .concept__rail {
  display: none !important;
}

#applications {
  min-height: auto !important;
  overflow: visible !important;
}

#applications .applications__sticky {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%) !important;
  align-items: center !important;
  gap: clamp(46px, 6vw, 112px) !important;
  padding:
    calc(var(--header-height) + clamp(70px, 9vh, 118px))
    clamp(24px, 7vw, 132px)
    clamp(90px, 12vh, 150px) !important;
  overflow: visible !important;
}

#applications .applications__copy,
#applications .applications__stage {
  position: relative !important;
  grid-row: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

#applications .applications__copy {
  grid-column: 1 !important;
  width: 100% !important;
  align-self: center !important;
}

#applications .applications__stage {
  grid-column: 2 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  gap: clamp(24px, 3vh, 42px) !important;
  min-height: auto !important;
  align-self: center !important;
}

#applications .applications__chapter {
  position: relative !important;
  inset: auto !important;
  margin-bottom: clamp(26px, 4vh, 48px) !important;
}

#applications .applications__editorial,
#applications .applications__headline,
#applications .applications__subheadline,
#applications .applications__b2b-line,
#applications .applications__rows,
#applications .applications__closing {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

#applications .applications__headline span {
  font-size: clamp(64px, 5.7vw, 108px) !important;
}

#applications .applications__headline em {
  font-size: clamp(48px, 4.3vw, 78px) !important;
}

#applications .applications__stage .applications__maison-study {
  width: min(680px, 100%) !important;
  aspect-ratio: 820 / 390 !important;
  min-height: 0 !important;
  height: auto !important;
  justify-self: end !important;
  align-self: start !important;
  transform: none !important;
}

#applications .applications__rows,
#applications .applications__closing {
  width: min(820px, 100%) !important;
  justify-self: end !important;
}

#applications .applications__rows {
  display: grid !important;
  grid-template-rows: repeat(4, auto) !important;
  min-height: auto !important;
}

#applications .applications__row {
  grid-template-columns: 54px minmax(170px, 0.34fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 2.6vw, 42px) !important;
  min-height: auto !important;
  padding: clamp(14px, 1.8vh, 22px) 0 !important;
}

@media (max-width: 1120px) {
  #concept .concept__paper,
  #applications .applications__sticky {
    grid-template-columns: 1fr !important;
  }

  #concept .concept__pair,
  #concept .concept__answer,
  #applications .applications__copy,
  #applications .applications__stage {
    grid-column: 1 !important;
    justify-self: center !important;
    width: min(100%, 820px) !important;
  }

  #concept .concept__answer {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 12px !important;
    text-align: left !important;
  }

  #concept .concept__answer-prefix,
  #concept .concept__answer-word {
    text-align: left !important;
  }
}

@media (max-width: 680px) {
  #concept .concept__sticky,
  #applications .applications__sticky {
    padding:
      calc(var(--header-height) + 46px)
      20px
      78px !important;
  }

  #concept .concept__paper {
    display: block !important;
  }

  #concept .concept__copy {
    text-align: left !important;
  }

  #concept .concept__sentence--two {
    font-size: clamp(52px, 15vw, 76px) !important;
  }

  #concept .concept__sentence--three {
    font-size: clamp(26px, 7.5vw, 38px) !important;
  }

  #concept .concept__pair {
    height: 260px !important;
    margin-top: 42px !important;
  }

  #concept .concept-object {
    width: clamp(128px, 38vw, 180px) !important;
  }

  #concept .concept__answer-word {
    font-size: clamp(72px, 22vw, 108px) !important;
  }

  #applications .applications__headline span {
    font-size: clamp(48px, 15vw, 72px) !important;
  }

  #applications .applications__headline em {
    font-size: clamp(38px, 11vw, 58px) !important;
  }

  #applications .applications__stage .applications__maison-study {
    width: 100% !important;
    min-height: 210px !important;
  }

  #applications .applications__row {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  #applications .applications__row p {
    grid-column: 2 !important;
    margin-top: 8px !important;
  }
}

/* Production spacing refinement: prevent Concept/Applications collision
   and tighten the Applications -> IP transition. */

#concept {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: clamp(54px, 8vh, 100px) !important;
  background: #11120f !important;
}

#concept .concept__sticky {
  padding-bottom: clamp(86px, 12vh, 150px) !important;
}

#concept .concept__paper {
  min-height: clamp(520px, 62vh, 700px) !important;
  padding: clamp(34px, 4vw, 72px) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(218, 180, 105, 0.045) !important;
}

#applications {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
  clear: both !important;
}

#applications .applications__sticky {
  padding-top: clamp(78px, 10vh, 128px) !important;
}

#applications .applications__closing {
  margin-bottom: 0 !important;
}

.institutional-transition {
  min-height: clamp(46px, 7vh, 86px) !important;
  background:
    linear-gradient(180deg, rgba(2, 2, 2, 0), rgba(8, 8, 7, 0.78) 50%, rgba(3, 4, 3, 0)) !important;
}

.institutional-transition span {
  display: none !important;
}

.institutional-transition::before {
  inset-inline: clamp(42px, 10vw, 190px) !important;
  opacity: 0.62 !important;
}

.protected-section .institutional-section__index {
  display: none !important;
}

.protected-section__inner {
  grid-template-columns: minmax(320px, 0.48fr) minmax(360px, 0.52fr) !important;
  gap: clamp(48px, 7vw, 120px) !important;
  min-height: auto !important;
  padding-top: clamp(72px, 9vh, 118px) !important;
}

.protected-section__heading {
  grid-column: 1 !important;
}

.protected-section__body {
  grid-column: 2 !important;
  align-self: end !important;
  padding-bottom: clamp(8px, 2vh, 28px) !important;
}

@media (max-width: 1120px) {
  #concept {
    margin-bottom: clamp(42px, 7vw, 72px) !important;
  }

  #concept .concept__paper {
    min-height: auto !important;
  }

  .protected-section__inner {
    grid-template-columns: 1fr !important;
    padding-top: clamp(58px, 9vw, 90px) !important;
  }

  .protected-section__heading,
  .protected-section__body {
    grid-column: 1 !important;
  }
}

@media (max-width: 680px) {
  #concept .concept__paper {
    padding: 28px 20px !important;
  }

  .institutional-transition {
    min-height: 42px !important;
  }

  .protected-section__inner {
    padding-top: 54px !important;
  }
}

/* Editorial rhythm pass: closer, more cinematic continuity between sections. */

#concept {
  margin-bottom: 0 !important;
}

#concept .concept__sticky {
  padding-bottom: clamp(42px, 6vh, 76px) !important;
  background:
    linear-gradient(180deg, #11120f 0%, #10110e 78%, #030303 100%) !important;
}

#concept .concept__paper {
  min-height: clamp(500px, 58vh, 640px) !important;
  transform: translateY(clamp(0px, 1vh, 12px)) !important;
}

#applications {
  margin-top: clamp(-70px, -6vh, -34px) !important;
  background:
    linear-gradient(180deg, #030303 0%, #020202 20%, #050504 100%) !important;
}

#applications .applications__sticky {
  padding-top: clamp(54px, 7vh, 86px) !important;
  padding-bottom: clamp(52px, 7vh, 86px) !important;
}

#applications .applications__stage {
  gap: clamp(18px, 2.4vh, 30px) !important;
}

#applications .applications__stage .applications__maison-study {
  margin-bottom: clamp(-8px, -1vh, 0px) !important;
}

#applications .applications__rows {
  min-height: auto !important;
}

#applications .applications__row {
  padding-top: clamp(10px, 1.3vh, 16px) !important;
  padding-bottom: clamp(10px, 1.3vh, 16px) !important;
}

#applications .applications__closing {
  margin-top: clamp(14px, 2.2vh, 26px) !important;
  padding-top: clamp(14px, 2vh, 22px) !important;
}

.institutional-transition {
  min-height: clamp(22px, 3.5vh, 42px) !important;
  margin-top: clamp(-10px, -1.2vh, 0px) !important;
  margin-bottom: clamp(-4px, -0.5vh, 0px) !important;
  background:
    linear-gradient(180deg, rgba(2, 2, 2, 0), rgba(177, 132, 58, 0.035), rgba(3, 4, 3, 0)) !important;
}

.institutional-transition::before {
  top: 48% !important;
  opacity: 0.42 !important;
}

.institutional-section__inner {
  padding-top: clamp(74px, 9vh, 118px) !important;
  padding-bottom: clamp(78px, 9vh, 126px) !important;
}

.protected-section__inner {
  padding-top: clamp(44px, 6vh, 82px) !important;
  padding-bottom: clamp(74px, 9vh, 120px) !important;
}

.protected-section {
  background:
    radial-gradient(circle at 72% 16%, rgba(177, 132, 58, 0.09), transparent 32%),
    linear-gradient(180deg, #030403 0%, #060605 54%, #030403 100%) !important;
}

.protected-section__heading h2 {
  margin-top: clamp(8px, 1vh, 14px) !important;
}

.integration-section .institutional-section__inner {
  padding-top: clamp(78px, 9vh, 128px) !important;
}

.integration-steps {
  margin-top: clamp(58px, 7vh, 96px) !important;
}

.enquiry-section__inner {
  padding-top: clamp(74px, 9vh, 118px) !important;
  padding-bottom: clamp(88px, 10vh, 140px) !important;
}

@media (max-width: 1120px) {
  #applications {
    margin-top: 0 !important;
  }

  #concept .concept__sticky,
  #applications .applications__sticky {
    padding-top: clamp(62px, 8vw, 96px) !important;
    padding-bottom: clamp(58px, 8vw, 92px) !important;
  }

  .institutional-section__inner,
  .protected-section__inner,
  .enquiry-section__inner {
    padding-top: clamp(58px, 9vw, 90px) !important;
    padding-bottom: clamp(64px, 9vw, 96px) !important;
  }
}

@media (max-width: 680px) {
  #concept .concept__sticky,
  #applications .applications__sticky {
    padding-top: calc(var(--header-height) + 34px) !important;
    padding-bottom: 58px !important;
  }

  #concept .concept__paper {
    transform: none !important;
  }

  .institutional-transition {
    min-height: 24px !important;
  }

  .institutional-section__inner,
  .protected-section__inner,
  .enquiry-section__inner {
    padding-top: 50px !important;
    padding-bottom: 58px !important;
  }
}

/* Final production correction:
   no visual element may invade the previous section;
   Applications must close directly into IP with only a controlled hairline pause. */

#concept {
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

#concept .concept__sticky {
  padding-bottom: clamp(38px, 5vh, 64px) !important;
}

#concept .concept__paper {
  transform: none !important;
  min-height: clamp(480px, 56vh, 620px) !important;
}

#applications {
  margin-top: 0 !important;
  overflow: hidden !important;
  contain: paint !important;
  z-index: 1 !important;
}

#applications .applications__sticky {
  overflow: hidden !important;
  min-height: auto !important;
  height: auto !important;
  padding-top: clamp(42px, 5.5vh, 72px) !important;
  padding-bottom: clamp(22px, 3vh, 42px) !important;
}

#applications .applications__stage::before {
  content: none !important;
  display: none !important;
}

#applications .applications__stage {
  overflow: hidden !important;
  gap: clamp(14px, 1.8vh, 26px) !important;
}

#applications .applications__stage .applications__maison-study {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
  align-self: start !important;
}

#applications .applications__rows {
  margin-top: clamp(4px, 0.7vh, 10px) !important;
}

#applications .applications__closing {
  margin-top: clamp(10px, 1.4vh, 18px) !important;
  padding-top: clamp(10px, 1.4vh, 18px) !important;
  margin-bottom: 0 !important;
}

#applications .applications__chapter {
  margin-bottom: clamp(18px, 2.4vh, 28px) !important;
}

.institutional-transition {
  min-height: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  background: rgba(177, 132, 58, 0.16) !important;
}

.institutional-transition::before,
.institutional-transition::after,
.institutional-transition span {
  display: none !important;
}

.protected-section__inner {
  padding-top: clamp(34px, 4.6vh, 62px) !important;
}

.protected-section__heading .institutional-eyebrow {
  margin-bottom: clamp(18px, 2.4vh, 30px) !important;
}

@media (min-width: 1121px) {
  #applications .applications__sticky {
    position: relative !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%) !important;
    padding-top: clamp(46px, 5.5vh, 74px) !important;
    padding-bottom: clamp(20px, 2.8vh, 38px) !important;
  }

  #applications .applications__chapter {
    position: absolute !important;
    inset: clamp(58px, 6.5vh, 86px) auto auto clamp(88px, 7vw, 150px) !important;
    margin: 0 !important;
    z-index: 3 !important;
  }

  #applications .applications__copy {
    padding-top: clamp(86px, 9.5vh, 128px) !important;
  }

  #applications .applications__stage {
    gap: clamp(12px, 1.5vh, 22px) !important;
  }

  #applications .applications__stage .applications__maison-study {
    width: min(560px, 36vw) !important;
    margin-top: clamp(34px, 4vh, 56px) !important;
  }

  #applications .applications__closing {
    margin-top: clamp(10px, 1.3vh, 18px) !important;
    padding-top: clamp(10px, 1.3vh, 18px) !important;
  }
}

@media (max-width: 1120px) {
  #concept .concept__sticky {
    padding-bottom: clamp(34px, 6vw, 56px) !important;
  }

  #applications .applications__sticky {
    min-height: auto !important;
    height: auto !important;
    padding-top: clamp(38px, 6vw, 64px) !important;
    padding-bottom: clamp(24px, 4vw, 44px) !important;
  }

  .protected-section__inner {
    padding-top: clamp(38px, 6vw, 62px) !important;
  }
}

@media (max-width: 680px) {
  #concept .concept__sticky,
  #applications .applications__sticky {
    padding-top: calc(var(--header-height) + 30px) !important;
    padding-bottom: 42px !important;
  }

  .protected-section__inner {
    padding-top: 38px !important;
  }
}

/* Luxury footer signature */

.site-footer {
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 8%, rgba(177, 132, 58, 0.095), transparent 30%),
    radial-gradient(circle at 18% 100%, rgba(128, 150, 126, 0.055), transparent 34%),
    linear-gradient(180deg, #030403 0%, #010101 62%, #040403 100%) !important;
  border-top: 0 !important;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(218, 180, 105, 0.28) 18%, rgba(218, 180, 105, 0.08) 50%, rgba(218, 180, 105, 0.22) 82%, transparent),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.012) 0 1px, transparent 1px 58px);
  background-size: 100% 1px, auto, auto;
  background-repeat: no-repeat, repeat, repeat;
  background-position: top center, center, center;
  opacity: 0.72;
}

.site-footer::after {
  content: "";
  position: absolute;
  inset: 1px 0 auto;
  height: clamp(120px, 18vh, 220px);
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.62), transparent);
}

.site-footer__inner {
  width: min(1540px, calc(100% - clamp(36px, 9vw, 180px))) !important;
  grid-template-columns: minmax(360px, 0.52fr) minmax(260px, 0.22fr) minmax(360px, 0.26fr) !important;
  gap: clamp(42px, 7vw, 128px) !important;
  padding: clamp(76px, 10vh, 132px) 0 clamp(34px, 5vh, 58px) !important;
}

.site-footer__kicker,
.site-footer__column-label {
  margin: 0 0 clamp(18px, 2.4vh, 28px);
  color: rgba(218, 180, 105, 0.78);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.48em;
  line-height: 1.8;
}

.site-footer__brand h2 {
  margin: 0 0 clamp(24px, 3.4vh, 42px) !important;
  color: rgba(242, 236, 222, 0.94) !important;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(52px, 5.8vw, 108px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  line-height: 0.88;
  text-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

.site-footer__statement {
  max-width: 500px !important;
  margin: 0 !important;
  color: rgba(242, 236, 222, 0.84);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(22px, 2vw, 34px) !important;
  line-height: 1.28 !important;
}

.site-footer__signature {
  position: relative;
  max-width: 460px;
  margin: clamp(30px, 4.5vh, 56px) 0 0;
  padding-top: clamp(20px, 2.8vh, 34px);
  color: rgba(202, 154, 69, 0.88);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(18px, 1.45vw, 26px);
  font-style: italic;
  line-height: 1.35;
}

.site-footer__signature::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(48px, 6vw, 92px);
  height: 1px;
  background: linear-gradient(90deg, rgba(218, 180, 105, 0.86), transparent);
}

.site-footer__contact {
  align-self: end;
  padding-bottom: clamp(8px, 1.2vh, 18px);
}

.site-footer__contact p:not(.site-footer__column-label) {
  max-width: 280px;
  margin: clamp(18px, 2.4vh, 28px) 0 0;
  color: rgba(235, 229, 213, 0.58);
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.55;
}

.site-footer__email {
  color: rgba(242, 236, 222, 0.88) !important;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(20px, 1.7vw, 30px);
  letter-spacing: 0.03em;
  text-decoration: none;
}

.site-footer__email::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 220px;
  height: 1px;
  margin-top: 13px;
  background: linear-gradient(90deg, rgba(218, 180, 105, 0.72), transparent);
  transform-origin: left;
  transition: transform 700ms ease, opacity 700ms ease;
}

.site-footer__email:hover::after,
.site-footer__email:focus-visible::after {
  transform: scaleX(1.22);
  opacity: 0.72;
}

.site-footer__directory {
  display: grid;
  grid-template-columns: minmax(150px, 0.45fr) minmax(190px, 0.55fr);
  gap: clamp(28px, 4vw, 72px);
  align-self: end;
}

.site-footer__directory:has(.site-footer__legal[hidden]) {
  grid-template-columns: minmax(180px, 0.72fr);
}

.site-footer__links {
  gap: 14px !important;
}

.site-footer__links a {
  width: fit-content;
  color: rgba(235, 229, 213, 0.66) !important;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.34em;
  line-height: 1.7;
  text-decoration: none;
  transition: color 520ms ease, transform 520ms ease;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
  color: rgba(218, 180, 105, 0.92) !important;
  transform: translateX(3px);
}

.site-footer__legal {
  gap: 15px !important;
  align-content: start;
}

.site-footer__legal div {
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(218, 180, 105, 0.08);
}

.site-footer__legal dt {
  color: rgba(218, 180, 105, 0.58) !important;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.site-footer__legal dd {
  color: rgba(235, 229, 213, 0.68) !important;
  font-family: "Times New Roman", Times, serif;
  font-size: 15px;
  line-height: 1.45;
}

.site-footer__copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-column: 1 / -1;
  margin: clamp(58px, 8vh, 104px) 0 0 !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(218, 180, 105, 0.14) !important;
  color: rgba(235, 229, 213, 0.42) !important;
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
}

.site-footer__copyright::after {
  content: "NOT NORTH. YOU.";
  color: rgba(218, 180, 105, 0.48);
  letter-spacing: 0.36em;
}

@media (max-width: 1120px) {
  .site-footer__inner {
    grid-template-columns: 1fr 1fr !important;
    padding-top: clamp(64px, 9vw, 100px) !important;
  }

  .site-footer__brand {
    grid-column: 1 / -1;
  }

  .site-footer__directory {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .site-footer__inner {
    width: min(100% - 40px, 560px) !important;
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    padding: 62px 0 34px !important;
  }

  .site-footer__brand h2 {
    font-size: clamp(44px, 16vw, 72px) !important;
    letter-spacing: 0.12em !important;
  }

  .site-footer__statement {
    font-size: 22px !important;
  }

  .site-footer__contact,
  .site-footer__directory {
    align-self: start;
  }

  .site-footer__copyright {
    display: block;
    line-height: 1.8;
  }

  .site-footer__copyright::after {
    display: block;
    margin-top: 10px;
  }
}

/* Opening rhythm refinement:
   reduces empty pauses between Hero, Manifesto and The Idea. */

.hero {
  height: clamp(560px, 66svh, 720px) !important;
}

.hero__bottom-fade {
  height: clamp(46px, 7vh, 86px) !important;
}

.statement {
  height: clamp(214px, 26svh, 280px) !important;
  min-height: 0 !important;
}

.statement::before {
  height: clamp(54px, 7vh, 84px) !important;
}

.statement::after {
  height: clamp(64px, 8vh, 96px) !important;
}

.statement__inner {
  padding-top: clamp(8px, 1.2vw, 18px) !important;
  padding-bottom: clamp(18px, 2.4vw, 32px) !important;
}

.statement__copy {
  font-size: clamp(52px, 5vw, 72px) !important;
  line-height: 0.88 !important;
}

#concept {
  margin-top: 0 !important;
}

#concept .concept__sticky {
  padding-top: clamp(18px, 2.4vh, 34px) !important;
}

#concept .concept__paper {
  min-height: clamp(455px, 52vh, 600px) !important;
}

#concept .concept__chapter {
  top: clamp(30px, 5vh, 58px) !important;
}

@media (max-width: 820px) {
  .hero {
    height: clamp(520px, 68svh, 640px) !important;
  }

  .statement {
    height: clamp(210px, 28svh, 260px) !important;
  }

  .statement__inner {
    padding-top: 12px !important;
    padding-bottom: 24px !important;
  }
}

@media (max-width: 640px) {
  .hero {
    height: min(560px, 78svh) !important;
    min-height: 480px !important;
  }

  .statement {
    min-height: 220px !important;
    padding-block: 34px !important;
  }
}

/* Concept answer signature:
   "The other." closes the left-side statement, below the copy. */

#concept .concept__copy .concept__answer {
  position: relative !important;
  inset: auto !important;
  width: min(440px, 100%) !important;
  margin: clamp(6px, 1.3vh, 16px) 0 0 !important;
  justify-self: start !important;
  align-self: start !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter:
    drop-shadow(0 1px 0 rgba(255, 248, 223, 0.18))
    drop-shadow(0 18px 34px rgba(0, 0, 0, 0.34)) !important;
  text-align: left !important;
}

#concept .concept__copy .concept__answer::before {
  content: "";
  position: absolute;
  left: -8%;
  top: 38%;
  z-index: -1;
  width: min(360px, 42vw);
  height: 92px;
  opacity: 0.22;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 34% 52%, rgba(255, 232, 174, 0.24), transparent 62%),
    linear-gradient(90deg, rgba(218, 180, 105, 0.10), transparent 72%);
  filter: blur(22px);
}

#concept .concept__copy .concept__answer-prefix,
#concept .concept__copy .concept__answer-word {
  text-align: left !important;
  background:
    linear-gradient(
      102deg,
      #806026 0%,
      #d2aa58 28%,
      #fff1c2 49%,
      #c2913d 68%,
      #f2dfaa 82%,
      #8b6424 100%
    ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

#concept .concept__copy .concept__answer-prefix {
  width: fit-content !important;
  margin: 0 0 -0.10em clamp(52px, 4.5vw, 82px) !important;
  transform: none !important;
  font-size: clamp(12px, 0.95vw, 15px) !important;
  letter-spacing: 0.46em !important;
  opacity: 0.82 !important;
}

#concept .concept__copy .concept__answer-word {
  width: auto !important;
  font-size: clamp(68px, 5.7vw, 108px) !important;
  line-height: 0.78 !important;
  letter-spacing: -0.064em !important;
  text-shadow:
    0 0 18px rgba(218, 180, 105, 0.10),
    0 26px 42px rgba(0, 0, 0, 0.34);
}

#concept .concept__copy .concept__answer-prefix::before,
#concept .concept__copy .concept__answer-prefix::after {
  opacity: 0.42 !important;
}

@media (max-width: 1120px) {
  #concept .concept__copy .concept__answer {
    margin-top: clamp(8px, 2vw, 20px) !important;
  }
}

@media (max-width: 680px) {
  #concept .concept__copy .concept__answer-word {
    font-size: clamp(58px, 18vw, 92px) !important;
  }

  #concept .concept__copy .concept__answer-prefix {
    margin-left: 44px !important;
  }
}

/* Footer logo lockup:
   uses the original full logo artwork while absorbing its light field into the dark footer. */

.site-footer__brand .site-footer__logo-lockup {
  display: block !important;
  margin: 0 0 clamp(28px, 4vh, 48px) !important;
  width: min(360px, 88vw) !important;
  line-height: 0 !important;
}

.site-footer__logo-lockup img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 0.96;
  mix-blend-mode: normal;
  filter:
    drop-shadow(0 0 18px rgba(218, 180, 105, 0.08))
    drop-shadow(0 22px 42px rgba(0, 0, 0, 0.42));
}

.site-footer__logo-lockup::after {
  content: "";
  display: block;
  width: min(190px, 58%);
  height: 1px;
  margin-top: clamp(18px, 2.2vh, 28px);
  background: linear-gradient(90deg, rgba(218, 180, 105, 0.44), transparent);
}

.site-footer__logo-lockup span {
  display: none;
}

@media (max-width: 680px) {
  .site-footer__brand .site-footer__logo-lockup {
    width: min(300px, 92vw) !important;
  }
}
