@font-face {
  font-family: "Blender Pro";
  src: url("./fonts/BlenderPro-Book.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Blender Pro";
  src: url("./fonts/BlenderPro-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --frame-width: 1920;
  --frame-height: 7550px;
  --scale: 1;
  --shell-height: 7550px;
  --bg: #0e0e0e;
  --panel: #2f2f2f;
  --panel-muted: rgba(68, 68, 68, 0.61);
  --white: #ffffff;
  --white-53: rgba(255, 255, 255, 0.53);
  --white-50: rgba(255, 255, 255, 0.5);
  --tag-bg: rgba(217, 217, 217, 0.2);
  --divider: #393939;
  --accent: #00aaff;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--white);
}

body {
  font-family: "Inter", sans-serif;
}

a {
  color: inherit;
}

a:hover,
a:focus-visible,
a:active,
button:hover,
button:focus-visible,
button:active {
  color: inherit;
}

button,
input,
textarea {
  font: inherit;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.stage-shell {
  position: relative;
  min-height: 100vh;
  height: var(--shell-height);
  overflow: hidden;
}

.artboard {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1920px;
  height: 7550px;
  margin-left: -960px;
  background: var(--bg);
  overflow: hidden;
  isolation: isolate;
  transform-origin: top center;
  transform: scale(var(--scale));
}

.blender-book {
  font-family: "Blender Pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: -0.9px;
  line-height: normal;
  text-transform: uppercase;
}

.blender-medium {
  font-family: "Blender Pro", sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
}

.inter-regular {
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 400;
}

.inter-medium {
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 500;
}

.inter-semibold {
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 600;
}

.inter-bold {
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 700;
}

.muted-40 {
  opacity: 0.4;
}

.hero-gradient {
  position: absolute;
  top: -424px;
  left: 50%;
  width: 1920px;
  height: 1498px;
  margin-left: -960px;
  object-fit: cover;
  mix-blend-mode: plus-lighter;
  pointer-events: none;
  z-index: 2;
}

.topbar {
  position: absolute;
  inset: 0;
  height: 100px;
  z-index: 4;
}

.logo {
  position: absolute;
  left: 50px;
  top: 20px;
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.96px;
  line-height: normal;
}

.top-link {
  position: absolute;
}

.topbar a {
  font-size: 18px;
  text-decoration: none;
}

.top-link--portfolio {
  left: 960px;
  top: 20px;
}

.top-link--about {
  left: 960px;
  top: 43px;
}

.top-link--contacts {
  left: 960px;
  top: 66px;
}

.top-link--telegram {
  left: 1678px;
  top: 20px;
}

.top-link--email {
  left: 1818px;
  top: 20px;
}

.centre-divider {
  position: absolute;
  left: 959px;
  top: 1px;
  width: 1px;
  height: 1080px;
  background: #1f1f1f;
  mix-blend-mode: luminosity;
  z-index: 0;
}

.hero-divider {
  position: absolute;
  left: 0;
  top: 541px;
  width: 1920px;
  height: 1px;
  background: #1f1f1f;
  z-index: 0;
}

.hero-name-shadow,
.footer-name {
  position: absolute;
  left: -114px;
  margin: 0;
  font-size: 302.943px;
  line-height: 1;
  letter-spacing: -24.2355px;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-name-shadow {
  top: 809px;
  color: #2e2e2e;
  mix-blend-mode: luminosity;
  z-index: 1;
}

.hero-title {
  position: absolute;
  left: 50px;
  top: 309px;
  display: flex;
  flex-direction: column;
  width: 873px;
  margin: 0;
  font-size: 120px;
  line-height: 0.88;
  letter-spacing: -4.8px;
  z-index: 4;
}

.hero-copy {
  position: absolute;
  left: 1259px;
  top: 181px;
  width: 426px;
  margin: 0;
  font-size: 20px;
  line-height: normal;
  letter-spacing: -0.8px;
  z-index: 4;
}

.hero-copy p,
.hero-title span,
.about-heading span,
.experience-subtitle p,
.contact-title span,
.footer-role p {
  margin: 0;
}

.accent-link {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  text-transform: uppercase;
}

.hero-link {
  position: absolute;
  left: 1259px;
  top: 273px;
  font-size: 20px;
  letter-spacing: -1px;
  z-index: 4;
}

.hero-image {
  position: absolute;
  left: 959px;
  top: 181px;
  width: 280px;
  height: 360px;
  overflow: hidden;
  z-index: 4;
}

.hero-image img {
  position: absolute;
  top: 0;
  left: -210px;
  width: 540px;
  height: 360px;
}

.about-photo img,
.project-card__image,
.brand,
.awards-plaque__logo,
.contact-gradient {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-squares {
  position: absolute;
  left: 809px;
  top: 541px;
  width: 150px;
  height: 150px;
  z-index: 4;
}

.hero-squares span {
  position: absolute;
  width: 50px;
  height: 50px;
  background: var(--accent);
}

.hero-squares span:nth-child(1) {
  left: 0;
  top: 0;
}

.hero-squares span:nth-child(2) {
  left: 100px;
  top: 0;
}

.hero-squares span:nth-child(3) {
  left: 50px;
  top: 50px;
}

.hero-squares span:nth-child(4) {
  left: 0;
  top: 100px;
}

.hero-squares span:nth-child(5) {
  left: 100px;
  top: 100px;
}

.hero-skill {
  position: absolute;
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: -0.64px;
  white-space: nowrap;
  z-index: 4;
}

.skill-left {
  left: 148px;
  top: 565px;
  transform: translateX(-50%);
}

.skill-center {
  left: 500px;
  top: 562px;
}

.skill-right {
  left: 1254px;
  top: 562px;
}

.skill-right-2 {
  left: 1791px;
  top: 562px;
  transform: translateX(-50%);
}

.section-label {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 4px;
}

.section-label span {
  width: 12px;
  height: 12px;
  background: var(--accent);
}

.section-label p {
  margin: 0;
  font-size: 18px;
  line-height: 1;
}

.about-heading {
  position: absolute;
  left: 500px;
  top: 1274px;
  width: 1374px;
  margin: 0;
  font-size: 48px;
  line-height: 0.9;
  letter-spacing: -1.92px;
}

.about-heading span {
  display: block;
}

.about-heading span:last-child {
  position: absolute;
  left: 460px;
  top: 87px;
  width: 910px;
}

.about-copy {
  position: absolute;
  left: 960px;
  top: 1472px;
  width: 646px;
  margin: 0;
  font-size: 16px;
  line-height: normal;
}

.about-link {
  position: absolute;
  left: 960px;
  top: 1553px;
  font-size: 20px;
  letter-spacing: -1px;
}

.about-photo {
  position: absolute;
  left: 621px;
  top: 1615px;
  width: 679px;
  height: 453px;
  overflow: hidden;
}

.skills-title,
.worked-with__title,
.awards__title {
  position: absolute;
  margin: 0;
  color: var(--white);
}

.skills-title {
  left: 582px;
  top: 2258px;
  width: 757px;
  font-size: 48px;
  line-height: 0.9;
  letter-spacing: -1.92px;
  text-align: center;
}

.skills-copy {
  position: absolute;
  left: 727px;
  top: 2359px;
  width: 466px;
  margin: 0;
  font-size: 16px;
  line-height: normal;
  text-align: center;
}

.skill-card {
  position: absolute;
}

.skill-card--small {
  width: 240px;
  height: 240px;
}

.card-bg,
.card-bg--solid,
.card-bg--dark {
  position: absolute;
  inset: 0;
}

.card-bg {
  background: var(--panel-muted);
}

.card-bg--solid {
  background: var(--panel);
}

.card-bg--dark {
  left: -1px;
  width: 482px;
  background: var(--panel-muted);
}

.skill-icon {
  position: absolute;
  display: block;
}

.skill-icon--team {
  left: 72px;
  top: 72px;
  width: 336px;
  height: 336px;
}

.skill-caption {
  position: absolute;
  left: calc(50% - 0.5px);
  bottom: 36px;
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.96px;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.skill-caption--wide {
  bottom: 45px;
  width: 201px;
}

.skill-caption--small {
  bottom: 30px;
  width: 207px;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -0.8px;
}

.skill-caption--crisis {
  top: 246px;
  bottom: auto;
  line-height: normal;
}

.skill-caption--mvp {
  top: 252px;
  bottom: auto;
}

.skill-caption--research {
  top: 176px;
  bottom: auto;
}

.skill-caption--creative {
  top: 176px;
  bottom: auto;
}

.skill-caption--economics {
  top: 176px;
  bottom: auto;
}

.skills-team-label {
  position: absolute;
  left: 802px;
  top: 2911px;
  margin: 0;
  font-size: 36px;
  line-height: normal;
  letter-spacing: -1.44px;
  text-transform: uppercase;
  white-space: nowrap;
}

.experience-title {
  position: absolute;
  left: 500px;
  top: 3417px;
  margin: 0;
  font-size: 48px;
  line-height: 0.9;
  letter-spacing: -1.92px;
}

.experience-subtitle {
  position: absolute;
  left: 50%;
  top: 3461px;
  width: 843px;
  margin-left: -421.5px;
  font-size: 48px;
  line-height: 0.9;
  letter-spacing: -1.92px;
  text-align: center;
}

.experience-copy {
  position: absolute;
  left: 960px;
  top: 3567px;
  width: 384px;
  margin: 0;
  font-size: 16px;
  line-height: normal;
}

.experience-link {
  position: absolute;
  left: 960px;
  top: 3644px;
  font-size: 20px;
  letter-spacing: -1px;
}

.project-card {
  position: absolute;
  overflow: hidden;
  cursor: pointer;
  transform-origin: top left;
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.project-card:focus-visible {
  outline-offset: 6px;
}

.project-card--small {
  width: 470px;
  height: 600px;
}

.project-card--large {
  width: 570px;
  height: 730px;
  box-shadow: -1px 3px 32.6px 6px rgba(4, 4, 4, 0.51);
  z-index: 2;
}

.project-card--ton {
  z-index: 1;
}

.project-card__image {
  display: block;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.project-card__overlay {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.project-card__image--dimmed {
  opacity: 0.5;
}

.project-card__tag,
.project-card__tag--floating {
  position: absolute;
  left: 30px;
  top: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 4px 11px 3px;
  border-radius: 3px;
  background: var(--tag-bg);
  backdrop-filter: blur(1.5px);
  font-size: 24px;
  line-height: normal;
  transition: none;
}

.project-card__content,
.project-card__content--floating {
  position: absolute;
  left: 30px;
  color: var(--white);
  transition: none;
}

.project-card__content {
  bottom: 30px;
  width: 247px;
}

.project-card__content--xenna {
  top: 508px;
  bottom: auto;
  width: 200px;
}

.project-card__content--sidus {
  top: 634px;
  bottom: auto;
  width: 247px;
}

.project-card__content--ton {
  top: 509px;
  bottom: auto;
  width: 384px;
}

.project-card__content--russia {
  top: 507px;
  bottom: auto;
  width: 388px;
}

.project-card__content--centered h3 {
  text-align: center;
}

.project-card__content h3,
.project-card__content--floating h3 {
  margin: 0 0 7px;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -1.44px;
  text-transform: uppercase;
}

.project-card__content p,
.project-card__content--floating p {
  margin: 0;
  font-size: 16px;
  line-height: normal;
}

.project-card__tag--xenna,
.project-card__tag--sidus,
.project-card__tag--ton {
  top: 30px;
}

.project-card__tag--xenna,
.project-card__tag--sidus {
  width: 86px;
}

.project-card__tag--russia {
  top: 30px;
  background: rgba(255, 255, 255, 0.2);
}

.arrow {
  position: absolute;
  top: 3740px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.arrow img {
  display: block;
  width: 100%;
  height: 100%;
  transition:
    transform 0.45s ease,
    filter 0.25s ease;
}

.arrow--left {
  left: 1772px;
}

.arrow--left img {
  transform: scaleX(-1);
}

.arrow--right {
  left: 1828px;
}

.arrow:hover img,
.arrow:focus-visible img {
  filter: brightness(0) saturate(100%) invert(58%) sepia(82%) saturate(4845%) hue-rotate(167deg)
    brightness(101%) contrast(101%);
}

.worked-with__rule {
  position: absolute;
  left: 50px;
  top: 5040px;
  width: 1820px;
  height: 2px;
  background: var(--divider);
}

.worked-with__lines span {
  position: absolute;
  top: 4831px;
  width: 2px;
  height: 424px;
  background: var(--divider);
}

.worked-with__title {
  left: 50%;
  top: 4681px;
  margin-left: -257px;
  width: 515px;
  font-size: 96px;
  line-height: 0.9;
  letter-spacing: -3.84px;
}

.brand {
  position: absolute;
}

.brand--lighter {
  mix-blend-mode: plus-lighter;
}

.brand--difference {
  mix-blend-mode: difference;
}

.awards {
  position: absolute;
  left: 2px;
  top: 5389px;
  width: 1921px;
  height: 895px;
}

.awards__title {
  position: absolute;
  left: 801px;
  top: 82px;
  width: 318px;
  margin: 0;
  font-size: 96px;
  line-height: 0.9;
  letter-spacing: -3.84px;
  white-space: nowrap;
}

.award-card {
  position: absolute;
  width: 661px;
  height: 168px;
}

.award-card--left {
  left: 219px;
  top: 259px;
}

.award-card--right {
  left: 1040px;
  top: 259px;
}

.award-card__branch {
  position: absolute;
  left: 0;
  top: 0;
  width: 76.564px;
  object-fit: contain;
}

.award-card__branch--right {
  left: auto;
  right: 0;
  transform: scaleX(-1);
  transform-origin: center;
}

.award-card--left .award-card__branch {
  height: 146.543px;
}

.award-card--right .award-card__branch {
  height: 147.536px;
}

.award-card__body {
  position: absolute;
  inset: 0;
}

.award-card__title {
  position: absolute;
  margin: 0;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -1.44px;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.award-card__title--left {
  left: 157.069px;
  top: 26.18px;
  width: 348px;
  height: 80px;
}

.award-card__title--right {
  left: 109.696px;
  top: 13.27px;
  width: 441px;
  height: 120px;
}

.award-card__meta,
.awards-year {
  line-height: 1.1;
  text-transform: uppercase;
}

.award-card__meta {
  position: absolute;
  margin: 0;
  font-size: 18.205px;
  letter-spacing: 0.5462px;
  color: var(--white-50);
  text-align: center;
  white-space: nowrap;
}

.award-card__meta--left {
  left: 240.71px;
  top: calc(26.18px + 80px + 20px);
  width: 176px;
}

.award-card__meta--right {
  left: 260.94px;
  top: calc(13.27px + 120px + 20px);
  width: 133px;
}

.awards-year {
  position: absolute;
  left: 922px;
  top: 722px;
  width: 70px;
  margin: 0;
  font-size: 15.316px;
  letter-spacing: 0.4595px;
  color: var(--white-50);
}

.awards-plaque {
  position: absolute;
  left: 633px;
  top: 506.807px;
  width: 638px;
  height: 186.254px;
}

.awards-plaque__glass {
  position: absolute;
  inset: 0;
  border-radius: 40px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(50px);
}

.awards-plaque__vector {
  position: absolute;
  left: 118px;
  top: 24.507px;
  width: 139px;
  height: 127.437px;
}

.awards-plaque__logo {
  position: absolute;
  left: 358px;
  top: 45.193px;
  width: 210px;
  height: 96.25px;
}

.contact-gradient {
  position: absolute;
  left: 0;
  top: 0;
  width: 960px;
  height: 749px;
  display: flex;
  align-items: center;
  justify-content: center;
  mix-blend-mode: plus-lighter;
}

.contact-gradient__rotator {
  transform: rotate(-90deg) scaleY(-1);
  flex: none;
}

.contact-gradient__image {
  display: block;
  width: 749px;
  height: 960px;
  object-fit: cover;
}

.contact {
  position: absolute;
  left: 0;
  top: 6289px;
  width: 1920px;
  height: 749px;
}

.contact-right-bg {
  position: absolute;
  left: 961px;
  top: 0;
  width: 959px;
  height: 749px;
  background: linear-gradient(269.7deg, #2f2f2f 0.21368%, #13100e 99.807%);
}

.contact-title {
  position: absolute;
  left: 50px;
  top: 40px;
  width: 869px;
  margin: 0;
  font-size: 96px;
  line-height: 1.1;
  letter-spacing: -3.84px;
}

.contact-copy {
  position: absolute;
  left: 1011px;
  top: 60px;
  width: 507px;
  margin: 0;
  font-size: 20px;
  line-height: normal;
}

.contact-telegram,
.contact-email {
  position: absolute;
  left: 50px;
  margin: 0;
  color: var(--white);
  font-size: 24px;
  line-height: normal;
  letter-spacing: -1.2px;
  text-decoration: none;
  text-transform: uppercase;
}

.contact-telegram {
  top: 647px;
}

.contact-email {
  top: 688px;
}

.contact-form {
  position: absolute;
  left: 1011px;
  top: 260px;
  width: 860px;
  display: grid;
  grid-template-columns: 404px 404px;
  column-gap: 52px;
  row-gap: 34px;
}

.contact-form input,
.contact-form textarea {
  height: auto;
  padding: 0 0 21px;
  border: 0;
  border-bottom: 2px solid #696969;
  background: transparent;
  color: var(--white);
  font-size: 20px;
  line-height: 1.2;
}

.contact-form textarea {
  min-height: 124px;
  resize: none;
}

.contact-form .full {
  grid-column: 1 / -1;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: var(--white-53);
  opacity: 1;
}

.contact-form input:focus:not(:focus-visible),
.contact-form textarea:focus:not(:focus-visible),
.contact-form button:focus:not(:focus-visible) {
  outline: none;
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
  outline: none;
  border-bottom-color: var(--accent);
}

.contact-form button {
  justify-self: start;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 20px;
  letter-spacing: -1px;
}

.contact-form__note {
  margin: -14px 0 0;
  color: var(--white-50);
  font-size: 14px;
  line-height: 1.45;
}

.contact-form__note a {
  color: var(--white);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-link {
  position: absolute;
  font-size: 18px;
  line-height: normal;
  letter-spacing: -0.9px;
  text-transform: uppercase;
  text-decoration: none;
}

.footer-link--portfolio {
  left: 50px;
  top: 7188px;
}

.footer-link--telegram {
  left: 500px;
  top: 7188px;
}

.footer-link--about {
  left: 50px;
  top: 7216px;
}

.footer-link--linkedin {
  left: 500px;
  top: 7216px;
}

.footer-link--contacts {
  left: 50px;
  top: 7244px;
}

.footer-link--mail {
  left: 500px;
  top: 7244px;
}

.footer-link--privacy {
  left: 500px;
  top: 7272px;
}

.footer-role {
  position: absolute;
  left: 1870px;
  top: 7188px;
  width: 291px;
  color: var(--accent);
  font-size: 32px;
  line-height: 1;
  letter-spacing: -1.28px;
  text-align: right;
  text-transform: uppercase;
  transform: translateX(-100%);
}

.footer-name {
  top: 7291px;
  color: #1f1f1f;
}
