:root {
  --kx-accent: #c9f31d;
  --kx-accent-strong: #a9d90d;
  --kx-bg: #0d1311;
  --kx-panel: #1b211e;
  --kx-sidebar: #333932;
  --kx-nav: #353b35;
  --kx-soft: #2b322d;
  --kx-muted: #aeb3ae;
  --kx-border: rgba(255, 255, 255, .08);
}

html,
body {
  background-color: var(--kx-bg);
  color: #dce3dc;
}

body {
  position: relative;
}

body:before,
body:after,
 .page:before,
 .page:after,
 .page-content:before,
 .page-content:after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
}

body:before {
  left: 4.4vw;
  top: 1.2vh;
  width: 130px;
  height: 205px;
  opacity: .95;
  background-image: radial-gradient(circle, rgba(255,255,255,.95) 0 3px, transparent 4px);
  background-size: 24px 24px;
}

body:after {
  right: -1.5vw;
  top: -11vh;
  width: 560px;
  height: 430px;
  border-radius: 50%;
  background: rgba(154, 160, 156, .28);
}

.lm-animated-bg {
  background-image: url("/assets/kx-dark-geometric-bg.png?v=20260702d") !important;
  background-color: var(--kx-bg);
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.lm-animated-bg:before,
.lm-animated-bg:after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 1;
}

body:before,
body:after {
  z-index: 1;
}

body:before,
body:after,
.page:before,
.page:after,
.page-content:before,
.page-content:after,
.lm-animated-bg:before,
.lm-animated-bg:after {
  display: none;
}

.lm-animated-bg:before {
  left: 25vw;
  top: -8vh;
  width: 150px;
  height: 125vh;
  background: rgba(123, 129, 124, .24);
  transform: rotate(43deg);
}

.lm-animated-bg:after {
  right: -6vw;
  bottom: -1vh;
  width: 210px;
  height: 72px;
  opacity: .7;
  background: repeating-linear-gradient(
    to bottom,
    rgba(158, 164, 160, .8) 0 10px,
    transparent 10px 23px
  );
  clip-path: polygon(30% 0, 64% 0, 100% 100%, 0 100%);
}

.page:before {
  left: 3vw;
  bottom: 1.5vh;
  width: 160px;
  height: 68px;
  opacity: .66;
  background: repeating-linear-gradient(
    31deg,
    rgba(177, 183, 180, .85) 0 10px,
    transparent 10px 24px
  );
  border-radius: 28px;
}

.page:after {
  right: 6.2vw;
  top: 2vh;
  width: 52px;
  height: 52px;
  background: rgba(194, 198, 196, .45);
  transform: rotate(-14deg);
}

.page-content:before {
  left: 7.9vw;
  top: 49vh;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  background: rgba(189, 194, 191, .72);
}

.page-content:after {
  right: 6.1vw;
  bottom: 33vh;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(150, 157, 153, .7);
}

a,
.page-title h2 span,
.block-title h3 span,
.info-list .title,
ul.main-menu a.active,
ul.main-menu a:focus,
ul.main-menu a:hover,
.lmpixels-arrows-nav div:hover,
.info-block-w-icon i,
.lm-info-block i,
.fun-fact i,
.blog-card .post-date {
  color: var(--kx-accent);
}

.page-content,
ul.main-menu,
.lmpixels-arrows-nav {
  background-color: var(--kx-nav);
}

.animated-section,
.single-page-content {
  background-color: var(--kx-panel);
}

.preloader-spinner,
.btn-primary:hover,
.btn-primary:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
ul.main-menu .link-text,
.skills-second-style .skill-percentage,
.knowledges li {
  background-color: var(--kx-accent);
}

.btn-primary,
button,
input[type="button"],
input[type="submit"],
.skills-second-style .skill-container,
.form-control ~ .form-control-border {
  border-color: var(--kx-accent);
}

.btn-primary:hover,
.btn-primary:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.knowledges li,
ul.main-menu .link-text {
  color: #152015;
}

.header-buttons .btn-primary:hover {
  color: #152015;
}

.page-title:after,
.block-title:after {
  background-image: repeating-radial-gradient(center center, var(--kx-accent), var(--kx-accent) 1px, transparent 0, transparent 100%);
}

.timeline-second-style .divider:before {
  background-color: var(--kx-accent);
}

.timeline-second-style .divider:after {
  border-color: var(--kx-accent);
}

.skills-second-style .skill-container.skill-2.kx-skill-90 .skill-percentage,
.skills-second-style .skill-container.skill-3.kx-skill-90 .skill-percentage,
.skills-second-style .skill-container.skill-5.kx-skill-90 .skill-percentage {
  width: 90%;
}

.skills-second-style .skill-container.skill-4.kx-skill-92 .skill-percentage {
  width: 92%;
}

.skills-second-style .skill-container.skill-6.kx-skill-82 .skill-percentage {
  width: 82%;
}

.skills-second-style .skill-container.skill-7.kx-skill-80 .skill-percentage {
  width: 80%;
}

.home-actions,
.contact-actions {
  margin-top: 28px;
}

.home-actions .btn,
.contact-actions .btn {
  margin-bottom: 10px;
}

.section-lede {
  max-width: 760px;
  color: #b9c4bc;
}

.insight-card {
  min-height: 220px;
  border: 1px solid #454d47;
  border-radius: 12px;
}

.insight-card .post-info {
  border: 0;
}

.insight-card p,
.project-summary {
  color: #b9c4bc;
  font-size: 13px;
  line-height: 1.6;
}

.portfolio-grid figure {
  min-height: 330px;
}

.portfolio-grid figure .portfolio-item-img {
  border-radius: 10px;
  background: #151917;
}

.portfolio-grid figure .portfolio-item-img img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.portfolio-grid figure .name {
  padding-bottom: 6px;
}

.project-card-link {
  position: absolute;
  inset: 7px;
  z-index: 2;
}

.project-card-link + .portfolio-item-img,
.project-card-link ~ .name,
.project-card-link ~ .project-summary {
  position: relative;
}

.portfolio-grid figure i {
  background-color: #151917;
  color: var(--kx-accent);
}

.fun-fact-block-value {
  font-size: 24px;
}

.menu-toggle {
  display: none !important;
  position: fixed;
  top: 16px;
  left: 16px;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  background-color: var(--kx-accent);
  border: none;
  border-radius: 30px;
  cursor: pointer;
  z-index: 900;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.menu-toggle span {
  display: block;
  width: 20px;
  height: 2.5px;
  background: #152015;
  border-radius: 2px;
  transition: all .3s;
}
.menu-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }

@media only screen and (min-width: 1025px) {
  .page {
    padding: 0;
    position: relative;
    z-index: 2;
  }

  .page-content {
    width: 83.333vw;
    max-width: 3200px;
    min-height: 80vh;
    height: 80vh;
    margin: 10vh auto;
    border-radius: 36px;
    background-color: var(--kx-sidebar);
    box-shadow: 0 26px 90px rgba(0,0,0,.38);
  }

  .header {
    max-width: 600px;
    width: 30%;
    padding: 92px 48px 42px;
    background-color: var(--kx-sidebar);
    border-radius: 36px 0 0 36px;
    overflow: hidden;
  }

  .header.mobile-menu-hide {
    width: 30%;
    max-width: 600px;
    opacity: 1;
    visibility: visible;
    padding: 92px 48px 42px;
    margin-right: 0;
  }

  .header-photo {
    width: 230px;
    margin-bottom: 34px;
  }

  .header-photo img {
    box-shadow: 0 0 0 2px rgba(255,255,255,.3);
  }

  .header-photo:after {
    top: 36%;
    left: 42%;
    width: 118px;
    height: 118px;
    background-size: 6px 6px;
    opacity: .24;
  }

  .header-titles h2 {
    font-size: 46px;
    line-height: 1.1;
    margin: 0 0 11px;
    letter-spacing: 0;
  }

  .header-titles h4 {
    color: var(--kx-muted);
    font-size: 22px;
    font-weight: 300;
  }

  .social-links {
    margin: 28px 0 60px;
  }

  .social-links ul li a {
    font-size: 21px;
    width: 36px;
    height: 36px;
    line-height: 36px;
  }

  .header-buttons {
    margin-top: 0;
  }

  .header-buttons .btn-primary {
    min-width: 212px;
    padding: 15px 29px;
    border-color: rgba(255,255,255,.88);
    color: #f3f5f3;
  }

  .header .copyrights {
    width: 30%;
    max-width: 600px;
    left: 0;
    padding-bottom: 22px;
    color: rgba(235, 239, 235, .64);
    font-size: 14px;
  }

  .content-area {
    max-width: 70%;
  }

  .animated-section,
  .single-page-content {
    padding: 62px;
    border-radius: 28px;
    background-color: var(--kx-panel);
    border: 1px solid var(--kx-border);
  }

  .start-page .section-content {
    min-height: 100%;
  }

  .title-block h2 {
    font-size: 82px;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 700;
    margin-bottom: 8px;
  }

  .title-block .sp-subtitle {
    color: rgba(230, 235, 231, .62);
    font-size: 28px;
    line-height: 1.35;
    font-weight: 300;
    margin: 0;
  }

  .home-actions {
    margin-top: 39px;
  }

  .home-actions .btn {
    min-width: 245px;
    padding: 15px 32px;
    font-size: 17px;
    font-weight: 600;
  }

  .btn-primary {
    color: #f6f7f5;
    box-shadow: none;
  }

  .btn-secondary {
    color: #e7ebe7;
    border-color: rgba(255,255,255,.76);
    box-shadow: none;
  }

  ul.main-menu {
    width: 88px;
    right: -112px;
    top: 0;
    padding: 25px 0;
    border-radius: 44px;
    background-color: var(--kx-nav);
    box-shadow: 0 18px 45px rgba(0,0,0,.25);
  }

  ul.main-menu a {
    padding: 11px 9px;
    color: rgba(229, 233, 229, .72);
  }

  ul.main-menu .menu-icon {
    font-size: 30px;
  }

  ul.main-menu .link-text {
    border-radius: 18px;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
  }

  .lmpixels-arrows-nav {
    width: 76px;
    right: -101px;
    bottom: 0;
    padding: 16px 0;
    border-radius: 40px;
    background-color: var(--kx-nav);
  }

  .lmpixels-arrows-nav div {
    font-size: 30px;
    padding: 11px 9px;
  }
}

@media only screen and (min-width: 2200px) {
  .header,
  .header.mobile-menu-hide {
    padding: 96px 60px 52px;
  }

  .header-photo {
    width: 250px;
    margin-bottom: 34px;
  }

  .header-titles h2 {
    font-size: 58px;
  }

  .header-titles h4 {
    font-size: 28px;
  }

  .social-links {
    margin: 30px 0 48px;
  }

  .social-links ul li a {
    font-size: 26px;
    width: 44px;
    height: 44px;
    line-height: 44px;
  }

  .header-buttons .btn-primary {
    min-width: 265px;
    padding: 18px 36px;
    font-size: 20px;
  }

  .header .copyrights {
    padding-bottom: 25px;
    font-size: 17px;
  }

  .animated-section,
  .single-page-content {
    padding: 78px;
    border-radius: 36px;
  }

  .title-block h2 {
    font-size: 102px;
  }

  .title-block .sp-subtitle {
    font-size: 34px;
  }

  .home-actions {
    margin-top: 49px;
  }

  .home-actions .btn {
    min-width: 306px;
    padding: 18px 40px;
    font-size: 21px;
  }

  ul.main-menu {
    width: 88px;
    right: -112px;
    padding: 25px 0;
    border-radius: 44px;
  }

  ul.main-menu a {
    padding: 11px 9px;
  }

  ul.main-menu .menu-icon {
    font-size: 30px;
  }

  .lmpixels-arrows-nav {
    width: 76px;
    right: -101px;
    padding: 16px 0;
    border-radius: 40px;
  }

  .lmpixels-arrows-nav div {
    font-size: 30px;
    padding: 11px 9px;
  }
}

@media only screen and (max-width: 1024px) {
  body:before,
  body:after,
  .page:before,
  .page:after,
  .page-content:before,
  .page-content:after,
  .lm-animated-bg:before,
  .lm-animated-bg:after {
    opacity: .22;
  }

  .page {
    padding: 18px;
    overflow: auto;
  }

  .page-content {
    min-height: calc(100vh - 36px);
    margin: 0 auto;
    border-radius: 28px;
    background-color: var(--kx-panel);
  }

  .menu-toggle {
    display: flex !important;
    position: fixed !important;
    top: 18px;
    left: auto;
    right: 18px;
  }

  .header.mobile-menu-hide {
    width: 0;
    right: 0;
    margin-right: -100%;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    box-shadow: none;
    padding: 0;
  }

  .header:not(.mobile-menu-hide) {
    background-color: var(--kx-sidebar);
  }

  ul.main-menu {
    position: static;
    width: 100%;
    padding: 12px 0;
    margin: 24px 0;
    border-radius: 16px;
    background-color: rgba(26, 32, 29, .34);
    box-shadow: none;
  }

  ul.main-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: rgba(242, 246, 242, .82);
    padding: 8px 14px;
  }

  ul.main-menu .menu-icon {
    width: 25px;
    font-size: 24px;
    line-height: 1;
    text-align: center;
  }

  ul.main-menu .link-text {
    position: static;
    visibility: visible;
    opacity: 1;
    width: auto;
    color: inherit;
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin: 0;
    font-size: 15px;
    line-height: 1.2;
  }

  ul.main-menu a.active,
  ul.main-menu a:focus,
  ul.main-menu a:hover {
    color: var(--kx-accent);
  }

  .content-area {
    border-radius: 28px;
  }

  .lmpixels-arrows-nav {
    display: none;
  }

  .animated-section,
  .single-page-content {
    border-radius: 28px;
    background-color: var(--kx-panel);
  }

  .title-block h2 {
    font-size: clamp(42px, 12vw, 68px);
    line-height: 1.1;
  }

  .title-block .sp-subtitle {
    font-size: 18px;
    line-height: 1.4;
  }

  .home-actions {
    margin-top: 30px;
  }

  .portfolio-grid figure {
    min-height: 0;
  }

  .home-actions .btn,
  .contact-actions .btn {
    width: 100%;
    text-align: center;
  }
}
