/* =========================================================================
   MAISON D' SMK PERFUME — Al Ain
   Design language: Vogue India editorial type × Jaipur Rugs craft warmth
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Ink family — the night of the atelier */
  --ink:        #0A0908;
  --ink-2:      #12100D;
  --ink-3:      #1B1712;
  --ink-4:      #262019;

  /* Bone family — paper, unbleached linen, editorial spreads */
  --bone:       #F3EEE4;
  --bone-2:     #E9E2D4;
  --bone-3:     #D8CEBC;
  --bone-dim:   #A79C8A;

  /* Gold — the maison's signature */
  --gold:       #C6A15B;
  --gold-lt:    #E9D5A3;
  --gold-dk:    #8A6D33;
  --gold-glow:  rgba(198, 161, 91, 0.28);

  /* Olfactive accents — used as liquid colours */
  --oud:        #4A2F1C;
  --amber:      #C97B36;
  --saffron:    #D9A441;
  --rose:       #B4635A;
  --musk:       #7C6A57;
  --iris:       #6E6486;
  --cedar:      #6B5433;

  /* Typography */
  --serif:      'Cormorant Garamond', 'Times New Roman', serif;
  --sans:       'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --arabic:     'Amiri', 'Cormorant Garamond', serif;

  /* Rhythm */
  --gut:        clamp(1.25rem, 4vw, 3.5rem);
  --sec-y:      clamp(5rem, 12vw, 11rem);
  --maxw:       1560px;
  --readw:      68ch;

  /* Motion */
  --ease:       cubic-bezier(0.22, 1, 0.36, 1);
  --ease-io:    cubic-bezier(0.65, 0, 0.35, 1);
  --dur:        0.9s;

  /* Chrome */
  --hair:       rgba(198, 161, 91, 0.22);
  --hair-bone:  rgba(26, 22, 18, 0.16);
  --nav-h:      clamp(64px, 7vw, 92px);
}

/* -------------------------------------------------------------------------
   2. RESET
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--ink);
  color: var(--bone);
  font-family: var(--sans);
  font-weight: 300;
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.0625rem);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

body.is-locked { overflow: hidden; }

h1, h2, h3, h4, h5, figure, p, blockquote, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }

::selection { background: var(--gold); color: var(--ink); }

/* Focus — visible, but only for keyboard users */
:focus-visible {
  outline: 1px solid var(--gold);
  outline-offset: 4px;
}

/* -------------------------------------------------------------------------
   3. TYPE SCALE
   ------------------------------------------------------------------------- */
.display {
  font-family: var(--serif);
  font-weight: 300;
  line-height: 0.92;
  letter-spacing: -0.015em;
  text-transform: uppercase;
}

/* Sized so the longest line ("OF YOUR NAME") stays on one line and still
   clears the flacon on the right — no wrapping, no collision. */
.d-hero   { font-size: clamp(2.7rem, 8.6vw, 9rem); }
.d-xl     { font-size: clamp(2.6rem, 8vw, 7.5rem); }
.d-lg     { font-size: clamp(2.1rem, 5.6vw, 5rem); }
.d-md     { font-size: clamp(1.7rem, 3.6vw, 3.1rem); }
.d-sm     { font-size: clamp(1.35rem, 2.4vw, 2.05rem); }

.serif-lede {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.3rem, 2.4vw, 2.1rem);
  line-height: 1.4;
  letter-spacing: 0.005em;
}

/* The all-caps hairline kicker — the Vogue signature */
.kicker {
  font-family: var(--sans);
  font-weight: 400;
  font-size: clamp(0.6rem, 0.72vw, 0.72rem);
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 0.9em;
}

.kicker::before {
  content: "";
  width: clamp(24px, 4vw, 58px);
  height: 1px;
  background: currentColor;
  opacity: 0.6;
  flex: none;
}

.kicker--plain::before { display: none; }
.kicker--bone { color: var(--ink-3); }

/* Section index numerals, magazine style */
.sec-num {
  font-family: var(--serif);
  font-size: clamp(0.85rem, 1vw, 1rem);
  letter-spacing: 0.24em;
  color: var(--gold);
  opacity: 0.8;
}

.body-lg { font-size: clamp(1rem, 1.05vw, 1.15rem); line-height: 1.85; }
.muted   { color: var(--bone-dim); }
.muted-ink { color: rgba(26, 22, 18, 0.62); }

.arabic {
  font-family: var(--arabic);
  direction: rtl;
  letter-spacing: 0;
}

/* Gold gradient text for hero flourishes */
.gilded {
  background: linear-gradient(96deg, var(--gold-dk) 0%, var(--gold-lt) 38%, var(--gold) 62%, var(--gold-lt) 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gildShift 9s var(--ease-io) infinite;
}

@keyframes gildShift {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* -------------------------------------------------------------------------
   4. LAYOUT PRIMITIVES
   ------------------------------------------------------------------------- */
.shell {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gut);
}

.shell--narrow { max-width: 1100px; }

/* Anchor jumps must clear the fixed header */
section[id], main[id] { scroll-margin-top: var(--nav-h); }

.section { position: relative; padding-block: var(--sec-y); }
.section--bone { background: var(--bone); color: var(--ink-2); }
.section--ink  { background: var(--ink); }
.section--ink2 { background: var(--ink-2); }

.sec-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  padding-bottom: clamp(1.5rem, 3vw, 2.75rem);
  border-bottom: 1px solid var(--hair);
}

.section--bone .sec-head { border-bottom-color: var(--hair-bone); }
.section--bone .sec-num  { color: var(--gold-dk); }

.rule { height: 1px; background: var(--hair); border: 0; margin: 0; }
.section--bone .rule { background: var(--hair-bone); }

/* -------------------------------------------------------------------------
   5. FILM GRAIN + VIGNETTE — the "shot on film" luxury texture
   ------------------------------------------------------------------------- */
.grain {
  position: fixed;
  inset: -120%;
  z-index: 9998;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grainDrift 7s steps(6) infinite;
  will-change: transform;
}

@keyframes grainDrift {
  0%   { transform: translate(0, 0); }
  16%  { transform: translate(-3%, -4%); }
  33%  { transform: translate(-6%, 2%); }
  50%  { transform: translate(2%, -5%); }
  66%  { transform: translate(5%, 3%); }
  83%  { transform: translate(-2%, 6%); }
  100% { transform: translate(0, 0); }
}

/* -------------------------------------------------------------------------
   5b. BRAND MARKS
   The supplied logos are single-colour artwork, so we paint them with a CSS
   mask instead of <img>. That lets one file render in gold, bone or ink.

   The artwork is embedded rather than linked. A mask whose image fails to
   load paints NOTHING while still holding its layout box, so a linked file
   made every mark on the site vanish the moment the page was opened from
   disk (file:// gives each file an opaque origin and Chrome refuses the
   mask). Embedding removes that failure mode and three requests with it.
   Source of truth stays in assets/logo-*.svg — re-run the embed if they
   change.
   ------------------------------------------------------------------------- */
.logo {
  display: block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;  mask-repeat: no-repeat;
  -webkit-mask-position: center;   mask-position: center;
  -webkit-mask-size: contain;      mask-size: contain;
}

.logo--emblem {
  aspect-ratio: 327.66 / 474.5;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 327.66 474.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cg%3E%3Cellipse class='cls-1' cx='163.83' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M143.41,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M157.36,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M162.94,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M176.09,44.33v12.5h-1.91v-12.5h1.91ZM178.24,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M143.43,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M158.36,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM158.37,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M164.79,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M179.71,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM179.7,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M60.71,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M263.69,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M239.71,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM138.72,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM164.91,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 327.66 474.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cg%3E%3Cellipse class='cls-1' cx='163.83' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M143.41,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M157.36,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M162.94,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M176.09,44.33v12.5h-1.91v-12.5h1.91ZM178.24,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M143.43,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M158.36,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM158.37,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M164.79,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M179.71,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM179.7,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M60.71,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M263.69,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M239.71,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM138.72,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM164.91,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.logo--lockup {
  aspect-ratio: 1062.14 / 474.5;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1062.14 474.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M600.97,267.63v33.41h17.83c1.99,0,3.73,0,5.36.12l22.69-31.66c4.36-6.23.87-10.72-9.1-11.47v-1.99h34.04v1.99c-5.24.37-10.1,3.99-18.08,13.34l-25.56,30.04c7.86.87,11.1,3.24,14.46,8.73l19.07,31.17c2.37,4.11,4.99,6.73,6.98,7.73,1,.5,2.87.87,4.86.87v2.12c-13.96,1.25-21.19-.12-25.31-7.11l-18.32-31.04c-4.11-6.98-6.98-9.6-13.21-9.6h-15.71v36.03c0,8.48,5.98,9.35,10.72,9.6v2.12h-34.41v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h34.41v1.99c-4.74.37-10.72,1.25-10.72,9.6Z'/%3E%3Cpath d='M555.68,340.31v-74.43l-37.15,61.71h-2.62l-40.27-53.48v54.73c0,11.72,5.36,20.69,12.59,21.07v2.12h-28.92v-2.12c7.35-.37,10.72-6.98,10.72-21.07v-61.21c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2l43.89,56.85,34.28-56.97.13.12h23.69v1.99c-4.86.37-10.72,1.25-10.72,9.6v72.68c0,8.48,5.86,9.35,10.72,9.6v2.12h-34.41v-2.12c4.74-.25,10.59-1.12,10.59-9.6Z'/%3E%3Cpath d='M1054.16,163.3c-1.37-8.35-4.36-23.44-4.36-31.79,0-3.99,2.49-6.36,6.23-6.36s6.11,2.37,6.11,6.36c0,8.35-2.99,23.44-4.36,31.79h-3.62Z'/%3E%3Cpath d='M991.65,125.15c31.67,0,51.36,17.45,51.36,47.87s-19.95,48.12-51.36,48.12h-48.37v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h48.37ZM966.97,136.75v72.68c0,4.24,1.5,6.61,3.62,7.85l21.07.12c23.44.12,36.78-14.59,36.78-44.38s-13.09-44.26-36.78-44.13l-21.19.12c-1.99,1.25-3.49,3.62-3.49,7.73Z'/%3E%3Cpath d='M839.97,125.15l62.58,77.92v-50.61c0-12.97-5.98-24.81-12.59-25.31v-1.99h28.92v1.99c-6.73.5-10.72,9.6-10.72,25.31v68.69h-7.48l-62.58-78.17v50.86c0,12.84,5.98,24.81,12.59,25.18v2.12h-28.92v-2.12c6.73-.37,10.72-9.6,10.72-25.18v-57.1c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2Z'/%3E%3Cpath d='M768.65,123.78c31.66,0,51.24,18.82,51.24,49.24s-19.95,49.49-51.24,49.49-51.49-19.32-51.49-49.49,19.95-49.24,51.49-49.24ZM731.75,173.02c0,29.8,13.34,45.75,36.9,45.75s36.65-15.96,36.65-45.75-13.09-45.5-36.65-45.5-36.9,15.83-36.9,45.5Z'/%3E%3Cpath d='M619.93,136.75v72.68c0,8.48,5.98,9.35,10.72,9.6v2.12h-34.41v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h34.41v1.99c-4.74.37-10.72,1.25-10.72,9.6Z'/%3E%3Cpath d='M574.2,207.31l-8.23-17.7h-44.26l-4.11,9.85c-5.11,12.47-1.25,18.95,9.97,19.57v2.12h-32.29v-2.12c6.48-.5,8.23-4.11,15.21-19.57l33.66-74.3h5.86l37.9,80.78c3.86,8.48,7.23,12.84,11.97,13.09v2.12h-34.66v-2.12c7.73-.37,12.47-3.86,8.98-11.72ZM523.46,185.49h40.64l-21.19-45.75-19.45,45.75Z'/%3E%3Cpath d='M475.05,209.43v-74.43l-37.15,61.71h-2.62l-40.27-53.48v54.73c0,11.72,5.36,20.69,12.59,21.07v2.12h-28.92v-2.12c7.36-.37,10.72-6.98,10.72-21.07v-61.21c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2l43.88,56.85,34.28-56.97.12.12h23.69v1.99c-4.86.37-10.72,1.25-10.72,9.6v72.68c0,8.48,5.86,9.35,10.72,9.6v2.12h-34.41v-2.12c4.74-.25,10.6-1.12,10.6-9.6Z'/%3E%3Cpath d='M415.75,254.78c14.28,0,19.21,3.91,26.19,3.91,1.19,0,2.55-.14,4.08-.42l6.12,18.43h-1.53c-8.67-11.03-19.38-19.83-34.86-19.83-10.54,0-20.91,6-21.26,16.89-.51,12.71,17.85,15.78,34.86,21.78,14.45,5.17,28.39,13.4,28.39,29.04,0,21.78-21.6,28.62-41.32,28.62s-30.95-6.56-37.75-8.38v-22.76h1.53c6.29,19.41,19.55,29.04,36.39,29.04,11.9,0,24.66-6,24.66-18.99s-8.67-19.13-19.55-23.73c-17.69-7.26-41.15-9.49-42.34-26.95-1.19-17.45,18.53-26.67,36.39-26.67Z'/%3E%3Cpath d='M669.5,123.99c14.28,0,19.21,3.91,26.19,3.91,1.19,0,2.55-.14,4.08-.42l6.12,18.43h-1.53c-8.67-11.03-19.38-19.83-34.86-19.83-10.54,0-20.91,6-21.25,16.89-.51,12.71,17.85,15.78,34.86,21.78,14.45,5.17,28.4,13.4,28.4,29.04,0,21.78-21.6,28.62-41.32,28.62s-30.95-6.56-37.75-8.38v-22.76h1.53c6.29,19.41,19.55,29.04,36.39,29.04,11.9,0,24.66-6,24.66-18.99s-8.67-19.13-19.55-23.73c-17.68-7.26-41.15-9.49-42.34-26.95-1.19-17.45,18.53-26.67,36.39-26.67Z'/%3E%3Cg%3E%3Cellipse class='cls-1' cx='163.83' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M143.41,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M157.36,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M162.94,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M176.09,44.33v12.5h-1.91v-12.5h1.91ZM178.24,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M143.43,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M158.36,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM158.37,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M164.79,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M179.71,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM179.7,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M60.71,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M263.69,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M239.71,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM138.72,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM164.91,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1062.14 474.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M600.97,267.63v33.41h17.83c1.99,0,3.73,0,5.36.12l22.69-31.66c4.36-6.23.87-10.72-9.1-11.47v-1.99h34.04v1.99c-5.24.37-10.1,3.99-18.08,13.34l-25.56,30.04c7.86.87,11.1,3.24,14.46,8.73l19.07,31.17c2.37,4.11,4.99,6.73,6.98,7.73,1,.5,2.87.87,4.86.87v2.12c-13.96,1.25-21.19-.12-25.31-7.11l-18.32-31.04c-4.11-6.98-6.98-9.6-13.21-9.6h-15.71v36.03c0,8.48,5.98,9.35,10.72,9.6v2.12h-34.41v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h34.41v1.99c-4.74.37-10.72,1.25-10.72,9.6Z'/%3E%3Cpath d='M555.68,340.31v-74.43l-37.15,61.71h-2.62l-40.27-53.48v54.73c0,11.72,5.36,20.69,12.59,21.07v2.12h-28.92v-2.12c7.35-.37,10.72-6.98,10.72-21.07v-61.21c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2l43.89,56.85,34.28-56.97.13.12h23.69v1.99c-4.86.37-10.72,1.25-10.72,9.6v72.68c0,8.48,5.86,9.35,10.72,9.6v2.12h-34.41v-2.12c4.74-.25,10.59-1.12,10.59-9.6Z'/%3E%3Cpath d='M1054.16,163.3c-1.37-8.35-4.36-23.44-4.36-31.79,0-3.99,2.49-6.36,6.23-6.36s6.11,2.37,6.11,6.36c0,8.35-2.99,23.44-4.36,31.79h-3.62Z'/%3E%3Cpath d='M991.65,125.15c31.67,0,51.36,17.45,51.36,47.87s-19.95,48.12-51.36,48.12h-48.37v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h48.37ZM966.97,136.75v72.68c0,4.24,1.5,6.61,3.62,7.85l21.07.12c23.44.12,36.78-14.59,36.78-44.38s-13.09-44.26-36.78-44.13l-21.19.12c-1.99,1.25-3.49,3.62-3.49,7.73Z'/%3E%3Cpath d='M839.97,125.15l62.58,77.92v-50.61c0-12.97-5.98-24.81-12.59-25.31v-1.99h28.92v1.99c-6.73.5-10.72,9.6-10.72,25.31v68.69h-7.48l-62.58-78.17v50.86c0,12.84,5.98,24.81,12.59,25.18v2.12h-28.92v-2.12c6.73-.37,10.72-9.6,10.72-25.18v-57.1c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2Z'/%3E%3Cpath d='M768.65,123.78c31.66,0,51.24,18.82,51.24,49.24s-19.95,49.49-51.24,49.49-51.49-19.32-51.49-49.49,19.95-49.24,51.49-49.24ZM731.75,173.02c0,29.8,13.34,45.75,36.9,45.75s36.65-15.96,36.65-45.75-13.09-45.5-36.65-45.5-36.9,15.83-36.9,45.5Z'/%3E%3Cpath d='M619.93,136.75v72.68c0,8.48,5.98,9.35,10.72,9.6v2.12h-34.41v-2.12c4.86-.25,10.72-1.12,10.72-9.6v-72.68c0-8.35-5.86-9.23-10.72-9.6v-1.99h34.41v1.99c-4.74.37-10.72,1.25-10.72,9.6Z'/%3E%3Cpath d='M574.2,207.31l-8.23-17.7h-44.26l-4.11,9.85c-5.11,12.47-1.25,18.95,9.97,19.57v2.12h-32.29v-2.12c6.48-.5,8.23-4.11,15.21-19.57l33.66-74.3h5.86l37.9,80.78c3.86,8.48,7.23,12.84,11.97,13.09v2.12h-34.66v-2.12c7.73-.37,12.47-3.86,8.98-11.72ZM523.46,185.49h40.64l-21.19-45.75-19.45,45.75Z'/%3E%3Cpath d='M475.05,209.43v-74.43l-37.15,61.71h-2.62l-40.27-53.48v54.73c0,11.72,5.36,20.69,12.59,21.07v2.12h-28.92v-2.12c7.36-.37,10.72-6.98,10.72-21.07v-61.21c0-8.35-5.86-9.23-10.72-9.6v-1.99h18.2l43.88,56.85,34.28-56.97.12.12h23.69v1.99c-4.86.37-10.72,1.25-10.72,9.6v72.68c0,8.48,5.86,9.35,10.72,9.6v2.12h-34.41v-2.12c4.74-.25,10.6-1.12,10.6-9.6Z'/%3E%3Cpath d='M415.75,254.78c14.28,0,19.21,3.91,26.19,3.91,1.19,0,2.55-.14,4.08-.42l6.12,18.43h-1.53c-8.67-11.03-19.38-19.83-34.86-19.83-10.54,0-20.91,6-21.26,16.89-.51,12.71,17.85,15.78,34.86,21.78,14.45,5.17,28.39,13.4,28.39,29.04,0,21.78-21.6,28.62-41.32,28.62s-30.95-6.56-37.75-8.38v-22.76h1.53c6.29,19.41,19.55,29.04,36.39,29.04,11.9,0,24.66-6,24.66-18.99s-8.67-19.13-19.55-23.73c-17.69-7.26-41.15-9.49-42.34-26.95-1.19-17.45,18.53-26.67,36.39-26.67Z'/%3E%3Cpath d='M669.5,123.99c14.28,0,19.21,3.91,26.19,3.91,1.19,0,2.55-.14,4.08-.42l6.12,18.43h-1.53c-8.67-11.03-19.38-19.83-34.86-19.83-10.54,0-20.91,6-21.25,16.89-.51,12.71,17.85,15.78,34.86,21.78,14.45,5.17,28.4,13.4,28.4,29.04,0,21.78-21.6,28.62-41.32,28.62s-30.95-6.56-37.75-8.38v-22.76h1.53c6.29,19.41,19.55,29.04,36.39,29.04,11.9,0,24.66-6,24.66-18.99s-8.67-19.13-19.55-23.73c-17.68-7.26-41.15-9.49-42.34-26.95-1.19-17.45,18.53-26.67,36.39-26.67Z'/%3E%3Cg%3E%3Cellipse class='cls-1' cx='163.83' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M143.41,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M157.36,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M162.94,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M176.09,44.33v12.5h-1.91v-12.5h1.91ZM178.24,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M143.43,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M158.36,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM158.37,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M164.79,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M179.71,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM179.7,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M60.71,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M263.69,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M239.71,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM138.72,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM164.91,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.logo--stacked {
  aspect-ratio: 619.05 / 623.35;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 619.05 623.35'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cg%3E%3Cpath d='M574.69,523.8v20.43h10.9c1.22,0,2.28,0,3.28.08l13.87-19.36c2.67-3.81.53-6.55-5.56-7.01v-1.22h20.81v1.22c-3.2.23-6.18,2.44-11.05,8.16l-15.62,18.37c4.81.53,6.79,1.98,8.84,5.34l11.66,19.05c1.45,2.52,3.05,4.12,4.27,4.73.61.3,1.75.53,2.97.53v1.3c-8.54.76-12.96-.08-15.47-4.34l-11.2-18.98c-2.51-4.27-4.27-5.87-8.08-5.87h-9.61v22.03c0,5.18,3.66,5.72,6.55,5.87v1.3h-21.04v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h21.04v1.22c-2.9.23-6.55.76-6.55,5.87Z'/%3E%3Cpath d='M547,568.23v-45.5l-22.71,37.73h-1.6l-24.62-32.7v33.46c0,7.16,3.28,12.65,7.7,12.88v1.3h-17.68v-1.3c4.49-.23,6.55-4.27,6.55-12.88v-37.42c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.12l26.83,34.75,20.96-34.83.08.08h14.48v1.22c-2.97.23-6.55.76-6.55,5.87v44.43c0,5.18,3.58,5.72,6.55,5.87v1.3h-21.04v-1.3c2.9-.15,6.48-.69,6.48-5.87Z'/%3E%3Cpath d='M412.96,540.03c-.84-5.11-2.67-14.33-2.67-19.43,0-2.44,1.52-3.89,3.81-3.89s3.73,1.45,3.73,3.89c0,5.11-1.83,14.33-2.67,19.43h-2.21Z'/%3E%3Cpath d='M374.74,516.71c19.36,0,31.4,10.67,31.4,29.27s-12.19,29.42-31.4,29.42h-29.57v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h29.57ZM359.65,523.8v44.43c0,2.59.91,4.04,2.21,4.8l12.88.08c14.33.08,22.48-8.92,22.48-27.13s-8-27.06-22.48-26.98l-12.96.08c-1.22.76-2.13,2.21-2.13,4.73Z'/%3E%3Cpath d='M282.01,516.71l38.26,47.63v-30.94c0-7.93-3.66-15.17-7.7-15.47v-1.22h17.68v1.22c-4.12.3-6.55,5.87-6.55,15.47v41.99h-4.57l-38.26-47.79v31.1c0,7.85,3.66,15.17,7.7,15.4v1.3h-17.68v-1.3c4.12-.23,6.55-5.87,6.55-15.4v-34.91c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.13Z'/%3E%3Cpath d='M238.41,515.87c19.36,0,31.32,11.51,31.32,30.1s-12.19,30.26-31.32,30.26-31.48-11.81-31.48-30.26,12.19-30.1,31.48-30.1ZM215.85,545.98c0,18.22,8.16,27.97,22.56,27.97s22.41-9.76,22.41-27.97-8-27.82-22.41-27.82-22.56,9.68-22.56,27.82Z'/%3E%3Cpath d='M147.49,523.8v44.43c0,5.18,3.66,5.72,6.55,5.87v1.3h-21.04v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h21.04v1.22c-2.9.23-6.55.76-6.55,5.87Z'/%3E%3Cpath d='M119.53,566.94l-5.03-10.82h-27.06l-2.52,6.02c-3.12,7.62-.76,11.58,6.1,11.97v1.3h-19.74v-1.3c3.96-.3,5.03-2.52,9.3-11.97l20.58-45.42h3.58l23.17,49.39c2.36,5.18,4.42,7.85,7.32,8v1.3h-21.19v-1.3c4.73-.23,7.62-2.36,5.49-7.16ZM88.51,553.6h24.85l-12.96-27.97-11.89,27.97Z'/%3E%3Cpath d='M58.91,568.23v-45.5l-22.71,37.73h-1.6l-24.62-32.7v33.46c0,7.16,3.28,12.65,7.7,12.88v1.3H0v-1.3c4.5-.23,6.55-4.27,6.55-12.88v-37.42c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.13l26.83,34.75,20.96-34.83.08.08h14.48v1.22c-2.97.23-6.55.76-6.55,5.87v44.43c0,5.18,3.58,5.72,6.55,5.87v1.3h-21.04v-1.3c2.9-.15,6.48-.69,6.48-5.87Z'/%3E%3Cpath d='M461.45,515.94c8.73,0,11.75,2.39,16.01,2.39.73,0,1.56-.09,2.5-.26l3.74,11.27h-.94c-5.3-6.74-11.85-12.12-21.31-12.12-6.45,0-12.79,3.67-12.99,10.33-.31,7.77,10.92,9.65,21.31,13.32,8.84,3.16,17.36,8.19,17.36,17.75,0,13.32-13.2,17.5-25.26,17.5s-18.92-4.01-23.08-5.12v-13.91h.94c3.85,11.86,11.95,17.75,22.25,17.75,7.28,0,15.07-3.67,15.07-11.61s-5.3-11.69-11.95-14.51c-10.81-4.44-25.16-5.8-25.89-16.47-.73-10.67,11.33-16.3,22.25-16.3Z'/%3E%3Cpath d='M177.79,516c8.73,0,11.75,2.39,16.01,2.39.73,0,1.56-.09,2.5-.26l3.74,11.27h-.94c-5.3-6.74-11.85-12.12-21.31-12.12-6.45,0-12.79,3.67-12.99,10.33-.31,7.77,10.92,9.65,21.31,13.32,8.84,3.16,17.36,8.19,17.36,17.75,0,13.32-13.2,17.5-25.26,17.5s-18.92-4.01-23.08-5.12v-13.91h.94c3.85,11.86,11.95,17.75,22.25,17.75,7.28,0,15.07-3.67,15.07-11.61s-5.3-11.69-11.95-14.51c-10.81-4.44-25.16-5.8-25.88-16.47-.73-10.67,11.33-16.3,22.25-16.3Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M216.43,622.95v-26.07h9.34c2.01,0,3.68.37,5.02,1.12,1.34.75,2.34,1.76,3.01,3.03s1,2.71,1,4.32-.34,3.05-1.01,4.33-1.68,2.29-3.02,3.03c-1.34.74-3.02,1.11-5.04,1.11h-6.39v-3.38h6c1.28,0,2.32-.22,3.11-.67.79-.44,1.37-1.05,1.74-1.82.37-.77.55-1.64.55-2.61s-.18-1.85-.55-2.62c-.37-.76-.95-1.36-1.75-1.79-.8-.43-1.85-.65-3.14-.65h-4.9v22.66h-3.99Z'/%3E%3Cpath d='M243,622.95v-26.07h16.41v3.43h-12.42v7.77h11.53v3.41h-11.53v8.03h12.53v3.43h-16.52Z'/%3E%3Cpath d='M268.2,622.95v-26.07h9.34c2.01,0,3.68.35,5.02,1.04,1.34.69,2.34,1.66,3.01,2.9s1,2.65,1,4.25-.34,3.02-1.01,4.23-1.68,2.14-3.02,2.81-3.02,1-5.04,1h-7.02v-3.41h6.63c1.28,0,2.32-.18,3.11-.55s1.37-.9,1.74-1.58c.37-.69.56-1.52.56-2.48s-.19-1.83-.56-2.54c-.37-.71-.96-1.26-1.75-1.65-.79-.39-1.84-.59-3.13-.59h-4.9v22.66h-3.99ZM283.02,622.95l-6.32-11.78h4.43l6.42,11.78h-4.53Z'/%3E%3Cpath d='M295,622.95v-26.07h16.22v3.43h-12.23v8.38h11.06v3.41h-11.06v10.85h-3.99Z'/%3E%3Cpath d='M330.1,623.35c-2.09,0-3.91-.4-5.48-1.21-1.56-.8-2.77-1.91-3.63-3.32-.86-1.41-1.29-3.02-1.29-4.84v-17.11h3.99v16.78c0,1.18.26,2.22.78,3.13s1.26,1.63,2.21,2.15c.96.52,2.09.79,3.41.79s2.44-.26,3.39-.79c.95-.53,1.68-1.24,2.2-2.15s.77-1.95.77-3.13v-16.78h4.01v17.11c0,1.82-.43,3.43-1.29,4.84-.86,1.41-2.06,2.51-3.62,3.32-1.56.8-3.37,1.21-5.45,1.21Z'/%3E%3Cpath d='M349.82,622.95v-26.07h5.88l5.69,14.96c.16.44.35,1,.55,1.68.2.68.42,1.41.64,2.21s.43,1.58.63,2.34.37,1.46.52,2.08h-.84c.15-.58.33-1.26.52-2.02.2-.76.41-1.54.63-2.34.22-.79.44-1.54.65-2.24s.4-1.27.56-1.71l5.6-14.96h5.91v26.07h-3.97v-14.03c0-.54,0-1.18.02-1.92s.03-1.54.04-2.37.04-1.68.05-2.53c.02-.85.03-1.67.04-2.45h.3c-.23.85-.49,1.73-.76,2.63s-.54,1.78-.8,2.62c-.26.84-.51,1.61-.75,2.3-.24.69-.44,1.27-.6,1.72l-5.34,14.03h-3.41l-5.41-14.03c-.17-.44-.38-1.01-.6-1.69s-.48-1.44-.74-2.28c-.27-.83-.54-1.7-.82-2.61-.28-.9-.56-1.81-.84-2.7h.35c.02.71.04,1.49.06,2.32.02.83.03,1.68.05,2.53s.04,1.66.05,2.42c.02.76.03,1.43.03,2v14.03h-3.88Z'/%3E%3Cpath d='M386.1,622.95v-26.07h16.41v3.43h-12.42v7.77h11.53v3.41h-11.53v8.03h12.53v3.43h-16.52Z'/%3E%3C/g%3E%3Cg%3E%3Cellipse class='cls-1' cx='309.52' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M289.11,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M303.06,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M308.63,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M321.78,44.33v12.5h-1.91v-12.5h1.91ZM323.93,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M289.12,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M304.05,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM304.06,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M310.48,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M325.4,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM325.39,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M206.4,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M409.39,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M385.4,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM284.41,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM310.6,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg fill='%23000' id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 619.05 623.35'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 { fill: none; stroke: %23000; stroke-miterlimit: 10; stroke-width: 3px; } %3C/style%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cg%3E%3Cpath d='M574.69,523.8v20.43h10.9c1.22,0,2.28,0,3.28.08l13.87-19.36c2.67-3.81.53-6.55-5.56-7.01v-1.22h20.81v1.22c-3.2.23-6.18,2.44-11.05,8.16l-15.62,18.37c4.81.53,6.79,1.98,8.84,5.34l11.66,19.05c1.45,2.52,3.05,4.12,4.27,4.73.61.3,1.75.53,2.97.53v1.3c-8.54.76-12.96-.08-15.47-4.34l-11.2-18.98c-2.51-4.27-4.27-5.87-8.08-5.87h-9.61v22.03c0,5.18,3.66,5.72,6.55,5.87v1.3h-21.04v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h21.04v1.22c-2.9.23-6.55.76-6.55,5.87Z'/%3E%3Cpath d='M547,568.23v-45.5l-22.71,37.73h-1.6l-24.62-32.7v33.46c0,7.16,3.28,12.65,7.7,12.88v1.3h-17.68v-1.3c4.49-.23,6.55-4.27,6.55-12.88v-37.42c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.12l26.83,34.75,20.96-34.83.08.08h14.48v1.22c-2.97.23-6.55.76-6.55,5.87v44.43c0,5.18,3.58,5.72,6.55,5.87v1.3h-21.04v-1.3c2.9-.15,6.48-.69,6.48-5.87Z'/%3E%3Cpath d='M412.96,540.03c-.84-5.11-2.67-14.33-2.67-19.43,0-2.44,1.52-3.89,3.81-3.89s3.73,1.45,3.73,3.89c0,5.11-1.83,14.33-2.67,19.43h-2.21Z'/%3E%3Cpath d='M374.74,516.71c19.36,0,31.4,10.67,31.4,29.27s-12.19,29.42-31.4,29.42h-29.57v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h29.57ZM359.65,523.8v44.43c0,2.59.91,4.04,2.21,4.8l12.88.08c14.33.08,22.48-8.92,22.48-27.13s-8-27.06-22.48-26.98l-12.96.08c-1.22.76-2.13,2.21-2.13,4.73Z'/%3E%3Cpath d='M282.01,516.71l38.26,47.63v-30.94c0-7.93-3.66-15.17-7.7-15.47v-1.22h17.68v1.22c-4.12.3-6.55,5.87-6.55,15.47v41.99h-4.57l-38.26-47.79v31.1c0,7.85,3.66,15.17,7.7,15.4v1.3h-17.68v-1.3c4.12-.23,6.55-5.87,6.55-15.4v-34.91c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.13Z'/%3E%3Cpath d='M238.41,515.87c19.36,0,31.32,11.51,31.32,30.1s-12.19,30.26-31.32,30.26-31.48-11.81-31.48-30.26,12.19-30.1,31.48-30.1ZM215.85,545.98c0,18.22,8.16,27.97,22.56,27.97s22.41-9.76,22.41-27.97-8-27.82-22.41-27.82-22.56,9.68-22.56,27.82Z'/%3E%3Cpath d='M147.49,523.8v44.43c0,5.18,3.66,5.72,6.55,5.87v1.3h-21.04v-1.3c2.97-.15,6.55-.69,6.55-5.87v-44.43c0-5.11-3.58-5.64-6.55-5.87v-1.22h21.04v1.22c-2.9.23-6.55.76-6.55,5.87Z'/%3E%3Cpath d='M119.53,566.94l-5.03-10.82h-27.06l-2.52,6.02c-3.12,7.62-.76,11.58,6.1,11.97v1.3h-19.74v-1.3c3.96-.3,5.03-2.52,9.3-11.97l20.58-45.42h3.58l23.17,49.39c2.36,5.18,4.42,7.85,7.32,8v1.3h-21.19v-1.3c4.73-.23,7.62-2.36,5.49-7.16ZM88.51,553.6h24.85l-12.96-27.97-11.89,27.97Z'/%3E%3Cpath d='M58.91,568.23v-45.5l-22.71,37.73h-1.6l-24.62-32.7v33.46c0,7.16,3.28,12.65,7.7,12.88v1.3H0v-1.3c4.5-.23,6.55-4.27,6.55-12.88v-37.42c0-5.11-3.58-5.64-6.55-5.87v-1.22h11.13l26.83,34.75,20.96-34.83.08.08h14.48v1.22c-2.97.23-6.55.76-6.55,5.87v44.43c0,5.18,3.58,5.72,6.55,5.87v1.3h-21.04v-1.3c2.9-.15,6.48-.69,6.48-5.87Z'/%3E%3Cpath d='M461.45,515.94c8.73,0,11.75,2.39,16.01,2.39.73,0,1.56-.09,2.5-.26l3.74,11.27h-.94c-5.3-6.74-11.85-12.12-21.31-12.12-6.45,0-12.79,3.67-12.99,10.33-.31,7.77,10.92,9.65,21.31,13.32,8.84,3.16,17.36,8.19,17.36,17.75,0,13.32-13.2,17.5-25.26,17.5s-18.92-4.01-23.08-5.12v-13.91h.94c3.85,11.86,11.95,17.75,22.25,17.75,7.28,0,15.07-3.67,15.07-11.61s-5.3-11.69-11.95-14.51c-10.81-4.44-25.16-5.8-25.89-16.47-.73-10.67,11.33-16.3,22.25-16.3Z'/%3E%3Cpath d='M177.79,516c8.73,0,11.75,2.39,16.01,2.39.73,0,1.56-.09,2.5-.26l3.74,11.27h-.94c-5.3-6.74-11.85-12.12-21.31-12.12-6.45,0-12.79,3.67-12.99,10.33-.31,7.77,10.92,9.65,21.31,13.32,8.84,3.16,17.36,8.19,17.36,17.75,0,13.32-13.2,17.5-25.26,17.5s-18.92-4.01-23.08-5.12v-13.91h.94c3.85,11.86,11.95,17.75,22.25,17.75,7.28,0,15.07-3.67,15.07-11.61s-5.3-11.69-11.95-14.51c-10.81-4.44-25.16-5.8-25.88-16.47-.73-10.67,11.33-16.3,22.25-16.3Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M216.43,622.95v-26.07h9.34c2.01,0,3.68.37,5.02,1.12,1.34.75,2.34,1.76,3.01,3.03s1,2.71,1,4.32-.34,3.05-1.01,4.33-1.68,2.29-3.02,3.03c-1.34.74-3.02,1.11-5.04,1.11h-6.39v-3.38h6c1.28,0,2.32-.22,3.11-.67.79-.44,1.37-1.05,1.74-1.82.37-.77.55-1.64.55-2.61s-.18-1.85-.55-2.62c-.37-.76-.95-1.36-1.75-1.79-.8-.43-1.85-.65-3.14-.65h-4.9v22.66h-3.99Z'/%3E%3Cpath d='M243,622.95v-26.07h16.41v3.43h-12.42v7.77h11.53v3.41h-11.53v8.03h12.53v3.43h-16.52Z'/%3E%3Cpath d='M268.2,622.95v-26.07h9.34c2.01,0,3.68.35,5.02,1.04,1.34.69,2.34,1.66,3.01,2.9s1,2.65,1,4.25-.34,3.02-1.01,4.23-1.68,2.14-3.02,2.81-3.02,1-5.04,1h-7.02v-3.41h6.63c1.28,0,2.32-.18,3.11-.55s1.37-.9,1.74-1.58c.37-.69.56-1.52.56-2.48s-.19-1.83-.56-2.54c-.37-.71-.96-1.26-1.75-1.65-.79-.39-1.84-.59-3.13-.59h-4.9v22.66h-3.99ZM283.02,622.95l-6.32-11.78h4.43l6.42,11.78h-4.53Z'/%3E%3Cpath d='M295,622.95v-26.07h16.22v3.43h-12.23v8.38h11.06v3.41h-11.06v10.85h-3.99Z'/%3E%3Cpath d='M330.1,623.35c-2.09,0-3.91-.4-5.48-1.21-1.56-.8-2.77-1.91-3.63-3.32-.86-1.41-1.29-3.02-1.29-4.84v-17.11h3.99v16.78c0,1.18.26,2.22.78,3.13s1.26,1.63,2.21,2.15c.96.52,2.09.79,3.41.79s2.44-.26,3.39-.79c.95-.53,1.68-1.24,2.2-2.15s.77-1.95.77-3.13v-16.78h4.01v17.11c0,1.82-.43,3.43-1.29,4.84-.86,1.41-2.06,2.51-3.62,3.32-1.56.8-3.37,1.21-5.45,1.21Z'/%3E%3Cpath d='M349.82,622.95v-26.07h5.88l5.69,14.96c.16.44.35,1,.55,1.68.2.68.42,1.41.64,2.21s.43,1.58.63,2.34.37,1.46.52,2.08h-.84c.15-.58.33-1.26.52-2.02.2-.76.41-1.54.63-2.34.22-.79.44-1.54.65-2.24s.4-1.27.56-1.71l5.6-14.96h5.91v26.07h-3.97v-14.03c0-.54,0-1.18.02-1.92s.03-1.54.04-2.37.04-1.68.05-2.53c.02-.85.03-1.67.04-2.45h.3c-.23.85-.49,1.73-.76,2.63s-.54,1.78-.8,2.62c-.26.84-.51,1.61-.75,2.3-.24.69-.44,1.27-.6,1.72l-5.34,14.03h-3.41l-5.41-14.03c-.17-.44-.38-1.01-.6-1.69s-.48-1.44-.74-2.28c-.27-.83-.54-1.7-.82-2.61-.28-.9-.56-1.81-.84-2.7h.35c.02.71.04,1.49.06,2.32.02.83.03,1.68.05,2.53s.04,1.66.05,2.42c.02.76.03,1.43.03,2v14.03h-3.88Z'/%3E%3Cpath d='M386.1,622.95v-26.07h16.41v3.43h-12.42v7.77h11.53v3.41h-11.53v8.03h12.53v3.43h-16.52Z'/%3E%3C/g%3E%3Cg%3E%3Cellipse class='cls-1' cx='309.52' cy='237.25' rx='162.33' ry='235.75'/%3E%3Cg%3E%3Cg%3E%3Cpath d='M289.11,56.82v-12.5h7.87v1.64h-5.95v3.72h5.53v1.64h-5.53v3.85h6v1.64h-7.92Z'/%3E%3Cpath d='M303.06,57.03c-.93,0-1.74-.15-2.43-.44-.69-.3-1.23-.72-1.61-1.27-.39-.55-.6-1.21-.64-1.97h1.92c.04.45.19.83.44,1.12.25.3.59.52.99.66.41.15.85.22,1.33.22.53,0,1-.08,1.41-.25.41-.16.74-.4.98-.7.24-.3.36-.66.36-1.06,0-.36-.1-.66-.31-.89s-.49-.42-.85-.58c-.35-.15-.76-.29-1.21-.41l-1.46-.4c-1.02-.27-1.82-.68-2.39-1.21-.57-.54-.86-1.23-.86-2.09,0-.72.19-1.35.58-1.89.39-.54.92-.96,1.58-1.26.67-.3,1.42-.45,2.26-.45s1.61.15,2.26.45,1.16.71,1.53,1.23c.37.52.57,1.11.58,1.78h-1.86c-.06-.57-.33-1.01-.79-1.33-.47-.31-1.06-.47-1.77-.47-.5,0-.94.08-1.31.23-.37.16-.66.37-.86.65-.2.28-.31.59-.31.94,0,.4.12.72.36.96s.54.44.89.58c.35.14.68.26,1,.34l1.22.32c.4.1.81.24,1.23.41.42.17.81.39,1.17.66.36.27.65.61.87,1.01s.33.88.33,1.45c0,.71-.18,1.33-.55,1.89-.36.55-.89.99-1.58,1.3-.69.32-1.53.47-2.5.47Z'/%3E%3Cpath d='M308.63,45.97v-1.64h9.7v1.64h-3.88v10.85h-1.92v-10.85h-3.9Z'/%3E%3Cpath d='M321.78,44.33v12.5h-1.91v-12.5h1.91ZM323.93,56.82h-3.09v-1.68h2.99c.94,0,1.73-.18,2.36-.53.63-.35,1.1-.87,1.41-1.56.31-.68.47-1.52.47-2.5s-.15-1.81-.47-2.48c-.31-.68-.77-1.19-1.38-1.54-.61-.35-1.37-.53-2.29-.53h-3.15v-1.68h3.28c1.23,0,2.28.25,3.16.75.88.5,1.55,1.21,2.02,2.14s.7,2.05.7,3.34-.24,2.42-.71,3.35c-.47.93-1.16,1.65-2.05,2.16-.9.5-1.98.75-3.25.75Z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M289.12,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M304.05,432.46c-1.01,0-1.87-.26-2.58-.79-.71-.53-1.26-1.28-1.64-2.28-.38-.99-.57-2.2-.57-3.62s.19-2.62.57-3.61c.38-1,.93-1.76,1.64-2.29s1.57-.8,2.58-.8,1.86.26,2.58.8c.72.53,1.27,1.29,1.64,2.29.38,1,.57,2.2.57,3.61s-.19,2.62-.56,3.61c-.38,1-.92,1.76-1.64,2.28-.71.52-1.58.79-2.6.79ZM304.06,430.76c.6,0,1.11-.2,1.53-.59.42-.39.74-.96.96-1.7.22-.74.33-1.64.33-2.69s-.11-1.96-.33-2.7c-.22-.75-.54-1.32-.96-1.71-.42-.39-.93-.59-1.53-.59s-1.11.2-1.53.6c-.42.4-.74.97-.96,1.71s-.33,1.64-.33,2.7.11,1.94.33,2.69c.22.74.54,1.31.96,1.7.42.39.93.59,1.53.59Z'/%3E%3Cpath d='M310.48,432.29v-1.44l4.43-4.58c.45-.48.83-.9,1.14-1.27.3-.37.53-.72.69-1.06s.24-.7.24-1.08c0-.44-.1-.82-.3-1.13-.2-.32-.48-.56-.82-.73-.35-.17-.74-.25-1.19-.25s-.86.09-1.21.28c-.34.19-.61.46-.8.8-.19.34-.28.75-.28,1.22h-1.92c0-.79.18-1.49.55-2.09.37-.6.87-1.06,1.5-1.39.64-.33,1.36-.49,2.18-.49s1.56.16,2.18.49c.63.33,1.12.77,1.47,1.33.36.56.53,1.19.53,1.89,0,.48-.09.95-.27,1.4-.18.46-.49.97-.94,1.54-.45.57-1.07,1.27-1.89,2.08l-2.55,2.67v.1h5.84v1.71h-8.61Z'/%3E%3Cpath d='M325.4,432.46c-.58,0-1.16-.1-1.73-.31-.57-.21-1.08-.55-1.54-1.02-.46-.48-.82-1.12-1.1-1.92s-.41-1.81-.41-3c0-1.13.11-2.14.34-3.02.23-.88.56-1.63.99-2.24.43-.61.95-1.08,1.56-1.39s1.29-.48,2.06-.48,1.46.15,2.06.46c.6.31,1.1.73,1.48,1.26.38.54.62,1.15.71,1.85h-1.96c-.13-.53-.4-.97-.78-1.31-.39-.34-.89-.51-1.51-.51s-1.18.19-1.63.56c-.45.37-.8.91-1.03,1.61s-.35,1.54-.35,2.52h.1c.22-.37.5-.68.82-.95.33-.26.7-.47,1.11-.61.41-.14.84-.21,1.3-.21.76,0,1.44.18,2.06.55.61.36,1.1.87,1.47,1.52.36.65.55,1.39.55,2.21s-.19,1.59-.57,2.26c-.38.67-.91,1.2-1.59,1.59-.68.39-1.47.59-2.38.59ZM325.39,430.78c.5,0,.94-.12,1.33-.37.39-.24.7-.57.93-.98.23-.41.35-.87.35-1.38s-.11-.95-.33-1.36c-.22-.4-.53-.73-.91-.97-.39-.24-.83-.36-1.33-.36-.37,0-.72.07-1.04.21-.32.14-.6.34-.84.6-.24.25-.43.54-.56.87-.13.32-.2.67-.2,1.03,0,.48.11.93.34,1.34.22.41.53.74.93.99.39.25.84.38,1.33.38Z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='M206.4,280.98h22.98l-3.31-26.89V94.6l30.85,74c3.81-2.21,7.98-4.11,12.49-5.67l-23.68-56.79-7.88-26.04h-31.46l3.31,26.94v147.05l-3.31,26.89Z'/%3E%3Cpath d='M409.39,107.04l3.31-26.94h-31.46l-7.88,26.04-23.23,55.74c4.26,1,8.73,2.21,13.35,3.61l29.55-70.89v159.49l-3.31,26.89h22.98l-3.31-26.89V107.04Z'/%3E%3Cpath d='M385.4,343.24l-3.71-4.11c.7-1.76,1.35-3.56,1.86-5.42,1.15-4.36,1.76-8.98,1.76-13.9,0-15.1-4.62-26.74-15.1-36.32-2.31-2.06-4.87-4.06-7.67-5.97h2.46l7.37,1.25,12.99,2.21v-24.98l-20.37,3.71h-40.79l1.61-3.86,27.94-67.03,1.96-4.67,4.41,2.46,18.86,10.64-3.36-22.68c-3.16-1.05-6.22-2.06-9.23-3.01-1.6-.5-3.21-1-4.82-1.46-4.62-1.4-9.08-2.56-13.39-3.56-1.66-.4-3.31-.75-4.97-1.1-11.74-2.41-22.83-3.56-34.72-3.56s-23.08,1.45-32.41,4.06c-1.65.5-3.21.95-4.77,1.56-4.56,1.56-8.73,3.46-12.49,5.72-1.51.85-2.96,1.81-4.26,2.76-12.19,8.68-18.66,20.97-18.66,35.52,0,18.76,7.12,32.21,25.49,43.2,2.86,1.71,6.02,3.41,9.48,5.02h-16.81l-20.32-3.71v24.98l20.32-3.46h38.93l-51.93,57.6,13.2,7.53,55.29-61.31,49.27,54.64c2.31-4.06,3.66-9.03,3.66-14.95,0-1.1-.05-2.21-.1-3.26l-27.34-30.3-7.67-8.48c3.86,1.4,7.42,2.86,10.69,4.32,18.96,8.58,27.49,18.26,29.1,32.26.25,1.76.35,3.56.35,5.47,0,.75,0,1.55-.05,2.31-.35,6.17-2.01,11.79-5.07,16.61-.9,1.46-1.96,2.81-3.06,4.11-9.28,10.54-26.34,16.61-51.42,16.61-15.45,0-31.76-2.76-45.4-7.58l-7.17-4.06-4.46-2.56-13.25-7.53-3.86-2.21.9,5.47-4.32,4.77-3.16,3.51-20.82,14.35v30.95l28.7-31.86,3.66-4.01c1.61.55,3.31,1.15,5.12,1.81,14.55,5.12,36.22,11.69,64.67,11.94,27.84.15,48.51-6.32,61.36-17.91,1.25-1.1,2.46-2.26,3.56-3.51l3.46,3.76,35.82,39.78v-30.95l-20.77-14.35-6.52-7.22ZM284.41,247.62c-23.28-9.93-30.4-20.82-30.4-37.02,0-7.33,2.41-13.8,6.97-19.17,1.15-1.35,2.46-2.61,3.86-3.81l2.01,4.87,21.42,51.32,2.66,6.42c-2.31-.85-4.47-1.71-6.52-2.61ZM310.6,256.65l-1.05,2.56-1.35-3.26-2.51-6.02-27.04-64.77-1.91-4.67c1.51-.65,3.06-1.2,4.72-1.71,7.88-2.56,17.26-3.91,27.94-3.91,9.63,0,19.11,1,28.6,3.06,1.66.35,3.31.75,4.97,1.15l-1.96,4.72-28.45,68.18-1.96,4.67Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* The emblem used as an ornament: a hairline, the mark, a hairline. Gold on
   ink, and the darker gold on bone so it holds the same weight on paper. */
.ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 2.5vw, 2rem);
  margin-block: clamp(0.75rem, 2.5vw, 2rem);
  color: var(--gold);
}

.ornament__rule {
  flex: 0 1 clamp(48px, 12vw, 190px);
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor);
  opacity: 0.42;
}

.ornament__rule:last-child {
  background: linear-gradient(90deg, currentColor, transparent);
}

.ornament__mark {
  flex: none;
  width: clamp(30px, 3.6vw, 42px);
  opacity: 0.9;
}

.ornament--ink { color: var(--gold-dk); }

/* -------------------------------------------------------------------------
   6. PRELOADER
   ------------------------------------------------------------------------- */
.preloader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: var(--ink);
  display: grid;
  place-items: center;
  transition: opacity 0.7s var(--ease), visibility 0.7s;
}

.preloader__inner {
  display: grid;
  justify-items: center;
  gap: 2rem;
  text-align: center;
}

/* The emblem wipes upward into view, then settles */
.preloader__mark {
  width: clamp(88px, 12vw, 132px);
  color: var(--gold);
  clip-path: inset(0 0 100% 0);
  transform: scale(1.06);
  animation: markWipe 1.5s var(--ease) 0.15s forwards;
}

@keyframes markWipe {
  to { clip-path: inset(0 0 0% 0); transform: scale(1); }
}

@keyframes markFade { to { opacity: 1; } }

.preloader__word {
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--bone-dim);
  opacity: 0;
  animation: markFade 0.9s var(--ease) 1.35s forwards;
}

.preloader__bar {
  width: clamp(120px, 18vw, 220px);
  height: 1px;
  background: rgba(198, 161, 91, 0.2);
  position: relative;
  overflow: hidden;
}

.preloader__bar span {
  position: absolute;
  inset: 0;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s linear;
}

.preloader.is-done {
  opacity: 0;
  visibility: hidden;
}

/* -------------------------------------------------------------------------
   7. NAVIGATION
   ------------------------------------------------------------------------- */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 900;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  transition: background 0.5s var(--ease), backdrop-filter 0.5s var(--ease),
              border-color 0.5s var(--ease), transform 0.5s var(--ease);
  border-bottom: 1px solid transparent;
}

.nav__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.nav.is-stuck {
  background: rgba(10, 9, 8, 0.72);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom-color: var(--hair);
}

.nav.is-hidden { transform: translateY(-102%); }

.nav__brand {
  grid-column: 2;
  justify-self: center;
  color: var(--gold);
  display: block;
  transition: opacity 0.4s var(--ease);
}

.nav__brand .logo { height: clamp(28px, 3.4vw, 40px); width: auto; }
.nav__brand:hover { opacity: 0.75; }

.nav__links {
  grid-column: 1;
  display: flex;
  align-items: center;
  gap: clamp(1.1rem, 2.2vw, 2.4rem);
}

.nav__cta-wrap {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.nav__link {
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bone);
  opacity: 0.72;
  position: relative;
  padding-block: 0.35rem;
  transition: opacity 0.35s var(--ease);
}

.nav__link::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s var(--ease);
}

.nav__link:hover { opacity: 1; }
.nav__link:hover::after,
.nav__link.is-active::after { transform: scaleX(1); transform-origin: left; }
.nav__link.is-active { opacity: 1; color: var(--gold); }

/* Burger — only on small screens */
.nav__burger {
  display: none;
  width: 34px; height: 20px;
  position: relative;
  flex: none;
}

.nav__burger span {
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: var(--bone);
  transition: transform 0.45s var(--ease), opacity 0.3s var(--ease);
}

.nav__burger span:nth-child(1) { top: 3px; }
.nav__burger span:nth-child(2) { top: 10px; }
.nav__burger span:nth-child(3) { top: 17px; }

body.menu-open .nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.menu-open .nav__burger span:nth-child(2) { opacity: 0; }
body.menu-open .nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* -------------------------------------------------------------------------
   8. BUTTONS
   ------------------------------------------------------------------------- */
.btn {
  --btn-fg: #fff;
  --btn-bg: var(--ink);
  font-family: var(--sans);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  padding: 1.25rem 3.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--btn-fg);
  background-color: var(--btn-bg);
  border: 1px solid var(--btn-bg);
  transition: all 0.3s ease;
  white-space: nowrap;
}

.btn:hover {
  background-color: transparent;
  color: var(--btn-bg);
}

.btn--ghost {
  --btn-fg: var(--ink);
  --btn-bg: transparent;
  border-color: var(--ink);
}
.btn--ghost:hover { 
  background-color: var(--ink); 
  color: #fff; 
}

.btn--ghost-ink {
  --btn-fg: var(--ink-2);
  --btn-bg: transparent;
  border-color: rgba(26, 22, 18, 0.3);
}
.btn--ghost-ink:hover { 
  background-color: var(--ink); 
  color: #fff; 
  border-color: var(--ink); 
}

.btn--sm { 
  padding: 0.85em 1.6em; 
  font-size: 0.6rem; 
}

/* The buy affordance. Ink on gold clears 8:1, so one variant works on the
   dark collection cards and on the bone e-boutique alike. */
.btn--gold {
  --btn-fg: var(--ink);
  --btn-bg: var(--gold);
  border-color: var(--gold);
}

/* Gold on bone is only 2.1:1 at the edge — under the 3:1 WCAG asks of a
   component boundary — so the darker gold draws the outline there. */
.section--bone .btn--gold { border-color: var(--gold-dk); }

.btn--gold:hover,
.btn--gold:focus-visible {
  background-color: var(--gold-dk);
  border-color: var(--gold-dk);
  color: #fff;
}

.btn--block {
  width: 100%;
  padding-inline: 1.25rem;
}

/* Add-to-cart feedback, driven by js/cart.js */
.btn.is-adding { opacity: 0.6; cursor: progress; }

.btn.is-added {
  background-color: var(--gold-lt);
  border-color: var(--gold-lt);
  color: var(--ink);
}

.btn.is-added::after {
  content: " \2713";
}

/* Text link with animated rule */
.tlink {
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(198, 161, 91, 0.3);
  transition: border-color 0.4s var(--ease), gap 0.4s var(--ease);
}

.tlink:hover { border-bottom-color: var(--gold); gap: 1.1em; }
.tlink svg { width: 14px; height: auto; }

/* -------------------------------------------------------------------------
   9. FULLSCREEN MENU
   ------------------------------------------------------------------------- */
.menu {
  position: fixed;
  inset: 0;
  z-index: 950;
  background: var(--ink-2);
  display: grid;
  grid-template-rows: var(--nav-h) 1fr auto;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.85s var(--ease);
  pointer-events: none;
  overflow-y: auto;
}

body.menu-open .menu { clip-path: inset(0 0 0% 0); pointer-events: auto; }

/* The menu wipes down over the page, so the mark arrives a beat later */
.menu__head {
  display: flex;
  align-items: center;
  /* Centred so the mark lands where the nav lockup was, and clears the
     burger — which stays live at top-left as the only way to close this. */
  justify-content: center;
  padding-inline: var(--gut);
  /* The strip is only a hanger for the mark — it must not eat clicks meant
     for the burger sitting underneath it */
  pointer-events: none;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.5s var(--ease) 0.3s, transform 0.5s var(--ease) 0.3s;
}

body.menu-open .menu__head { opacity: 1; transform: none; }

.menu__brand { display: block; line-height: 0; pointer-events: auto; }

.menu__brand .logo {
  height: clamp(28px, 3.4vw, 40px);
  width: auto;
  color: var(--gold);
  transition: opacity 0.4s var(--ease);
}

.menu__brand:hover .logo { opacity: 0.7; }

.menu__body {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-content: center;
  padding: clamp(2rem, 6vw, 4rem) var(--gut);
}

.menu__list { display: grid; gap: clamp(0.35rem, 1vw, 0.85rem); }

.menu__item { overflow: hidden; }

.menu__link {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 6.6vw, 5.4rem);
  font-weight: 300;
  line-height: 1.06;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: baseline;
  gap: 1rem;
  transform: translateY(110%);
  transition: transform 0.8s var(--ease), color 0.4s var(--ease);
  color: var(--bone);
}

.menu__link:hover { color: var(--gold); }

.menu__link i {
  font-family: var(--sans);
  font-style: normal;
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  opacity: 0.7;
}

body.menu-open .menu__link { transform: translateY(0); }
body.menu-open .menu__item:nth-child(1) .menu__link { transition-delay: 0.22s; }
body.menu-open .menu__item:nth-child(2) .menu__link { transition-delay: 0.29s; }
body.menu-open .menu__item:nth-child(3) .menu__link { transition-delay: 0.36s; }
body.menu-open .menu__item:nth-child(4) .menu__link { transition-delay: 0.43s; }
body.menu-open .menu__item:nth-child(5) .menu__link { transition-delay: 0.50s; }
body.menu-open .menu__item:nth-child(6) .menu__link { transition-delay: 0.57s; }

.menu__aside {
  display: grid;
  gap: 2.25rem;
  align-content: center;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s var(--ease) 0.5s, transform 0.7s var(--ease) 0.5s;
}

body.menu-open .menu__aside { opacity: 1; transform: none; }

.menu__foot {
  padding: 1.5rem var(--gut) 2rem;
  border-top: 1px solid var(--hair);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: space-between;
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

/* -------------------------------------------------------------------------
   10. HERO
   ------------------------------------------------------------------------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}

.hero__media {
  position: absolute;
  inset: -8% 0 -8% 0;
  z-index: -2;
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 0%, black 85%, transparent 100%);
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 74%;
  filter: saturate(0.9) contrast(1.04) brightness(1);
  transform: scale(1.14);
  animation: kenBurns 26s var(--ease-io) infinite alternate;
}

@keyframes kenBurns {
  from { transform: scale(1.14) translate3d(0, 0, 0); }
  to   { transform: scale(1.24) translate3d(-1.5%, -2%, 0); }
}

.hero__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  /* Two layers only — they multiply, so a third would crush the photograph.
     Type legibility over the busy middle comes from .hero__title's shadow. */
  background:
    linear-gradient(100deg, rgba(10,9,8,0.74) 0%, rgba(10,9,8,0.30) 38%, rgba(10,9,8,0) 68%),
    linear-gradient(180deg, rgba(10,9,8,0.34) 0%, rgba(10,9,8,0) 26%, rgba(10,9,8,0) 56%, rgba(10,9,8,0.58) 90%, var(--ink) 100%);
}

.hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding: calc(var(--nav-h) + 3rem) var(--gut) clamp(3rem, 7vw, 5.5rem);
  display: grid;
  gap: clamp(1.75rem, 4vw, 3rem);
}

.hero__kicker { opacity: 0; animation: fadeUp 1s var(--ease) 0.15s forwards; }

.hero__title {
  position: relative;
  text-shadow: 0 2px 30px rgba(10, 9, 8, 0.62), 0 1px 4px rgba(10, 9, 8, 0.4);
}

.hero__blurb { text-shadow: 0 1px 16px rgba(10, 9, 8, 0.75); }

@media (min-width: 981px) {
  .hero__blurb { max-width: 42ch; }
}

.hero__title .line { display: block; overflow: hidden; }

.hero__title .line > span {
  display: block;
  transform: translateY(105%);
  animation: riseIn 1.35s var(--ease) forwards;
}

.hero__title .line:nth-child(1) > span { animation-delay: 0.28s; }
.hero__title .line:nth-child(2) > span { animation-delay: 0.40s; }
.hero__title .line:nth-child(3) > span { animation-delay: 0.52s; }

.hero__title .line--indent { padding-left: clamp(0px, 12vw, 13rem); }

@keyframes riseIn { to { transform: translateY(0); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

.hero__meta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: clamp(1.5rem, 4vw, 3rem);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid var(--hair);
  opacity: 0;
  animation: fadeUp 1.1s var(--ease) 0.85s forwards;
}

.hero__blurb { max-width: 46ch; }

.hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }

/* Floating bottle in the hero, parallaxed */
/* Sits above the scrim but below the headline column */
.hero__bottle {
  position: absolute;
  right: clamp(1rem, 5vw, 7rem);
  top: 48%;
  translate: 0 -50%;
  width: clamp(160px, 19vw, 288px);
  z-index: 1;
  opacity: 0;
  animation: fadeUp 1.6s var(--ease) 0.6s forwards;
  will-change: transform;
  filter: drop-shadow(0 40px 70px rgba(0,0,0,0.6));
}

.hero__bottle .bottle { animation: floatBob 8s var(--ease-io) infinite; }

@keyframes floatBob {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-22px) rotate(-1.1deg); }
}

/* Scroll cue */
.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: clamp(1rem, 2.5vw, 2rem);
  translate: -50% 0;
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  font-size: 0.55rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--bone-dim);
  z-index: 3;
  opacity: 0;
  animation: fadeUp 1s var(--ease) 1.5s forwards;
}

.scroll-cue__rail {
  width: 1px;
  height: 62px;
  background: rgba(198,161,91,0.22);
  position: relative;
  overflow: hidden;
}

.scroll-cue__rail::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--gold);
  animation: railRun 2.1s var(--ease-io) infinite;
}

@keyframes railRun {
  0%   { transform: translateY(-100%); }
  60%  { transform: translateY(100%); }
  100% { transform: translateY(100%); }
}

/* -------------------------------------------------------------------------
   11. MARQUEE
   ------------------------------------------------------------------------- */
.marquee {
  border-block: 1px solid var(--hair);
  background: var(--ink-2);
  overflow: hidden;
  padding-block: clamp(0.2rem, 0.3vw, 0.3rem);
}

.marquee__track {
  display: flex;
  width: max-content;
  animation: marqueeRun 42s linear infinite;
}

.marquee:hover .marquee__track { animation-play-state: paused; }

.marquee__group {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-right: clamp(1.5rem, 3vw, 3rem);
  flex: none;
}

.marquee__item {
  font-family: var(--serif);
  font-size: clamp(0.9rem, 1.4vw, 1.2rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--bone);
  opacity: 0.82;
  white-space: nowrap;
}

.marquee__item--gold { color: var(--gold); font-style: italic; }

.marquee__dot { width: 5px; height: 5px; background: var(--gold); rotate: 45deg; flex: none; }

@keyframes marqueeRun { to { transform: translateX(-50%); } }

/* -------------------------------------------------------------------------
   11b. CAMPAIGN BANNERS
   Full-bleed image, centred stack: hairline kicker, large letterspaced
   grotesque, solid white button. Deliberately a grotesque and not the house
   serif — that contrast is what makes the format read as a campaign.
   ------------------------------------------------------------------------- */
.campaign {
  position: relative;
  min-height: clamp(400px, 60vh, 660px);
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  text-align: center;
}

.campaign__media { 
  position: absolute; 
  inset: -8% 0; 
  z-index: -2; 
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
}

.campaign__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform 1.8s var(--ease);
}

.campaign:hover .campaign__media img { transform: scale(1.09); }

/* Just enough to seat the type — the picture must stay bright and open.
   0.42 in the centre is what lifts the small kicker over 4.5:1 against white
   on the brightest of the three photographs; it fades out well before the edges. */
.campaign__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(54% 48% at 50% 50%, rgba(12,10,8,0.42) 0%, rgba(12,10,8,0.14) 58%, transparent 78%),
    linear-gradient(180deg, rgba(12,10,8,0.16) 0%, transparent 26%, transparent 74%, rgba(12,10,8,0.20) 100%);
}

.campaign__inner {
  display: grid;
  gap: clamp(0.9rem, 1.8vw, 1.5rem);
  justify-items: center;
  padding: var(--gut);
  max-width: 62rem;
}

.campaign__kicker {
  font-family: var(--sans);
  font-weight: 400;
  font-size: clamp(0.58rem, 0.72vw, 0.7rem);
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}

.campaign__title {
  font-family: var(--sans);
  font-weight: 400;
  font-size: clamp(1.5rem, 4.2vw, 3.3rem);
  line-height: 1.12;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.45), 0 1px 3px rgba(0, 0, 0, 0.35);
  margin: 0;
}

.campaign__title .ph { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.55); }

/* Solid white CTA, inverting to ink — the reference's signature button */
.btn--white {
  --btn-fg: var(--ink);
  --btn-bg: #ffffff;
  border-color: #ffffff;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.18);
}

.btn--white:hover { 
  background-color: rgba(0,0,0,0.4); 
  color: #ffffff; 
  border-color: transparent; 
}

@media (max-width: 640px) {
  .campaign { min-height: clamp(340px, 56vh, 460px); }
  .campaign__title { letter-spacing: 0.035em; }
}

/* -------------------------------------------------------------------------
   12. MANIFESTO (bone editorial spread)
   ------------------------------------------------------------------------- */
.manifesto__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 8rem);
  padding-top: clamp(3rem, 6vw, 5.5rem);
  align-items: center;
}

.manifesto__aside { display: grid; gap: 2rem; position: sticky; top: calc(var(--nav-h) + 2rem); }

.manifesto__figure { position: relative; overflow: hidden; }

.manifesto__figure img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.04);
  transition: transform 1.4s var(--ease);
}

.manifesto__figure:hover img { transform: scale(1.05); }

.manifesto__caption {
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(26,22,18,0.5);
  padding-top: 0.85rem;
  display: flex;
  gap: 0.75rem;
}

.manifesto__caption span:first-child { color: var(--gold-dk); }

.manifesto__body { display: grid; gap: clamp(1.5rem, 3vw, 2.4rem); }

/* Word-by-word scroll reveal */
.reveal-words .w {
  display: inline-block;
  opacity: 0.14;
  transition: opacity 0.55s var(--ease);
}

.reveal-words .w.on { opacity: 1; }

.manifesto__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  margin-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--hair-bone);
}

.stat__num {
  font-family: var(--serif);
  font-size: clamp(2.6rem, 4.8vw, 4rem);
  line-height: 1;
  color: var(--ink);
  display: flex;
  align-items: baseline;
}

.stat__num sup {
  font-size: 0.36em;
  color: var(--gold-dk);
  top: -0.9em;
  margin-left: 0.15em;
}

.stat__label {
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(26,22,18,0.55);
  padding-top: 0.6rem;
}

/* -------------------------------------------------------------------------
   13. THE PERFUME BAR — pinned, scroll-driven process
   ------------------------------------------------------------------------- */
.bar { background: var(--ink); position: relative; }

.bar__intro {
  padding: var(--sec-y) 0 clamp(2rem, 5vw, 4rem);
}

.bar__track { position: relative; height: 600vh; }

.bar__stage {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

/* Ambient light that shifts hue per step */
.bar__aura {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(58% 52% at 50% 52%, var(--aura, rgba(198,161,91,0.20)) 0%, transparent 68%);
  transition: background 1.1s var(--ease);
  pointer-events: none;
}

.bar__grid {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gut);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.92fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 3rem);
}

/* — left rail: step index — */
.bar__rail { display: grid; gap: 0.4rem; align-self: center; }

.bar__rail-item {
  display: grid;
  grid-template-columns: 2.6rem 1fr;
  align-items: center;
  gap: 1rem;
  padding-block: 0.7rem;
  border-top: 1px solid rgba(198,161,91,0.14);
  opacity: 0.34;
  transition: opacity 0.6s var(--ease);
}

.bar__rail-item:last-child { border-bottom: 1px solid rgba(198,161,91,0.14); }
.bar__rail-item.on { opacity: 1; }

.bar__rail-num {
  font-family: var(--serif);
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  color: var(--gold);
}

.bar__rail-name {
  font-size: 0.62rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--bone);
}

.bar__rail-item.on .bar__rail-name { color: var(--gold-lt); }

/* — centre: the bottle — */
.bar__vessel {
  position: relative;
  display: grid;
  place-items: center;
  padding-block: 1rem;
}

.bar__vessel .bottle {
  width: min(50vh, 100%);
  filter: drop-shadow(0 50px 60px rgba(0,0,0,0.62));
}

/* Ingredient orbs that fly into the bottle.
   Offsets are derived from one pair of vars so they stay clear of the glass
   at every width instead of being hard-coded per orb. */
.orbit {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  --orb-x: clamp(118px, 15.5vw, 238px);
  --orb-y: clamp(68px, 8.5vw, 142px);
  --orb-d: clamp(62px, 7.2vw, 100px);
}

.orb:nth-child(1) { --ox: calc(var(--orb-x) * -1);    --oy: calc(var(--orb-y) * -1); }
.orb:nth-child(2) { --ox: var(--orb-x);               --oy: calc(var(--orb-y) * -0.66); }
.orb:nth-child(3) { --ox: calc(var(--orb-x) * -1.04); --oy: calc(var(--orb-y) * 0.58); }
.orb:nth-child(4) { --ox: calc(var(--orb-x) * 0.96);  --oy: var(--orb-y); }

.orb {
  position: absolute;
  left: 50%; top: 50%;
  width: var(--orb-d);
  height: var(--orb-d);
  margin: calc(var(--orb-d) / -2) 0 0 calc(var(--orb-d) / -2);
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(198,161,91,0.4);
  opacity: 0;
  transform: translate(var(--ox, 0), var(--oy, 0)) scale(0.4);
  transition: opacity 0.7s var(--ease), transform 0.9s var(--ease);
  box-shadow: 0 12px 34px rgba(0,0,0,0.5);
}

.orb img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85) brightness(0.92); }

.orb__tag {
  position: absolute;
  inset: auto 0 0 0;
  background: rgba(10,9,8,0.78);
  backdrop-filter: blur(6px);
  font-size: 0.44rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  color: var(--gold-lt);
  padding: 0.28rem 0.2rem;
}

.orb.on { opacity: 1; transform: translate(var(--ox, 0), var(--oy, 0)) scale(1); }

/* Falling droplet during the dosing step */
.drops { position: absolute; inset: 0; pointer-events: none; z-index: 4; opacity: 0; transition: opacity 0.5s var(--ease); }
.drops.on { opacity: 1; }

.drop {
  position: absolute;
  left: 50%;
  top: 8%;
  width: 6px; height: 10px;
  margin-left: -3px;
  border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold));
  animation: dropFall 1.6s var(--ease-io) infinite;
}

.drop:nth-child(2) { animation-delay: 0.45s; left: 47%; }
.drop:nth-child(3) { animation-delay: 0.9s;  left: 53%; }

@keyframes dropFall {
  0%   { transform: translateY(0) scaleY(0.6); opacity: 0; }
  18%  { opacity: 1; }
  76%  { transform: translateY(200px) scaleY(1.3); opacity: 1; }
  100% { transform: translateY(230px) scaleY(0.2); opacity: 0; }
}

/* — right: step copy — */
.bar__panes { position: relative; min-height: 300px; }

.bar__pane {
  position: absolute;
  inset: 0;
  display: grid;
  gap: 1.1rem;
  align-content: center;
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.65s var(--ease), transform 0.65s var(--ease);
  pointer-events: none;
}

.bar__pane.on { opacity: 1; transform: none; pointer-events: auto; }

.bar__pane-num {
  font-family: var(--serif);
  font-size: clamp(3rem, 6vw, 5.4rem);
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1px rgba(198,161,91,0.5);
}

.bar__pane h3 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.7rem, 3.2vw, 2.9rem);
  line-height: 1.06;
  text-transform: uppercase;
  letter-spacing: -0.005em;
}

.bar__pane p { color: var(--bone-dim); max-width: 40ch; }

.bar__notes { display: flex; flex-wrap: wrap; gap: 0.5rem; padding-top: 0.4rem; }

.chip {
  font-size: 0.56rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-lt);
  border: 1px solid rgba(198,161,91,0.32);
  padding: 0.42em 0.9em;
  border-radius: 100px;
  white-space: nowrap;
}

/* Progress bar across the bottom of the pinned stage */
.bar__progress {
  position: absolute;
  left: var(--gut); right: var(--gut);
  bottom: clamp(1.25rem, 3vw, 2.5rem);
  z-index: 5;
  display: grid;
  gap: 0.75rem;
}

.bar__progress-rail { height: 1px; background: rgba(198,161,91,0.18); position: relative; }

.bar__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background: linear-gradient(90deg, var(--gold-dk), var(--gold-lt));
}

.bar__progress-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.55rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

/* -------------------------------------------------------------------------
   14. THE BOTTLE — SVG glass rendering
   ------------------------------------------------------------------------- */
.bottle {
  width: 100%;
  height: auto;
  overflow: visible;
  transition: color 1.1s var(--ease);
}

/* Fill level is one custom property, so every flacon shares identical markup */
.bottle__fill {
  transform: translateY(var(--fill, 356px));
  transition: transform 0.9s var(--ease);
}

/* The bar's bottle is driven directly by scroll — near-instant, no easing lag */
.bottle--live .bottle__fill { transition: transform 0.12s linear; }

.bottle__cap {
  transform-box: view-box;
  transition: transform 0.85s var(--ease);
}

.bottle__engrave {
  opacity: 0;
  transition: opacity 0.9s var(--ease);
}

.bottle__engrave.on { opacity: 1; }

/* Slow specular sweep across the glass */
.bottle__spec { animation: specSweep 7s var(--ease-io) infinite; }

@keyframes specSweep {
  0%, 100% { opacity: 0.5; transform: translateX(0); }
  50%      { opacity: 0.85; transform: translateX(10px); }
}

/* -------------------------------------------------------------------------
   15. COLLECTIONS — pinned horizontal gallery
   ------------------------------------------------------------------------- */
.coll { background: var(--ink-2); position: relative; }
.coll__intro { padding: var(--sec-y) 0 clamp(2rem, 4vw, 3.5rem); }
.coll__track { position: relative; }

.coll__stage {
  position: sticky;
  top: 0;
  height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.coll__row {
  display: flex;
  gap: clamp(1.25rem, 2.6vw, 2.5rem);
  padding-inline: var(--gut);
  will-change: transform;
}

.card {
  flex: none;
  width: clamp(258px, 27vw, 380px);
  background: linear-gradient(168deg, var(--ink-3) 0%, var(--ink) 100%);
  border: 1px solid rgba(198,161,91,0.15);
  padding: clamp(1.25rem, 2vw, 2rem);
  display: grid;
  gap: 0.9rem;
  position: relative;
  overflow: hidden;
  transition: border-color 0.6s var(--ease), transform 0.7s var(--ease);
}

.card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(70% 50% at 50% 12%, var(--card-glow, rgba(198,161,91,0.16)) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.7s var(--ease);
  pointer-events: none;
}

.card:hover { border-color: rgba(198,161,91,0.45); transform: translateY(-8px); }
.card:hover::after { opacity: 1; }

.card__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(198,161,91,0.16);
}

.card__idx { font-family: var(--serif); font-size: 0.8rem; letter-spacing: 0.18em; color: var(--gold); }

.card__fam {
  font-size: 0.53rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

.card__vessel {
  display: grid;
  place-items: center;
  padding-block: clamp(0.5rem, 1.5vw, 1.25rem);
}

.card__vessel .bottle {
  width: clamp(96px, 10.5vw, 152px);
  filter: drop-shadow(0 26px 34px rgba(0,0,0,0.55));
  transition: transform 0.8s var(--ease);
}

.card:hover .card__vessel .bottle { transform: translateY(-10px) rotate(-2deg); }

.card__name {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.45rem, 2.1vw, 1.95rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.card__ar {
  font-family: var(--arabic);
  font-size: 1.05rem;
  color: var(--gold);
  opacity: 0.8;
  direction: rtl;
  line-height: 1.4;
}

.card__desc { font-size: 0.82rem; color: var(--bone-dim); line-height: 1.6; }

.card__notes { display: grid; gap: 0.4rem; padding-top: 0.35rem; }

.card__note {
  display: grid;
  grid-template-columns: 3.6rem 1fr;
  gap: 0.75rem;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  align-items: baseline;
}

.card__note dt { color: var(--gold); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.52rem; }
.card__note dd { margin: 0; color: var(--bone); opacity: 0.82; }

.card__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(198,161,91,0.16);
}

.card__price { font-family: var(--serif); font-size: 1.05rem; color: var(--gold-lt); }
.card__price small { font-size: 0.55rem; letter-spacing: 0.2em; color: var(--bone-dim); display: block; font-family: var(--sans); }

/* Drag affordance */
.coll__hint {
  position: absolute;
  left: 50%; bottom: clamp(2rem, 5vw, 4rem);
  translate: -50% 0;
  z-index: 4;
  font-size: 0.55rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--bone-dim);
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.coll__hint span { width: clamp(30px, 6vw, 70px); height: 1px; background: rgba(198,161,91,0.35); }

/* -------------------------------------------------------------------------
   16. OLFACTIVE PYRAMID (bone)
   ------------------------------------------------------------------------- */
.pyr__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.pyr__stage { position: relative; display: grid; place-items: center; }

.pyr__svg { width: 100%; max-width: 520px; overflow: visible; }

.pyr__band {
  cursor: pointer;
  transition: opacity 0.5s var(--ease), transform 0.6s var(--ease);
  transform-box: fill-box;
  transform-origin: center;
}

.pyr__band { opacity: 0.58; }
.pyr__band:hover, .pyr__band.on { opacity: 1; }
.pyr__band.on { transform: translateX(0) scale(1.02); }

.pyr__list { display: grid; gap: 0.5rem; }

.pyr__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(1rem, 2vw, 1.5rem) 0;
  border-top: 1px solid var(--hair-bone);
  cursor: pointer;
  transition: padding-left 0.5s var(--ease);
}

.pyr__row:last-child { border-bottom: 1px solid var(--hair-bone); }
.pyr__row:hover, .pyr__row.on { padding-left: 0.75rem; }

.pyr__swatch {
  width: 14px; height: 14px;
  rotate: 45deg;
  background: var(--sw, var(--gold));
  transition: scale 0.5s var(--ease);
}

.pyr__row.on .pyr__swatch { scale: 1.35; }

.pyr__name {
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
  text-transform: uppercase;
  line-height: 1.1;
}

.pyr__row.on .pyr__name { color: var(--gold-dk); }

.pyr__meta {
  font-size: 0.58rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(26,22,18,0.5);
  text-align: right;
}

.pyr__detail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.65s var(--ease);
}

.pyr__row.on .pyr__detail { grid-template-rows: 1fr; }

.pyr__detail > div { overflow: hidden; }

.pyr__detail p {
  padding-top: 0.9rem;
  max-width: 52ch;
  font-size: 0.9rem;
  color: rgba(26,22,18,0.66);
}

/* -------------------------------------------------------------------------
   17. ATELIER — full-bleed editorial
   ------------------------------------------------------------------------- */
.atelier { background: var(--ink); overflow: hidden; }

.atelier__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.atelier__strip {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(0.75rem, 1.6vw, 1.5rem);
  padding-top: clamp(2rem, 4vw, 3.5rem);
}

.frame { position: relative; overflow: hidden; }

.frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.74) contrast(1.06) brightness(0.86);
  transition: transform 1.5s var(--ease), filter 1s var(--ease);
  will-change: transform;
}

.frame:hover img { transform: scale(1.06); filter: saturate(0.9) contrast(1.08) brightness(1); }

/* Curtain wipe on reveal */
.frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--ink);
  transform-origin: bottom;
  transition: transform 1.1s var(--ease);
}

.frame.is-in::before { transform: scaleY(0); }

.frame--a { grid-column: span 7; aspect-ratio: 4 / 3; }
.frame--b { grid-column: span 5; aspect-ratio: 3 / 4; align-self: end; }
.frame--c { grid-column: span 5; aspect-ratio: 1 / 1; }
.frame--d { grid-column: span 7; aspect-ratio: 16 / 10; }

.frame__cap {
  position: absolute;
  left: 1rem; bottom: 1rem;
  z-index: 3;
  font-size: 0.55rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bone);
  background: rgba(10,9,8,0.55);
  backdrop-filter: blur(8px);
  padding: 0.45rem 0.85rem;
  border: 1px solid rgba(198,161,91,0.22);
}

/* -------------------------------------------------------------------------
   18. TESTIMONIALS (bone)
   ------------------------------------------------------------------------- */
.quotes__stage {
  position: relative;
  min-height: clamp(260px, 34vw, 380px);
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.quote {
  position: absolute;
  inset: auto 0 0 0;
  top: clamp(2.5rem, 5vw, 4rem);
  display: grid;
  gap: 1.75rem;
  align-content: center;
  justify-items: center;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
  pointer-events: none;
}

.quote.on { opacity: 1; transform: none; pointer-events: auto; }

.quote blockquote {
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(1.4rem, 3.2vw, 2.6rem);
  line-height: 1.3;
  max-width: 22ch;
}

.quote figcaption {
  font-size: 0.58rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(26,22,18,0.55);
}

.quote figcaption b { color: var(--gold-dk); font-weight: 400; }

.quotes__dots { display: flex; gap: 0.6rem; justify-content: center; padding-top: clamp(1.5rem, 3vw, 2.5rem); }

.quotes__dot {
  width: 7px; height: 7px;
  rotate: 45deg;
  border: 1px solid rgba(26,22,18,0.35);
  transition: background 0.4s var(--ease), border-color 0.4s var(--ease), scale 0.4s var(--ease);
}

.quotes__dot.on { background: var(--gold-dk); border-color: var(--gold-dk); scale: 1.25; }

/* -------------------------------------------------------------------------
   19. VISIT
   ------------------------------------------------------------------------- */
.visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 6vw, 5rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
  align-items: start;
}

.visit__facts { display: grid; gap: 0; }

.fact {
  display: grid;
  grid-template-columns: minmax(90px, 0.32fr) 1fr;
  gap: clamp(1rem, 3vw, 2.5rem);
  padding-block: clamp(1.1rem, 2.2vw, 1.7rem);
  border-top: 1px solid var(--hair);
  align-items: start;
}

.visit__facts .fact:last-child { border-bottom: 1px solid var(--hair); }

.fact__k {
  font-size: 0.58rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gold);
  padding-top: 0.35rem;
}

.fact__v { font-family: var(--serif); font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.5; }
.fact__v small { display: block; font-family: var(--sans); font-size: 0.78rem; color: var(--bone-dim); letter-spacing: 0.04em; padding-top: 0.3rem; }

/* Booking form */
.book {
  background: var(--ink-2);
  border: 1px solid var(--hair);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  display: grid;
  gap: 1.35rem;
}

/* The mark sits on the form like a wax seal on stationery */
.book__seal {
  width: clamp(38px, 4.4vw, 52px);
  color: var(--gold);
  opacity: 0.85;
  justify-self: center;
  margin-bottom: -0.35rem;
}

.field { display: grid; gap: 0.5rem; }

.field label {
  font-size: 0.55rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

.field input, .field select, .field textarea {
  font-family: var(--sans);
  font-size: 0.92rem;
  font-weight: 300;
  color: var(--bone);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(198,161,91,0.28);
  padding: 0.65rem 0;
  transition: border-color 0.4s var(--ease);
  width: 100%;
  border-radius: 0;
}

.field textarea { resize: vertical; min-height: 74px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-bottom-color: var(--gold); }
.field select option { background: var(--ink-2); color: var(--bone); }
.field input::placeholder, .field textarea::placeholder { color: rgba(167,156,138,0.5); }

.book__note { font-size: 0.68rem; color: var(--bone-dim); line-height: 1.6; }

.book__msg {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  color: var(--gold-lt);
  border-left: 1px solid var(--gold);
  padding-left: 0.9rem;
  display: none;
}

.book__msg.on { display: block; }

/* -------------------------------------------------------------------------
   20. FOOTER
   ------------------------------------------------------------------------- */
.foot { background: var(--ink-2); border-top: 1px solid var(--hair); }

.foot__top {
  padding-block: clamp(3rem, 7vw, 6rem);
  display: grid;
  justify-items: center;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  text-align: center;
}

.foot__mark { width: clamp(200px, 34vw, 460px); color: var(--gold); opacity: 0.92; }

.foot__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem);
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--hair);
}

.foot__col { display: grid; gap: 0.85rem; align-content: start; }

.foot__h {
  font-size: 0.55rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  padding-bottom: 0.35rem;
}

.foot__col a, .foot__col p { font-size: 0.85rem; color: var(--bone-dim); transition: color 0.35s var(--ease); }
.foot__col a:hover { color: var(--gold-lt); }

.foot__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2rem;
  justify-content: space-between;
  align-items: center;
  padding-block: clamp(1.25rem, 2.5vw, 2rem);
  border-top: 1px solid var(--hair);
  font-size: 0.58rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(167,156,138,0.7);
}

/* Placeholder highlighting — remove this rule once real data is in */
.ph {
  color: var(--gold-lt);
  border-bottom: 1px dotted rgba(198,161,91,0.5);
  cursor: help;
}

.section--bone .ph { color: var(--gold-dk); border-bottom-color: rgba(138,109,51,0.5); }

/* -------------------------------------------------------------------------
   21. REVEAL SYSTEM
   ------------------------------------------------------------------------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 1s var(--ease), transform 1s var(--ease);
}

[data-reveal].is-in { opacity: 1; transform: none; }

[data-reveal="fade"]  { transform: none; }
[data-reveal="left"]  { transform: translateX(-42px); }
[data-reveal="right"] { transform: translateX(42px); }
[data-reveal="scale"] { transform: scale(0.94); }

[data-reveal].is-in[data-reveal="left"],
[data-reveal].is-in[data-reveal="right"],
[data-reveal].is-in[data-reveal="scale"] { transform: none; }

/* Line-by-line masked reveal for headings */
.mask-lines .line { display: block; overflow: hidden; }

.mask-lines .line > span {
  display: block;
  transform: translateY(105%);
  transition: transform 1.1s var(--ease);
}

.mask-lines.is-in .line > span { transform: none; }
.mask-lines.is-in .line:nth-child(2) > span { transition-delay: 0.09s; }
.mask-lines.is-in .line:nth-child(3) > span { transition-delay: 0.18s; }
.mask-lines.is-in .line:nth-child(4) > span { transition-delay: 0.27s; }

/* Stagger children */
[data-stagger] > * {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
}

[data-stagger].is-in > * { opacity: 1; transform: none; }
[data-stagger].is-in > *:nth-child(1) { transition-delay: 0.05s; }
[data-stagger].is-in > *:nth-child(2) { transition-delay: 0.13s; }
[data-stagger].is-in > *:nth-child(3) { transition-delay: 0.21s; }
[data-stagger].is-in > *:nth-child(4) { transition-delay: 0.29s; }
[data-stagger].is-in > *:nth-child(5) { transition-delay: 0.37s; }
[data-stagger].is-in > *:nth-child(6) { transition-delay: 0.45s; }

/* Custom cursor halo (pointer devices only) */
.cursor {
  position: fixed;
  top: 0; left: 0;
  width: 26px; height: 26px;
  border: 1px solid rgba(198,161,91,0.65);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9997;
  translate: -50% -50%;
  transition: width 0.35s var(--ease), height 0.35s var(--ease),
              border-color 0.35s var(--ease), opacity 0.35s var(--ease);
  opacity: 0;
}

.cursor.on { opacity: 0.7; }

/* A ring, not a blob — a filled halo swallows the text underneath */
.cursor.grow {
  width: 54px; height: 54px;
  border-color: rgba(198, 161, 91, 0.85);
}

/* -------------------------------------------------------------------------
   22. RESPONSIVE
   ------------------------------------------------------------------------- */
@media (max-width: 1180px) {
  .bar__grid { grid-template-columns: minmax(0, 0.9fr) minmax(230px, 0.8fr) minmax(0, 1.1fr); }
  .bar__vessel .bottle { width: min(42vh, 100%); }
}

@media (max-width: 980px) {
  .nav__links { display: none; }
  .nav__row { grid-template-columns: auto 1fr auto; }
  .nav__brand { grid-column: 2; }
  .nav__burger { display: block; grid-column: 1; justify-self: start; }
  .nav__cta-wrap .btn { display: none; }

  .menu__body { grid-template-columns: 1fr; }
  .menu__aside { display: none; }

  .hero__bottle { display: none; }
  .hero__meta { grid-template-columns: 1fr; align-items: start; }
  .hero__title .line--indent { padding-left: 0; }

  .manifesto__grid { grid-template-columns: 1fr; }
  .manifesto__aside { position: static; }
  .manifesto__figure img { aspect-ratio: 16 / 10; }

  .pyr__grid { grid-template-columns: 1fr; }
  .atelier__lead { grid-template-columns: 1fr; align-items: start; }
  .visit__grid { grid-template-columns: 1fr; }

  .frame--a, .frame--d { grid-column: span 12; }
  .frame--b, .frame--c { grid-column: span 6; }

  /* Perfume bar becomes a stacked, still-animated column.
     Everything is sized to fit inside one pinned viewport, including the
     stopper when it lifts clear of the neck. */
  .bar__track { height: 560vh; }

  .bar__stage {
    padding-top: var(--nav-h);
    align-items: start;
  }

  .bar__grid {
    grid-template-columns: 1fr;
    gap: clamp(0.5rem, 2vw, 1.25rem);
    justify-items: center;
    height: 100%;
    align-content: center;
    padding-bottom: 6rem;   /* keeps the chips clear of the progress readout */
  }

  .bar__rail { display: none; }
  .bar__vessel { order: 1; }
  .bar__vessel .bottle { width: min(27vh, 46vw); }

  .bar__panes { order: 2; min-height: 0; width: 100%; max-width: 540px; }

  .bar__pane {
    position: relative;
    text-align: center;
    justify-items: center;
    gap: 0.65rem;
  }

  /* Stacked panes would each claim height, so only the active one is laid out */
  .bar__pane:not(.on) { position: absolute; inset: 0; }

  .bar__pane p { max-width: 38ch; font-size: 0.86rem; line-height: 1.65; }
  .bar__notes { justify-content: center; }
  .bar__pane-num { font-size: clamp(1.9rem, 7vw, 2.6rem); }
  .bar__pane h3 { font-size: clamp(1.4rem, 5vw, 2rem); }
  .chip { font-size: 0.5rem; padding: 0.38em 0.75em; }
}

@media (max-width: 640px) {
  :root { --sec-y: clamp(3.5rem, 14vw, 5.5rem); }

  .sec-head { flex-direction: column; align-items: flex-start; gap: 0.85rem; }
  .hero__actions { width: 100%; }
  .hero__actions .btn { flex: 1 1 auto; }

  /* The stacked CTAs already occupy the bottom edge — the cue would sit on them */
  .scroll-cue { display: none; }

  .card { width: min(80vw, 320px); }
  .frame--b, .frame--c { grid-column: span 12; }

  .manifesto__stats { grid-template-columns: 1fr 1fr; }
  .fact { grid-template-columns: 1fr; gap: 0.4rem; }

  .quote blockquote { max-width: 100%; }
  .cursor { display: none; }
}

/* Wide screens — let the type breathe */
@media (min-width: 1900px) {
  :root { --maxw: 1720px; }
}

/* Short viewports (laptops, landscape phones): the pinned sections must still
   fit one screen, so the two tallest pieces give up some height. */
@media (max-height: 760px) {
  .card { gap: 0.72rem; padding: 1.1rem; }
  .card__vessel { padding-block: 0.25rem; }
  .card__vessel .bottle { width: clamp(84px, 9vw, 124px); }
  .card__desc { font-size: 0.78rem; line-height: 1.55; }
  .card__name { font-size: clamp(1.25rem, 1.9vw, 1.6rem); }

  .bar__vessel .bottle { width: min(42vh, 100%); }
}

/* -------------------------------------------------------------------------
   23. REDUCED MOTION — everything still works, nothing moves
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  [data-reveal], [data-stagger] > * { opacity: 1 !important; transform: none !important; }
  .mask-lines .line > span { transform: none !important; }
  .hero__title .line > span { transform: none; }
  .grain { display: none; }
  .cursor { display: none; }
  .frame::before { transform: scaleY(0); }
  .reveal-words .w { opacity: 1; }

  /* Un-pin the long scroll sections so nothing gets stuck */
  .bar__track { height: auto; }
  .bar__stage { position: static; height: auto; padding-block: 4rem; }
  .bar__panes { position: static; min-height: 0; display: grid; gap: 3rem; }
  .bar__pane { position: static; opacity: 1; transform: none; pointer-events: auto; }
  .bar__progress { display: none; }
  .orb { opacity: 1; transform: none; position: static; margin: 0; }
  .orbit { position: static; display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; padding-top: 1.5rem; }

  .coll__track { height: auto !important; }
  .coll__stage { position: static; height: auto; padding-block: 3rem; }
  .coll__row { flex-wrap: wrap; justify-content: center; transform: none !important; }

  .quote { position: static; opacity: 1; transform: none; padding-block: 2rem; }
  .quotes__stage { min-height: 0; }
  .quotes__dots { display: none; }
}

/* Print — a clean editorial fallback */
@media print {
  .nav, .menu, .preloader, .grain, .cursor, .scroll-cue, .marquee { display: none !important; }
  body { background: #fff; color: #111; }
}

/* -------------------------------------------------------------------------
   NEW HERO STYLES (Chanel-inspired)
   ------------------------------------------------------------------------- */
.hero-centered {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}

.hero__scrim--light {
  background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.1) 100%);
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.hero__content-center {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
  /* Was 25vh before the emblem was added. The mark and its gap take ~12.1vh,
     so the offset drops by the same amount and the headline stays put. */
  margin-top: 12.9vh;
}

/* The house emblem opens the page. Gold over photography needs a soft shadow
   to stay legible on a light frame. */
.hero__mark {
  /* Sized against viewport height — that is the axis the hero is short on */
  height: clamp(56px, 10.5vh, 96px);
  width: auto;
  aspect-ratio: 327.66 / 474.5;
  color: var(--gold-lt);
  margin-bottom: clamp(0.9rem, 1.6vh, 1.5rem);
  filter: drop-shadow(0 2px 14px rgba(10, 9, 8, 0.55));
  /* Held back until the preloader lifts, otherwise it plays behind it */
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 1.1s var(--ease) 0.25s, transform 1.1s var(--ease) 0.25s;
}

body:not(.is-locked) .hero__mark { opacity: 1; transform: none; }

.hero__kicker-center {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.35em;
  font-weight: 700;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.hero__title-center {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
  text-transform: uppercase;
  text-shadow: 0 2px 15px rgba(0,0,0,0.2);
}

/* btn-center removed to unify button style */

/* -------------------------------------------------------------------------
   PYRAMID OVERLAY (Dark Theme on Image Background)
   ------------------------------------------------------------------------- */
.section--dark-pyramid {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: transparent !important;
  color: #fff !important;
  padding-top: 4rem;
  padding-bottom: 6rem;
}

.section--dark-pyramid .sec-head,
.section--dark-pyramid .display,
.section--dark-pyramid .pyr__name {
  color: #fff !important;
}

.section--dark-pyramid .sec-num {
  color: rgba(255, 255, 255, 0.6) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.section--dark-pyramid .pyr__meta {
  color: rgba(255, 255, 255, 0.7) !important;
}

.section--dark-pyramid .pyr__detail p {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* Make the pyramid SVGs look high contrast and glowing */
.section--dark-pyramid .pyr__band {
  filter: drop-shadow(0 4px 15px rgba(212, 175, 55, 0.35));
  stroke: rgba(255, 255, 255, 0.6);
  stroke-width: 1px;
}

.section--dark-pyramid .pyr__svg text {
  fill: #fff !important;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

.campaign__media img {
  filter: grayscale(100%) contrast(1.2) brightness(0.7);
}


/* ─────────────────────────  SHOP SECTION  ───────────────────────── */

.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.shop-item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  cursor: pointer;
}

.shop-item__media {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 4/5;
  background-color: var(--bone-2);
}

.shop-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.shop-item:hover .shop-item__media img {
  transform: scale(1.05);
}

.shop-item__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 9, 8, 0.3); /* Subtle ink overlay */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.shop-item:hover .shop-item__overlay {
  opacity: 1;
}

.shop-btn {
  transform: translateY(1rem);
  opacity: 0;
  transition: all 0.4s ease;
}

.shop-item:hover .shop-btn {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.1s;
}

.shop-item__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: center;
}

.shop-item__title {
  font-family: var(--f-serif);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--ink);
  letter-spacing: 0.02em;
}

.shop-item__desc {
  font-family: var(--f-sans);
  font-size: 0.85rem;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.shop-item__price {
  font-family: var(--f-sans);
  font-size: 0.95rem;
  color: var(--ink);
  margin-top: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
  .shop-item:hover .shop-item__media img {
    transform: none;
  }
  .shop-btn {
    transform: none;
  }
}

 
 /* Floating WhatsApp Button */
.floating-wa {
  position: fixed !important;
  bottom: 2rem !important;
  right: 2rem !important;
  width: 60px !important;
  height: 60px !important;
  background-color: #25D366 !important;
  color: white !important;
  border-radius: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15) !important;
  z-index: 99999 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.floating-wa:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.2) !important;
}
.floating-wa svg {
  width: 35px !important;
  height: 35px !important;
  fill: currentColor !important;
}
@media (max-width: 768px) {
  .floating-wa {
    bottom: 1.5rem !important;
    right: 1.5rem !important;
    width: 50px !important;
    height: 50px !important;
  }
  .floating-wa svg {
    width: 30px !important;
    height: 30px !important;
  }
}

/* -------------------------------------------------------------------------
   23. CART
   Trigger in the nav, slide-in drawer, add-to-cart forms and the toast.
   State lives in js/cart.js; this file only dresses it.
   ------------------------------------------------------------------------- */

/* ---- the buy form on a product card ---- */
.card__buy { display: block; }

.shop-item__buy { display: block; padding-top: 0.85rem; }

/* The e-boutique overlay is now only an image scrim — the button moved out
   of it, because a hover-only control is invisible on a touch screen. */
.shop-item__overlay { pointer-events: none; }

/* ---- nav trigger ---- */
.cart-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--bone);
  cursor: pointer;
  transition: color 0.35s var(--ease);
}

.cart-trigger:hover { color: var(--gold); }
.cart-trigger svg { width: 23px; height: 23px; display: block; }

.cart-trigger__count {
  position: absolute;
  top: 1px;
  right: 0;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--gold);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
  transition: transform 0.4s var(--ease), opacity 0.3s var(--ease);
}

/* An empty cart does not need a badge shouting zero */
.cart-trigger__count[data-count="0"] { opacity: 0; transform: scale(0.6); }

/* ---- backdrop ---- */
.cart-backdrop {
  position: fixed;
  inset: 0;
  z-index: 960;
  background: rgba(10, 9, 8, 0.62);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  /* visibility is stepped, not eased: hide only after the fade finishes */
  transition: opacity 0.5s var(--ease), visibility 0s linear 0.5s;
}

body.cart-open .cart-backdrop {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s var(--ease), visibility 0s;
}

/* Freeze the page behind the drawer. Deliberately NOT .is-locked — that
   class also gates the hero mark's entrance. */
body.cart-open { overflow: hidden; }

/* ---- drawer ---- */
.cart {
  position: fixed;
  top: 0; right: 0;
  z-index: 970;
  width: min(420px, 100vw);
  height: 100%;
  background: var(--ink-2);
  border-left: 1px solid var(--hair);
  display: grid;
  grid-template-rows: auto 1fr auto;
  transform: translateX(100%);
  visibility: hidden;
  /* Flip visibility instantly on open so the panel is focusable straight
     away; on close, hold it until the slide-out has played. */
  transition: transform 0.55s var(--ease), visibility 0s linear 0.55s;
}

body.cart-open .cart {
  transform: none;
  visibility: visible;
  transition: transform 0.55s var(--ease), visibility 0s;
}

.cart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.25rem, 3vw, 1.9rem) clamp(1.25rem, 3vw, 1.9rem);
  border-bottom: 1px solid var(--hair);
}

.cart__title {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--bone);
}

.cart__close {
  width: 38px; height: 38px;
  display: grid;
  place-items: center;
  background: none;
  border: 1px solid var(--hair);
  color: var(--bone-dim);
  cursor: pointer;
  transition: color 0.35s var(--ease), border-color 0.35s var(--ease);
}

.cart__close:hover { color: var(--gold); border-color: var(--gold); }
.cart__close svg { width: 17px; height: 17px; }

.cart__body {
  overflow-y: auto;
  padding: clamp(1.25rem, 3vw, 1.9rem);
}

.cart__empty {
  margin: 0;
  color: var(--bone-dim);
  font-size: 0.9rem;
  line-height: 1.9;
}

.cart__empty a {
  display: block;
  color: var(--gold);
  border-bottom: 1px solid rgba(198, 161, 91, 0.3);
  width: max-content;
  text-decoration: none;
}

.cart__lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }

.cart-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--hair);
}

.cart-line:last-child { border-bottom: 0; padding-bottom: 0; }

.cart-line__title {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--bone);
}

.cart-line__variant {
  margin: 0.2rem 0 0.7rem;
  font-size: 0.55rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

.cart-line__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--hair);
}

.qty__btn {
  width: 30px; height: 30px;
  background: none;
  border: 0;
  color: var(--bone-dim);
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.3s var(--ease);
}

.qty__btn:hover { color: var(--gold); }

.qty__n {
  min-width: 30px;
  text-align: center;
  font-size: 0.8rem;
  color: var(--bone);
}

.cart-line__side { text-align: right; display: grid; align-content: space-between; gap: 0.6rem; }

.cart-line__price {
  margin: 0;
  font-family: var(--serif);
  font-size: 1rem;
  color: var(--gold-lt);
  white-space: nowrap;
}

.cart-line__remove {
  background: none;
  border: 0;
  padding: 0;
  font-family: var(--sans);
  font-size: 0.55rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bone-dim);
  cursor: pointer;
  transition: color 0.3s var(--ease);
}

.cart-line__remove:hover { color: var(--gold); }

/* ---- footer ---- */
.cart__foot {
  padding: clamp(1.25rem, 3vw, 1.9rem);
  border-top: 1px solid var(--hair);
  display: grid;
  gap: 0.9rem;
}

.cart__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bone-dim);
}

.cart__total strong {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--gold-lt);
}

.cart__vat { margin: 0; font-size: 0.7rem; color: var(--bone-dim); }

.cart__note {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.7;
  color: var(--gold);
  opacity: 0.85;
}

/* ---- toast ---- */
.cart-toast {
  position: fixed;
  left: 50%;
  bottom: clamp(1.5rem, 4vw, 2.5rem);
  z-index: 980;
  translate: -50% 0;
  max-width: min(90vw, 420px);
  padding: 0.9rem 1.5rem;
  background: var(--ink-3);
  border: 1px solid var(--gold);
  color: var(--bone);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity 0.45s var(--ease), transform 0.45s var(--ease);
}

.cart-toast.on { opacity: 1; transform: none; }

/* The floating WhatsApp button sits bottom-right; keep the drawer clear of it */
body.cart-open .whatsapp-float-btn { opacity: 0; pointer-events: none; }

@media (max-width: 980px) {
  /* "Book the Bar" is hidden on small screens, but the cart never is */
  .nav__cta-wrap { display: flex; align-items: center; gap: 0.4rem; }
  .cart-trigger { width: 38px; height: 38px; }
}
