@font-face {
  font-family: "Satoshi";
  src: url("/fonts/satoshi-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Satoshi";
  src: url("/fonts/satoshi-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("/fonts/general-sans-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("/fonts/general-sans-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "General Sans";
  src: url("/fonts/general-sans-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-background: #070A0F;
  --color-backgroundRaised: #0D111A;
  --color-surface: #111722;
  --color-surfaceStrong: #182232;
  --color-text: #F4F7FA;
  --color-textMuted: #A8B4C2;
  --color-textSubtle: #8C98A8;
  --color-textInverse: #0A0E15;
  --color-accent: #FF6A2A;
  --color-accentHover: #FF8C52;
  --color-accentSoft: #2B1A14;
  --color-border: #273345;
  --color-borderHover: #3A4658;
  --color-textDisabled: #5B6778;
  --color-accentTint: #1F130D;
  --color-accentOnLight: #B8430F;
  --color-accentPressed: #E0561A;
  --color-info: #6CB4FF;
  --color-borderStrong: #718096;
  --color-focus: #FFD2BF;
  --color-success: #45D19E;
  --color-warning: #FFC857;
  --color-danger: #FF5C8A;
  --color-printBackground: #FFFFFF;
  --color-printText: #101722;
  --color-printMuted: #566171;
  --color-printSurface: #F1F4F7;
  --type-tracking: -0.045em;
  --type-labelTracking: 0.08em;
  --type-base: clamp(1rem, 0.98rem + 0.1vw, 1.0625rem);
  --type-small: 0.92rem;
  --type-label: 0.75rem;
  --type-lead: clamp(1.12rem, 1.04rem + 0.42vw, 1.38rem);
  --type-h1: clamp(2.4rem, 1.4rem + 3vw, 4.5rem);
  --type-display: clamp(2.65rem, 1.55rem + 5.5vw, 6.5rem);
  --type-h2: clamp(1.9rem, 1.35rem + 2.2vw, 3.45rem);
  --type-h3: clamp(1.14rem, 1.05rem + 0.45vw, 1.38rem);
  --type-lineTight: 0.94;
  --type-lineHeading: 1.08;
  --type-lineBody: 1.65;
  --type-lineControl: 1;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;
  --size-print-1: 10.5pt;
  --size-print-2: 0.8pt;
  --size-print-3: 2pt;
  --size-print-4: 210mm;
  --size-print-5: 297mm;
  --size-print-6: 4mm;
  --size-print-7: 12mm;
  --size-print-8: 16mm;
  --size-print-9: 14mm;
  --size-print-10: 9mm;
  --size-print-11: 10mm;
  --size-print-12: 7mm;
  --size-print-13: 8pt;
  --size-print-14: 7.5pt;
  --size-print-15: 0.16em;
  --size-print-16: 8mm;
  --size-print-17: 5mm;
  --size-print-18: 15mm;
  --size-print-19: 47mm;
  --size-print-20: 2.5mm;
  --size-print-21: 0.22em;
  --size-print-22: 170mm;
  --size-print-23: 31pt;
  --size-print-24: 158mm;
  --size-print-25: 13pt;
  --size-print-26: 1.2mm;
  --size-print-27: 2.4mm;
  --size-print-28: 12pt;
  --size-print-29: 1.4mm;
  --size-print-30: 4.5mm;
  --size-print-31: 2.3mm;
  --size-print-32: 2.1mm;
  --size-print-33: 168mm;
  --size-print-34: 1px;
  --size-print-35: 28mm;
  --size-print-36: 45mm;
  --size-print-37: 48mm;
  --size-print-38: 3mm;
  --size-print-39: 2.2mm;
  --size-print-40: 2mm;
  --size-print-41: 19pt;
  --size-print-42: 0.6mm;
  --size-print-43: 9.4pt;
  --size-print-44: 8.7pt;
  --size-print-45: 9.3pt;
  --size-print-46: 6.4pt;
  --size-print-47: 0.5mm;
  --size-print-48: 7.8pt;
  --size-print-49: 8.4pt;
  --size-print-50: 3.5mm;
  --size-print-51: 1.8mm;
  --size-print-52: 1.5mm;
  --size-print-53: 0.7mm;
  --size-print-54: 18pt;
  --size-print-55: 16pt;
  --size-print-56: 0.45mm;
  --size-print-57: 1.6mm;
  --size-print-58: 8.1pt;
  --size-print-59: 2.6mm;
  --size-print-60: 7.6pt;
  --size-print-61: 6.9pt;
  --size-card: 19rem;
  --size-cardNarrow: 15rem;
  --size-lift: -0.25rem;
  --size-desktop: 64rem;
  --size-realisationsViewport: 100dvh;
  --size-realisationsDesktopHeight: 70dvh;
  --size-realisationsPhoneHeight: 80dvh;
  --size-filmPhone: 90dvh;
  --size-filmPerspective: 75rem;
  --size-filmFragmentMin: 5rem;
  --size-filmFragmentMax: 30rem;
  --size-realisationsMobileWidth: 70%;
  --size-container: 80rem;
  --size-narrow: 48rem;
  --size-readable: 60ch;
  --size-touch: 2.75rem;
  --size-controlLarge: 3.25rem;
  --size-field: 3rem;
  --size-headerMobile: 4rem;
  --size-node: 1.75rem;
  --size-choice: 1.25rem;
  --size-icon-sm: 1rem;
  --size-icon-md: 1.25rem;
  --size-icon-lg: 1.5rem;
  --size-faqRow: 4rem;
  --size-modal: 32rem;
  --size-tablet: 48rem;
  --size-mobile: 30rem;
  --size-hairline: 1px;
  --size-focus: 3px;
  --size-header: 4.75rem;
  --size-gutter: clamp(1.25rem, 4vw, 3rem);
  --radius-xs: 0.25rem;
  --radius-md: 0.5rem;
  --shadow-lift: 0 18px 44px rgba(0, 0, 0, 0.28);
  --motion-react: 170ms;
  --motion-screen: 900ms;
  --motion-film: 2400ms;
  --motion-filmSmooth: 350ms;
  --motion-filmLag: 700ms;
  --motion-story: 3400ms;
  --motion-stagger: 150ms;
  --motion-reveal: 1000ms;
  --motion-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --motion-emphatic: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-spring: cubic-bezier(0.34, 1.32, 0.5, 1);
  --angle-slash: 35deg;
  --font-body: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: "General Sans", "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
}
@media (min-width: 64rem) { .site-header .header-inner { height: calc(var(--size-header) - var(--size-hairline)); } .hero-inner { grid-template-columns: 1.15fr 1fr; } .hero-art { margin-right: calc(-1 * var(--size-gutter)); } .main-nav.desktop-nav { order: 2; width: auto; margin-inline: var(--space-3xl) auto; justify-content: flex-start; gap: var(--space-xl); } .brand-link { margin-right: 0; } .header-inner > .header-cta { display: inline-flex; order: 3; } body:has(.mobile-nav[open]) { overflow: auto; } .choices { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64rem) { .main-nav.desktop-nav { display: flex; } details.mobile-nav { display: none; } }@media (max-width: calc(64rem - 0.02px)) { .main-nav.desktop-nav { display: none; } details.mobile-nav { display: block; } }@media (max-width: 40rem) { .product-grid { grid-template-columns: 1fr; } }