@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: "Inter", "SF Pro Display", system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: "JetBrains Mono", "SF Mono", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
} .visible{
  visibility: visible;
} .fixed{
  position: fixed;
} .relative{
  position: relative;
} .mx-auto{
  margin-left: auto;
  margin-right: auto;
} .ml-1{
  margin-left: 0.25rem;
} .mt-1{
  margin-top: 0.25rem;
} .mt-1\.5{
  margin-top: 0.375rem;
} .mt-auto{
  margin-top: auto;
} .line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
} .block{
  display: block;
} .inline-block{
  display: inline-block;
} .flex{
  display: flex;
} .grid{
  display: grid;
} .h-1\.5{
  height: 0.375rem;
} .h-12{
  height: 3rem;
} .h-2{
  height: 0.5rem;
} .h-screen{
  height: 100vh;
} .max-h-56{
  max-height: 14rem;
} .min-h-0{
  min-height: 0px;
} .w-1\.5{
  width: 0.375rem;
} .w-2{
  width: 0.5rem;
} .w-56{
  width: 14rem;
} .w-80{
  width: 20rem;
} .w-full{
  width: 100%;
} .min-w-0{
  min-width: 0px;
} .max-w-2xl{
  max-width: 42rem;
} .max-w-sm{
  max-width: 24rem;
} .flex-1{
  flex: 1 1 0%;
} .shrink-0{
  flex-shrink: 0;
} @keyframes fade-in{
  0%{
    opacity: 0;
    transform: translateY(4px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
} .animate-fade-in{
  animation: fade-in 0.2s ease-out;
} .cursor-pointer{
  cursor: pointer;
} .appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
} .grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
} .flex-col{
  flex-direction: column;
} .flex-wrap{
  flex-wrap: wrap;
} .items-start{
  align-items: flex-start;
} .items-center{
  align-items: center;
} .justify-center{
  justify-content: center;
} .justify-between{
  justify-content: space-between;
} .gap-1{
  gap: 0.25rem;
} .gap-1\.5{
  gap: 0.375rem;
} .gap-2{
  gap: 0.5rem;
} .gap-3{
  gap: 0.75rem;
} .gap-4{
  gap: 1rem;
} .gap-6{
  gap: 1.5rem;
} .overflow-y-auto{
  overflow-y: auto;
} .whitespace-pre-line{
  white-space: pre-line;
} .rounded-full{
  border-radius: 9999px;
} .rounded-md{
  border-radius: 0.375rem;
} .border{
  border-width: 1px;
} .border-b{
  border-bottom-width: 1px;
} .border-l{
  border-left-width: 1px;
} .border-r{
  border-right-width: 1px;
} .border-accent\/40{
  border-color: rgb(56 242 224 / 0.4);
} .border-border{
  --tw-border-opacity: 1;
  border-color: rgb(28 37 49 / var(--tw-border-opacity, 1));
} .border-border-subtle{
  --tw-border-opacity: 1;
  border-color: rgb(20 27 38 / var(--tw-border-opacity, 1));
} .border-green-400\/30{
  border-color: rgb(74 222 128 / 0.3);
} .border-red-400\/30{
  border-color: rgb(248 113 113 / 0.3);
} .border-yellow-400\/30{
  border-color: rgb(250 204 21 / 0.3);
} .bg-accent{
  --tw-bg-opacity: 1;
  background-color: rgb(56 242 224 / var(--tw-bg-opacity, 1));
} .bg-accent\/10{
  background-color: rgb(56 242 224 / 0.1);
} .bg-accent\/20{
  background-color: rgb(56 242 224 / 0.2);
} .bg-background{
  --tw-bg-opacity: 1;
  background-color: rgb(5 7 10 / var(--tw-bg-opacity, 1));
} .bg-background-panel\/60{
  background-color: rgb(11 15 22 / 0.6);
} .bg-background-panel\/80{
  background-color: rgb(11 15 22 / 0.8);
} .bg-background-raised\/50{
  background-color: rgb(17 24 38 / 0.5);
} .bg-background-raised\/60{
  background-color: rgb(17 24 38 / 0.6);
} .bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
} .bg-text-muted{
  --tw-bg-opacity: 1;
  background-color: rgb(84 101 112 / var(--tw-bg-opacity, 1));
} .bg-transparent{
  background-color: transparent;
} .bg-yellow-400{
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
} .p-0{
  padding: 0px;
} .p-2{
  padding: 0.5rem;
} .p-3{
  padding: 0.75rem;
} .px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
} .px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
} .px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
} .px-4{
  padding-left: 1rem;
  padding-right: 1rem;
} .px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
} .py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
} .py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
} .py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
} .text-left{
  text-align: left;
} .text-center{
  text-align: center;
} .font-mono{
  font-family: "JetBrains Mono", "SF Mono", monospace;
} .text-\[10px\]{
  font-size: 10px;
} .text-\[11px\]{
  font-size: 11px;
} .text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
} .text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
} .text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
} .font-semibold{
  font-weight: 600;
} .uppercase{
  text-transform: uppercase;
} .leading-relaxed{
  line-height: 1.625;
} .tracking-\[0\.2em\]{
  letter-spacing: 0.2em;
} .tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
} .tracking-wide{
  letter-spacing: 0.025em;
} .text-accent{
  --tw-text-opacity: 1;
  color: rgb(56 242 224 / var(--tw-text-opacity, 1));
} .text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
} .text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
} .text-purple-400{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
} .text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
} .text-text-muted{
  --tw-text-opacity: 1;
  color: rgb(84 101 112 / var(--tw-text-opacity, 1));
} .text-text-primary{
  --tw-text-opacity: 1;
  color: rgb(230 241 239 / var(--tw-text-opacity, 1));
} .text-text-secondary{
  --tw-text-opacity: 1;
  color: rgb(143 163 171 / var(--tw-text-opacity, 1));
} .text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
} .opacity-60{
  opacity: 0.6;
} .opacity-80{
  opacity: 0.8;
} .shadow-\[inset_0_0_0_1px_rgba\(56\2c 242\2c 224\2c 0\.25\)\]{
  --tw-shadow: inset 0 0 0 1px rgba(56,242,224,0.25);
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} .shadow-glow{
  --tw-shadow: 0 0 40px 0 rgba(56, 242, 224, 0.25);
  --tw-shadow-colored: 0 0 40px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} .filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
} .transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
:root{--ink:#26143e;--purple:#321650;--pale:#f0ebf5;--line:#ddd5e5;--muted:#766d7e;--white:#fcfbfd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:0;margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}main{overflow:clip}header{height:82px;position:absolute;z-index:4;top:0;left:0;right:0;max-width:1400px;padding:0 48px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{justify-self:start;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.07em;white-space:nowrap}.brand>b{flex:0 0 auto;width:22px;height:22px;background:var(--purple);border-radius:50%;display:grid;place-items:center}.brand>b i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff33}nav{display:flex;align-items:center;gap:32px;margin:0}nav a{font-size:13px;line-height:1;color:#5e5368;transition:color .2s}nav a:hover{color:var(--purple)}.top-start,.mobile-start{background:var(--purple);color:#fff!important;border-radius:3px;padding:11px 16px;font-size:10px;letter-spacing:.08em;font-weight:600;display:flex;gap:10px;align-items:center;justify-content:center;white-space:nowrap;transition:.2s}.top-start{justify-self:end}.top-start:hover,.mobile-start:hover{transform:translateY(-2px);background:#4b2670;box-shadow:0 9px 20px #32165026}header button{display:none;border:0;background:none;color:var(--purple);justify-self:end}
.hero{min-height:780px;padding:184px max(48px,calc((100vw - 1304px)/2)) 90px;display:grid;grid-template-columns:1fr .93fr;align-items:center;position:relative;background:#fff}.grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(#3216500a 1px,transparent 1px),linear-gradient(90deg,#3216500a 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(#000,transparent 76%);mask-image:linear-gradient(#000,transparent 76%)}.hero-dots{position:absolute;right:9%;top:20%;display:grid;gap:17px}.hero-dots i{width:5px;height:5px;background:#7e5c9d;border-radius:50%;animation:dot-pulse 3s ease-in-out infinite}.hero-dots i:nth-child(2){animation-delay:.55s}.hero-dots i:nth-child(3){animation-delay:1.1s}.hero-copy,.hero-art{position:relative;z-index:1}.eyebrow{font:500 10px 'DM Mono';letter-spacing:.14em;color:var(--purple);margin:0 0 24px;display:flex;align-items:center;gap:9px}.eyebrow i{width:6px;height:6px;border:1px solid var(--purple);border-radius:50%}.light{color:#e4d9ee}.hero h1,h2{margin:0;font-weight:500;letter-spacing:-.065em;line-height:.98;font-size:clamp(52px,5.6vw,82px)}h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.lede{max-width:430px;color:#514659;font-size:16px;line-height:1.65;margin:31px 0 28px}.lede span{color:#8a818f}.actions{display:flex;align-items:center;gap:24px}.button{min-height:50px;padding:0 20px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-size:10px;font-weight:600;letter-spacing:.08em;transition:.22s}.primary{background:var(--purple);color:#fff}.primary:hover{transform:translateY(-3px);background:#4c2870;box-shadow:0 14px 28px #32165033}.text-link{font:600 10px 'DM Mono';letter-spacing:.08em;color:var(--purple)}.text-link:hover{opacity:.65}.hero-art{height:480px;display:grid;place-items:center}.product{width:280px;height:280px;border:1px solid #dcd4e3;background:#fff;position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:0 28px 62px #3216501c;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.product:hover{transform:rotate(-2deg) scale(1.035);box-shadow:0 36px 72px #3216502b}.product:before{content:'';position:absolute;inset:14px;border:1px solid #eeeaf1}.placeholder-shine{position:absolute;width:160%;height:42%;top:-10%;left:-115%;background:linear-gradient(105deg,transparent,#f2edf7 45%,transparent);transform:rotate(-25deg);transition:left .7s ease}.product:hover .placeholder-shine{left:55%}.placeholder-corner{position:absolute;width:17px;height:17px;border-color:#805f9e;border-style:solid}.placeholder-corner.one{left:26px;top:26px;border-width:1px 0 0 1px}.placeholder-corner.two{right:26px;bottom:26px;border-width:0 1px 1px 0}.product small{position:absolute;bottom:25px;font:500 9px 'DM Mono';letter-spacing:.12em;color:#766a80}.orbit{position:absolute;border:1px solid #5834812b;border-radius:50%;z-index:-1}.orbit.a{width:390px;height:390px;animation:breathe 6s ease-in-out infinite}.orbit.b{width:480px;height:480px;border-style:dashed;animation:spin 32s linear infinite}.orbit.c{width:555px;height:555px;border-color:#58348114;animation:counter-spin 40s linear infinite}.note{position:absolute;bottom:-2px;left:5%;font:500 9px 'DM Mono';letter-spacing:.1em;color:#695878}.scroll{position:absolute;bottom:42px;left:max(48px,calc((100vw - 1304px)/2));color:#867c8d;font:500 9px 'DM Mono';letter-spacing:.1em}
.intro{max-width:1304px;margin:auto;padding:150px 0 138px;display:grid;grid-template-columns:1fr 5fr 3fr;gap:35px}.index{display:flex;gap:12px;color:#8c8294;font:500 10px 'DM Mono'}.index i{width:42px;height:1px;background:#ccc2d4;margin-top:5px}.intro h2,.feature h2,.uses h2{font-size:clamp(43px,4.3vw,65px)}.body{max-width:335px;margin:42px 0 27px;color:var(--muted);font-size:15px;line-height:1.75}.under-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #b8acbf;padding-bottom:8px;font:600 10px 'DM Mono';letter-spacing:.08em}.under-link:hover{gap:15px}.stage{padding:0 max(48px,calc((100vw - 1304px)/2)) 145px}.stage-inner{height:555px;display:grid;place-items:center;background:#f2edf6;position:relative;overflow:hidden}.stage-inner:before,.stage-inner:after{content:'';position:absolute;background:#3216500d}.stage-inner:before{width:1px;height:100%;left:50%}.stage-inner:after{height:1px;width:100%;top:50%}.stage .product{width:320px;height:320px;z-index:1}.stage .product small{display:none}.scan-line{position:absolute;width:1px;height:100%;background:linear-gradient(transparent,#735194,transparent);left:12%;opacity:0}.stage-inner.visible .scan-line{animation:scan 1.6s cubic-bezier(.4,0,.2,1) .25s both}.tag{position:absolute;z-index:2;top:25%;font:500 9px 'DM Mono';letter-spacing:.08em;color:#71627b}.tag.left{left:7%}.tag.right{right:7%}
.how{background:var(--purple);color:#fff;padding:130px max(48px,calc((100vw - 1304px)/2))}.how-head{display:grid;grid-template-columns:2fr 1fr;gap:70px}.how-head h2{font-size:clamp(45px,4.8vw,70px)}.how-head>div:last-child{align-self:end;color:#cbbfd6;font-size:15px;line-height:1.7}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:98px;border-top:1px solid #ffffff38}.step{min-height:248px;padding:27px 30px 20px 0;position:relative;border-right:1px solid #ffffff38}.step:not(:first-child){padding-left:32px}.step:last-child{border:0}.step small{font:400 10px 'DM Mono';color:#c0afcf}.step>svg{margin:34px 0 20px;color:#eee7f6}.step h3{margin:0 0 9px;font-size:18px;font-weight:500;letter-spacing:-.03em}.step p{margin:0;color:#cbbfd5;font-size:13px}.step>b{position:absolute;bottom:21px;right:26px;color:#cfbfdb;opacity:.6;transition:.2s}.step:hover>b{opacity:1;transform:translateX(4px)}
.product-scroll{height:440vh;position:relative;background:#f7f4f9}.product-sticky{height:100vh;min-height:650px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,#fcfbfd 0%,#f3eff7 100%)}.reveal-grid{position:absolute;inset:0;background-image:linear-gradient(#3216500a 1px,transparent 1px),linear-gradient(90deg,#3216500a 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 75%);mask-image:linear-gradient(90deg,#000,transparent 75%)}.reveal-copy{position:absolute;z-index:2;top:17%;left:max(48px,calc((100vw - 1304px)/2));width:275px}.reveal-copy .eyebrow{margin-bottom:28px}.reveal-step-number{display:block;margin-bottom:17px;color:#84699c;font:500 10px 'DM Mono';letter-spacing:.13em}.reveal-copy h2{font-size:clamp(42px,4.3vw,64px);color:var(--purple)}.reveal-copy>p:last-child{margin:24px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.assembly-stage{position:absolute;z-index:1;left:50%;top:50%;width:min(64vw,850px);aspect-ratio:1.85;transform-style:preserve-3d;transition:transform .08s linear;will-change:transform}.assembly-stage:after{content:'';position:absolute;z-index:-1;left:23%;right:23%;bottom:2%;height:13%;border-radius:50%;background:#32165020;filter:blur(28px);transform:translateZ(-30px)}.assembly-halo{position:absolute;left:50%;top:50%;width:58%;aspect-ratio:1;border:1px solid #73529536;border-radius:50%;transform:translate(-50%,-50%)}.assembly-halo:after,.assembly-halo:before{content:'';position:absolute;inset:12%;border:1px dashed #73529524;border-radius:50%}.assembly-halo:after{inset:26%;border-style:solid}.band-base,.band-complete{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;will-change:transform,opacity;filter:drop-shadow(0 24px 18px #27153b22)}.band-base{transition:transform .08s linear}.band-complete{pointer-events:none;transition:opacity .08s linear}.metal-insert,.black-insert{position:absolute;left:50%;top:50%;border-radius:50%;will-change:transform,opacity;transition:transform .08s linear,opacity .08s linear}.metal-insert{width:23%;aspect-ratio:1;background:radial-gradient(circle at 32% 25%,#fff 0 5%,#c4c3ca 23%,#f9f9fb 44%,#9c9ba5 61%,#e4e2e8 72%,#8a8993 100%);box-shadow:0 20px 26px #27153b45,inset 0 0 0 5px #f8f8fb}.black-insert{width:20%;aspect-ratio:1;background:radial-gradient(circle at 35% 28%,#33343a,#17181c 52%,#050507);box-shadow:0 18px 23px #09070e66,inset 3px 3px 8px #ffffff18,inset -4px -6px 10px #000}.reveal-progress{position:absolute;z-index:3;top:37px;left:max(48px,calc((100vw - 1304px)/2));right:max(48px,calc((100vw - 1304px)/2));height:1px;background:#32165022;transform-origin:left}.reveal-progress i{display:block;width:100%;height:100%;background:var(--purple);transform-origin:left}.reveal-steps{position:absolute;z-index:2;left:max(48px,calc((100vw - 1304px)/2));bottom:44px;display:flex;gap:25px}.reveal-steps>div{display:flex;align-items:center;gap:8px;color:#978aa2;font:500 9px 'DM Mono';letter-spacing:.08em;transition:color .3s}.reveal-steps span{color:#9a839f}.reveal-steps i{height:1px;width:23px;background:#c4b9cb;transition:background .3s}.reveal-steps .active{color:var(--purple)}.reveal-steps .active i,.reveal-steps .done i{background:var(--purple)}.reveal-steps .done{color:#75627f}.reveal-scroll{position:absolute;z-index:2;right:max(48px,calc((100vw - 1304px)/2));bottom:42px;margin:0;color:#806f8a;font:500 9px 'DM Mono';letter-spacing:.1em}.reveal-scroll span{display:inline-block;margin-left:8px;font-size:15px;animation:scroll-nudge 1.6s ease-in-out infinite}@keyframes scroll-nudge{50%{transform:translateY(5px)}}
.feature{max-width:1304px;margin:auto;padding:150px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center}.feature-image{height:505px;padding:23px;background:#eee7f4;position:relative}.feature-image:before{content:'';position:absolute;inset:23px;background:#fff}.feature-image>span{position:absolute;z-index:1;top:51px;left:50px;color:#75657d;font:500 9px 'DM Mono';letter-spacing:.1em}.abstract{width:235px;height:235px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-26deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.feature-image:hover .abstract{transform:translate(-50%,-50%) rotate(-14deg) scale(1.06)}.abstract i{position:absolute;left:51px;width:133px;height:235px;border-radius:75px;background:linear-gradient(90deg,#27113f,#795399,#30184c)}.abstract b{position:absolute;top:75px;width:235px;height:88px;border:5px solid #725091;border-radius:26px;background:#2a1645}.abstract em{position:absolute;z-index:2;left:107px;top:108px;width:20px;height:20px;border-radius:50%;background:#eae0f4}.feature-dots{position:absolute;z-index:2;bottom:39px;right:43px;display:flex;gap:8px}.feature-dots i{height:5px;width:5px;border:1px solid #77578f;border-radius:50%;opacity:.5}.feature-image.visible .feature-dots i{animation:dot-pulse 1.5s ease-in-out both}.feature-image.visible .feature-dots i:nth-child(2){animation-delay:.15s}.feature-image.visible .feature-dots i:nth-child(3){animation-delay:.3s}.feature-image.visible .feature-dots i:nth-child(4){animation-delay:.45s}.feature-list{border-top:1px solid var(--line)}.feature-list p{margin:0;padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;font-size:12px;color:#594366}.feature-list svg{color:var(--purple)}
.uses{max-width:1304px;margin:auto;padding:15px 0 148px}.cards{display:grid;grid-template-columns:1.54fr 1fr;gap:21px;margin-top:58px}.card{border:1px solid var(--line);background:#fff}.card-art{height:310px;position:relative;overflow:hidden;background:#e9e0ee}.card-art span{position:absolute;z-index:2;top:20px;left:21px;font:500 9px 'DM Mono';color:#735e7e;letter-spacing:.1em}.person>i{position:absolute;left:39%;bottom:-26px;width:180px;height:260px;border-radius:94px 94px 20px 20px;background:#2b173f;transform:rotate(-12deg);transition:transform .55s}.person>b{position:absolute;left:calc(39% + 40px);top:70px;width:104px;height:104px;border-radius:50%;background:#f5d4c2;z-index:1;transition:transform .55s}.card:hover .person>i{transform:rotate(-7deg) translateY(-10px)}.card:hover .person>b{transform:translateY(-8px)}.rings{background:#4a2b6d}.rings i{position:absolute;left:50%;top:50%;width:390px;height:390px;border:1px solid #ffffff50;border-radius:50%;transform:translate(-50%,-50%);transition:transform .7s}.rings i:after,.rings i:before{content:'';position:absolute;inset:37px;border:1px solid #ffffff3d;border-radius:50%}.rings i:after{inset:82px}.card:hover .rings i{transform:translate(-50%,-50%) rotate(28deg) scale(1.08)}.card-copy{min-height:166px;padding:23px 25px;position:relative}.card-copy>small{color:#957ca9;font:500 9px 'DM Mono'}.card h3{font-size:19px;font-weight:500;letter-spacing:-.035em;margin:14px 0 6px}.card-copy p{margin:0;color:var(--muted);font-size:13px}.card-copy a{position:absolute;right:25px;top:50%;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s}.card-copy a:hover{background:var(--purple);color:#fff;transform:translateX(3px)}.quote{padding:117px 25px;text-align:center;background:#eee8f3}.quote>b{color:#76588f}.quote p{max-width:700px;margin:24px auto 22px;font:500 clamp(27px,3vw,43px)/1.24 'Playfair Display';letter-spacing:-.035em}.quote small{font:500 10px 'DM Mono';letter-spacing:.12em;color:#76667f}.cta{min-height:503px;background:var(--purple);color:#fff;position:relative;display:grid;place-items:center;text-align:center;padding:100px 25px}.cta .grid{opacity:.65;-webkit-mask-image:radial-gradient(ellipse 65% 80%,#000,transparent);mask-image:radial-gradient(ellipse 65% 80%,#000,transparent)}.cta>div:last-child{position:relative}.cta .eyebrow{justify-content:center;margin-bottom:22px}.cta h2{font-size:clamp(48px,5.1vw,75px)}.white{background:#fff;color:var(--purple);margin-top:34px}.white:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0003}footer{height:118px;max-width:1304px;margin:auto;display:flex;align-items:center;justify-content:space-between;color:#796e82;font:500 9px 'DM Mono';letter-spacing:.07em}footer>div{display:flex;gap:21px}footer a:not(.brand):hover{color:var(--purple)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes counter-spin{to{transform:rotate(-360deg)}}@keyframes breathe{50%{transform:scale(1.035)}}@keyframes dot-pulse{0%,100%{transform:scale(.7);opacity:.25}50%{transform:scale(1.35);opacity:1}}@keyframes scan{0%{left:8%;opacity:0}20%{opacity:.85}80%{opacity:.85}100%{left:92%;opacity:0}}
.uses{max-width:1304px;margin:auto;padding:15px 0 148px}.cards{display:grid;grid-template-columns:1.54fr 1fr;gap:21px;margin-top:58px}.card{border:1px solid var(--line);background:#fff}.card-art{height:310px;position:relative;overflow:hidden;background:#e9e0ee}.card-art span{position:absolute;z-index:2;top:20px;left:21px;font:500 9px 'DM Mono';color:#735e7e;letter-spacing:.1em}.person>i{position:absolute;left:39%;bottom:-26px;width:180px;height:260px;border-radius:94px 94px 20px 20px;background:#2b173f;transform:rotate(-12deg);transition:transform .55s}.person>b{position:absolute;left:calc(39% + 40px);top:70px;width:104px;height:104px;border-radius:50%;background:#f5d4c2;z-index:1;transition:transform .55s}.card:hover .person>i{transform:rotate(-7deg) translateY(-10px)}.card:hover .person>b{transform:translateY(-8px)}.rings{background:#4a2b6d}.rings i{position:absolute;left:50%;top:50%;width:390px;height:390px;border:1px solid #ffffff50;border-radius:50%;transform:translate(-50%,-50%);transition:transform .7s}.rings i:after,.rings i:before{content:'';position:absolute;inset:37px;border:1px solid #ffffff3d;border-radius:50%}.rings i:after{inset:82px}.card:hover .rings i{transform:translate(-50%,-50%) rotate(28deg) scale(1.08)}.card-copy{min-height:166px;padding:23px 25px;position:relative}.card-copy>small{color:#957ca9;font:500 9px 'DM Mono'}.card h3{font-size:19px;font-weight:500;letter-spacing:-.035em;margin:14px 0 6px}.card-copy p{margin:0;color:var(--muted);font-size:13px}.card-copy a{position:absolute;right:25px;top:50%;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s}.card-copy a:hover{background:var(--purple);color:#fff;transform:translateX(3px)}.quote{padding:117px 25px;text-align:center;background:#eee8f3}.quote>b{color:#76588f}.quote p{max-width:700px;margin:24px auto 22px;font:500 clamp(27px,3vw,43px)/1.24 'Playfair Display';letter-spacing:-.035em}.quote small{font:500 10px 'DM Mono';letter-spacing:.12em;color:#76667f}.cta{min-height:503px;background:var(--purple);color:#fff;position:relative;display:grid;place-items:center;text-align:center;padding:100px 25px}.cta .grid{opacity:.65;-webkit-mask-image:radial-gradient(ellipse 65% 80%,#000,transparent);mask-image:radial-gradient(ellipse 65% 80%,#000,transparent)}.cta>div:last-child{position:relative}.cta .eyebrow{justify-content:center;margin-bottom:22px}.cta h2{font-size:clamp(48px,5.1vw,75px)}.white{background:#fff;color:var(--purple);margin-top:34px}.white:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0003}footer{height:118px;max-width:1304px;margin:auto;display:flex;align-items:center;justify-content:space-between;color:#796e82;font:500 9px 'DM Mono';letter-spacing:.07em}footer>div{display:flex;gap:21px}footer a:not(.brand):hover{color:var(--purple)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes counter-spin{to{transform:rotate(-360deg)}}@keyframes breathe{50%{transform:scale(1.035)}}@keyframes dot-pulse{0%,100%{transform:scale(.7);opacity:.25}50%{transform:scale(1.35);opacity:1}}@keyframes scan{0%{left:8%;opacity:0}20%{opacity:.85}80%{opacity:.85}100%{left:92%;opacity:0}}
.contact-page{min-height:100vh;background:#fff}.contact-header{position:relative}.back-home{justify-self:end;color:var(--purple);font:600 10px 'DM Mono';letter-spacing:.08em}.contact-hero{min-height:calc(100vh - 200px);max-width:1304px;margin:auto;padding:160px 0 110px;display:grid;grid-template-columns:1fr 1fr;gap:12%;position:relative}.contact-grid{position:absolute;inset:0;background-image:linear-gradient(#3216500a 1px,transparent 1px),linear-gradient(90deg,#3216500a 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}.contact-content,.contact-form{position:relative;z-index:1}.contact-content h1{margin:0;font-weight:500;font-size:clamp(50px,5vw,75px);line-height:.98;letter-spacing:-.065em}.contact-content h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.contact-intro{max-width:370px;margin:30px 0;color:var(--muted);font-size:15px;line-height:1.75}.contact-side-note{position:absolute;left:-74px;top:53%;color:#806992;font:500 9px 'DM Mono';letter-spacing:.1em;transform:rotate(-90deg)}.contact-side-note span{display:inline-block;width:31px;height:1px;margin:0 8px 3px 0;background:#806992}.contact-form{padding:35px;background:#fbf9fc;border:1px solid var(--line);align-self:center}.contact-form label{display:block;margin:0 0 22px;color:#6e6078;font:500 9px 'DM Mono';letter-spacing:.11em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form textarea{width:100%;display:block;margin-top:9px;padding:11px 0;background:transparent;border:0;border-bottom:1px solid #cfc4d8;outline:0;border-radius:0;color:var(--ink);font:500 13px 'DM Sans';transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:80px}.contact-form input::-moz-placeholder, .contact-form textarea::-moz-placeholder{color:#9b91a3}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9b91a3}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--purple)}.contact-form .button{border:0;cursor:pointer}.form-note{margin:19px 0 0;color:#93899b;font:400 9px 'DM Mono';letter-spacing:.04em}.contact-page footer{border-top:1px solid var(--line)}
@media(max-width:900px){header{padding:0 28px}nav{margin-left:0;gap:18px}.hero{padding:155px 28px 80px;min-height:760px}.hero-art{position:absolute;top:105px;right:0;width:52%;height:400px;opacity:.72}.hero-art .product{width:290px;height:290px}.hero-copy{margin-top:240px}.orbit.a{width:340px;height:340px}.orbit.b{width:390px;height:390px}.intro,.feature,.uses{margin-left:28px;margin-right:28px}.stage{padding-left:28px;padding-right:28px}.how{padding-left:28px;padding-right:28px}footer{margin:0 28px}.feature{gap:45px}.intro{grid-template-columns:.4fr 2fr 1.35fr}.product-scroll{height:390vh}.reveal-copy{left:28px;top:14%}.reveal-progress{left:28px;right:28px}.reveal-steps{left:28px}.reveal-scroll{right:28px}.assembly-stage{left:58%;top:53%;width:min(71vw,660px)}.contact-hero{margin:0 28px;padding-top:135px;gap:7%}.contact-side-note{display:none}}
@media(max-width:640px){header{height:68px;padding:0 20px;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px}.brand{min-width:0;font-size:10px}.brand>b{width:20px;height:20px}.brand>b i{width:7px;height:7px}header button{display:grid;place-items:center;width:38px;height:38px}.burger{display:grid;gap:6px}.burger i{width:20px;height:1px;background:currentColor}nav{display:none}nav.open{display:flex;position:absolute;top:59px;left:14px;right:14px;z-index:3;margin:0;padding:14px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 35px #3216501f;flex-direction:column;gap:2px}nav.open a{padding:10px}.top-start{padding:10px 12px;font-size:9px}.hero{display:block;padding:130px 20px 55px;min-height:730px}.hero-art{top:80px;right:-42px;width:82%;height:315px}.hero-art .product{width:245px;height:245px}.orbit.a{width:290px;height:290px}.orbit.b,.note,.scroll{display:none}.hero-copy{margin-top:326px}.hero h1{font-size:clamp(42px,12.8vw,48px)}.lede{font-size:14px;margin:22px 0}.button{min-height:46px;padding:0 16px}.intro{display:block;margin:0 20px;padding:83px 0}.index{margin-bottom:45px}.intro h2,.feature h2,.uses h2{font-size:clamp(38px,11.2vw,42px)}.body{margin:27px 0}.stage{padding:0 20px 84px}.stage-inner{height:385px}.stage .product{width:min(220px,62vw);height:min(220px,62vw)}.tag{top:20px;max-width:37%;font-size:7px;line-height:1.5}.tag.left{left:15px}.tag.right{right:15px;text-align:right}.how{padding:81px 20px}.how-head{display:block}.how-head>div:last-child{margin-top:26px;font-size:14px}.steps{display:block;margin-top:58px}.step,.step:not(:first-child){min-height:0;padding:23px 0 50px;border-right:0;border-bottom:1px solid #ffffff38}.step:last-child{padding-bottom:10px}.feature{margin:0 20px;padding:85px 0;display:flex;flex-direction:column;gap:45px}.feature-image{width:100%;height:358px;padding:14px}.feature-image:before{inset:14px}.abstract{transform:translate(-50%,-50%) rotate(-26deg) scale(.78)}.uses{margin:0 20px;padding:0 0 85px}.cards{display:block;margin-top:36px}.card+.card{margin-top:16px}.card-art{height:230px}.card-copy{min-height:153px}.quote{padding:78px 20px}.quote p{font-size:28px}.cta{min-height:425px;padding:75px 20px}.cta h2{font-size:clamp(40px,12vw,46px)}footer{min-height:170px;height:auto;margin:0 20px;padding:29px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-content:center}footer .brand{grid-column:span 2}footer>div{gap:13px;justify-content:flex-end;font-size:8px}.product-scroll{height:340vh}.product-sticky{min-height:0}.reveal-grid{-webkit-mask-image:linear-gradient(#000,transparent 75%);mask-image:linear-gradient(#000,transparent 75%)}.reveal-copy{top:13%;left:20px;width:calc(100% - 40px);text-align:center}.reveal-copy .eyebrow{justify-content:center;margin-bottom:17px}.reveal-step-number{margin-bottom:10px}.reveal-copy h2{font-size:41px}.reveal-copy>p:last-child{margin:15px auto 0;max-width:265px;font-size:13px}.assembly-stage{left:50%;top:55%;width:116vw;max-width:none}.assembly-stage:after{filter:blur(16px)}.assembly-halo{width:63%}.reveal-progress{top:22px;left:20px;right:20px}.reveal-steps{left:20px;right:20px;bottom:27px;justify-content:space-between;gap:0}.reveal-steps>div{font-size:0}.reveal-steps span{font-size:9px}.reveal-steps i{width:19px}.reveal-scroll{display:none}.contact-header{grid-template-columns:1fr auto}.contact-header .back-home{font-size:8px}.contact-hero{min-height:auto;margin:0 20px;padding:78px 0 75px;display:block}.contact-content{margin-bottom:48px}.contact-content h1{font-size:clamp(36px,11vw,46px)}.contact-intro{font-size:14px;margin:24px 0 43px}.contact-form{padding:24px 19px}.field-row{grid-template-columns:1fr;gap:0}.contact-page footer{margin:0 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.orbit,.hero-dots i,.feature-dots i,.scan-line{animation:none!important}.product,.abstract,.person>i,.person>b,.rings i{transition:none!important}}

/* Pinned product assembly refinements */
.product-scroll{height:460vh}.product-sticky{overflow:visible}.reveal-copy{left:50%;top:10%;width:min(520px,calc(100% - 40px));text-align:center;transform:translateX(-50%)}.reveal-copy .eyebrow{justify-content:center}.reveal-copy>p:last-child{margin-left:auto;margin-right:auto}.assembly-stage{left:50%;top:57%;width:min(76vw,1040px)}.band-base,.band-complete{transition:none}.metal-insert,.black-insert{transition:none}.metal-insert{width:20%;background:radial-gradient(circle at 34% 24%,#fff 0 6%,#d4d5d9 25%,#fafafa 48%,#a6a6ac 69%,#f2f2f3 85%,#85858d 100%)}.black-insert{width:17.5%}.reveal-steps{left:50%;transform:translateX(-50%);white-space:nowrap}.reveal-scroll{display:none}
@media(max-width:900px){.product-scroll{height:420vh}.reveal-copy{left:50%;top:10%}.assembly-stage{left:50%;top:57%;width:min(94vw,780px)}.reveal-steps{left:50%}}
@media(max-width:640px){.product-scroll{height:360vh}.product-sticky{overflow:hidden}.reveal-copy{top:11%;width:calc(100% - 34px)}.reveal-copy h2{font-size:40px}.assembly-stage{top:57%;width:142vw}.reveal-steps{left:20px;right:20px;transform:none}.reveal-steps>div{font-size:0}.reveal-steps span{font-size:9px}.reveal-steps i{width:20px}}

/* Deep physical component treatment and true front/back product spin */
.assembly-stage{top:53%;transform-style:preserve-3d}.band-base{transform-origin:center;transform-style:preserve-3d}.metal-insert,.black-insert{transform-style:preserve-3d;isolation:isolate}.metal-insert{border:1px solid #f5f5f6;box-shadow:0 20px 24px #27153b45,inset 4px 4px 7px #fff,inset -5px -5px 8px #6d6e77}.metal-insert:before,.metal-insert:after,.black-insert:before,.black-insert:after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none}.metal-insert:before{background:linear-gradient(105deg,#8c8d95,#f8f8f9 26%,#9b9ba2 50%,#f8f8f8 78%,#7a7b83);transform:translateZ(-17px);filter:brightness(.76)}.metal-insert:after{inset:6%;border:1px solid #ffffffb3;transform:translateZ(3px)}.black-insert{border:1px solid #050507;background:radial-gradient(circle at 34% 25%,#55565c,#222329 48%,#08090c 80%);box-shadow:0 19px 23px #09070e70,inset 5px 5px 9px #ffffff20,inset -6px -7px 12px #000}.black-insert:before{background:linear-gradient(110deg,#111217,#404149 45%,#101115);transform:translateZ(-19px);filter:brightness(.68)}.black-insert:after{inset:7%;border:1px solid #ffffff14;transform:translateZ(3px)}.complete-product{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none;transition:opacity .05s linear}.complete-product img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 24px 18px #27153b22);backface-visibility:hidden}.complete-front{transform:translateZ(13px)}.complete-back{transform:rotateY(180deg) translateZ(13px);filter:drop-shadow(0 24px 18px #27153b22) brightness(.93)!important}.band-complete{display:none}@media(max-width:640px){.assembly-stage{top:53%}}
.assembly-stage{left:50%;top:50%;transform-origin:center center}.metal-insert,.black-insert{background:transparent!important;border:0!important;box-shadow:none!important;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 22px 16px #21112f3b)}.metal-insert{width:43%;aspect-ratio:1}.black-insert{width:22%;aspect-ratio:1;filter:drop-shadow(0 18px 13px #09070e55)}.metal-insert:before,.metal-insert:after,.black-insert:before,.black-insert:after{display:none}@media(max-width:640px){.assembly-stage{top:50%;width:150vw}.metal-insert{width:48%}.black-insert{width:25%}}
.assembly-halo,.assembly-stage:after{display:none}.assembly-stage{isolation:isolate}.band-base{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:transparent;will-change:transform,opacity;transition:none;filter:drop-shadow(0 18px 14px #26143e22)}.metal-insert,.metal-set,.black-insert,.clay-set{position:absolute;left:50%;top:50%;aspect-ratio:1;-o-object-fit:contain;object-fit:contain;background:transparent;border:0;box-shadow:none;will-change:transform,opacity;transition:none}.metal-insert,.metal-set{width:43%;filter:grayscale(1) saturate(0) brightness(1.14) contrast(.88) drop-shadow(0 22px 16px #21112f3b)}.black-insert,.clay-set{width:27%;filter:drop-shadow(0 18px 13px #09070e55)}.metal-set,.clay-set{transform:translate(-50%,-50%)}.metal-insert,.black-insert{z-index:2}.metal-set{z-index:3}.clay-set{z-index:4}.reveal-grid{opacity:.55}

/* Actual product render in every product placeholder */
.product{padding:21px;display:grid;place-items:center;perspective:1100px}.product-photo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform:rotateX(13deg) rotateZ(-7deg) scale(1.08);filter:grayscale(1) brightness(1.06) contrast(.94) drop-shadow(0 20px 16px #26143e26);transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s}.product:hover .product-photo{transform:rotateX(17deg) rotateZ(-10deg) scale(1.15);filter:grayscale(1) brightness(1.08) contrast(.94) drop-shadow(0 27px 20px #26143e33)}.product .placeholder-shine,.product .placeholder-corner{display:none}.stage .product{padding:34px}.stage .product-photo{transform:rotateX(13deg) rotateZ(-7deg) scale(1.25)}.stage .product:hover .product-photo{transform:rotateX(17deg) rotateZ(-10deg) scale(1.32)}@media(max-width:640px){.product{padding:15px}.stage .product{padding:19px}.stage .product-photo{transform:rotateX(10deg) rotateZ(-6deg) scale(1.14)}}

/* Premium sticky navigation */
.site-header{position:fixed;top:0;left:50%;right:auto;width:min(1400px,100%);transform:translateX(-50%);height:82px;padding:0 48px;z-index:30;transition:top .28s ease,height .28s ease,padding .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease}.site-header.is-scrolled{top:12px;width:min(1320px,calc(100% - 32px));height:64px;padding:0 24px;background:rgba(255,255,255,.82);border:1px solid rgba(50,22,80,.12);box-shadow:0 8px 28px rgba(41,22,62,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-header nav a{position:relative;padding:8px 0}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--purple);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid var(--purple);outline-offset:4px;border-radius:2px}.site-header .top-start{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.site-header .top-start:active{transform:translateY(0) scale(.97)}
@keyframes nav-link-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@media(max-width:640px){.site-header{left:0;transform:none;width:100%;padding:0 20px}.site-header.is-scrolled{top:8px;left:10px;width:calc(100% - 20px);padding:0 10px}.site-header nav.open{top:calc(100% + 8px);left:0;right:0;padding:12px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 16px 35px rgba(50,22,80,.13);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-header nav.open a{animation:nav-link-in .28s ease both}.site-header nav.open a:nth-child(2){animation-delay:.06s}.site-header nav.open a:nth-child(3){animation-delay:.12s}.site-header .top-start{padding:9px 10px;font-size:8px}.site-header .top-start svg{width:13px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *{transition:none!important;animation:none!important}}

/* Closing CTA */
.cta{min-height:590px;overflow:hidden;background:linear-gradient(128deg,#210d38 0%,#351654 49%,#26103f 100%);isolation:isolate}.cta .grid{opacity:.42;-webkit-mask-image:radial-gradient(ellipse 65% 95% at 50% 50%,#000,transparent);mask-image:radial-gradient(ellipse 65% 95% at 50% 50%,#000,transparent)}.cta-light{position:absolute;z-index:-1;width:520px;height:520px;border-radius:50%;filter:blur(24px);opacity:.5;background:radial-gradient(circle,rgba(170,124,218,.43),transparent 67%);animation:cta-drift 12s ease-in-out infinite}.cta-light.one{top:-270px;left:-150px}.cta-light.two{right:-180px;bottom:-310px;animation-delay:-6s}.cta-content{position:relative;z-index:2;max-width:720px}.cta .eyebrow{margin-bottom:21px}.cta h2{max-width:760px;font-size:clamp(52px,6vw,88px);letter-spacing:-.07em}.cta-content>p:not(.eyebrow){max-width:475px;margin:26px auto 0;color:#ddd1e7;font-size:16px;line-height:1.7}.cta-button{min-width:166px;margin-top:34px;background:#fff;color:var(--purple);border:1px solid #fff}.cta-button:hover{transform:translateY(-4px);background:#efe7f7;box-shadow:0 16px 32px rgba(0,0,0,.28)}.cta-button svg{transition:transform .22s ease}.cta-button:hover svg{transform:translateX(4px)}.cta-product{position:absolute;z-index:1;right:max(2%,calc((100vw - 1304px)/2));bottom:-62px;width:min(440px,35vw);opacity:.19;filter:grayscale(1) brightness(1.7);transform:rotate(-22deg);pointer-events:none;animation:cta-product-float 7s ease-in-out infinite}.cta .reveal{transition-duration:.78s}.cta .reveal.visible.cta-content .eyebrow{animation:cta-item-in .45s ease both}.cta .reveal.visible.cta-content h2{animation:cta-item-in .55s .08s ease both}.cta .reveal.visible.cta-content>p:not(.eyebrow){animation:cta-item-in .55s .16s ease both}.cta .reveal.visible.cta-content .cta-button{animation:cta-item-in .55s .24s ease both}@keyframes cta-drift{50%{transform:translate3d(40px,25px,0) scale(1.13);opacity:.66}}@keyframes cta-product-float{50%{transform:rotate(-19deg) translateY(-12px)}}@keyframes cta-item-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:640px){.cta{min-height:530px;padding:80px 22px 90px}.cta h2{font-size:49px}.cta-content>p:not(.eyebrow){font-size:14px}.cta-button{width:100%;min-height:52px;margin-top:30px}.cta-product{right:-90px;bottom:-95px;width:330px;opacity:.12}.cta-light.one{left:-270px;top:-200px}.cta-light.two{right:-290px;bottom:-260px}}@media(prefers-reduced-motion:reduce){.cta-light,.cta-product,.cta .reveal.visible *{animation:none!important}}

/* FAQ accordion */
.faq{max-width:980px;margin:0 auto;padding:145px 0 155px}.faq>.reveal{text-align:center}.faq .eyebrow{justify-content:center}.faq h2{font-size:clamp(46px,5vw,70px)}.faq-list{margin-top:66px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);transition:background .2s ease}.faq-item:hover{background:#f8f5fa}.faq-item button{width:100%;min-height:79px;padding:21px 4px 21px 0;border:0;background:transparent;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;text-align:left;font:500 18px/1.3 "DM Sans",sans-serif;letter-spacing:-.025em}.faq-item button>i{position:relative;flex:0 0 22px;width:22px;height:22px;border:1px solid #bfb2ca;border-radius:50%;transition:transform .25s ease,border-color .25s ease,background .25s ease}.faq-item button>i:before,.faq-item button>i:after{content:"";position:absolute;left:5px;right:5px;top:10px;height:1px;background:var(--purple);transition:transform .25s ease}.faq-item button>i:after{transform:rotate(90deg)}.faq-item button:focus-visible{outline:2px solid var(--purple);outline-offset:-3px}.faq-item.is-open button>i{background:var(--purple);border-color:var(--purple);transform:rotate(180deg)}.faq-item.is-open button>i:before{background:#fff}.faq-item.is-open button>i:after{background:#fff;transform:rotate(0)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1),opacity .25s ease;opacity:0}.faq-answer>div{overflow:hidden}.faq-answer p{max-width:710px;margin:0;padding:0 55px 0 0;color:var(--muted);font-size:15px;line-height:1.75}.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}.faq-item.is-open .faq-answer p{padding-bottom:29px}@media(max-width:1020px){.faq{margin-left:28px;margin-right:28px}}@media(max-width:640px){.faq{margin:0 20px;padding:87px 0 93px}.faq h2{font-size:42px}.faq-list{margin-top:43px}.faq-item button{min-height:71px;font-size:16px;padding:18px 0}.faq-item button>i{width:24px;height:24px}.faq-answer p{padding-right:13px;font-size:14px}.faq-item.is-open .faq-answer p{padding-bottom:23px}}

/* Mobile-first tipping interface */
.tip-page{min-height:100vh;background:linear-gradient(145deg,#fff 0%,#f7f3fa 100%);color:var(--ink)}.tip-nav{position:fixed;top:0;left:50%;z-index:20;width:min(680px,100%);height:70px;transform:translateX(-50%);padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(50,22,80,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tip-nav nav{display:flex;margin:0;gap:22px}.tip-nav nav a{position:relative;padding:8px 0;font-size:12px}.tip-nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--purple);transform:scaleX(0);transition:transform .2s}.tip-nav nav a.is-active:after,.tip-nav nav a:hover:after{transform:scaleX(1)}.tip-interface{min-height:100vh;display:grid;place-items:center;padding:92px 20px 28px}.tip-card{width:min(100%,420px);text-align:center}.tip-label{margin:0;color:#806d8f;font:500 10px "DM Mono",monospace;letter-spacing:.14em}.tip-amount{display:block;margin:13px 0 17px;font-size:clamp(54px,17vw,78px);font-weight:500;line-height:1;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.tip-rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin-bottom:24px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{height:64px;border:1px solid rgba(50,22,80,.1);border-radius:7px;background:rgba(255,255,255,.76);color:var(--ink);font:500 23px "DM Sans",sans-serif;cursor:pointer;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.keypad button:hover{background:#fff;box-shadow:0 8px 16px rgba(45,22,67,.08);transform:translateY(-1px)}.keypad button:active{background:#eee7f4;transform:scale(.96);box-shadow:none}.keypad button:focus-visible,.send-tip:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.send-tip{width:100%;height:58px;margin-top:18px;border:0;border-radius:5px;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font:600 11px "DM Sans",sans-serif;letter-spacing:.1em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.send-tip:hover{background:#4a266d;transform:translateY(-2px);box-shadow:0 13px 25px rgba(50,22,80,.24)}.send-tip:active{transform:scale(.98)}@media(max-width:640px){.tip-nav{height:64px;padding:0 20px}.tip-nav nav{display:flex!important;gap:18px}.tip-interface{padding:86px 20px 25px}.tip-card{max-width:390px}.keypad{gap:9px}.keypad button{height:62px;font-size:22px}.send-tip{height:56px}}@media(prefers-reduced-motion:reduce){.keypad button,.send-tip,.tip-nav *{transition:none!important}}

@media(max-width:640px){.site-header .info-nav{display:flex;gap:16px}.site-header .info-nav a{font-size:11px}.site-header .info-nav a.is-active{color:var(--purple)}}

/* Tipping navigation controls */
.tip-nav{display:grid;grid-template-columns:1fr auto 1fr;justify-content:initial}.tip-nav .tip-tabs{justify-self:center;display:flex!important;align-items:center;gap:5px;margin:0;padding:4px;background:#f2edf6;border:1px solid #e3dce9;border-radius:7px}.tip-nav .tip-tabs a{padding:9px 18px;border-radius:4px;font-size:14px;font-weight:600;color:#786b82;line-height:1;transition:background .2s,color .2s,box-shadow .2s}.tip-nav .tip-tabs a:after{display:none}.tip-nav .tip-tabs a.is-active{background:#fff;color:var(--purple);box-shadow:0 2px 7px rgba(45,22,67,.1)}.tip-menu-button{justify-self:end;width:39px;height:39px;display:grid;align-content:center;gap:5px;padding:0;border:1px solid #ded5e6;border-radius:5px;background:#fff;cursor:pointer;transition:background .2s,transform .2s}.tip-menu-button i{display:block;width:17px;height:1px;margin:auto;background:var(--purple);transition:transform .2s,opacity .2s}.tip-menu-button:hover{background:#f5f0f8}.tip-menu-button:active{transform:scale(.95)}.tip-menu-button.is-open i:first-child{transform:translateY(6px) rotate(45deg)}.tip-menu-button.is-open i:nth-child(2){opacity:0}.tip-menu-button.is-open i:last-child{transform:translateY(-6px) rotate(-45deg)}.tip-menu-popover{position:absolute;top:calc(100% + 9px);right:24px;width:188px;min-height:122px;padding:21px;background:#12071f;color:#fff;box-shadow:0 18px 36px rgba(24,8,39,.25);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.tip-menu-popover.is-open{opacity:1;transform:none;pointer-events:auto}.tip-menu-popover span{font:500 10px "DM Mono",monospace;letter-spacing:.12em;color:#dcd0e8}@media(max-width:640px){.tip-nav{grid-template-columns:1fr auto 1fr;padding:0 16px}.tip-nav .brand{font-size:0;gap:0}.tip-nav .brand>b{width:22px;height:22px}.tip-nav .tip-tabs a{padding:10px 19px;font-size:15px}.tip-menu-popover{right:16px}}

/* Shared Info navigation controls */
.site-header{grid-template-columns:1fr auto 1fr}.site-header .tip-tabs{justify-self:center;display:flex!important;align-items:center;gap:5px;margin:0;padding:4px;background:#f2edf6;border:1px solid #e3dce9;border-radius:7px}.site-header .tip-tabs a{padding:9px 18px;border-radius:4px;font-size:14px;font-weight:600;line-height:1;color:#786b82}.site-header .tip-tabs a:after{display:none}.site-header .tip-tabs a.is-active{background:#fff;color:var(--purple);box-shadow:0 2px 7px rgba(45,22,67,.1)}.site-header .tip-menu-button{display:grid;justify-self:end;background:#fff;border-radius:7px}.site-header .tip-menu-popover{right:24px}@media(max-width:640px){.site-header .tip-tabs{display:flex!important;gap:4px}.site-header .tip-tabs a{padding:10px 17px;font-size:14px}.site-header .brand{font-size:0;gap:0}.site-header .tip-menu-popover{right:10px}}

/* Keep Info header identical to the tipping header */
.site-header,.site-header.is-scrolled{top:0;left:50%;right:auto;width:min(680px,100%);height:70px;padding:0 24px;transform:translateX(-50%);background:rgba(255,255,255,.86);border:0;border-bottom:1px solid rgba(50,22,80,.1);border-radius:0;box-shadow:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header .brand{justify-self:start}.site-header .tip-menu-button{width:39px;height:39px}@media(max-width:640px){.site-header,.site-header.is-scrolled{top:0;left:50%;width:100%;height:64px;padding:0 16px;transform:translateX(-50%);border-radius:0}.site-header .tip-menu-button{width:39px;height:39px}}

.tip-nav,.site-header,.site-header.is-scrolled{border-radius:0 0 12px 12px}@media(max-width:640px){.tip-nav,.site-header,.site-header.is-scrolled{border-radius:0 0 10px 10px}}

.tip-menu-popover{top:100%;right:0;min-height:96px;background:#fff;color:var(--purple);border:1px solid rgba(50,22,80,.1);border-top:0;border-radius:0 0 10px 10px;box-shadow:0 14px 28px rgba(30,12,47,.12)}.tip-menu-popover span{color:var(--purple)}.tip-nav .tip-menu-popover{right:0}@media(max-width:640px){.tip-menu-popover,.site-header .tip-menu-popover{right:0;width:172px;border-radius:0 0 9px 9px}}
.tip-menu{position:relative;justify-self:end}.tip-nav .tip-menu,.site-header .tip-menu{grid-column:3}.tip-menu-popover{top:calc(100% + 14px);width:216px;min-height:0;padding:10px;display:grid;gap:7px}.tip-menu-popover a{padding:13px 12px;border:1px solid #e6e1ea;border-radius:7px;background:#fff;color:var(--purple);font:600 9px 'DM Sans',sans-serif;letter-spacing:.08em;transition:border-color .18s ease,opacity .18s ease,transform .18s ease}.tip-menu-popover a:hover{border-color:#6a1fab;opacity:.78;transform:translateX(2px)}.tip-menu-popover a:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.tip-nav .tip-menu-button,.site-header .tip-menu-button{height:40px;background:transparent;border:0;gap:7px;box-shadow:none}.tip-nav .tip-menu-button i,.site-header .tip-menu-button i{width:25px;height:2px;flex:none;background:#6b1fab}.tip-nav .tip-menu-button:hover,.site-header .tip-menu-button:hover,.tip-nav .tip-menu-button.is-open,.site-header .tip-menu-button.is-open{background:transparent;border-color:transparent;box-shadow:none}.tip-nav .tip-menu-button.is-open i,.site-header .tip-menu-button.is-open i{background:#6b1fab}.tip-nav .tip-menu-button.is-open i:first-child,.site-header .tip-menu-button.is-open i:first-child{transform:translateY(6px) rotate(45deg)}.tip-nav .tip-menu-button.is-open i:last-child,.site-header .tip-menu-button.is-open i:last-child{transform:translateY(-6px) rotate(-45deg)}

/* Keep the generated refinement as a clean cutout, without its export backdrop. */
.product-photo,.cta-product{-webkit-mask-image:url('../product/band-stitched.png');mask-image:url('../product/band-stitched.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

/* Both routes use the same physical viewport center, even when only Info scrolls. */
html{scrollbar-gutter:stable both-edges}
.tip-nav,.site-header,.site-header.is-scrolled{left:50vw}
.tip-nav .tip-tabs,.site-header .tip-tabs{width:154px;justify-content:stretch}
.tip-nav .tip-tabs a,.site-header .tip-tabs a{flex:1;text-align:center}

/* Persistent, shared navigation indicator. It travels between equal tab halves. */
.tip-nav .tip-tabs,.site-header .tip-tabs{position:relative;isolation:isolate}
.tip-nav .tab-indicator,.site-header .tab-indicator{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:4px;background:#fff;box-shadow:0 2px 7px rgba(45,22,67,.1);transform:translateX(0);transition:transform .42s cubic-bezier(.22,.8,.22,1),box-shadow .28s ease}
.tip-nav .tip-tabs.is-info .tab-indicator,.site-header .tip-tabs.is-info .tab-indicator{transform:translateX(100%)}
.tip-nav .tip-tabs a,.site-header .tip-tabs a{position:relative;z-index:1;background:transparent!important;box-shadow:none!important;transition:color .24s ease}
@media(prefers-reduced-motion:reduce){.tip-nav .tab-indicator,.site-header .tab-indicator{transition:none}}


/* Route changes must not reflow the physical navigation frame.  Both page
   states share one fixed, viewport-centred bar; only the indicator changes. */
.tip-nav,.site-header,.site-header.is-scrolled{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  width:min(680px,100%)!important;
  height:70px!important;
  margin:0!important;
  padding:0 24px!important;
  transform:translateX(-50%)!important;
  transition:none!important;
}
.tip-nav .tip-tabs,.site-header .tip-tabs{
  justify-self:center!important;
  margin:0!important;
  transform:none!important;
}
@media(max-width:640px){
  .tip-nav,.site-header,.site-header.is-scrolled{
    width:100%!important;
    height:64px!important;
    padding:0 16px!important;
  }
}

.launch-center{display:grid;justify-items:center;text-align:center}.launch-center>p{margin:0 0 16px;color:var(--purple);font:500 10px 'DM Mono',monospace;letter-spacing:.13em}.launch-center>small{margin-top:16px;color:#73647d;font:500 9px 'DM Mono',monospace;letter-spacing:.1em}.launch-detail{position:absolute;z-index:1;width:min(210px,18vw);padding:16px 0;border-top:1px solid rgba(50,22,80,.16);color:#685b70}.launch-detail span{display:block;color:var(--purple);font:500 9px 'DM Mono',monospace;letter-spacing:.11em}.launch-detail p{margin:9px 0 0;font-size:12px;line-height:1.55}.launch-detail-left{top:27%;left:clamp(26px,7vw,110px)}.launch-detail-right{right:clamp(26px,7vw,110px);bottom:23%;text-align:right}.launch-product{position:absolute;z-index:1;width:clamp(180px,22vw,330px);height:auto;-o-object-fit:contain;object-fit:contain;pointer-events:none;filter:grayscale(1) brightness(1.04) contrast(.95) drop-shadow(0 24px 22px rgba(38,20,62,.17));-webkit-mask-image:url('../product/band-stitched.png');mask-image:url('../product/band-stitched.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.launch-product-left{left:clamp(-76px,-1vw,-12px);bottom:10%;transform:rotate(-15deg);animation:launch-float-left 7s ease-in-out infinite}.launch-product-right{right:clamp(-76px,-1vw,-12px);top:15%;transform:rotate(18deg) scaleX(-1);animation:launch-float-right 8s ease-in-out -2s infinite}@keyframes launch-float-left{50%{transform:rotate(-12deg) translateY(-14px)}}@keyframes launch-float-right{50%{transform:rotate(21deg) scaleX(-1) translateY(-16px)}}
@media(max-width:760px){.launch-detail{width:145px}.launch-detail-left{left:20px;top:20%}.launch-detail-right{right:20px;bottom:18%}.launch-product{width:180px;opacity:.68}.launch-product-left{left:-86px;bottom:12%}.launch-product-right{right:-92px;top:18%}}@media(max-width:480px){.launch-detail{width:118px}.launch-detail p{font-size:10px}.launch-detail-left{left:15px}.launch-detail-right{right:15px}.launch-product{width:150px;opacity:.45}.launch-product-left{left:-80px}.launch-product-right{right:-80px}.launch-center>small{max-width:190px;line-height:1.5}}@media(prefers-reduced-motion:reduce){.launch-product{animation:none}}

.launch-center{transform:translateY(72px)}.launch-center .launch-tagline{margin:0 0 27px;color:var(--purple);font:500 clamp(48px,5.6vw,82px)/.98 'DM Sans',sans-serif;letter-spacing:-.065em}.launch-center .launch-tagline em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.launch-center>small{display:none}@media(max-width:640px){.launch-center{transform:translateY(54px)}.launch-center .launch-tagline{font-size:clamp(42px,12.8vw,48px);margin-bottom:23px}}

/* Launch */
.launch-page{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,#f1ebf6 0%,#fff 48%,#fbf9fc 100%)}.launch-page:before,.launch-page:after{content:'';position:absolute;pointer-events:none}.launch-page:before{width:min(68vw,820px);aspect-ratio:1;border:1px solid rgba(50,22,80,.09);border-radius:50%;box-shadow:0 0 0 54px rgba(50,22,80,.025),0 0 0 108px rgba(50,22,80,.015)}.launch-page:after{inset:0;background-image:linear-gradient(rgba(50,22,80,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(50,22,80,.035) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 67%);mask-image:radial-gradient(circle at center,#000,transparent 67%)}.worker-sign-in{position:absolute;z-index:1;top:24px;right:clamp(20px,4vw,54px);min-height:42px;padding:0 16px;border:1px solid rgba(50,22,80,.18);border-radius:5px;background:rgba(255,255,255,.82);color:var(--purple);font:600 10px 'DM Sans',sans-serif;letter-spacing:.09em;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.worker-sign-in:hover{transform:translateY(-2px);background:#fff;box-shadow:0 10px 22px rgba(45,22,67,.11)}.worker-sign-in:focus-visible,.launch-tip:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.launch-center{position:relative;z-index:1}.launch-tip{min-width:230px;min-height:86px;padding:0 33px;display:flex;align-items:center;justify-content:center;gap:22px;border-radius:6px;background:var(--purple);box-shadow:0 18px 42px rgba(50,22,80,.24);color:#fff;font-size:18px;font-weight:600;letter-spacing:.15em;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s ease,box-shadow .25s ease}.launch-tip:hover{transform:translateY(-5px) scale(1.02);background:#45216a;box-shadow:0 25px 48px rgba(50,22,80,.3)}.launch-tip svg{transition:transform .25s ease}.launch-tip:hover svg{transform:translateX(5px)}.launch-tip:active{transform:translateY(-1px) scale(.98)}@media(max-width:640px){.worker-sign-in{top:17px;right:17px;min-height:39px;padding:0 13px;font-size:9px}.launch-page:before{width:102vw}.launch-tip{min-width:min(86vw,330px);min-height:76px;font-size:16px}}

/* Legacy image wordmark sizing */
.brand{gap:0;letter-spacing:0}.brand-logo{display:block;width:98px;height:auto}.launch-logo{position:absolute;z-index:2;top:24px;left:clamp(20px,4vw,54px)}.launch-logo .brand-logo{width:132px}footer .brand-logo{width:92px}@media(max-width:640px){.brand-logo{width:78px}.launch-logo{top:19px;left:17px}.launch-logo .brand-logo{width:108px}footer .brand-logo{width:84px}}

/* Embedded Stripe tipping flow */
.tip-interface{min-height:100vh;display:grid;grid-template-columns:minmax(300px,420px) minmax(320px,560px);gap:28px;align-items:center;justify-content:center;padding:112px 24px 42px}.tip-card,.tip-checkout-panel{background:rgba(255,255,255,.92);border:1px solid rgba(50,22,80,.12);border-radius:8px;box-shadow:0 18px 46px rgba(50,22,80,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tip-card{width:100%;padding:24px;text-align:left}.tip-card-top,.checkout-panel-header,.tip-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.tip-card-top span,.checkout-panel-header>span{flex:0 0 auto;border:1px solid rgba(50,22,80,.14);border-radius:999px;padding:7px 10px;color:#3d2f48;background:#fff;font:600 10px "DM Mono",monospace;letter-spacing:.1em}.tip-amount{text-align:left;margin:17px 0 18px;font-size:clamp(58px,8vw,84px)}.quick-tip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px}.quick-tip-row button{height:42px;border:1px solid rgba(50,22,80,.12);border-radius:6px;background:#fff;color:var(--purple);font:700 12px "DM Sans",sans-serif;cursor:pointer;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.quick-tip-row button:hover{background:#f4eef8;box-shadow:0 8px 16px rgba(45,22,67,.08);transform:translateY(-1px)}.tip-rule{margin-bottom:18px}.send-tip:disabled{cursor:not-allowed;background:#b9aec4;box-shadow:none;transform:none}.tip-error{margin:14px 0 0;padding:10px 12px;border:1px solid #e8b8c1;border-radius:6px;background:#fff3f5;color:#a92a3c;font:600 12px/1.45 "DM Sans",sans-serif}.tip-secure-note{margin:12px 0 0;color:#6b6172;text-align:center;font-size:12px}.tip-checkout-panel{width:100%;min-height:620px;padding:24px}.checkout-panel-header{align-items:flex-start}.checkout-panel-header h2{margin:7px 0 0;font-size:30px;line-height:1.05;letter-spacing:-.045em}.tip-summary{margin-top:21px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#6a5d72;font-size:14px}.tip-summary strong{color:var(--ink);font-size:18px}.tip-change{margin-top:12px;border:0;background:transparent;color:var(--purple);font:700 11px "DM Mono",monospace;letter-spacing:.08em;cursor:pointer}.tip-change:hover{text-decoration:underline}.embedded-checkout-shell{margin-top:18px;min-height:430px;padding:12px;border:1px solid rgba(50,22,80,.1);border-radius:8px;background:#fff}.checkout-empty,.checkout-success{min-height:430px;display:grid;place-items:center;text-align:center;padding:34px;color:#716579}.checkout-empty b,.checkout-success b{display:block;color:var(--ink);font-size:20px;letter-spacing:-.025em}.checkout-empty p,.checkout-success p{max-width:330px;margin:10px auto 0;font-size:14px;line-height:1.6}.checkout-empty small{display:block;max-width:330px;margin:14px auto 0;color:#946b1c;font-size:12px;line-height:1.5}.checkout-success svg{margin-bottom:13px;color:#6f21b8}.checkout-success button{min-height:44px;margin-top:19px;padding:0 18px;border:0;border-radius:6px;background:var(--purple);color:#fff;font:700 11px "DM Sans",sans-serif;letter-spacing:.08em;cursor:pointer}.checkout-success button:hover{background:#4a266d}.tip-change:focus-visible,.quick-tip-row button:focus-visible,.checkout-success button:focus-visible{outline:2px solid var(--purple);outline-offset:3px}@media(max-width:920px){.tip-interface{grid-template-columns:minmax(0,420px);padding-top:92px}.tip-checkout-panel{min-height:0}.checkout-empty,.checkout-success{min-height:300px}.embedded-checkout-shell{min-height:360px}}@media(max-width:640px){.tip-interface{padding:86px 16px 24px}.tip-card,.tip-checkout-panel{padding:18px}.tip-amount{font-size:58px}.quick-tip-row{grid-template-columns:repeat(2,1fr)}.checkout-panel-header h2{font-size:26px}.embedded-checkout-shell{padding:8px}}@media(prefers-reduced-motion:reduce){.quick-tip-row button{transition:none!important}}

/* Unified Stripe tip card */
.tip-interface{width:min(1260px,calc(100% - 48px));min-height:0;margin:112px auto 42px;padding:0;grid-template-columns:minmax(330px,430px) minmax(420px,1fr);gap:0;align-items:stretch;justify-content:stretch;background:rgba(255,255,255,.94);border:1px solid rgba(50,22,80,.12);border-radius:8px;box-shadow:0 22px 60px rgba(50,22,80,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}.tip-card,.tip-checkout-panel{background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.tip-card{padding:32px 28px 28px;border-right:1px solid var(--line)}.tip-checkout-panel{min-height:688px;padding:32px 34px 28px}.embedded-checkout-shell{position:relative;overflow:hidden}.embedded-checkout-shell:before{content:"Secure checkout is loading...";position:absolute;inset:12px;display:grid;place-items:center;color:#7c6e87;font:600 12px "DM Mono",monospace;letter-spacing:.08em;background:#fff}.embedded-checkout-shell:has(iframe):before{display:none}@media(max-width:920px){.tip-interface{width:min(460px,calc(100% - 32px));margin:86px auto 24px;grid-template-columns:1fr}.tip-card{border-right:0;border-bottom:1px solid var(--line)}.tip-checkout-panel{min-height:0;padding:24px 20px}.embedded-checkout-shell{min-height:380px}}@media(max-width:640px){.tip-interface{width:calc(100% - 24px);margin-top:76px}.tip-card{padding:22px 18px 18px}.tip-checkout-panel{padding:22px 18px}.tip-amount{font-size:54px}}

/* Single product checkout */
.tip-product-checkout{width:min(820px,calc(100% - 48px));grid-template-columns:1fr}.tip-single-checkout{min-height:720px}.tip-single-checkout .embedded-checkout-shell{min-height:570px;margin-top:28px}.checkout-error{min-height:430px;display:grid;place-items:center;text-align:center;padding:34px;color:#8a2e3e}.checkout-error b{display:block;color:#321650;font-size:20px;letter-spacing:-.025em}.checkout-error p{max-width:420px;margin:10px auto 0;font-size:14px;line-height:1.6}@media(max-width:920px){.tip-product-checkout{width:min(620px,calc(100% - 32px))}.tip-single-checkout{min-height:0}.tip-single-checkout .embedded-checkout-shell{min-height:520px}}@media(max-width:640px){.tip-product-checkout{width:calc(100% - 24px)}.tip-single-checkout .embedded-checkout-shell{min-height:500px;margin-top:20px}}

/* Refined product checkout presentation */
.tip-page{background:linear-gradient(145deg,#fff 0%,#faf8fc 55%,#f3eef8 100%)}.tip-product-checkout{margin-top:118px;background:#fff}.tip-single-checkout{padding:34px 38px 34px}.tip-single-checkout .checkout-panel-header{padding-bottom:20px;border-bottom:1px solid var(--line)}.tip-single-checkout .checkout-panel-header h2{font-size:32px}.tip-single-checkout .embedded-checkout-shell{border:0;background:#fff;padding:0}.tip-single-checkout .embedded-checkout-shell:before{inset:0;border:1px solid rgba(50,22,80,.1);border-radius:8px;background:#fff}@media(max-width:640px){.tip-product-checkout{margin-top:82px}.tip-single-checkout{padding:24px 18px}.tip-single-checkout .checkout-panel-header h2{font-size:27px}}

/* Wallet-first Stripe Elements tip flow */
.tip-wallet-checkout{width:min(620px,calc(100% - 48px));background:rgba(255,255,255,.96)}.tip-wallet-checkout .tip-single-checkout{min-height:0}.wallet-payment-flow{padding-top:24px}.tip-total-card{display:grid;gap:6px;padding:23px 24px;border-radius:8px;background:linear-gradient(135deg,#321650 0%,#7420bd 100%);color:#fff;box-shadow:0 14px 28px rgba(50,22,80,.18)}.tip-total-card p,.tip-total-card span{margin:0;font:600 10px "DM Mono",monospace;letter-spacing:.12em;color:#e9dcf4;text-transform:uppercase}.tip-total-card strong{font-size:38px;line-height:1;letter-spacing:-.045em}.tip-total-card span{color:#cdbce0}.primary-wallet-area{margin-top:18px;padding:18px;border:1px solid rgba(50,22,80,.12);border-radius:8px;background:#fff}.wallet-copy{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.wallet-copy p{margin:0;color:#806d8f;font:600 10px "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.wallet-copy h3{margin:0;color:var(--ink);font-size:22px;line-height:1;letter-spacing:-.035em}.express-wallet-slot{min-height:54px}.wallet-availability{margin:12px 0 0;color:#74677c;font-size:13px;line-height:1.5}.other-payment-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.other-payment-row span{color:#74677c;font-size:13px}.other-payment-row button{border:0;background:transparent;color:var(--purple);font:700 11px "DM Mono",monospace;letter-spacing:.08em;cursor:pointer;text-align:right}.other-payment-row button:hover{text-decoration:underline}.other-payment-panel{margin-top:16px;padding-top:18px;border-top:1px solid rgba(50,22,80,.08)}.confirm-other-payment{width:100%;min-height:52px;margin-top:18px;border:0;border-radius:7px;background:var(--purple);color:#fff;font:800 11px "DM Sans",sans-serif;letter-spacing:.11em;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.confirm-other-payment:hover{background:#4a266d;transform:translateY(-1px);box-shadow:0 12px 24px rgba(50,22,80,.18)}.confirm-other-payment:disabled{cursor:not-allowed;background:#b8acc4;box-shadow:none;transform:none}.checkout-retry{min-height:44px;margin-top:18px;padding:0 18px;border:0;border-radius:6px;background:var(--purple);color:#fff;font:700 11px "DM Sans",sans-serif;letter-spacing:.08em;cursor:pointer}.checkout-retry:hover{background:#4a266d}.other-payment-row button:focus-visible,.confirm-other-payment:focus-visible,.checkout-retry:focus-visible{outline:2px solid var(--purple);outline-offset:3px}@media(max-width:640px){.tip-wallet-checkout{width:calc(100% - 24px)}.wallet-payment-flow{padding-top:20px}.tip-total-card{padding:20px}.tip-total-card strong{font-size:34px}.primary-wallet-area{padding:16px}.wallet-copy{align-items:flex-start;flex-direction:column;gap:7px}.other-payment-row{align-items:flex-start;flex-direction:column;gap:8px}.other-payment-row button{text-align:left}}
/* Four-color product line-up */
.stage-inner .variant-line{position:relative;z-index:1;width:min(82%,1120px);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:clamp(18px,4vw,72px);padding:62px 34px 0}.variant-line img{display:block;width:100%;max-height:310px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(38,20,62,.12));-webkit-mask-image:url('../product/band-stitched.png');mask-image:url('../product/band-stitched.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}.variant-line img:nth-child(1),.variant-line img:nth-child(4){transform:translateY(-18px) rotate(-7deg)}.variant-line img:nth-child(2),.variant-line img:nth-child(3){transform:translateY(20px) rotate(-7deg)}.stage-inner:hover .variant-line img{filter:drop-shadow(0 24px 22px rgba(38,20,62,.18))}.stage-inner:hover .variant-line img:nth-child(1),.stage-inner:hover .variant-line img:nth-child(4){transform:translateY(-26px) rotate(-7deg)}.stage-inner:hover .variant-line img:nth-child(2),.stage-inner:hover .variant-line img:nth-child(3){transform:translateY(12px) rotate(-7deg)}@media(max-width:640px){.stage-inner .variant-line{width:100%;gap:6px;padding:47px 12px 0}.variant-line img{max-height:185px}.variant-line img:nth-child(1),.variant-line img:nth-child(4){transform:translateY(-8px) rotate(-7deg)}.variant-line img:nth-child(2),.variant-line img:nth-child(3){transform:translateY(9px) rotate(-7deg)}}

/* Keep the line-up still; only the band directly under the pointer responds. */
@media(min-width:641px){.stage-inner:hover .variant-line img{filter:drop-shadow(0 18px 18px rgba(38,20,62,.12))}.stage-inner:hover .variant-line img:nth-child(1),.stage-inner:hover .variant-line img:nth-child(4){transform:translateY(-18px) rotate(-7deg)}.stage-inner:hover .variant-line img:nth-child(2),.stage-inner:hover .variant-line img:nth-child(3){transform:translateY(20px) rotate(-7deg)}.stage-inner .variant-line img:hover:nth-child(1),.stage-inner .variant-line img:hover:nth-child(4){transform:translateY(-18px) rotate(-7deg) scale(1.09);filter:drop-shadow(0 25px 23px rgba(38,20,62,.22))}.stage-inner .variant-line img:hover:nth-child(2),.stage-inner .variant-line img:hover:nth-child(3){transform:translateY(20px) rotate(-7deg) scale(1.09);filter:drop-shadow(0 25px 23px rgba(38,20,62,.22))}}

/* Worker access is a front-end-only account mock. */
.worker-access{justify-self:end;min-height:39px;padding:0 13px;border:1px solid #ded5e6;border-radius:5px;background:#fff;color:var(--purple);display:inline-flex;align-items:center;justify-content:center;font:600 9px 'DM Sans',sans-serif;letter-spacing:.07em;white-space:nowrap;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.worker-access:hover{background:#f5f0f8;transform:translateY(-1px);box-shadow:0 8px 18px rgba(45,22,67,.1)}.worker-access:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.worker-page{min-height:100vh;padding:112px 20px 54px;background:radial-gradient(circle at 50% 22%,#eee7f4 0%,#fff 47%);display:grid;place-items:center}.worker-header{position:fixed;z-index:3;top:0;left:50%;right:auto;width:min(680px,100%);height:70px;margin:0;padding:0 24px;transform:translateX(-50%);background:rgba(255,255,255,.86);border-bottom:1px solid rgba(50,22,80,.1);border-radius:0 0 12px 12px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between}.worker-header>a:last-child{color:var(--purple);font:600 9px 'DM Mono',monospace;letter-spacing:.08em}.worker-card{width:min(100%,420px);padding:37px;background:rgba(255,255,255,.9);border:1px solid #e2dbe9;box-shadow:0 22px 50px rgba(45,22,67,.1)}.worker-card .eyebrow{margin-bottom:16px}.worker-card h1{margin:0;color:var(--ink);font-size:42px;letter-spacing:-.06em}.worker-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:29px 0 25px;padding:4px;background:#f2edf6;border:1px solid #e3dce9;border-radius:7px}.worker-tabs button{min-height:39px;border:0;border-radius:4px;background:transparent;color:#786b82;font:600 10px 'DM Sans',sans-serif;letter-spacing:.07em;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.worker-tabs button.is-active{background:#fff;color:var(--purple);box-shadow:0 2px 7px rgba(45,22,67,.1)}.worker-card form{display:grid;gap:17px}.worker-card label{display:grid;gap:8px;color:#65586d;font:500 9px 'DM Mono',monospace;letter-spacing:.1em}.worker-card input{width:100%;height:47px;padding:0 13px;border:1px solid #ded5e6;border-radius:4px;background:#fff;color:var(--ink);font:400 15px 'DM Sans',sans-serif}.worker-card input:focus{outline:2px solid var(--purple);outline-offset:2px;border-color:var(--purple)}.worker-card .button{width:100%;margin-top:8px;border:0;cursor:pointer}.worker-note{margin:20px 0 0;color:#887d90;text-align:center;font:500 8px 'DM Mono',monospace;letter-spacing:.08em;line-height:1.5}@media(max-width:640px){.worker-access{min-height:36px;padding:0 8px;font-size:7px;letter-spacing:.04em}.worker-header{height:64px;padding:0 16px;border-radius:0 0 10px 10px}.worker-header .brand-logo{width:78px}.worker-header>a:last-child{font-size:8px}.worker-card{padding:28px 22px}.worker-card h1{font-size:37px}}

/* Everyday tipping moment */
.feature-image.feature-scene{padding:0;overflow:hidden;background:#eee7f4}.feature-image.feature-scene:before{inset:0;z-index:1;background:linear-gradient(135deg,rgba(35,15,56,.14),transparent 40%)}.feature-scene img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.feature-scene:hover img{transform:scale(1.035)}.feature-image.feature-scene>span{z-index:2;top:25px;left:25px;padding:7px 9px;background:rgba(255,255,255,.76);backdrop-filter:blur(7px)}

.supporting-copy{display:flex;align-items:center;gap:12px;color:#111;font:500 10px 'DM Mono';letter-spacing:.08em;line-height:1.45;text-transform:uppercase}.supporting-copy:before,.supporting-copy:after{content:'';height:1px;min-width:26px;flex:1;background:#1115}

/* Rivoba identity and checkout */
.brand-logo{width:94px;height:auto}.launch-logo .brand-logo{width:122px}footer .brand-logo{width:88px}.tip-nav,.site-header,.site-header.is-scrolled{width:min(1020px,100%)!important;background:rgba(255,255,255,.9);border:1px solid rgba(47,23,71,.09);border-top:0;box-shadow:none}

.tip-page{position:relative;min-height:100vh;padding:1px 0 48px;background:radial-gradient(circle at 12% 15%,rgba(177,118,220,.11),transparent 31%),linear-gradient(145deg,#faf9fb 0%,#f3eff6 100%)}.tip-page:before{content:'';position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(47,23,71,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(47,23,71,.025) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 78%);mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.rivoba-checkout{position:relative;width:min(1020px,calc(100% - 48px));min-height:650px;margin:112px auto 0;padding:0;display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:0;align-items:stretch;background:#fff;border:1px solid rgba(47,23,71,.11);border-radius:20px;box-shadow:0 28px 80px rgba(36,17,51,.13);overflow:hidden}
.checkout-brand-panel{position:relative;overflow:hidden;min-height:650px;padding:47px 42px 40px;display:flex;flex-direction:column;justify-content:flex-start;color:#fff;background:linear-gradient(155deg,#261137 0%,#3e1c59 58%,#57277c 100%)}.checkout-brand-panel:before,.checkout-brand-panel:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%}.checkout-brand-panel:before{width:360px;height:360px;right:-215px;top:-125px;box-shadow:0 0 0 48px rgba(255,255,255,.018),0 0 0 96px rgba(255,255,255,.012)}.checkout-brand-panel:after{width:190px;height:190px;left:-105px;bottom:-95px}.checkout-brand-panel>div{position:relative;z-index:1}.checkout-brand-panel .tip-label{color:#d9bee9}.checkout-brand-panel h1{max-width:290px;margin:24px 0 0;color:#fff;font:500 46px/.99 'DM Sans',sans-serif;letter-spacing:-.062em}.checkout-brand-copy{max-width:270px;margin:25px 0 0;color:#d9cde1;font-size:14px;line-height:1.65}

.rivoba-checkout .tip-checkout-panel{min-height:650px;padding:34px 43px 32px;background:#fff}.rivoba-checkout .checkout-panel-header{min-height:58px;padding:0 0 20px;align-items:center;border-bottom:1px solid #e9e3ed}.checkout-title{display:block}.rivoba-checkout .checkout-panel-header h2{margin:0;color:#241330;font-size:28px;line-height:1;letter-spacing:-.045em}.rivoba-checkout .stripe-badge{margin-left:auto;padding:7px 10px;border:1px solid #e2dbe7;border-radius:999px;background:#fff;color:#6b5d73;font:600 9px 'DM Sans',sans-serif;letter-spacing:.035em;text-transform:none}.checkout-body{min-height:440px}.wallet-payment-flow{position:relative;padding-top:27px}.tip-total-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 20px;border:1px solid #e6dfea;border-radius:12px;background:#f8f6f9;color:#241330;box-shadow:none}.tip-total-card>div{display:grid;gap:5px}.tip-total-card p,.tip-total-card span{margin:0;color:#776980;font:600 9px 'DM Mono',monospace;letter-spacing:.11em;text-transform:uppercase}.tip-total-card span{max-width:310px;color:#4d4054;font-family:'DM Sans',sans-serif;letter-spacing:0;text-transform:none}.tip-total-card strong{font-size:31px;font-weight:600;line-height:1;letter-spacing:-.045em;white-space:nowrap}.primary-wallet-area{margin-top:18px;padding:0;border:0;border-radius:10px;background:transparent}.primary-wallet-area.is-unavailable{display:none}.express-wallet-slot{position:relative;min-height:54px}.native-apple-pay-button{width:100%;height:54px;display:block;border:0;border-radius:8px;-webkit-appearance:-apple-pay-button;-apple-pay-button-type:tip;-apple-pay-button-style:black;cursor:pointer}.native-apple-pay-button:disabled{cursor:wait;opacity:.65}.native-apple-pay-button:focus-visible{outline:2px solid #35184d;outline-offset:3px}.wallet-checking{height:54px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e2dbe7;border-radius:8px;background:#faf9fb;color:#705f7c;font:700 9px 'DM Sans',sans-serif;letter-spacing:.08em}.wallet-checking-spinner{width:14px;height:14px;border:2px solid #ded5e4;border-top-color:#4b2269;border-radius:50%;animation:rivoba-spin .8s linear infinite}.payment-divider{position:relative;height:41px;display:grid;place-items:center;margin:8px 0 12px}.payment-divider:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#e7e1ea}.payment-divider span{position:relative;padding:0 12px;background:#fff;color:#8a7e91;font:600 9px 'DM Mono',monospace;letter-spacing:.1em}.payment-divider.without-wallet{height:31px;margin:10px 0 12px;justify-items:start}.payment-divider.without-wallet:before{display:none}.payment-divider.without-wallet span{padding:0}.other-payment-panel{margin:0;padding:0;border:0}.confirm-other-payment{min-height:54px;margin-top:20px;border-radius:9px;background:#35184d;font-size:11px;letter-spacing:.095em;box-shadow:0 10px 22px rgba(47,23,71,.16)}.confirm-other-payment:hover{background:#4b2269;box-shadow:0 14px 28px rgba(47,23,71,.22)}

.rivoba-checkout .checkout-empty,.rivoba-checkout .checkout-success,.rivoba-checkout .checkout-error{min-height:440px;padding:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.rivoba-checkout .checkout-empty,.rivoba-checkout .checkout-success{color:#736779}.rivoba-checkout .checkout-error{color:#8e3344}.rivoba-checkout .state-icon{width:52px;height:52px;margin-bottom:18px;display:grid;place-items:center;border-radius:16px;background:#f3edf7;color:#4b2269}.rivoba-checkout .checkout-error .state-icon{background:#fff0f2;color:#a53f50}.rivoba-checkout .checkout-empty b,.rivoba-checkout .checkout-success b,.rivoba-checkout .checkout-error b{color:#2b1937;font-size:21px;letter-spacing:-.03em}.rivoba-checkout .checkout-empty p,.rivoba-checkout .checkout-success p,.rivoba-checkout .checkout-error p{max-width:340px;margin:10px 0 0;color:#756a7b;font-size:13px;line-height:1.6}.rivoba-checkout .checkout-error small{max-width:360px;margin-top:9px;color:#9c7e86;font-size:10px;line-height:1.45}.checkout-retry,.checkout-success button{min-height:47px;margin-top:22px;padding:0 20px;border:0;border-radius:9px;background:#35184d;color:#fff;font:700 10px 'DM Sans',sans-serif;letter-spacing:.09em;cursor:pointer}.checkout-spinner{width:35px;height:35px;margin-bottom:20px;border:2px solid #e2d7e8;border-top-color:#4b2269;border-radius:50%;animation:rivoba-spin .8s linear infinite}@keyframes rivoba-spin{to{transform:rotate(360deg)}}

@media(max-width:820px){.tip-nav,.site-header,.site-header.is-scrolled{width:100%!important}.rivoba-checkout{width:min(600px,calc(100% - 32px));grid-template-columns:1fr;margin-top:90px}.checkout-brand-panel{min-height:230px;padding:33px 34px}.checkout-brand-panel h1{max-width:430px;margin-top:15px;font-size:37px}.checkout-brand-copy{margin-top:15px}.rivoba-checkout .tip-checkout-panel{min-height:0;padding:32px 34px}.rivoba-checkout .checkout-panel-header{min-height:0}.checkout-body{min-height:400px}}
@media(max-width:560px){.brand-logo{width:84px}.worker-access{font-size:0;padding:0;width:36px}.worker-access:after{content:'ACCOUNT';font-size:7px}.rivoba-checkout{width:calc(100% - 20px);margin-top:75px;border-radius:15px}.checkout-brand-panel{min-height:185px;padding:27px 24px}.checkout-brand-panel h1{font-size:31px}.checkout-brand-copy{font-size:13px}.rivoba-checkout .tip-checkout-panel{padding:26px 20px}.rivoba-checkout .checkout-panel-header{align-items:center}.rivoba-checkout .stripe-badge{font-size:0;padding:8px}.rivoba-checkout .stripe-badge:after{content:'Stripe';font-size:9px}.rivoba-checkout .checkout-panel-header h2{font-size:26px}.tip-total-card{padding:17px}.tip-total-card strong{font-size:28px}.rivoba-checkout .checkout-empty,.rivoba-checkout .checkout-success,.rivoba-checkout .checkout-error{min-height:360px;padding:28px 12px}}
.worker-account-heading{display:grid;gap:8px;margin-bottom:22px}.worker-account-heading span{color:var(--purple);font:600 9px 'DM Mono',monospace;letter-spacing:.12em}.worker-account-heading p{margin:0;color:#716579;font-size:13px;overflow-wrap:anywhere}.worker-account-heading button{justify-self:start;min-height:31px;padding:0 10px;border:1px solid #ded5e6;border-radius:4px;background:#fff;color:#66556f;font:600 8px 'DM Mono',monospace;letter-spacing:.08em;cursor:pointer}.worker-status{display:grid;gap:9px;margin:0 0 20px;padding:13px;border:1px solid #e3dce9;background:#fbf9fc}.worker-status div{display:flex;align-items:center;justify-content:space-between;gap:16px}.worker-status dt{color:#8a7c94;font:600 8px 'DM Mono',monospace;letter-spacing:.1em}.worker-status dd{margin:0;color:var(--ink);font-size:13px;font-weight:600;text-align:right;overflow-wrap:anywhere}.worker-message{margin:18px 0 0;padding:11px 12px;border:1px solid #d6cde0;background:#faf7fc;color:var(--purple);font-size:12px;line-height:1.45}.worker-message.is-error{border-color:#e8c7cf;background:#fff8fa;color:#9c263c}.worker-tip-link{min-height:40px;margin-top:12px;border:1px solid #ded5e6;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--purple);font:600 9px 'DM Mono',monospace;letter-spacing:.08em}
@media(prefers-reduced-motion:reduce){.checkout-spinner{animation:none}}

/* Phone checkout: one payment surface, with Apple Pay before optional cards. */
.more-payment-options{width:100%;min-height:48px;margin-top:16px;border:1px solid #d9cfe0;border-radius:8px;background:#fff;color:#35184d;font:700 10px 'DM Sans',sans-serif;letter-spacing:.09em;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.more-payment-options:hover{border-color:#8d72a2;background:#faf7fc}.more-payment-options:focus-visible{outline:2px solid #35184d;outline-offset:3px}
@media(max-width:640px){.tip-page{padding-bottom:0;background:#fff}.tip-page:before{display:none}.rivoba-checkout{width:100%;min-height:calc(100svh - 64px);margin:64px 0 0;border:0;border-radius:0;box-shadow:none}.checkout-brand-panel{display:none}.rivoba-checkout .tip-checkout-panel{min-height:calc(100svh - 64px);padding:24px 20px 28px}.rivoba-checkout .checkout-panel-header{min-height:0;padding-bottom:20px}.rivoba-checkout .checkout-panel-header h2{font-size:27px}.checkout-body{min-height:0}.wallet-payment-flow{padding-top:22px}.tip-total-card{padding:17px 16px;border-radius:8px}.tip-total-card strong{font-size:29px}.primary-wallet-area{margin-top:20px}.wallet-copy{margin-bottom:10px}.express-wallet-slot{min-height:54px}.more-payment-options{min-height:52px;margin-top:18px}.payment-divider{height:38px;margin:9px 0}.other-payment-panel{padding-bottom:2px}.confirm-other-payment{min-height:54px;margin-top:16px}.tip-secure-note{margin-top:15px}.rivoba-checkout .checkout-empty,.rivoba-checkout .checkout-success,.rivoba-checkout .checkout-error{min-height:calc(100svh - 170px);padding:28px 12px}}

/* Rivoba primary color across navigation, payment actions, and focus states. */
:root{--purple:#6a1fab}.tip-nav .tip-tabs,.site-header .tip-tabs{background:#6a1fab;border-color:#6a1fab}.tip-nav .tip-tabs a,.site-header .tip-tabs a{color:#f6f1ff}.checkout-brand-panel{background:#6a1fab}.top-start,.mobile-start,.button.primary,.confirm-other-payment,.checkout-retry,.checkout-success button{background:#6a1fab}.top-start:hover,.mobile-start:hover,.button.primary:hover,.confirm-other-payment:hover,.checkout-retry:hover,.checkout-success button:hover{background:#6a1fab}.more-payment-options{color:#6a1fab}.more-payment-options:focus-visible,.native-apple-pay-button:focus-visible,.tip-keypad button:focus-visible,.use-suggested-tip:focus-visible{outline-color:#6a1fab}

/* Curved display words echo the Rivoba logo purple. */
.info-page h1 em,.info-page h2 em{color:#6a1fab}

/* A clean product line-up on the white Info-page canvas. */
.info-page .stage-inner{height:auto;min-height:0;padding:34px 0;background:#fff}.info-page .stage-inner:before,.info-page .stage-inner:after,.info-page .scan-line{display:none}.info-page .stage-inner .variant-line{width:min(92%,1160px);padding:0;gap:clamp(14px,2.8vw,38px)}.info-page .variant-product{aspect-ratio:1;display:grid;place-items:center;padding:clamp(13px,2vw,28px);border:1px solid #e7dff0;background:#fff;box-shadow:0 15px 32px rgba(62,24,95,.08)}.info-page .variant-product img{max-height:100%;transform:rotate(-7deg)!important}.info-page .variant-product:hover img{transform:rotate(-7deg) scale(1.08)!important;filter:drop-shadow(0 25px 23px rgba(106,31,171,.2))}@media(max-width:640px){.info-page .stage-inner{padding:15px 0}.info-page .stage-inner .variant-line{width:100%;gap:8px;padding:0 4px}.info-page .variant-product{padding:7px;border-color:#eee8f3}.info-page .variant-product img{max-height:150px}}

/* Keep the original U rhythm while each band sits in a top-style product frame. */
.info-page .stage,.info-page .stage-inner{background:#fff!important}.info-page .variant-product{background:#fff}
.lineup-heading{margin:0 0 28px}.lineup-heading h2{display:flex;align-items:center;justify-content:center;gap:11px;margin:0;color:#26143e;line-height:1}.lineup-heading .brand-logo{width:164px;height:auto}.lineup-heading h2>span{color:#151019;font:700 clamp(42px,4vw,58px) 'DM Sans',sans-serif;letter-spacing:-.07em;line-height:.82}@media(max-width:640px){.lineup-heading{margin-bottom:20px}.lineup-heading .brand-logo{width:132px}.lineup-heading h2{gap:8px}.lineup-heading h2>span{font-size:42px}}

/* Align the lineup number with the visual center of the Rivoba wordmark on phones. */
@media(max-width:640px){.lineup-heading h2>span{transform:translateY(5px)}}

/* A restrained light sweep makes the product frames feel tactile on hover. */
.product:after,.info-page .variant-product:after{content:'';position:absolute;z-index:2;top:-30%;bottom:-30%;left:-58%;width:28%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent,rgba(255,255,255,.95),transparent);transform:skewX(-20deg);transition:left 1.15s ease,opacity .3s ease}.product:hover:after,.info-page .variant-product:hover:after{left:132%;opacity:1}

/* Product frames stay clean and still on hover. */
.product:after,.info-page .variant-product:after{display:none}

/* The hero band is presented on the page itself, without a product-card square. */
.hero-art .product{background:transparent;border:0;box-shadow:none;overflow:visible}
.hero-art .product:before{display:block;inset:auto;z-index:0;width:105%;height:76%;left:-2.5%;top:12%;border:0;border-radius:50%;background:radial-gradient(ellipse,rgba(107,31,171,.16) 0%,rgba(137,76,201,.09) 48%,transparent 76%);filter:blur(30px);transform:rotate(-8deg)}

/* A shorter, message-first support page is intentionally distinct from ordering. */
.support-page{min-height:100vh;background:linear-gradient(145deg,#fbf9fd 0%,#f0e9f6 100%)}.support-shell{width:min(1040px,calc(100% - 64px));min-height:calc(100vh - 82px);margin:0 auto;display:grid;grid-template-columns:1fr minmax(360px,470px);align-items:center;gap:clamp(54px,10vw,132px);padding:74px 0}.support-copy>p{margin:0 0 22px;color:#6b1fab;font:600 10px 'DM Mono',monospace;letter-spacing:.14em}.support-copy h1{margin:0;font-size:clamp(54px,6vw,80px);font-weight:500;line-height:.94;letter-spacing:-.065em}.support-copy h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#6b1fab}.support-copy>span{display:block;max-width:330px;margin-top:28px;color:#62566c;font-size:15px;line-height:1.7}.support-form{background:#fff;box-shadow:0 22px 50px rgba(50,22,80,.12)}.support-form textarea{min-height:112px}.support-form .button{width:100%}@media(max-width:640px){.support-shell{width:calc(100% - 40px);min-height:calc(100vh - 68px);display:block;padding:70px 0 52px}.support-copy{margin-bottom:42px}.support-copy h1{font-size:clamp(48px,14vw,58px)}.support-copy>span{margin-top:22px;font-size:14px}.support-form{padding:24px 19px}}
.hero-art .product:hover{box-shadow:none}
.hero-art .orbit.a{width:390px!important;height:390px!important}
.hero-art .orbit.b{width:480px!important;height:480px!important}
.hero-art .orbit.c{width:555px!important;height:555px!important}

/* Keep the hero wordmark crisp and give its supporting line more presence. */
.info-page .hero h1{letter-spacing:-.045em}
.info-page .hero .supporting-copy{font-size:13px;letter-spacing:.06em}

/* The phone is a realistic, static product interaction: its lower-right edge rests above the scanner. */
.hero-art-composition{position:relative;width:100%;height:100%;display:grid;place-items:center;transform:translateY(-100px)}
.info-page .hero-art:before{content:'';position:absolute;z-index:0;left:calc(.6% - 150px);top:calc(-4.4% + 160px);width:100.8%;height:100.8%;border-radius:56% 44% 61% 39% / 42% 57% 43% 58%;background:radial-gradient(ellipse at center,rgb(107 31 171 / .1) 0%,rgb(107 31 171 / .055) 38%,rgb(107 31 171 / .022) 64%,rgb(107 31 171 / .004) 84%,transparent 100%);filter:blur(16px);transform:rotate(-18deg)}.info-page .hero-art-composition{z-index:1}
@media(max-width:640px){.info-page .hero-art-composition{transform:translateY(-78px)}}
/* On phones, use the viewport as the shared reference frame so the band,
   phone, and NFC mark stay balanced as one composition. */
@media(max-width:640px){.info-page .hero-art{left:0;right:auto;width:100%;}.info-page .hero-tap-phone{left:calc(50% - 80px)}.info-page .tap-waves{left:calc(50% - 42px)}}
.hero-art .product,.hero-art .product:hover{transform:none;box-shadow:none}
.hero-art .product-photo,.hero-art .product:hover .product-photo{transform:scaleX(-1) rotateX(13deg) rotateZ(-7deg) scale(1.08);filter:grayscale(1) brightness(1.06) contrast(.94) drop-shadow(0 20px 16px #26143e26)}
.hero-art .product{z-index:3;isolation:isolate}.hero-art .product-photo{position:relative;z-index:1}
.hero-tap-phone{position:absolute;z-index:2;left:calc(50% - 195px);top:clamp(222px,calc(7% + 200px),246px);width:clamp(190px,22vw,275px);height:auto;pointer-events:none;transform:translateX(-50%) rotate(5deg) scale(1.06);transform-origin:center;filter:drop-shadow(0 19px 22px rgba(0,0,0,.2))}
@media(max-width:640px){.hero-tap-phone{left:calc(50% - 102px);top:234px;width:132px}}
.tap-waves{position:absolute;z-index:4;left:calc(50% - 98px);top:204px;width:62px;height:62px;overflow:visible;fill:none;stroke:var(--purple);stroke-linecap:round;stroke-width:6;pointer-events:none;transform:rotate(-25deg)}
@media(max-width:640px){.tap-waves{left:calc(50% - 58px);top:174px;width:40px;height:40px;stroke-width:7}}

/* Unified brand violet sampled from the supplied swatch. */
:root{--purple:#6a1fab}
/* Match the Tip / Info control to the purple used by the Rivoba logo asset. */
.tip-nav .tip-tabs,.site-header .tip-tabs{background:var(--purple);border-color:var(--purple)}
.checkout-brand-panel{background:#6a1fab}
.top-start,.mobile-start,.button.primary,.confirm-other-payment,.checkout-retry,.checkout-success button{background:#6a1fab}
.top-start:hover,.mobile-start:hover,.button.primary:hover,.confirm-other-payment:hover,.checkout-retry:hover,.checkout-success button:hover{background:#6a1fab}
.more-payment-options{color:#6a1fab}
.info-page h1 em,.info-page h2 em{color:#6a1fab}
.info-page .hero{background:radial-gradient(circle at 79% 36%,rgba(106,31,171,.1),transparent 28%),#fff}
.info-page .grid{background-image:linear-gradient(rgba(106,31,171,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(106,31,171,.08) 1px,transparent 1px)}
.info-page .hero-dots i{background:#6a1fab}.info-page .orbit{border-color:rgba(106,31,171,.2)}.info-page .orbit.c{border-color:rgba(106,31,171,.1)}
.info-page .feature-image.feature-scene{background:#6a1fab;box-shadow:0 20px 44px rgba(106,31,171,.13)}
.info-page .feature-image.feature-scene:before{background:linear-gradient(135deg,rgba(0,0,0,.12),transparent 46%)}

/* Phone viewport composition — matched to the supplied mobile reference. */
@media(max-width:640px){
  .info-page .hero-art:before{display:none}
  .info-page .hero-art{left:0;right:auto;top:80px;width:100%;height:315px}
  .info-page .hero-art-composition{transform:none}
  .info-page .hero-art .product{width:245px;height:245px}
  .info-page .hero-tap-phone{left:calc(50% - 60px);top:190px;width:200px}
  .info-page .tap-waves{left:calc(50% - 6px);top:135px;width:52px;height:52px;stroke-width:7}
}

/* Use the supplied finished campaign composition only on phone-sized screens. */
.mobile-hero-ad{display:none}
@media(max-width:640px){
  .info-page .mobile-hero-ad{display:block;width:100%;height:auto;-o-object-fit:contain;object-fit:contain}
  .info-page .hero-art-composition{display:none}
  .info-page .hero{min-height:760px}
  .info-page .hero-copy{margin-top:0}
  .info-page .hero-art{top:315px}
}

/* Final single-source brand color overrides. */
:root{--purple:#6a1fab}
.info-page .variant-product:hover img{filter:drop-shadow(0 25px 23px rgba(106,31,171,.2))}
.info-page .faq-item:hover,.info-page .faq-item.is-open{background:#f5f0ff}.info-page .faq-item button>i{border-color:rgba(106,31,171,.48)}.info-page .faq-item.is-open button>i{background:#6a1fab;border-color:#6a1fab}.info-page .faq-list{border-color:rgba(106,31,171,.2)}


/* Keep the lineup strictly neutral: white frames, gray detail lines, gray depth. */
.info-page .stage-inner{overflow:visible}.info-page .variant-product{border-color:#e5e5e5;box-shadow:-16px 0 24px rgba(0,0,0,.12)}.info-page .variant-product:before{border-color:#ededed}.info-page .variant-product:hover img{filter:drop-shadow(-10px 14px 16px rgba(0,0,0,.14))}

.info-page .stage-inner{background:transparent}.info-page .variant-product{position:relative;overflow:hidden;transform:none}.info-page .variant-product:before{content:'';position:absolute;inset:13px;border:1px solid #eeeaf1;pointer-events:none}.info-page .variant-product:hover{z-index:1;transform:scale(1.06)}@media(max-width:640px){.info-page .stage-inner .variant-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px}.info-page .variant-product,.info-page .variant-product:hover{transform:none}.info-page .variant-product:before{inset:6px}}

/* Carry the Rivoba tip-page purple through the product story. */
.info-page{background:#fff}.info-page .hero{background:radial-gradient(circle at 79% 36%,rgba(106,31,171,.1),transparent 28%),#fff}.info-page .grid{background-image:linear-gradient(rgba(106,31,171,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(106,31,171,.08) 1px,transparent 1px)}.info-page .hero-dots i{background:#6a1fab}.info-page .orbit{border-color:rgba(106,31,171,.2)}.info-page .orbit.c{border-color:rgba(106,31,171,.1)}.info-page .stage-inner{background:transparent}.info-page .stage-inner:before,.info-page .stage-inner:after{background:rgba(38,20,62,.06)}.info-page .scan-line{background:linear-gradient(transparent,#6a1fab,transparent)}.info-page .feature-image.feature-scene{background:#6a1fab;box-shadow:0 20px 44px rgba(106,31,171,.13)}.info-page .feature-image.feature-scene:before{background:linear-gradient(135deg,rgba(106,31,171,.28),transparent 46%)}.info-page .faq-item:hover,.info-page .faq-item.is-open{background:#f8f1fd}.info-page .faq-item button>i{border-color:rgba(106,31,171,.48)}.info-page .faq-item.is-open button>i{background:#6a1fab;border-color:#6a1fab}.info-page .faq-list{border-color:rgba(106,31,171,.2)}

/* The tour-guide photo uses a neutral contrast overlay, never a purple tint. */
.info-page .feature-image.feature-scene:before{background:linear-gradient(135deg,rgba(0,0,0,.12),transparent 46%)}

/* A focused, two-part explanation directly following the hero. */
.info-page .product-overview{display:grid;grid-template-columns:minmax(290px,390px) minmax(0,610px);align-items:center;justify-content:space-between;-moz-column-gap:clamp(56px,8vw,128px);column-gap:clamp(56px,8vw,128px);padding-top:136px;padding-bottom:76px}.product-intro-copy{max-width:610px;margin:0}.product-overview-dropdown{width:100%;border:0}.product-overview-label{min-height:68px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#26143e;font-size:17px;font-weight:600;letter-spacing:-.025em}.product-overview-label svg{flex:0 0 auto;color:#6a1fab}.product-overview-details{padding:3px 0 28px}.product-intro-copy ul{display:grid;gap:18px;margin:0;padding:0;list-style:none}.product-intro-copy li{position:relative;max-width:570px;padding-left:22px;color:#26143e;font-size:15px;line-height:1.72}.product-intro-copy li:before{content:'';position:absolute;top:.68em;left:0;width:7px;height:7px;border-radius:50%;background:#6a1fab}.product-intro-copy li:last-child{font-weight:400}.product-intro-copy .button{min-width:174px;margin-top:28px;border:0;cursor:pointer}.no-cost-callout{min-height:245px;margin:0;padding:31px 32px;display:flex;align-items:flex-start;justify-content:center;background:#6a1fab;box-shadow:18px 18px 0 #eee8f2;color:#fff}.no-cost-callout p{max-width:280px;margin:0;font-size:clamp(25px,2.25vw,34px);font-weight:500;line-height:1.04;letter-spacing:-.055em;-webkit-text-stroke:.55px rgba(0,0,0,.5);text-shadow:0 1px 0 rgba(0,0,0,.45),1px 0 0 rgba(0,0,0,.22),-1px 0 0 rgba(0,0,0,.22)}.no-cost-callout p strong{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.product-overview-label{min-height:0!important;font-size:clamp(43px,4.8vw,68px)!important;line-height:.94!important;letter-spacing:-.06em!important}.product-overview-label>span{display:flex;max-width:100%;align-items:center;flex-wrap:wrap;-moz-column-gap:.24em;column-gap:.24em;row-gap:.08em}.product-overview-prefix{white-space:nowrap}.product-overview-label em{white-space:nowrap;color:#6a1fab}.product-overview-label .brand-logo{width:clamp(166px,17vw,222px);height:auto;flex:0 0 auto;transform:translateY(7px)}@media(max-width:640px){.product-overview-label{font-size:clamp(39px,12vw,54px)!important}.product-overview-label .brand-logo{width:clamp(142px,42vw,182px);transform:translateY(5px)}}
@media(max-width:1080px){.info-page .product-overview{grid-template-columns:minmax(0,610px);justify-content:start;row-gap:34px;margin:0 clamp(24px,5vw,48px);padding-top:104px;padding-bottom:66px}.no-cost-callout{max-width:390px}}
@media(max-width:640px){.info-page .product-overview{margin:0 20px;padding-top:124px;padding-bottom:56px;row-gap:28px}.product-overview-details{padding-bottom:25px}.product-intro-copy ul{gap:16px}.product-intro-copy li{max-width:100%;padding-left:20px;font-size:14px}.product-intro-copy .button{width:100%;margin-top:25px}.no-cost-callout{min-height:0;padding:27px 25px;box-shadow:12px 12px 0 #eee8f2}.no-cost-callout p{max-width:300px;margin:0;font-size:27px}}

/* Let the no-cost message carry the brand color without a filled card behind it. */
.info-page .no-cost-callout{min-height:0;padding:0;display:block;background:transparent;box-shadow:none;color:var(--purple)}
.info-page .no-cost-callout p{max-width:330px;color:var(--purple);-webkit-text-stroke:0;text-shadow:none}
.info-page .no-cost-callout p strong{color:inherit}
@media(max-width:640px){.info-page .no-cost-callout{padding:0}.info-page .no-cost-callout p{max-width:300px}}

/* Contact slogan accent. */
.contact-content h1 em{color:#6a1fab}

/* Custom-tip keypad */
.tip-amount-chooser{padding-top:27px}.tip-amount-display{display:grid;justify-items:center;gap:7px;padding:25px 20px 22px;border:1px solid #e6dfea;border-radius:12px;background:#f8f6f9;text-align:center}.tip-amount-display p,.tip-amount-display span{margin:0;color:#776980;font:600 10px 'DM Mono',monospace;letter-spacing:0}.tip-amount-display output{color:#241330;font-size:43px;font-weight:600;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.use-suggested-tip{margin:2px 0 -2px;padding:4px;border:0;background:transparent;color:#4b2269;font:700 10px 'DM Sans',sans-serif;letter-spacing:0;cursor:pointer}.use-suggested-tip:hover{text-decoration:underline}.use-suggested-tip:focus-visible{outline:2px solid #35184d;outline-offset:3px}.tip-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}.tip-keypad button{height:58px;border:1px solid #e2dbe7;border-radius:8px;background:#fff;color:#2d1939;font:600 21px/1 'DM Sans',sans-serif;letter-spacing:0;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.tip-keypad button:hover{border-color:#9c83b0;background:#faf7fc}.tip-keypad button:active{transform:scale(.97);background:#f3edf7}.tip-keypad button:focus-visible{outline:2px solid #35184d;outline-offset:2px}.tip-keypad .tip-keypad-delete{display:grid;place-items:center;color:#5d3b70}.tip-amount-error{margin:12px 0 0;color:#a53f50;font-size:12px;line-height:1.4;text-align:center}.tip-secure-note{padding-bottom:2px}@media(max-width:640px){.tip-amount-chooser{padding-top:22px}.tip-amount-display{padding:22px 16px 19px}.tip-amount-display output{font-size:39px}.tip-keypad{gap:8px;margin-top:15px}.tip-keypad button{height:54px;font-size:20px}}

.tip-apple-pay-preview{display:none}
@media(max-width:640px){.tip-apple-pay-preview{display:flex;align-items:center;justify-content:center;height:54px;margin-top:14px;border-radius:8px;background:#000;color:#fff;font:600 20px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.02em}.tip-apple-pay-preview span{margin-right:4px;font-size:24px;line-height:1}}

/* The product lineup is intentionally still: hovering never changes its size or depth. */
.info-page .variant-product,
.info-page .variant-product:hover{transform:none}
.info-page .variant-product img,
.info-page .variant-product:hover img{transform:rotate(-7deg)!important;filter:drop-shadow(-10px 14px 16px rgba(0,0,0,.14));transition:none}

/* Customer-visible split between guide earnings and the all-in charge. */
.tip-payment-summary{margin-top:18px;border:1px solid #ded6e4;border-radius:8px;background:#fff;overflow:hidden}.tip-summary-row{min-height:45px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#65586d;border-bottom:1px solid #eee9f1}.tip-summary-row:last-child{border-bottom:0}.tip-summary-row span{font:600 11px/1.3 'DM Sans',sans-serif;letter-spacing:0}.tip-summary-row strong{color:#2d1939;font:650 14px/1 'DM Sans',sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}.guide-earnings-row{background:#f5faf7;color:#315d4d}.guide-earnings-row strong{color:#176446}.total-charge-row{min-height:52px;background:#f7f3f9;color:#2d1939}.total-charge-row span{font-weight:700}.total-charge-row strong{font-size:19px}@media(max-width:640px){.tip-payment-summary{margin-top:16px}.tip-summary-row{min-height:43px;padding:9px 12px}.tip-summary-row span{font-size:10px}.total-charge-row{min-height:49px}.total-charge-row strong{font-size:18px}}

/* Make the no-cost offer a clear typographic focal point without a filled card. */
.info-page .no-cost-callout{position:relative;align-self:center;width:100%;max-width:410px;padding:7px 0 10px 30px}
.info-page .no-cost-callout:before{content:'';position:absolute;top:7px;bottom:10px;left:0;width:2px;background:var(--purple)}
.info-page .no-cost-callout p{max-width:390px;font-size:clamp(32px,3vw,46px);font-weight:550;line-height:.97;letter-spacing:-.065em}
.info-page .no-cost-callout p strong{display:block;margin-top:9px;color:var(--purple);font-size:1.16em;font-weight:650;letter-spacing:-.075em;text-decoration:none}
@media(max-width:640px){.info-page .no-cost-callout{max-width:100%;padding-left:21px}.info-page .no-cost-callout p{max-width:340px;font-size:clamp(30px,9.4vw,40px)}}

/* A compact, editorial payment-method gallery. */
.ways-to-pay{max-width:1304px;margin:0 auto;padding:0 0 145px}
.ways-to-pay-inner{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);align-items:center;gap:clamp(42px,7vw,112px);padding:48px 0 52px;border-top:1px solid #eee9f2;border-bottom:1px solid #eee9f2}
.ways-to-pay-copy .eyebrow{margin-bottom:19px}.ways-to-pay-copy h2{font-size:clamp(44px,4.5vw,65px)}.ways-to-pay-copy>p:last-child{max-width:265px;margin:20px 0 0;color:#6c5c75;font-size:15px;line-height:1.55}
.payment-method-grid ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.payment-method{position:relative;display:grid;min-height:112px;place-items:center;overflow:hidden;border:1px solid #e7e1ea;border-radius:7px;background:#fff;box-shadow:0 10px 24px rgba(35,21,48,.05);color:#17131c;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.payment-method:hover{z-index:1;border-color:#cbb9dd;box-shadow:0 15px 28px rgba(35,21,48,.1);transform:translateY(-3px)}
.payment-method-apple{border-color:#151218;background:#151218;color:#fff}.apple-pay-wordmark{font:600 21px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.06em;display:inline-flex;align-items:center;gap:5px;font-size:0;letter-spacing:0}.apple-pay-wordmark:before{content:'';width:18px;height:22px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.08-.48-3.23 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.58 9.05 7.3c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.98-2.54 4.1l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z'/%3E%3C/svg%3E")}.apple-pay-wordmark:after{content:'Pay';color:#fff;font:600 21px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.06em}
.apple-pay-wordmark:before{width:26px;height:31px}.apple-pay-wordmark:after{font-size:30px}
.apple-pay-wordmark-native{display:inline-block;font:600 30px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.06em}.apple-pay-wordmark-native:before,.apple-pay-wordmark-native:after{display:none}
.google-pay-wordmark{display:flex;align-items:center;gap:4px;color:#353138;font:500 20px/1 Arial,sans-serif;letter-spacing:-.05em}.google-pay-wordmark b{font:700 30px/1 Arial,sans-serif;background:linear-gradient(135deg,#4285f4 0 29%,#ea4335 29% 50%,#fbbc05 50% 70%,#34a853 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.visa-wordmark{color:#1a1f71;font:800 italic 22px/1 Arial,sans-serif;letter-spacing:-.075em}
.mastercard-wordmark{display:grid;grid-template-columns:20px 20px;grid-template-rows:29px auto;align-items:center;justify-content:center}.mastercard-wordmark i{grid-row:1;width:29px;height:29px;border-radius:50%}.mastercard-wordmark i:first-child{grid-column:1;background:#eb001b}.mastercard-wordmark i:nth-child(2){grid-column:2;margin-left:-11px;background:#f79e1b;mix-blend-mode:multiply}.mastercard-wordmark b{grid-column:1/-1;grid-row:2;margin-top:5px;color:#26212a;font:600 8px/1 Arial,sans-serif;letter-spacing:-.035em}
.amex-wordmark{display:grid;place-items:center;width:49px;height:34px;border-radius:3px;background:#1476c9;color:#fff;font:800 12px/.9 Arial,sans-serif;letter-spacing:-.07em}
@media(max-width:1080px){.ways-to-pay{margin:0 clamp(24px,5vw,48px)}.ways-to-pay-inner{grid-template-columns:1fr;gap:32px}.ways-to-pay-copy>p:last-child{max-width:none}}
@media(max-width:640px){.ways-to-pay{margin:0 20px;padding-bottom:88px}.ways-to-pay-inner{gap:27px;padding:33px 0 38px}.ways-to-pay-copy .eyebrow{margin-bottom:14px}.ways-to-pay-copy h2{font-size:42px}.ways-to-pay-copy>p:last-child{margin-top:15px;font-size:14px}.payment-method-grid ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.payment-method{min-height:84px}.payment-method:last-child{grid-column:1/-1}.apple-pay-wordmark{font-size:19px}}
@media(prefers-reduced-motion:reduce){.payment-method{transition:none}.payment-method:hover{transform:none}}

/* Improve the offer callout's hierarchy and breathing room. */
.info-page .no-cost-callout p{color:#1d1722;font-weight:500;line-height:1.08;letter-spacing:-.045em}
.info-page .no-cost-callout p strong{margin-top:-8px;color:var(--purple);letter-spacing:-.055em}

/* Keep the lineup product photography completely shadow-free. */
.info-page .variant-product img,
.info-page .variant-product:hover img{filter:none}

/* Give the no-cost offer a calm, dedicated card without competing with the hero. */
.info-page .no-cost-callout{padding:clamp(28px,3.3vw,46px) clamp(26px,3.6vw,52px);border:1px solid rgba(106,31,171,.22);border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(35,21,48,.07)}
.info-page .no-cost-callout:before{display:none}
@media(max-width:640px){.info-page .no-cost-callout{padding:28px 25px;border-radius:12px}}

/* On touch screens the product lineup stays flat and completely stationary. */
@media(max-width:640px){.info-page .variant-product,.info-page .variant-product:hover{z-index:auto;border-color:#e5e5e5;box-shadow:none;transition:none}.info-page .variant-product:before{border-color:#ededed}.info-page .variant-product img,.info-page .variant-product:hover img{filter:none;transition:none}}

/* Two available finishes should read as one centered pair, not the first half of a four-column grid. */
.info-page .stage-inner .variant-line{width:min(64%,760px);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}
@media(max-width:640px){.info-page .stage-inner .variant-line{width:100%}}

/* Preserve paragraph breaks in longer FAQ answers. */
.faq-answer p{white-space:pre-line}

/* Keep the no-cost promise prominent, while anchoring it to the hero's lower edge. */
.info-page .hero-no-cost-line{position:absolute;z-index:3;top:auto;right:60px;bottom:-40px;left:auto;width:min(420px,34vw);padding:25px 0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.info-page .hero-no-cost-line:before,.info-page .hero-no-cost-line:after{content:'';position:absolute;right:0;left:-20px;height:1px;background:rgba(106,31,171,.28)}
.info-page .hero-no-cost-line:before{top:0}.info-page .hero-no-cost-line:after{bottom:0}
.hero-no-cost-line p{margin:0;color:#1d1722;font-size:clamp(32px,3vw,46px);font-weight:550;letter-spacing:-.03em;line-height:1;white-space:normal}
.hero-no-cost-line p>span,.hero-no-cost-line strong{display:block}
.hero-no-cost-line strong{margin-top:0;color:var(--purple);font-size:1.16em;font-weight:650;letter-spacing:-.035em}
.info-page .product-overview{grid-template-columns:minmax(0,610px);justify-content:end;-moz-column-gap:0;column-gap:0}
@media(max-width:640px){.info-page .hero-no-cost-line{right:20px;bottom:-72px;left:auto;width:min(82vw,360px);padding:22px 0}.hero-no-cost-line p{font-size:clamp(29px,9.2vw,39px)}.info-page .product-overview{grid-template-columns:minmax(0,1fr);justify-content:start}}

/* A real-world use case anchors the product explanation without competing with it. */
.info-page .product-overview{grid-template-columns:minmax(0,1fr) minmax(0,610px);justify-content:space-between;-moz-column-gap:clamp(56px,8vw,128px);column-gap:clamp(56px,8vw,128px);align-items:center}
.product-overview-scene{justify-self:center;width:100%;max-width:390px;min-height:430px;overflow:hidden;border-radius:12px;background:#eef0f2}.product-overview-scene img{display:block;width:100%;height:430px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 44%;object-position:center 44%}
@media(max-width:1080px){.info-page .product-overview{grid-template-columns:minmax(0,610px);justify-content:start;row-gap:34px}.product-overview-scene{max-width:390px;min-height:360px}.product-overview-scene img{height:360px}}
@media(max-width:640px){.info-page .product-overview{row-gap:28px}.product-overview-scene{max-width:none;min-height:310px;border-radius:10px}.product-overview-scene img{height:310px;-o-object-position:center 38%;object-position:center 38%}}

/* The no-cost promise spans the lower edge of the hero as a single, unframed line. */
.info-page .hero-no-cost-line{right:max(48px,calc((100vw - 1304px)/2));bottom:-10px;left:max(48px,calc((100vw - 1304px)/2));width:auto;padding:28px 34px;background:#fff;box-shadow:-18px 18px 38px rgba(35,21,48,.12);text-align:center}
.info-page .hero-no-cost-line:before,.info-page .hero-no-cost-line:after{display:none}
.hero-no-cost-line p{font-size:clamp(36px,3.6vw,50px);font-weight:500;letter-spacing:-.035em;line-height:1.08;white-space:nowrap}
.hero-no-cost-line strong{display:inline;margin:0;color:var(--purple);font-size:inherit;font-weight:650;letter-spacing:inherit}
@media(max-width:640px){.info-page .hero-no-cost-line{right:20px;bottom:-18px;left:20px;width:auto;padding:23px 20px}.hero-no-cost-line p{font-size:clamp(26px,7.4vw,30px);white-space:normal}}

/* A measured character-step reveal keeps the hero promise intentional, not abrupt. */
.hero-no-cost-line.visible p{will-change:clip-path;animation:hero-no-cost-type 2.1s steps(48,end) .2s both}@keyframes hero-no-cost-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.hero-no-cost-line.visible p{animation:none;clip-path:none}}

/* On phones, each line types in on its own so the large message remains legible. */
.hero-no-cost-line p>span{display:inline}
.hero-no-cost-line p .brand-logo{display:inline-block;width:clamp(88px,8vw,112px);height:auto;margin:0 0 -.13em .12em;vertical-align:baseline}
@media(max-width:640px){.hero-no-cost-line.visible p{display:flex;flex-direction:column;align-items:center;animation:none;clip-path:none}.hero-no-cost-line p>span,.hero-no-cost-line strong{display:block;max-width:100%;width:0;overflow:hidden;opacity:0;white-space:nowrap}.hero-no-cost-line.visible p>span:nth-child(1){--line-width:15ch;animation:hero-mobile-line-type .65s steps(15,end) .2s forwards}.hero-no-cost-line.visible p>span:nth-child(2){--line-width:18ch;animation:hero-mobile-line-type .78s steps(18,end) .95s forwards}.hero-no-cost-line.visible p strong{--line-width:11ch;animation:hero-mobile-line-type .48s steps(11,end) 1.83s forwards}@keyframes hero-mobile-line-type{from{width:0;opacity:1}to{width:var(--line-width);opacity:1}}}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.hero-no-cost-line.visible p>span,.hero-no-cost-line.visible p strong{width:auto;opacity:1;animation:none}}

/* Editorial, full-width navigation for the Rivoba landing page. */
.tip-nav,.site-header,.site-header.is-scrolled{position:fixed!important;z-index:100!important;top:0;left:50%!important;width:min(1616px,calc(100% - 64px))!important;height:92px;padding:0!important;transform:translateX(-50%)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate}.tip-nav:before,.site-header:before{content:'';position:fixed;z-index:-1;top:0;left:0;width:100vw;height:69px;background:#fff;pointer-events:none}.site-header .brand,.tip-nav .brand{justify-self:start}.site-header .brand-logo,.tip-nav .brand-logo{width:118px}.site-navigation{justify-self:end;display:flex;align-items:center;gap:50px;margin:0}.site-navigation a{display:inline-flex;align-items:center;justify-content:center;color:#26143e;font-size:12px;font-weight:600;letter-spacing:.035em;line-height:1;white-space:nowrap;transition:color .2s ease,opacity .2s ease,transform .2s ease}.site-header .site-navigation a:after{display:none}.site-navigation a:not(.header-cta):hover{color:#6b1fab}.site-navigation .header-cta{min-height:44px;padding:0 17px;gap:10px;border-radius:8px;background:#6b1fab;color:#fff;font-size:11px;letter-spacing:.06em;box-shadow:none}.site-navigation .header-cta:hover{color:#fff;opacity:.92;transform:translateY(-1px)}.site-navigation .header-cta svg{transition:transform .2s ease}.site-navigation .header-cta:hover svg{transform:translateX(3px)}
@media(max-width:760px){.tip-nav,.site-header,.site-header.is-scrolled{width:calc(100% - 32px)!important;height:72px}.site-header .brand-logo,.tip-nav .brand-logo{width:100px}.site-navigation{gap:0}.site-navigation a:not(.header-cta){display:none}.site-navigation .header-cta{min-height:40px;padding:0 13px;font-size:10px}}
@media(min-width:761px){.site-navigation a:not(.header-cta):hover{transform:scale(1.02)}}

/* Keep the Rivoba mark and navigation as distinct, evenly balanced header groups. */
.site-header,.site-header.is-scrolled{display:flex;justify-content:space-between;gap:32px}.site-header .brand{flex:0 0 auto;justify-self:auto}.site-header .site-navigation{justify-self:auto;margin-left:auto}footer{position:relative}.contact-email{position:absolute;left:50%;transform:translateX(-50%);color:#6b1fab;font:600 16px 'DM Sans',sans-serif;letter-spacing:.01em}.contact-email:hover{opacity:.72}
@media(max-width:760px){.site-header,.site-header.is-scrolled{gap:22px}.site-header .site-navigation{justify-self:auto;margin-left:auto}}
.mobile-menu-button,.mobile-navigation{display:none}
@media(max-width:760px){.site-header .site-navigation{display:none}.mobile-menu-button{width:42px;height:42px;padding:0;border:1px solid #ded5e6;border-radius:7px;background:#fff;color:#26143e;display:grid;place-content:center;gap:5px;cursor:pointer;transition:background .2s ease,transform .2s ease}.mobile-menu-button i{display:block;width:17px;height:1px;background:#6b1fab;transition:transform .2s ease,opacity .2s ease}.mobile-menu-button:hover{background:#f5f0f8}.mobile-menu-button.is-open i:first-child{transform:translateY(6px) rotate(45deg)}.mobile-menu-button.is-open i:nth-child(2){opacity:0}.mobile-menu-button.is-open i:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-navigation{position:absolute;top:calc(100% + 14px);right:0;width:216px;padding:10px;background:#fff;border:0;border-radius:9px;box-shadow:0 14px 28px rgba(30,12,47,.12);gap:4px}.mobile-navigation.is-open{display:grid}.mobile-navigation a{width:100%;padding:11px 14px;display:flex;align-items:center;color:#26143e;border:0;border-radius:7px;background:transparent;font:600 10px 'DM Sans',sans-serif;letter-spacing:.045em;transition:color .18s ease,opacity .18s ease,transform .18s ease}.mobile-navigation a:first-child{min-height:40px;justify-content:center;background:#6b1fab;color:#fff;font-size:10px;letter-spacing:.06em}.mobile-navigation a:before,.mobile-navigation a:after{content:none!important;display:none!important}.mobile-navigation a:not(:first-child):hover{color:#6b1fab;transform:translateX(2px)}.mobile-navigation a:active{opacity:.72;transform:none}.mobile-navigation a:focus-visible{outline:2px solid #6b1fab;outline-offset:3px}}

/* Keep the full hero promise in the initial desktop viewport. */
@media(min-width:641px){.info-page .hero{min-height:700px;padding-top:118px;padding-bottom:102px}.info-page .hero-no-cost-line{bottom:20px}}

/* Keep the complete ordering form visible without sacrificing its hierarchy. */
@media(min-width:641px){.contact-hero{min-height:calc(100vh - 82px);padding:80px 0 38px}.contact-form{padding:26px}.contact-form label{margin-bottom:14px}.field-row{gap:16px}.contact-form input,.contact-form textarea{margin-top:7px;padding:7px 0}.contact-form .button{min-height:44px}}

/* Give the order page a clear, right-aligned route back to the homepage. */
.contact-header{display:flex;align-items:center;justify-content:space-between;width:min(1304px,calc(100% - 64px));max-width:none;height:82px;margin:0 auto;padding:0!important}.contact-header .back-home{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#6b1fab;color:#fff;font:600 10px 'DM Sans',sans-serif;letter-spacing:.09em;box-shadow:0 8px 18px rgba(107,31,171,.18);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.contact-header .back-home:hover{color:#fff;opacity:.94;transform:translateY(-1px);box-shadow:0 11px 22px rgba(107,31,171,.24)}
@media(max-width:640px){.contact-header{width:calc(100% - 40px);height:68px}.contact-header .back-home{min-height:38px;padding:0 14px;font-size:9px}}

/* Match the worker sign-in header to the order page header. */
.worker-header{left:50%;width:min(1304px,calc(100% - 64px));height:82px;padding:0;transform:translateX(-50%);background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.worker-header>a:last-child{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#6b1fab;color:#fff;font:600 10px 'DM Sans',sans-serif;letter-spacing:.09em;box-shadow:0 8px 18px rgba(107,31,171,.18);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.worker-header>a:last-child:hover{color:#fff;opacity:.94;transform:translateY(-1px);box-shadow:0 11px 22px rgba(107,31,171,.24)}
.worker-header>a:last-child{font-size:0}.worker-header>a:last-child:after{content:'BACK TO HOME';font-size:10px}.worker-header>a:last-child:hover:after{color:#fff}
@media(max-width:640px){.worker-header{width:calc(100% - 40px);height:68px;padding:0;border-radius:0}.worker-header>a:last-child{min-height:38px;padding:0 14px;font-size:0}.worker-header>a:last-child:after{font-size:9px}}

/* The Rivoba circles arrive after the wordmark, then hand off to the site. */
.startup-loader{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;background:#fff;animation:startup-loader-out .36s ease-in 2.12s both}.startup-wordmark{position:relative;width:min(260px,62vw);max-width:calc(100vw - 40px);aspect-ratio:720/250;opacity:0;transform:translateY(10px) scale(.98);animation:startup-wordmark-in .42s cubic-bezier(.2,.8,.2,1) .12s forwards}.startup-wordmark>img{display:block;width:100%;height:100%}.startup-ball,.startup-ball-mask{position:absolute;border-radius:50%;pointer-events:none}.startup-ball-mask{z-index:1;background:#fff}.startup-ball-large{width:19%;aspect-ratio:1;left:42.5%;top:32%}.startup-ball-small{width:6.25%;aspect-ratio:1;left:53.2%;top:9.6%}.startup-ball-mask-large{width:22%;aspect-ratio:1;left:41%;top:27.8%}.startup-ball-mask-small{width:8%;aspect-ratio:1;left:52.3%;top:5.4%}.startup-ball{z-index:2;background:#844cff;opacity:0}.startup-ball-large{animation:startup-ball-swoop .64s cubic-bezier(.18,.82,.26,1.16) .62s forwards}.startup-ball-small{animation:startup-ball-swoop .52s cubic-bezier(.18,.82,.26,1.16) 1.06s forwards}@keyframes startup-wordmark-in{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes startup-ball-swoop{0%{opacity:0;transform:translate(-14%,-145%) scale(.72)}15%{opacity:1}78%{opacity:1;transform:translate(3%,5%) scale(1.035)}100%{opacity:1;transform:translate(0) scale(1)}}@keyframes startup-loader-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.startup-loader,.startup-wordmark,.startup-ball{animation:none}.startup-wordmark,.startup-ball{opacity:1;transform:none}}
.app-entry{animation:site-entry .55s ease-out both}.app-entry.is-loading{opacity:0;animation:none}@keyframes site-entry{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app-entry{animation:none}}

/* Size the wordmark from the heading's cap height so every part reads as one sentence. */
.product-overview-label{min-height:0!important;font-size:clamp(40px,4.1vw,54px)!important;line-height:1!important}.product-overview-label>span{display:flex!important;max-width:100%;align-items:baseline;flex-wrap:nowrap;gap:.24em;white-space:nowrap}.product-overview-label .brand-logo{width:auto;height:.9em;max-width:none;flex:0 0 auto;transform:translateY(calc(.08em + 3px))}.product-overview-label em{display:inline;grid-column:auto}
@media(max-width:640px){.product-overview-label{font-size:clamp(27px,8.4vw,36px)!important}.product-overview-label>span{gap:.2em}.product-overview-prefix,.product-overview-label em{letter-spacing:-.025em}.product-overview-label .brand-logo{height:1.03em;transform:translateY(calc(.07em + 3px))}}
.contact-form .button:disabled{cursor:wait;opacity:.7}.form-note.is-error{color:#9c263c}.form-note.is-success{margin-top:16px;padding:14px 16px;border:1px solid #cdb5e7;border-radius:6px;background:#f3eafa;color:#5c198f;font:600 12px/1.4 'DM Sans',sans-serif;letter-spacing:0}.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Carry the larger quantity-matrix scale through the full order form. */
.contact-form label{font-size:12px}.contact-form input,.contact-form textarea{min-height:42px;font-size:18px}.contact-form .button{min-height:50px;font-size:12px}.field-row{gap:22px}
@media(min-width:901px){.contact-form{transform:translateX(-50px)}}
@media(max-width:640px){.contact-form label{font-size:11px}.contact-form input,.contact-form textarea{min-height:41px;font-size:16px}.contact-form .button{min-height:48px;font-size:11px}.field-row{gap:0}}

@media(min-width:641px){.contact-content{align-self:center}}

.hover\:bg-white\/5:hover{
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:text-red-400:hover{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.hover\:text-text-primary:hover{
  --tw-text-opacity: 1;
  color: rgb(230 241 239 / var(--tw-text-opacity, 1));
}
