
 :root {
 --C: #00F0FF;
 --M: #FF1075;
 --Y: #FFE800;
 --K: #1a1a1a;
 --paper: #F5F0E8;
 --white: #FAFAFA;
 --grey: #999;
 --ease: cubic-bezier(.16, 1, .3, 1);
 --ease2: cubic-bezier(.4, 0, .2, 1);
 }
 *, *::before, *::after {
 box-sizing: border-box;
 margin: 0;
 padding: 0
 }
 html {
 overflow-x: clip;
 scroll-behavior: auto
 }
 body {
 background: var(--K);
 color: var(--white);
 font-family: 'Inter', system-ui, sans-serif;
 overflow-x: clip;
 cursor: none;
 -webkit-font-smoothing: antialiased;
 }
 a {
 text-decoration: none;
 color: inherit
 }
 ::-webkit-scrollbar {
 width: 2px
 }
 ::-webkit-scrollbar-thumb {
 background: var(--M)
 }
 #trailCanvas {
 position: fixed;
 inset: 0;
 pointer-events: none;
 z-index: 99998;
 width: 100%;
 height: 100%;
 }
 #cur {
 position: fixed;
 width: 8px;
 height: 8px;
 background: var(--white);
 border-radius: 50%;
 transform: translate(-50%, -50%);
 pointer-events: none;
 z-index: 99999;
 transition: width .2s var(--ease), height .2s var(--ease), opacity .2s;
 mix-blend-mode: difference;
 }
 body:not(.cursor-loaded) #cur {
 opacity: 0
 }
 body.hovering #cur {
 width: 5px;
 height: 5px
 }
 #loader {
 position: fixed;
 inset: 0;
 z-index: 10000;
 background: var(--K);
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 transition: opacity 0.2s ease, visibility 0.2s;
 }
 #loader.out {
 opacity: 0;
 visibility: hidden
 }
 .ld-logo {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 5vw, 56px);
 font-weight: 300;
 letter-spacing: .2em;
 opacity: 0;
 animation: ldFade .6s .2s forwards;
 }
 .ld-logo em {
 font-style: italic;
 color: var(--M)
 }
 .ld-bar {
 position: relative;
 width: 260px;
 height: 1px;
 background: rgba(255, 255, 255, .08);
 margin-top: 40px
 }
 .ld-progress {
 height: 100%;
 width: 0;
 background: linear-gradient(to right, var(--C), var(--M), var(--Y));
 transition: width .05s linear
 }
 .ld-pct {
 margin-top: 16px;
 font-size: 10px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .25);
 opacity: 0;
 animation: ldFade .4s .4s forwards
 }
 @keyframes ldFade {
 to {
 opacity: 1
 }
 }
 #nav {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 z-index: 1000;
 padding: 28px 48px;
 display: flex;
 align-items: center;
 justify-content: space-between;
 transition: padding .4s var(--ease);
 }
 #nav.scrolled {
 padding: 18px 48px;
 background: rgba(8, 8, 8, .7);
 backdrop-filter: blur(12px);
 }
 .nav-logo {
 display: flex;
 align-items: center;
 gap: 20px;
 }
 .nav-logo-sep {
 display: block;
 width: 1px;
 height: 32px;
 background: rgba(255,255,255,.15);
 flex-shrink: 0;
 }
 .nav-links {
 display: flex;
 gap: 40px;
 list-style: none
 }
 .nav-links a {
 font-size: 11px;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .7);
 transition: color .25s;
 position: relative;
 }
 .nav-links a::after {
 content: '';
 position: absolute;
 bottom: -4px;
 left: 0;
 width: 0;
 height: 1px;
 background: var(--M);
 transition: width .3s var(--ease);
 }
 .nav-links a:hover {
 color: var(--white)
 }
 .nav-links a:hover::after {
 width: 100%
 }
 .nav-cta {
 font-size: 11px;
 letter-spacing: .25em;
 text-transform: uppercase;
 border: 1px solid rgba(255, 255, 255, .2);
 padding: 10px 24px;
 transition: background .3s, border-color .3s, color .3s;
 }
 .nav-cta:hover {
 background: var(--white);
 color: var(--K);
 border-color: var(--white)
 }
 .lang-btn {
 background: none;
 border: none;
 color: rgba(255, 255, 255, .3);
 font-size: 11px;
 letter-spacing: .2em;
 cursor: none;
 padding: 0 6px;
 transition: color .25s;
 font-family: 'Inter', sans-serif;
 }
 .lang-btn.active, .lang-btn:hover {
 color: var(--white)
 }
 #hero {
 position: relative;
 height: 100vh;
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .hero-bg {
 position: absolute;
 inset: 0;
 background: radial-gradient(ellipse 70% 55% at 15% 50%, rgba(0, 240, 255, .18) 0%, transparent 65%), radial-gradient(ellipse 55% 55% at 90% 25%, rgba(255, 16, 117, .16) 0%, transparent 60%), radial-gradient(ellipse 40% 40% at 60% 85%, rgba(255, 232, 0, .10) 0%, transparent 55%), var(--K);
 }
 .hero-ink {
 position: absolute;
 border-radius: 50%;
 mix-blend-mode: screen;
 filter: blur(60px);
 opacity: .28;
 will-change: transform;
 }
 .hi-c {
 width: 700px;
 height: 700px;
 background: var(--C);
 left: -120px;
 top: 50%;
 transform: translateY(-50%);
 animation: blobC 30s ease-in-out infinite;
 }
 .hi-m {
 width: 580px;
 height: 580px;
 background: var(--M);
 right: -100px;
 top: 10%;
 animation: blobM 25s ease-in-out infinite 5s;
 }
 .hi-y {
 width: 380px;
 height: 380px;
 background: var(--Y);
 right: 28%;
 bottom: 5%;
 animation: blobY 22s ease-in-out infinite 10s;
 }
 @keyframes blobC {
 0%, 100% {
 transform: translateY(-50%) translate(0px, 0px) scale(1)
 }
 25% {
 transform: translateY(-50%) translate(60px, -80px) scale(1.07)
 }
 50% {
 transform: translateY(-50%) translate(-40px, 100px) scale(0.95)
 }
 75% {
 transform: translateY(-50%) translate(80px, 60px) scale(1.04)
 }
 }
 @keyframes blobM {
 0%, 100% {
 transform: translate(0px, 0px) scale(1)
 }
 30% {
 transform: translate(-90px, 70px) scale(1.06)
 }
 60% {
 transform: translate(50px, 120px) scale(0.93)
 }
 80% {
 transform: translate(-60px, -50px) scale(1.08)
 }
 }
 @keyframes blobY {
 0%, 100% {
 transform: translate(0px, 0px) scale(1)
 }
 35% {
 transform: translate(-80px, -90px) scale(1.1)
 }
 65% {
 transform: translate(100px, -40px) scale(0.9)
 }
 85% {
 transform: translate(30px, 70px) scale(1.05)
 }
 }
 .hero-press {
 position: absolute;
 right: 8%;
 top: 50%;
 transform: translateY(-50%);
 width: 38vw;
 max-width: 560px;
 opacity: .08;
 pointer-events: none;
 }
 .hero-press svg {
 width: 100%;
 height: auto
 }
 .hero-lines {
 position: absolute;
 inset: 0;
 pointer-events: none;
 overflow: hidden;
 }
 .hline {
 position: absolute;
 left: 0;
 right: 0;
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .04), transparent);
 }
 .hline:nth-child(1) {
 top: 25%
 }
 .hline:nth-child(2) {
 top: 50%
 }
 .hline:nth-child(3) {
 top: 75%
 }
 .vline {
 position: absolute;
 top: 0;
 bottom: 0;
 width: 1px;
 background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .04), transparent);
 }
 .vline:nth-child(4) {
 left: 33%
 }
 .vline:nth-child(5) {
 left: 66%
 }
 .hero-content {
 position: relative;
 z-index: 2;
 text-align: left;
 padding: 0 48px;
 max-width: 900px;
 width: 100%;
 }
 .hero-eyebrow {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .3);
 margin-bottom: 32px;
 display: flex;
 align-items: center;
 gap: 16px;
 overflow: hidden;
 }
 .hero-eyebrow span {
 display: inline-block;
 transform: translateY(100%);
 opacity: 0;
 transition: transform .8s var(--ease), opacity .8s var(--ease);
 }
 .hero-eyebrow .eyebrow-line {
 width: 40px;
 height: 1px;
 background: var(--M);
 flex-shrink: 0;
 transform: scaleX(0);
 transform-origin: left;
 transition: transform .8s .2s var(--ease);
 }
 .loaded .hero-eyebrow span {
 transform: translateY(0);
 opacity: 1;
 transition-delay: .3s
 }
 .loaded .hero-eyebrow .eyebrow-line {
 transform: scaleX(1)
 }
 .hero-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(52px, 8vw, 120px);
 line-height: .9;
 font-weight: 300;
 letter-spacing: -.02em;
 margin-bottom: 40px;
 }
 .hero-title .word {
 display: inline-block;
 overflow: hidden;
 margin-right: .25em;
 }
 .hero-title .word > span {
 display: inline-block;
 transform: translateY(110%);
 transition: transform 1s var(--ease);
 }
 .hero-title .word:nth-child(1) > span {
 transition-delay: .5s
 }
 .hero-title .word:nth-child(2) > span {
 transition-delay: .65s
 }
 .hero-title .word:nth-child(3) > span {
 transition-delay: .8s
 }
 .hero-title .word--flip {
 display: block;
 overflow: visible;
 margin-right: 0;
 }
 .hero-flip-wrap {
 display: inline-block !important;
 vertical-align: baseline;
 position: relative;
 }
 .hero-flip-inner {
 display: block;
 position: relative;
 }
 .hero-flip-inner span {
 display: block;
 transition: opacity .55s ease;
 }
 .hero-flip-inner span:last-child {
 position: absolute;
 top: 0; left: 0;
 opacity: 0;
 white-space: nowrap;
 }
 .hero-flip-wrap.active .hero-flip-inner span:first-child { opacity: 0; }
 .hero-flip-wrap.active .hero-flip-inner span:last-child { opacity: 1; }
 .hero-title .italic {
 font-style: italic;
 color: rgba(255, 255, 255, .45)
 }
 .loaded .hero-title .word > span {
 transform: translateY(0)
 }
 .hero-subtitle {
 font-size: clamp(14px, 1.5vw, 17px);
 font-weight: 300;
 color: rgba(255, 255, 255, .72);
 line-height: 1.8;
 max-width: 420px;
 letter-spacing: .02em;
 overflow: hidden;
 }
 .hero-subtitle span {
 display: block;
 transform: translateY(100%);
 opacity: 0;
 transition: transform .9s 1s var(--ease), opacity .9s 1s var(--ease);
 }
 .loaded .hero-subtitle span {
 transform: translateY(0);
 opacity: 1
 }
 .hero-scroll {
 position: absolute;
 bottom: 48px;
 left: 48px;
 display: flex;
 align-items: center;
 gap: 16px;
 font-size: 10px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .2);
 opacity: 0;
 transition: opacity .6s 1.4s;
 }
 .loaded .hero-scroll {
 opacity: 1
 }
 .hero-scroll-line {
 width: 48px;
 height: 1px;
 background: rgba(255, 255, 255, .2);
 animation: scrollPulse 2s infinite var(--ease);
 }
 @keyframes scrollPulse {
 0% {
 transform: scaleX(1);
 transform-origin:left
 }
 50% {
 transform: scaleX(.4);
 transform-origin:left
 }
 51% {
 transform: scaleX(.4);
 transform-origin:right
 }
 100% {
 transform: scaleX(1);
 transform-origin: right
 }
 }
 .hero-location {
 position: absolute;
 bottom: 48px;
 right: 48px;
 font-size: 10px;
 letter-spacing: .3em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .2);
 opacity: 0;
 transition: opacity .6s 1.5s;
 }
 .loaded .hero-location {
 opacity: 1
 }
 .hero-cmyk {
 position: absolute;
 bottom: 48px;
 left: 50%;
 transform: translateX(-50%);
 display: flex;
 gap: 8px;
 align-items: center;
 opacity: 0;
 transition: opacity .6s 1.6s;
 }
 .loaded .hero-cmyk {
 opacity: 1
 }
 .hcmyk-dot {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 animation: dotFloat 3s infinite var(--ease2);
 }
 .hcmyk-dot:nth-child(1) {
 background: var(--C);
 animation-delay: 0s
 }
 .hcmyk-dot:nth-child(2) {
 background: var(--M);
 animation-delay: .3s
 }
 .hcmyk-dot:nth-child(3) {
 background: var(--Y);
 animation-delay: .6s
 }
 .hcmyk-dot:nth-child(4) {
 background: #aaa;
 animation-delay: .9s
 }
 @keyframes dotFloat {
 0%, 100% {
 transform:translateY(0)
 }
 50% {
 transform: translateY(-6px)
 }
 }
 #about {
 padding: 160px 48px;
 position: relative;
 overflow: hidden
 }
 .about-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 80px;
 align-items: center;
 max-width: 1200px;
 margin: 0 auto;
 }
 .about-left .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--M);
 margin-bottom: 24px;
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 24px;
 }
 .about-left .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--M)
 }
 .about-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 line-height: 1.05;
 letter-spacing: -.02em;
 margin-bottom: 40px;
 }
 .about-title .line-wrap {
 overflow: hidden;
 display: block
 }
 .about-title .line-inner {
 display: block;
 transform: translateY(100%);
 opacity: 0;
 transition: transform 1s var(--ease), opacity 1s var(--ease);
 }
 .about-title .line-wrap:nth-child(2) .line-inner {
 transition-delay: .15s
 }
 .about-title .line-wrap:nth-child(3) .line-inner {
 transition-delay: .3s
 }
 .reveal-done .about-title .line-inner {
 transform: translateY(0);
 opacity: 1
 }
 .about-text {
 font-size: 15px;
 font-weight: 300;
 color: rgba(255, 255, 255, .72);
 line-height: 1.9;
 max-width: 420px;
 }
 .about-stats {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 40px;
 margin-top: 60px;
 }
 .stat-item {
 }
 .stat-num {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(40px, 5vw, 64px);
 font-weight: 300;
 line-height: 1;
 color: var(--white);
 }
 .stat-num em {
 font-style: normal;
 color: var(--M);
 font-size: .6em;
 vertical-align: super
 }
 .stat-label {
 font-size: 10px;
 letter-spacing: .3em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .55);
 margin-top: 8px;
 }
 .about-right {
 position: relative
 }
 .about-visual {
 position: relative;
 background: #111;
 border: 1px solid rgba(255, 255, 255, .07);
 height: 520px;
 overflow: hidden;
 clip-path: inset(0 100% 0 0);
 transition: clip-path 1.2s var(--ease);
 }
 .reveal-done .about-visual {
 clip-path: inset(0 0% 0 0)
 }
 .cmyk-swatches {
 position: absolute;
 inset: 0;
 display: flex;
 flex-direction: column;
 }
 .cmyk-row {
 display: flex;
 flex: 1
 }
 .cmyk-cell {
 flex: 1;
 position: relative;
 overflow: hidden;
 transition: flex .5s var(--ease);
 }
 .cmyk-cell:hover {
 flex: 2
 }
 .cmyk-cell-label {
 position: absolute;
 bottom: 12px;
 left: 14px;
 font-size: 9px;
 letter-spacing: .35em;
 text-transform: uppercase;
 font-weight: 500;
 opacity: 1;
 }
 .cmyk-cell-pct {
 position: absolute;
 top: 12px;
 right: 14px;
 font-family: 'Cormorant Garamond', serif;
 font-size: 18px;
 font-weight: 300;
 opacity: .85;
 }
 .cc-C100 {
 background: #00b4c8;
 }
 .cc-M100 {
 background: #e8005a;
 }
 .cc-Y100 {
 background: #e8d800;
 }
 .cc-K100 {
 background: #1a1a1a;
 border-right: 1px solid rgba(255, 255, 255, .06)
 }
 .cc-C50 {
 background: #7fd9e4;
 }
 .cc-M50 {
 background: #f480ae;
 }
 .cc-Y50 {
 background: #f4ec80;
 }
 .cc-K50 {
 background: #808080;
 }
 .cc-CM {
 background: #0060a0;
 }
 .cc-CY {
 background: #00a060;
 }
 .cc-MY {
 background: #c85000;
 }
 .cc-CMY {
 background: #404040;
 }
 .cmyk-reg {
 height: 48px;
 background: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 12px;
 border-top: 1px solid rgba(0, 0, 0, .1);
 flex-shrink: 0;
 }
 .reg-mark {
 width: 28px;
 height: 28px;
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .reg-mark::before {
 content: '';
 position: absolute;
 width: 24px;
 height: 24px;
 border-radius: 50%;
 border: 1.5px solid currentColor;
 }
 .reg-mark::after {
 content: '';
 position: absolute;
 width: 24px;
 height: 1.5px;
 background: currentColor;
 box-shadow: 0 0 0 0 currentColor;
 }
 .reg-mark svg {
 position: absolute
 }
 .reg-C {
 color: #00b4c8
 }
 .reg-M {
 color: #e8005a
 }
 .reg-Y {
 color: #ccc000
 }
 .reg-K {
 color: #1a1a1a
 }
 .cmyk-overlay-label {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 padding: 16px 20px;
 background: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent);
 font-size: 9px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .4);
 z-index: 2;
 }
 .about-tags {
 position: absolute;
 bottom: 60px;
 left: 20px;
 right: 20px;
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
 z-index: 3;
 pointer-events: none;
 }
 .about-tag {
 font-size: 9px;
 letter-spacing: .3em;
 text-transform: uppercase;
 border: 1px solid rgba(255, 255, 255, .2);
 padding: 5px 10px;
 color: rgba(255, 255, 255, .5);
 background: rgba(0, 0, 0, .4);
 backdrop-filter: blur(4px);
 }
 #serv-wrap {
 height: 100vh; 
 position: relative
 }
 #serv-pin {
 position: sticky;
 top: 6vh;
 height: 76vh;
 overflow: hidden
 }
 .serv-header {
 position: absolute;
 top: 0;
 left: max(48px, calc(50vw - 600px));
 right: max(48px, calc(50vw - 600px));
 padding-top: 36px;
 z-index: 2;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 }
 .serv-header-left .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--C);
 margin-bottom: 24px;
 display: flex;
 align-items: center;
 gap: 12px;
 }
 .serv-header-left .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--C)
 }
 .serv-h-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 letter-spacing: -.02em;
 }
 .serv-h-title em {
 font-style: italic;
 color: rgba(255, 255, 255, .55)
 }
 .serv-counter {
 font-size: 11px;
 letter-spacing: .3em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .5);
 }
 .serv-counter span {
 color: var(--white)
 }
 .serv-track-outer {
 position: absolute;
 left: 0;
 right: 0;
 top: 90px;
 bottom: 0;
 display: flex;
 align-items: center;
 }
 .serv-track {
 display: flex;
 gap: 0;
 align-items: stretch;
 will-change: transform;
 padding: 0 48px;
 width: max-content;
 }
 .serv-card {
 width: clamp(340px, 30vw, 440px);
 border-right: 1px solid rgba(255, 255, 255, .07);
 padding: 60px 48px 60px 0;
 margin-right: 48px;
 flex-shrink: 0;
 position: relative;
 }
 .serv-card:last-child {
 border-right: none
 }
 .serv-card-num {
 font-family: 'Cormorant Garamond', serif;
 font-size: 100px;
 font-weight: 300;
 color: rgba(255, 255, 255, .04);
 position: absolute;
 top: 40px;
 right: 48px;
 line-height: 1;
 letter-spacing: -.04em;
 user-select: none;
 }
 .serv-card-tag {
 font-size: 9px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: var(--M);
 margin-bottom: 24px;
 display: flex;
 align-items: center;
 gap: 8px;
 }
 .serv-card-tag::before {
 content: '';
 width: 16px;
 height: 1px;
 background: var(--M)
 }
 .serv-card-name {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 3vw, 42px);
 font-weight: 300;
 line-height: 1.1;
 letter-spacing: -.01em;
 margin-bottom: 32px;
 }
 .serv-card-name em {
 font-style: italic;
 color: rgba(255, 255, 255, .35)
 }
 .serv-spec-table {
 width: 100%;
 border-collapse: collapse;
 margin-bottom: 32px
 }
 .serv-spec-table tr {
 border-bottom: 1px solid rgba(255, 255, 255, .06)
 }
 .serv-spec-table td {
 padding: 10px 0;
 font-size: 13px;
 color: rgba(255, 255, 255, .6);
 font-weight: 300;
 letter-spacing: .02em
 }
 .serv-spec-table td:last-child {
 text-align: right;
 color: var(--white);
 font-weight: 400
 }
 .serv-desc {
 font-size: 14px;
 font-weight: 300;
 color: rgba(255, 255, 255, .65);
 line-height: 1.9;
 max-width: 320px
 }
 .serv-progress {
 position: absolute;
 bottom: 40px;
 left: 48px;
 right: 48px;
 height: 1px;
 background: rgba(255, 255, 255, .08);
 }
 .serv-progress-bar {
 height: 100%;
 background: linear-gradient(90deg, var(--C), var(--M));
 width: 0%;
 transition: width .1s linear;
 }
 #ink-merge-wrap {
 position: relative;
 margin-top: 120px;
 margin-bottom: 120px;
 }
 #ink-merge {
 height: 100vh;
 background: #fff;
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 }
 .im-header {
 position: absolute;
 top: 48px;
 left: 0;
 right: 0;
 text-align: center;
 z-index: 3;
 }
 .im-header .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: rgba(0, 0, 0, .35);
 display: inline-flex;
 align-items: center;
 gap: 12px;
 }
 .im-header .section-tag::before, .im-header .section-tag::after {
 content: '';
 width: 24px;
 height: 1px;
 background: rgba(0, 0, 0, .35)
 }
 .im-header h2 {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 color: rgba(0, 0, 0, .7);
 letter-spacing: -.02em;
 margin-top: 12px;
 }
 .im-circles {
 position: absolute;
 inset: 0;
 overflow: hidden;
 pointer-events: none
 }
 .im-c {
 position: absolute;
 border-radius: 50%;
 mix-blend-mode: multiply;
 transform: translate(-50%, -50%);
 transition: left 1.8s var(--ease), top 1.8s var(--ease);
 }
 .im-c-C {
 width: 55vmin;
 height: 55vmin;
 background: #00F0FF;
 left: 0%;
 top: 0%;
 }
 .im-c-M {
 width: 55vmin;
 height: 55vmin;
 background: #FF1075;
 left: 100%;
 top: 0%;
 }
 .im-c-Y {
 width: 55vmin;
 height: 55vmin;
 background: #FFE800;
 left: 0%;
 top: 100%;
 }
 .im-c-K {
 width: 42vmin;
 height: 42vmin;
 background: #1a1a1a;
 left: 100%;
 top: 100%;
 }
 #ink-merge.vis .im-c-C {
 left: 44%;
 top: 44%;
 transition: left 1.8s var(--ease), top 1.8s var(--ease);
 transition-delay: 0s
 }
 #ink-merge.vis .im-c-M {
 left: 56%;
 top: 44%;
 transition: left 1.8s var(--ease), top 1.8s var(--ease);
 transition-delay: 0.45s
 }
 #ink-merge.vis .im-c-Y {
 left: 44%;
 top: 56%;
 transition: left 1.8s var(--ease), top 1.8s var(--ease);
 transition-delay: 0.9s
 }
 #ink-merge.vis .im-c-K {
 left: 56%;
 top: 56%;
 transition: left 1.8s var(--ease), top 1.8s var(--ease);
 transition-delay: 1.35s
 }
 .im-legend {
 position: absolute;
 bottom: 48px;
 left: 0;
 right: 0;
 display: flex;
 justify-content: center;
 gap: 32px;
 z-index: 3;
 }
 .im-leg-item {
 display: flex;
 align-items: center;
 gap: 8px;
 font-size: 10px;
 letter-spacing: .3em;
 text-transform: uppercase;
 color: rgba(0, 0, 0, .4)
 }
 .im-leg-dot {
 width: 10px;
 height: 10px;
 border-radius: 50%
 }
 .im-mix {
 position: absolute;
 font-size: 11px;
 font-weight: 600;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: rgba(0, 0, 0, .5);
 transform: translate(-50%, -50%);
 opacity: 0;
 transition: opacity .5s;
 z-index: 4;
 }
 .im-mix.vis {
 opacity: 1
 }
 .im-clabel {
 position: absolute;
 font-size: min(15vmin, 88px);
 font-weight: 900;
 font-family: 'Inter', sans-serif;
 letter-spacing: -.03em;
 transform: translate(-50%, -50%);
 opacity: 0;
 transition: opacity .5s, left 1.8s var(--ease), top 1.8s var(--ease);
 z-index: 5;
 text-shadow: 0 2px 28px rgba(0, 0, 0, .2);
 }
 .im-clabel.vis {
 opacity: 1
 }
 .im-cmyk-word {
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 z-index: 10;
 font-family: 'Inter', sans-serif;
 font-size: min(20vmin, 128px);
 font-weight: 900;
 letter-spacing: .3em;
 opacity: 0;
 transition: opacity 1.4s var(--ease);
 pointer-events: none;
 text-transform: uppercase;
 }
 .im-cmyk-word.vis {
 opacity: 1
 }
 .im-phase {
 position: absolute;
 bottom: 100px;
 left: 0;
 right: 0;
 text-align: center;
 font-size: 11px;
 letter-spacing: .3em;
 text-transform: uppercase;
 color: rgba(0, 0, 0, .3);
 transition: opacity .3s;
 z-index: 3;
 }
 #digital {
 padding: 120px 48px;
 background: #111;
 border-top: 1px solid rgba(255,255,255,.06);
 border-bottom: 1px solid rgba(255,255,255,.06);
 }
 .digital-header {
 max-width: 1200px;
 margin: 0 auto 80px;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 gap: 40px;
 }
 .digital-header .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--C);
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 24px;
 }
 .digital-header .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--C);
 }
 .digital-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 letter-spacing: -.02em;
 line-height: 1;
 margin-top: 12px;
 }
 .digital-title em {
 font-style: italic;
 color: var(--C);
 opacity: .7;
 }
 .digital-desc {
 font-size: 14px;
 font-weight: 300;
 color: rgba(255,255,255,.6);
 line-height: 1.9;
 max-width: 320px;
 text-align: right;
 }
 .digital-grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 1px;
 background: rgba(255,255,255,.06);
 max-width: 1200px;
 margin: 0 auto;
 }
 .digital-card {
 background: #111;
 padding: 48px 36px;
 position: relative;
 overflow: hidden;
 transition: background .4s;
 }
 .digital-card::before {
 content: '';
 position: absolute;
 top: 0; left: 0; right: 0;
 height: 2px;
 transform: scaleX(0);
 transform-origin: left;
 transition: transform .5s var(--ease);
 }
 .digital-card:nth-child(1)::before { background: var(--C); }
 .digital-card:nth-child(2)::before { background: var(--M); }
 .digital-card:nth-child(3)::before { background: var(--Y); }
 .digital-card:nth-child(4)::before { background: rgba(255,255,255,.4); }
 .digital-card:hover::before { transform: scaleX(1); }
 .digital-card:hover { background: rgba(255,255,255,.02); }
 .digital-icon {
 font-size: 32px;
 margin-bottom: 24px;
 display: block;
 transition: transform .3s var(--ease);
 }
 .digital-card:hover .digital-icon { transform: scale(1.15) rotate(-5deg); }
 .digital-name {
 font-size: 13px;
 font-weight: 600;
 letter-spacing: .06em;
 text-transform: uppercase;
 color: #fff;
 margin-bottom: 24px;
 line-height: 1.4;
 }
 .digital-text {
 font-size: 13px;
 font-weight: 300;
 color: rgba(255,255,255,.5);
 line-height: 1.85;
 }
 #benefits {
 padding: 60px 48px;
 background: var(--K)
 }
 .benefits-header {
 max-width: 1200px;
 margin: 0 auto 80px;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 gap: 40px;
 }
 .benefits-header .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--Y);
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 24px;
 }
 .benefits-header .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--Y)
 }
 .benefits-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 letter-spacing: -.02em;
 line-height: 1;
 }
 .benefits-title em {
 font-style: italic;
 color: rgba(255, 255, 255, .3)
 }
 .benefits-desc {
 font-size: 14px;
 font-weight: 300;
 color: rgba(255, 255, 255, .65);
 line-height: 1.9;
 max-width: 320px;
 text-align: right;
 }
 .benefits-grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 1px;
 background: rgba(255, 255, 255, .06);
 max-width: 1200px;
 margin: 0 auto;
 }
 .benefit-card {
 background: var(--K);
 padding: 48px 36px;
 position: relative;
 overflow: hidden;
 transition: background .4s;
 }
 .benefit-card::before {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 height: 2px;
 transform: scaleX(0);
 transform-origin: left;
 transition: transform .5s var(--ease);
 }
 .benefit-card:nth-child(1)::before {
 background: var(--C)
 }
 .benefit-card:nth-child(2)::before {
 background: var(--M)
 }
 .benefit-card:nth-child(3)::before {
 background: var(--Y)
 }
 .benefit-card:nth-child(4)::before {
 background: rgba(255, 255, 255, .4)
 }
 .benefit-card:hover::before {
 transform: scaleX(1)
 }
 .benefit-card:hover {
 background: rgba(255, 255, 255, .02)
 }
 .benefit-icon {
 font-size: 28px;
 margin-bottom: 24px;
 display: block;
 transition: transform .3s var(--ease);
 }
 .benefit-card:hover .benefit-icon {
 transform: scale(1.2)
 }
 .benefit-name {
 font-family: 'Cormorant Garamond', serif;
 font-size: 22px;
 font-weight: 300;
 margin-bottom: 16px;
 letter-spacing: -.01em;
 }
 .benefit-text {
 font-size: 13px;
 font-weight: 300;
 color: rgba(255, 255, 255, .65);
 line-height: 1.9
 }
 #stats-section {
 padding: 120px 48px;
 background: linear-gradient(180deg, var(--K) 0%, rgba(0, 240, 255, .03) 50%, var(--K) 100%);
 position: relative;
 overflow: hidden;
 }
 .stats-grid {
 max-width: 1200px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 40px;
 border-top: 1px solid rgba(255, 255, 255, .08);
 padding-top: 60px;
 }
 .stats-item {
 text-align: center
 }
 .stats-num {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(48px, 6vw, 80px);
 font-weight: 300;
 line-height: 1;
 color: var(--white);
 }
 .stats-num sup {
 font-size: .4em;
 vertical-align: super;
 color: var(--M)
 }
 .stats-label {
 font-size: 10px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .55);
 margin-top: 12px;
 }
 .stats-section-title {
 text-align: center;
 max-width: 1200px;
 margin: 0 auto 60px;
 }
 .stats-section-title .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--C);
 display: inline-flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 20px;
 }
 .stats-section-title .section-tag::before, .stats-section-title .section-tag::after {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--C)
 }
 .stats-section-title h2 {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(32px, 5vw, 64px);
 font-weight: 300;
 letter-spacing: -.02em;
 }
 .stats-section-title h2 em {
 font-style: italic;
 color: rgba(255, 255, 255, .3)
 }
 #contact {
 padding: 160px 48px;
 background: var(--K);
 position: relative;
 overflow: hidden;
 }
 .contact-grid {
 max-width: 1200px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 80px;
 align-items: center;
 }
 .contact-left .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--M);
 margin-bottom: 24px;
 display: flex;
 align-items: center;
 gap: 12px;
 }
 .contact-left .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--M)
 }
 .contact-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 line-height: 1.05;
 letter-spacing: -.02em;
 margin-bottom: 40px;
 }
 .contact-title em {
 font-style: italic
 }
 .contact-flip-wrap {
 display: inline-block;
 vertical-align: baseline;
 position: relative;
 }
 .contact-flip-inner {
 display: block;
 position: relative;
 }
 .contact-flip-inner em {
 display: block;
 font-style: italic;
 transition: opacity .55s ease;
 }
 .contact-flip-inner em:last-child {
 position: absolute;
 top: 0; left: 0;
 opacity: 0;
 white-space: nowrap;
 }
 .contact-flip-wrap.active .contact-flip-inner em:first-child { opacity: 0; }
 .contact-flip-wrap.active .contact-flip-inner em:last-child { opacity: 1; }
 .contact-links {
 display: flex;
 flex-direction: column;
 gap: 16px
 }
 .contact-link {
 display: flex;
 align-items: center;
 gap: 20px;
 font-size: 16px;
 font-weight: 300;
 color: rgba(255, 255, 255, .75);
 transition: color .3s;
 padding: 16px 0;
 border-bottom: 1px solid rgba(255, 255, 255, .1);
 }
 .contact-link:hover {
 color: var(--white)
 }
 .contact-link-label {
 font-size: 9px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: var(--M);
 min-width: 60px
 }
 .contact-form {
 display: flex;
 flex-direction: column;
 gap: 0
 }
 .cf-group {
 position: relative;
 border-bottom: 1px solid rgba(255, 255, 255, .1);
 margin-bottom: 8px
 }
 .cf-group:focus-within {
 border-bottom-color: rgba(255, 255, 255, .4)
 }
 .cf-input {
 background: none;
 border: none;
 color: var(--white);
 font-family: 'Inter', sans-serif;
 font-size: 14px;
 font-weight: 300;
 padding: 20px 0;
 width: 100%;
 outline: none;
 letter-spacing: .02em;
 }
 .cf-input::placeholder {
 color: rgba(255, 255, 255, .2)
 }
 .cf-label {
 position: absolute;
 top: 0;
 left: 0;
 font-size: 9px;
 letter-spacing: .4em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .2);
 pointer-events: none;
 transform: translateY(50%);
 transition: transform .3s, font-size .3s, color .3s;
 }
 .cf-group:focus-within .cf-label, .cf-group.filled .cf-label {
 transform: translateY(0);
 font-size: 8px;
 color: var(--M);
 }
 .cf-submit {
 margin-top: 32px;
 background: none;
 border: 1px solid rgba(255, 255, 255, .15);
 color: var(--white);
 font-family: 'Inter', sans-serif;
 font-size: 11px;
 letter-spacing: .4em;
 text-transform: uppercase;
 padding: 18px 40px;
 cursor: none;
 transition: background .3s, border-color .3s;
 align-self: flex-start;
 }
 .cf-submit:hover {
 background: var(--white);
 color: var(--K);
 border-color: var(--white)
 }
 footer {
 padding: 60px 48px;
 border-top: 1px solid rgba(255, 255, 255, .07);
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 24px;
 flex-wrap: wrap;
 }
 .footer-logo {
 display: flex;
 align-items: center;
 }
 .footer-legal {
 font-size: 10px;
 letter-spacing: .2em;
 color: rgba(255, 255, 255, .45)
 }
 .footer-links {
 display: flex;
 gap: 28px
 }
 .footer-links a {
 font-size: 10px;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .5);
 transition: color .25s
 }
 .footer-links a:hover {
 color: var(--white)
 }
 .footer-credit {
 font-size: 9px;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: rgba(255, 255, 255, .12)
 }
 .reveal {
 opacity: 0;
 transform: translateY(40px);
 transition: opacity .9s var(--ease), transform .9s var(--ease)
 }
 .reveal.vis {
 opacity: 1;
 transform: translateY(0)
 }
 .reveal-delay-1 {
 transition-delay: .15s
 }
 .reveal-delay-2 {
 transition-delay: .3s
 }
 .reveal-delay-3 {
 transition-delay: .45s
 }
 .reveal-delay-4 {
 transition-delay: .6s
 }
 .tilt-section {
 transition: transform .6s var(--ease2)
 }
 .nav-hamburger {
 display: none;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 gap: 5px;
 width: 40px;
 height: 40px;
 background: none;
 border: none;
 cursor: pointer;
 padding: 4px;
 z-index: 10001;
 }
 .nav-hamburger span {
 display: block;
 width: 22px;
 height: 2px;
 background: var(--white);
 border-radius: 2px;
 transition: transform .35s var(--ease), opacity .25s, width .3s;
 transform-origin: center;
 }
 .nav-hamburger.open span:nth-child(1) {
 transform: translateY(7px) rotate(45deg)
 }
 .nav-hamburger.open span:nth-child(2) {
 opacity: 0;
 width: 0
 }
 .nav-hamburger.open span:nth-child(3) {
 transform: translateY(-7px) rotate(-45deg)
 }
 .mobile-nav-overlay {
 position: fixed;
 inset: 0;
 z-index: 10000;
 background: rgba(0, 0, 0, .0);
 backdrop-filter: blur(0px);
 pointer-events: none;
 transition: background .4s var(--ease), backdrop-filter .4s;
 }
 .mobile-nav-overlay.open {
 background: rgba(0, 0, 0, .85);
 backdrop-filter: blur(16px);
 pointer-events: all;
 }
 .mobile-nav-panel {
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 width: min(340px, 85vw);
 background: #141414;
 border-left: 1px solid rgba(255, 255, 255, .08);
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: 80px 40px 60px;
 gap: 0;
 transform: translateX(100%);
 transition: transform .45s cubic-bezier(.32, 1.18, .46, 1);
 }
 .mobile-nav-overlay.open .mobile-nav-panel {
 transform: translateX(0)
 }
 .mobile-nav-panel::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 3px;
 height: 100%;
 background: linear-gradient(180deg, var(--C), var(--M), var(--Y));
 }
 .mobile-nav-links {
 list-style: none;
 padding: 0;
 margin: 0 0 40px;
 display: flex;
 flex-direction: column;
 gap: 4px;
 }
 .mobile-nav-links a {
 font-family: 'Inter', sans-serif;
 font-size: 28px;
 font-weight: 300;
 color: rgba(255, 255, 255, .7);
 text-decoration: none;
 letter-spacing: -.01em;
 padding: 10px 0;
 display: block;
 transition: color .2s, padding-left .2s;
 }
 .mobile-nav-links a:hover {
 color: var(--white);
 padding-left: 8px;
 }
 .mobile-nav-cta {
 display: inline-block;
 padding: 14px 28px;
 background: var(--white);
 color: var(--K);
 font-family: 'Inter', sans-serif;
 font-size: 14px;
 font-weight: 600;
 letter-spacing: .05em;
 text-transform: uppercase;
 text-decoration: none;
 border-radius: 4px;
 margin-bottom: 32px;
 text-align: center;
 transition: background .2s, color .2s;
 }
 .mobile-nav-cta:hover {
 background: var(--C);
 color: var(--K);
 }
 .mobile-nav-lang {
 display: flex;
 align-items: center;
 gap: 12px;
 }
 @media (max-width: 1024px) {
 .hero-title {
 font-size: clamp(44px, 7vw, 90px)
 }
 .hi-c {
 width: 500px;
 height: 500px
 }
 .hi-m {
 width: 400px;
 height: 400px
 }
 .hi-y {
 width: 280px;
 height: 280px
 }
 #about, #benefits, #contact, #stats-section {
 padding: 80px 48px
 }
 .serv-header {
 padding-top: 36px;
 left: 48px;
 right: 48px
 }
 }
 @media (max-width: 768px) {
 #nav {
 padding: 18px 20px
 }
 .nav-links, .nav-cta {
 display: none
 }
 .nav-hamburger {
 display: flex
 }
 .hero-content {
 padding: 0 20px;
 max-width: 100%
 }
 .hero-title {
 font-size: clamp(40px, 11vw, 72px);
 line-height: .92
 }
 .hero-subtitle {
 font-size: clamp(13px, 3.5vw, 16px)
 }
 .hero-scroll {
 display: none
 }
 .hi-c {
 width: 320px;
 height: 320px;
 left: -80px
 }
 .hi-m {
 width: 260px;
 height: 260px;
 right: -60px
 }
 .hi-y {
 width: 200px;
 height: 200px;
 right: 10%;
 bottom: 8%
 }
 #about, #benefits, #contact, #stats-section, #digital {
 padding: 64px 20px
 }
 .digital-grid {
 grid-template-columns: 1fr 1fr
 }
 .digital-header {
 flex-direction: column;
 align-items: flex-start;
 gap: 12px
 }
 .digital-desc {
 text-align: left
 }
 .about-grid, .contact-grid {
 grid-template-columns: 1fr;
 gap: 40px
 }
 .benefits-grid {
 grid-template-columns: 1fr 1fr
 }
 .stats-grid {
 grid-template-columns: 1fr 1fr
 }
 .benefits-header {
 flex-direction: column;
 align-items: flex-start;
 gap: 12px
 }
 .benefits-desc {
 text-align: left
 }
 .serv-header {
 padding-top: 28px;
 left: 20px;
 right: 20px
 }
 .serv-track {
 padding: 0 20px
 }
 .serv-card {
 width: clamp(280px, 85vw, 360px);
 padding: 48px 24px 48px 0
 }
 .serv-track-outer {
 top: 80px;
 }
 .stats-grid {
 gap: 24px
 }
 .im-c, .im-m, .im-y, .im-k {
 font-size: min(20vmin, 72px)
 }
 .contact-info-block {
 gap: 24px
 }
 #cookieBanner {
 padding: 20px
 }
 .cb-inner {
 flex-direction: column;
 align-items: flex-start;
 gap: 16px
 }
 .cb-actions {
 width: 100%;
 flex-direction: column
 }
 .cb-actions button {
 width: 100%;
 justify-content: center
 }
 .legal-panel-header {
 padding: 20px 20px 16px
 }
 .legal-panel-body {
 padding: 24px 20px
 }
 footer {
 flex-direction: column;
 gap: 16px;
 text-align: center;
 padding: 32px 20px
 }
 .footer-links {
 flex-wrap: wrap;
 justify-content: center;
 gap: 12px
 }
 }
 @media (max-width: 390px) {
 .hero-title {
 font-size: clamp(34px, 10vw, 60px)
 }
 .hi-c {
 width: 240px;
 height: 240px
 }
 .hi-m {
 width: 200px;
 height: 200px
 }
 .hi-y {
 width: 160px;
 height: 160px
 }
 .im-c, .im-m, .im-y, .im-k {
 font-size: min(18vmin, 60px)
 }
 }
 .legal-overlay {
 position: fixed;
 inset: 0;
 z-index: 20000;
 background: rgba(0, 0, 0, 0);
 backdrop-filter: blur(0px);
 pointer-events: none;
 transition: background .4s var(--ease), backdrop-filter .4s var(--ease);
 }
 .legal-overlay.open {
 background: rgba(0, 0, 0, .72);
 backdrop-filter: blur(12px);
 pointer-events: all;
 }
 .legal-panel {
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 max-height: 82vh;
 background: #141414;
 border-top: 1px solid rgba(255, 255, 255, .1);
 border-radius: 20px 20px 0 0;
 overflow: hidden;
 transform: translateY(100%);
 transition: transform .55s cubic-bezier(.32, 1.18, .46, 1);
 display: flex;
 flex-direction: column;
 }
 .legal-overlay.open .legal-panel {
 transform: translateY(0);
 }
 .legal-panel-header {
 position: sticky;
 top: 0;
 z-index: 2;
 padding: 28px 48px 20px;
 background: #141414;
 border-bottom: 1px solid rgba(255, 255, 255, .07);
 display: flex;
 align-items: center;
 justify-content: space-between;
 flex-shrink: 0;
 }
 .legal-panel-header::after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 background: linear-gradient(90deg, var(--C), var(--M), var(--Y), var(--C));
 background-size: 300%;
 animation: legalRainbow 4s linear infinite;
 }
 @keyframes legalRainbow {
 from {
 background-position:0%
 }
 to {
 background-position: 300%
 }
 }
 .legal-panel-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(22px, 3vw, 38px);
 font-weight: 300;
 letter-spacing: -.01em;
 }
 .legal-close {
 width: 40px;
 height: 40px;
 border-radius: 50%;
 border: 1px solid rgba(255, 255, 255, .15);
 background: transparent;
 cursor: pointer;
 color: rgba(255, 255, 255, .7);
 font-size: 18px;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: all .2s;
 flex-shrink: 0;
 }
 .legal-close:hover {
 background: rgba(255, 255, 255, .08);
 color: var(--white)
 }
 .legal-panel-body {
 overflow-y: auto;
 padding: 36px 48px 60px;
 line-height: 1.8;
 font-size: 14px;
 color: rgba(255, 255, 255, .72);
 scrollbar-width: thin;
 scrollbar-color: rgba(255, 255, 255, .1) transparent;
 }
 .legal-panel-body h2 {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(16px, 2vw, 22px);
 font-weight: 400;
 color: var(--white);
 margin: 32px 0 12px;
 padding-bottom: 8px;
 border-bottom: 1px solid rgba(255, 255, 255, .07);
 }
 .legal-panel-body h2:first-child {
 margin-top: 0
 }
 .legal-panel-body h3 {
 font-size: 12px;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: var(--C);
 margin: 24px 0 8px;
 }
 .legal-panel-body p {
 margin: 0 0 14px
 }
 .legal-panel-body strong {
 color: rgba(255, 255, 255, .9)
 }
 .legal-panel-body a {
 color: var(--C);
 text-decoration: none
 }
 .legal-panel-body a:hover {
 text-decoration: underline
 }
 #cookieBanner {
 position: fixed;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 19000;
 padding: 0 24px;
 transform: translateY(110%);
 transition: transform .7s cubic-bezier(.34, 1.4, .64, 1);
 pointer-events: none;
 }
 #cookieBanner.cb-visible {
 transform: translateY(0);
 pointer-events: all;
 }
 #cookieBanner.cb-exit {
 transform: translateY(110%);
 transition: transform .45s cubic-bezier(.55, 0, .45, 1);
 }
 .cb-inner {
 max-width: 900px;
 margin: 0 auto;
 background: rgba(16, 16, 18, 0.96);
 border: 1px solid rgba(255, 255, 255, .08);
 border-bottom: none;
 border-radius: 16px 16px 0 0;
 padding: 0 32px;
 position: relative;
 overflow: hidden;
 }
 .cb-top-line {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 background: linear-gradient(90deg, var(--C) 0%, var(--M) 33%, var(--Y) 66%, var(--C) 100%);
 background-size: 200%;
 animation: cbLine 3s linear infinite;
 }
 @keyframes cbLine {
 from {
 background-position:0%
 }
 to {
 background-position: 200%
 }
 }
 .cb-content {
 display: flex;
 align-items: center;
 gap: 24px;
 padding: 22px 0;
 flex-wrap: wrap;
 }
 .cb-icon {
 width: 44px;
 height: 44px;
 flex-shrink: 0;
 opacity: .9;
 }
 .cb-text {
 flex: 1;
 min-width: 200px
 }
 .cb-text strong {
 display: block;
 font-size: 13px;
 letter-spacing: .08em;
 color: var(--white);
 margin-bottom: 4px;
 }
 .cb-text p {
 font-size: 11px;
 color: rgba(255, 255, 255, .5);
 margin: 0;
 line-height: 1.6;
 letter-spacing: .02em;
 }
 .cb-actions {
 display: flex;
 gap: 12px;
 flex-shrink: 0;
 flex-wrap: wrap
 }
 .cb-btn {
 font-size: 10px;
 letter-spacing: .25em;
 text-transform: uppercase;
 padding: 10px 22px;
 border-radius: 4px;
 cursor: pointer;
 transition: all .2s;
 border: none;
 font-family: 'Inter', sans-serif;
 }
 .cb-btn-decline {
 background: transparent;
 border: 1px solid rgba(255, 255, 255, .15);
 color: rgba(255, 255, 255, .5);
 }
 .cb-btn-decline:hover {
 border-color: rgba(255, 255, 255, .35);
 color: var(--white)
 }
 .cb-btn-accept {
 background: var(--C);
 color: #000;
 font-weight: 600;
 position: relative;
 overflow: hidden;
 }
 .cb-btn-accept::after {
 content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .3), transparent);
 transform: translateX(-100%);
 transition: transform .4s;
 }
 .cb-btn-accept:hover::after {
 transform: translateX(100%)
 }
 .cb-btn-accept:hover {
 background: #00c0de
 }
 #cookieBurst {
 position: fixed;
 inset: 0;
 pointer-events: none;
 z-index: 19500;
 opacity: 0;
 transition: opacity .3s;
 }
 #cookieBurst.active {
 opacity: 1
 }
 .cf-feedback {
 margin-top: 20px;
 padding: 16px 20px;
 border-radius: 4px;
 font-size: 12px;
 letter-spacing: .08em;
 animation: cfFadeIn .4s var(--ease);
 }
 @keyframes cfFadeIn {
 from {
 opacity: 0;
 transform:translateY(8px)
 }
 to {
 opacity: 1;
 transform: none
 }
 }
 .cf-feedback.success {
 border: 1px solid var(--C);
 color: var(--C);
 background: rgba(0, 160, 184, .08);
 }
 .cf-feedback.error {
 border: 1px solid var(--M);
 color: var(--M);
 background: rgba(224, 0, 74, .08);
 }
 .cf-submit:disabled {
 opacity: .5;
 cursor: not-allowed
 }
 .cf-btn-spinner {
 letter-spacing: .5em;
 animation: cfDots 1s infinite
 }
 @keyframes cfDots {
 0%, 100% {
 opacity:1
 }
 50% {
 opacity: .3
 }
 }
 #refs {
 padding: 60px 0;
 overflow: hidden;
 background: var(--K);
 position: relative;
 }
 .refs-inner {
 padding: 0 48px;
 }
 .refs-header {
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 64px;
 display: flex;
 flex-direction: column;
 gap: 8px;
 }
 .refs-title {
 font-family: 'Cormorant Garamond', serif;
 font-size: clamp(28px, 4vw, 52px);
 font-weight: 300;
 letter-spacing: -.02em;
 line-height: 1;
 }
 .refs-header .section-tag {
 font-size: 10px;
 letter-spacing: .5em;
 text-transform: uppercase;
 color: var(--M);
 margin-bottom: 24px;
 display: flex;
 align-items: center;
 gap: 12px;
 }
 .refs-header .section-tag::before {
 content: '';
 width: 24px;
 height: 1px;
 background: var(--M)
 }
 .refs-title em {
 font-style: italic;
 color: var(--M);
 }
 .refs-track-outer {
 position: relative;
 overflow: hidden;
 padding: 4px 0 8px;
 }
 .refs-track-outer::before,
 .refs-track-outer::after {
 content: '';
 position: absolute;
 top: 0; bottom: 0;
 width: 100px;
 z-index: 2;
 pointer-events: none;
 }
 .refs-track-outer::before {
 left: 0;
 background: linear-gradient(to right, var(--K) 30%, transparent);
 }
 .refs-track-outer::after {
 right: 0;
 background: linear-gradient(to left, var(--K) 30%, transparent);
 }
 .refs-track {
 display: flex;
 gap: 20px;
 width: max-content;
 animation: refsScroll 48s linear infinite;
 }
 .refs-track:hover {
 animation-play-state: paused;
 }
 @keyframes refsScroll {
 from { transform: translateX(0); }
 to { transform: translateX(-50%); }
 }
 .refs-card {
 width: 248px;
 flex-shrink: 0;
 background: rgba(255,255,255,.04);
 border: 1px solid rgba(255,255,255,.07);
 padding: 0 24px 24px;
 position: relative;
 overflow: hidden;
 transition: background .3s, border-color .3s;
 cursor: default;
 }
 .refs-card:hover {
 background: rgba(255,255,255,.08);
 border-color: rgba(255,255,255,.14);
 }
 .refs-top-line {
 height: 2px;
 margin: 0 -24px 24px;
 }
 .refs-logo-box {
 height: 100px;
 display: flex;
 align-items: center;
 justify-content: center;
 margin-bottom: 20px;
 background: white;
 padding: 10px 14px;
 margin-left: -24px;
 margin-right: -24px;
 }
 .refs-logo-inner {
 display: flex;
 align-items: center;
 justify-content: center;
 height: 72px;
 width: 100%;
 }
 .refs-logo-inner svg { max-width: 100%; height: auto; }
 .refs-logo-inner img { max-width: 100%; max-height: 72px; height: auto; display: block; margin: auto; }
 .refs-logo-inner svg {
 max-height: 52px;
 max-width: 200px;
 width: 100%;
 height: auto;
 }
 .refs-client-name {
 font-size: 10px;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: rgba(255,255,255,.4);
 margin-bottom: 6px;
 }
 .refs-print-type {
 font-size: 13px;
 color: rgba(255,255,255,.7);
 line-height: 1.45;
 }
 @media (max-width: 768px) {
 .refs-inner {
 padding: 0 20px;
 }
 .refs-header {
 flex-direction: column;
 gap: 8px;
 margin-bottom: 40px;
 }

 }
 #intro-overlay { position:fixed;inset:0;z-index:99999;background:#000;display:none;align-items:center;justify-content:center;transition:opacity .8s ease; }
 #intro-overlay.fade-out {
 opacity: 0;
 pointer-events: none;
 }
 #intro-video {
 position: absolute;
 top: 0; left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 }
 #intro-skip {
 position: absolute;
 bottom: 40px;
 right: 48px;
 background: rgba(255,255,255,.12);
 border: 1px solid rgba(255,255,255,.25);
 color: rgba(255,255,255,.8);
 font-family: 'Inter', system-ui, sans-serif;
 font-size: 11px;
 letter-spacing: .12em;
 text-transform: uppercase;
 padding: 10px 22px;
 cursor: pointer;
 border-radius: 2px;
 transition: background .2s, color .2s;
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);
 z-index: 1;
 }
 #intro-skip:hover {
 background: rgba(255,255,255,.22);
 color: #fff;
 }
 #intro-sound {
 display: none;
 position: absolute;
 top: 28px;
 left: 28px;
 width: 40px;
 height: 40px;
 border-radius: 50%;
 background: rgba(255,255,255,.12);
 border: 1px solid rgba(255,255,255,.25);
 color: rgba(255,255,255,.75);
 font-size: 18px;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);
 z-index: 2;
 transition: background .2s, opacity .4s;
 }
 #intro-sound:hover { background: rgba(255,255,255,.22); }
 #intro-sound.active { opacity: 0; pointer-events: none; }
 @media (pointer: coarse) and (hover: none) {
 #intro-sound { display: flex; }
 }
 @media (max-width: 768px) and (orientation: portrait) {
 #intro-video {
 object-fit: contain;
 }
 #intro-skip {
 bottom: 24px;
 right: 20px;
 font-size: 10px;
 padding: 9px 18px;
 }
 }
 #intro-countdown {
 position: absolute;
 bottom: 44px;
 left: 48px;
 font-family: 'Cormorant Garamond', serif;
 font-size: 13px;
 letter-spacing: .08em;
 color: rgba(255,255,255,.45);
 display: none;
 }
 

 .st0 {
 fill: #e41568;
 }
 .st0, .st1, .st2, .st3, .st4, .st5, .st6 {
 fill-rule: evenodd;
 }
 .st1, .st7 {
 fill: #fff;
 }
 .st2 {
 fill: url(#GradientFill_11);
 }
 .st4 {
 fill: url(#GradientFill_1);
 }
 .st5 {
 fill: #17a9e2;
 }
 .st6 {
 fill: #f9c01a;
 }
 .st7 {
 font-family: Gotham-Bold, Gotham;
 font-size: 53.9px;
 font-weight: 700;
 }
 

 .a {
 fill: none;
 stroke: #0b3d90;
 stroke-miterlimit: 22.93;
 stroke-width: 0.75px;
 }
 .b, .c {
 fill: #13007c;
 }
 .b2 {
 fill: #13007c;
 stroke: none;
 }
 .b {
 fill-rule: evenodd;
 }
 
.aug1-cls-1,.aug1-cls-2,.aug1-cls-3,.aug1-cls-4{fill:none;}.aug1-cls-5{fill:#000003;}.aug1-cls-2{stroke-width:.01px;}.aug1-cls-2,.aug1-cls-3,.aug1-cls-4{stroke:#000003;stroke-miterlimit:3.86;}.aug1-cls-3{stroke-width:.06px;}.aug1-cls-6{fill:#b9b8b8;}.aug1-cls-4{stroke-width:.08px;}.aug1-cls-7{fill:url(#Unbenannter_Verlauf_2);}.aug1-cls-8{fill:#8cb29b;}.aug1-cls-9{fill:#f2d3a2;}.aug1-cls-10{fill:#1d1d1b;}.aug1-cls-11{clip-path:url(#clippath-1);}.aug1-cls-12{fill:#fff;}.aug1-cls-13{fill:#ffed00;}.aug1-cls-14{fill:#efc280;}.aug1-cls-15{clip-path:url(#clippath);}

	.der1-st0{clip-path:url(#SVGID_00000142160511543069976010000006643504876771174557_);fill:#1D1D1B;}


 .hw1-cls-1 {
 fill-rule: evenodd;
 }
 
.wko1-cls-1{fill:#e20613;}.wko1-cls-2{fill:#fff;}

 .a {
 fill: none;
 stroke: #0b3d90;
 stroke-miterlimit: 22.93;
 stroke-width: 0.75px;
 }
 .b, .c {
 fill: #13007c;
 }
 .b2 {
 fill: #13007c;
 stroke: none;
 }
 .b {
 fill-rule: evenodd;
 }
 
.aug2-cls-1,.aug2-cls-2,.aug2-cls-3,.aug2-cls-4{fill:none;}.aug2-cls-5{fill:#000003;}.aug2-cls-2{stroke-width:.01px;}.aug2-cls-2,.aug2-cls-3,.aug2-cls-4{stroke:#000003;stroke-miterlimit:3.86;}.aug2-cls-3{stroke-width:.06px;}.aug2-cls-6{fill:#b9b8b8;}.aug2-cls-4{stroke-width:.08px;}.aug2-cls-7{fill:url(#Unbenannter_Verlauf_2-b);}.aug2-cls-8{fill:#8cb29b;}.aug2-cls-9{fill:#f2d3a2;}.aug2-cls-10{fill:#1d1d1b;}.aug2-cls-11{clip-path:url(#clippath-1-b);}.aug2-cls-12{fill:#fff;}.aug2-cls-13{fill:#ffed00;}.aug2-cls-14{fill:#efc280;}.aug2-cls-15{clip-path:url(#clippath-b);}

	.der2-st0{clip-path:url(#SVGID_00000142160511543069976010000006643504876771174557_);fill:#1D1D1B;}


 .hw2-cls-1 {
 fill-rule: evenodd;
 }
 
.wko2-cls-1{fill:#e20613;}.wko2-cls-2{fill:#fff;}