@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic-ext-variable.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-cyrillic-variable.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-ext-variable.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/unbounded-cyrillic-ext-variable.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/unbounded-cyrillic-variable.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin-ext-variable.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin-variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Local variable fonts: real Cyrillic and Latin weights, without synthesized bold. */

:root { --font-body:'Manrope',Arial,sans-serif;--font-display:'Unbounded','Manrope',Arial,sans-serif; }
body { font-family:var(--font-body);font-weight:400;font-synthesis:none;letter-spacing:0; }
h1,h2 { font-family:var(--font-display);font-weight:300;letter-spacing:-.035em;line-height:1.18;text-wrap:balance; }
.hero h1 { font-size:clamp(42px,5.45vw,92px);font-weight:300;letter-spacing:-.045em;line-height:1.15; }
.hero h1 .hero-outline { font-weight:300; }
.hero-description p { font-size:clamp(16px,1.25vw,19px);line-height:1.8;letter-spacing:0; }
.hero-track-copy strong { font-weight:500;letter-spacing:-.015em; }
.brand { font-weight:650;letter-spacing:-.035em; }
.desktop-nav a { font-weight:500;font-size:13px;letter-spacing:0; }
.header-contact,.solid-button,.text-button,.cf-project,.work-view-switch button { font-weight:500;letter-spacing:0; }
.header-contact { font-size:13px; }
.section-heading h2,.faq-section h2 { font-size:clamp(28px,3.6vw,58px);font-weight:300;letter-spacing:-.035em;line-height:1.2; }
.section-heading p,.about-copy p,.service-content>p { letter-spacing:0;line-height:1.85; }
.about-copy h2 { font-size:clamp(28px,3.85vw,60px);font-weight:300;letter-spacing:-.035em;line-height:1.2; }
.statement>p { font-family:var(--font-display);font-size:clamp(44px,7.6vw,120px);font-weight:300;letter-spacing:-.04em;line-height:1.17; }
.service-row h3 { font-weight:450;letter-spacing:-.025em; }
.process-section h2 { font-size:clamp(28px,3.2vw,46px);font-weight:300;letter-spacing:-.03em;line-height:1.23; }
.process-steps h3 { font-weight:500;letter-spacing:-.015em;line-height:1.35; }
.contact-section h2 { font-size:clamp(40px,7.4vw,118px);font-weight:300;letter-spacing:-.045em;line-height:1.15; }
.cf-title { font-family:var(--font-body);font-size:clamp(24px,2.5vw,34px);font-weight:450;letter-spacing:-.025em;line-height:1.25; }
.cf-artist { font-weight:400;letter-spacing:.025em; }
.project-info h3,.catalog-item strong { font-weight:500;letter-spacing:-.02em; }
.brief-dialog h2,.catalog-heading h2,.project-detail-copy h2 { font-size:clamp(26px,3.5vw,40px);font-weight:300;letter-spacing:-.035em;line-height:1.2; }
.eyebrow,.section-label,.cf-label,.cf-top-count,.listening-top,.listening-bottom { font-weight:500;letter-spacing:.09em; }
.footer-wordmark { font-family:var(--font-display);font-weight:300;font-size:clamp(26px,8.1vw,145px);letter-spacing:-.055em;line-height:1.3; }
@media(max-width:1100px) and (min-width:761px) {
  .hero h1 { font-size:5.3vw; }
  .desktop-nav { gap:22px; }
}
@media(max-width:760px) {
  .hero h1 { font-size:clamp(34px,8.5vw,64px);letter-spacing:-.045em;line-height:1.17; }
  .hero-copy { max-width:620px; }
  .hero-description p { font-size:16px;line-height:1.8; }
  .section-heading h2,.about-copy h2,.faq-section h2 { font-size:clamp(27px,6.9vw,42px);line-height:1.23; }
  .statement>p { font-size:clamp(33px,8.8vw,66px);line-height:1.23;letter-spacing:-.04em; }
  .contact-section h2 { font-size:clamp(33px,8.3vw,62px);line-height:1.2; }
  .process-section h2 { font-size:clamp(26px,6.7vw,40px); }
  .brief-dialog h2,.catalog-heading h2 { font-size:clamp(25px,6.4vw,36px); }
  .footer-wordmark { font-size:7.8vw;letter-spacing:-.055em; }
  .cf-title { font-size:25px; }
  .works-bottom { flex-direction:column;align-items:flex-start;gap:18px; }
  .works-bottom>.text-button { width:max-content;max-width:100%;flex-shrink:0; }
}
@media(max-width:380px) {
  .hero h1 { font-size:9.2vw; }
  .section-heading h2,.about-copy h2,.faq-section h2 { font-size:25px; }
  .work-view-switch button { font-size:12px!important; }
  .cf-title { font-size:23px; }
}

/* Moving pearlescent light stays inside the large letterforms. */
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  :is(h1,h2,.statement>p,.footer-wordmark) {
    color:#e9efff;
    background-image:linear-gradient(112deg,#f4f7ff 0%,#98dcff 14%,#c5adff 29%,#ffc9e8 43%,#f9fcff 56%,#a8eced 69%,#c0b5ff 84%,#f4f7ff 100%);
    background-size:300% 100%;background-position:0% 50%;
    background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
    animation:pearl-heading 9s ease-in-out infinite alternate;
  }
  .hero h1>span,.hero h1>span:last-child,.statement>p>span,.contact-section h2>span,h2 .orange,.footer-wordmark>span {
    background:none;color:inherit;-webkit-text-fill-color:inherit;-webkit-text-stroke:0;
  }
  .section-heading h2,.about-copy h2 { animation-delay:-3s; }
  .statement>p,.contact-section h2 { animation-delay:-6s; }
}
@keyframes pearl-heading { to { background-position:100% 50%; } }
@media(prefers-reduced-motion:reduce) {
  :is(h1,h2,.statement>p,.footer-wordmark) { animation:none;background-position:45% 50%; }
}
@media(forced-colors:active) {
  :is(h1,h2,.statement>p,.footer-wordmark) { background:none;animation:none;color:CanvasText;-webkit-text-fill-color:CanvasText; }
}
